1 заметка с тегом

L2

Канальный уровень (англ. Data Link layer) — второй уровень сетевой модели OSI, предназначенный для передачи данных узлам, находящимся в том же сегменте локальной сети. Также может использоваться для обнаружения и, возможно, исправления ошибок, возникших на физическом уровне. Примерами протоколов, работающих на канальном уровне, являются: Ethernet для локальных сетей (многоузловой), Point-to-Point Protocol (PPP), HDLC и ADCCP для подключений точка-точка (двухузловой).

Канальный уровень отвечает за доставку кадров между устройствами, подключенными к одному сетевому сегменту. Кадры канального уровня не пересекают границ сетевого сегмента. Функции межсетевой маршрутизации и глобальной адресации осуществляются на более высоких уровнях модели OSI, что позволяет протоколам канального уровня сосредоточиться на локальной доставке и адресации.

Заголовок кадра содержит аппаратные адреса отправителя и получателя, что позволяет определить, какое устройство отправило кадр и какое устройство должно получить и обработать его. В отличие от иерархических и маршрутизируемых адресов, аппаратные адреса одноуровневые. Это означает, что никакая часть адреса не может указывать на принадлежность к какой-либо логической или физической группе.

Когда устройства пытаются использовать среду одновременно, возникают коллизии кадров. Протоколы канального уровня выявляют такие случаи и обеспечивают механизмы для уменьшения их количества или же их предотвращения.

Многие протоколы канального уровня не имеют подтверждения о приёме кадра, некоторые протоколы даже не имеют контрольной суммы для проверки целостности кадра. В таких случаях протоколы более высокого уровня должны обеспечивать управление потоком данных, контроль ошибок, подтверждение доставки и ретрансляции утерянных данных.

На этом уровне работают коммутаторы, мосты.

Группы пользователей в Mikrotik

С связи с расширением сети на даче появилась задача как-то группировать абонентов и что-то такое с ними вытворять — вводить ограничения и проводить мониторинг. Скорость и стабильность работы в связи со сменой оборудования и мобильного оператора возросла, но для спокойной жизни этого недостаточно. В задаче исходим из того, что у нас есть центральный маршрутизатор, в который сходятся несколько точек доступа. Сами точки доступа только передают подключение сразу в маршрутизатор без каких-либо затей. Если на Zyxel Keenetic функционал с двумя группами был из коробки в каком-то виде, то на Mikrotik нужно придумать что-то свое. Основная идея в том, что мы идентифицируем подключившегося по MAC-адресу и далее сопоставляем его с группой.

Сначала виделось два пути — делать дополнительные бриджи и раскидывать клиентов или делать vlan’ы. Делать бриджи только казалось хорошей идеей, на деле в них не было интерфейсов. Было создано несколько бриджей, с отдельными DHCP-серверами и в зависимости от MAC-адреса пользователю выдавался адрес из пула того или иного сервера. Пользователей так поделить удалось, но локальная и внешняя сеть в таком варианте не работает. Далее была идея использовать mac-based vlan. Но здесь мы сталкиваемся с тем, что не слишком удобно привязывать MAC-адрес и все равно нужно цепляться к интерфейсам. Других идей не было.

Находясь в сомнениях, я поделился своими мыслями с одним грамотным товарищем, и он натолкнул меня на другую идею, сказав — «зачем ты все пытаешься решить на L2, почему не хочешь делать управление разными сетями сразу?» Дальше товарищ отвлекся, а на меня в свою очередь снизошло озарение. Нет нужды городить огороды и развивать лопатостроение. Мух от котлет, то есть подключившихся пользователей, разделит как и в варианте с бриджами DHCP-сервер. Нам нужно задать несколько разных подсетей для разных групп пользователей. Пользователей поделит по MAC-адресу наш DHCP-сервер, добавляя в нужную группу — читай нужную подсеть. А дальнейшие манипуляции уже делать в Firewall / Queues. Осталось только реализовать схему и разбавить немного ручным трудом в виде работы с Leases.

Подготовка к внедрению, получаем аналоги групп:

Делаем немного QoS на Simple Queues:

И теперь в самое основное в Leases:

По результатам у нас пользователь попадает по умолчанию в Public сеть 192.168.1.0/24 с определенными условиями и ограничениями, оттуда вручную мы его можем перенести в другую «группу» или сеть с другими условиями, с более мягкими или жесткими ограничениями. Достаточно удобно, если не считать ручную работу.

24 июля   DHCP   Keenetic   L2   L3   MAC   Mikrotik   OSI   RouterOS   Zyxel