Бриджинг с поддержкой L3 EcoRouter Documentation / Бриджинг с поддержкой L3
Сетевой мост (бридж) – физическое или логическое устройство, разделяющее домены коллизий Ethernet и работающее на двух нижних уровнях сетевых стеков OSI и TCP/IP. Объединение двух или более сетевых сегментов называется бриджингом. В простых бриджах широковещательные пакеты рассылаются во все интерфейсы бриджа; бриджи с поддержкой VLAN могут ограничивать широковещательные домены отдельными интерфейсами. Идентификатор VLAN в таких бриджах должен быть уникален в пределах устройства. Широковещательный домен, ограниченный VLAN, получил в стандартах IEEE 802.1Q/802.1ad название VLAN бридж-домен.
С развитием провайдерских технологий появилась потребность ограничивать уникальность VLAN ID отдельным портом. Такую возможность предоставила концепция EVC (Ethernet Virtual Connection), в которой широковещательный L2 домен уже не привязан к VLAN. EVC бридж-домен объединяет виртуальные L2 интерфейсы, называемые сервисными (service instance, SI). L3 интерфейс для связи L2 и L3 доменов в традиционных бриджах называется SVI или BVI, в EVC бридж-доменах для него принято название BDI (сокр. от Bridge Domain Interface).
Диаграммы процессов, происходящих при пересылке фреймов между L2 и L3 доменами с участием BDI в обоих направлениях, приведены на рисунке ниже.
Настройка
Команда создания бриджа:
ecorouter(config)#bridge <NAME>
где <NAME> – произвольное имя, допустимое в EcoRouterOS.
Бридж-домен создаётся в контексте конфигурирования сервисного интерфейса:
ecorouter(config-service-instance)#
В таблице приведены соответствующие команды.
Команда | Описание |
---|---|
encapsulation {default|dot1q|untagged} | Задание инкапсуляции (тегирования) для внешнего трафика |
rewrite {pop|push|translate} | Преобразование инкапсуляции при отправке в бридж |
connect bridge <NAME> | Подключение к созданному ранее бриджу |
Тегирование (инкапсуляция) может быть произвольным (см. раздел «Операции над метками в сервисных интерфейсах»), причем, как сказано выше, VLAN ID сервисного интерфейса на одном порту может совпадать с VLAN ID сервисного интерфейса на другом порту, и это будут разные VLAN, до тех пор, пока эти SI находятся в разных бридж-доменах. Бридж-домен на бридже образуют подключенные к нему сервисные интерфейсы с одинаковым значением инкапсуляции на бридже, задаваемым командами encapsulation и rewrite. Только в этом случае между ними возможен бриджинг. Например, если на одном сервисном интерфейсе задано Q-in-Q тегирование:
ecorouter(config-service-instance)#encapsulation dot1q 30 second-dot1q 40
а на другом (из того же бридж-домена) задано:
ecorouter(config-service-instance)#encapsulation dot1q 20
то для бриджинга между ними, к примеру, на первом можно дать команду:
ecorouter(config-service-instance)#rewrite translate 2-to-1 20
Создание BDI
Интерфейс BDI создается как обычный L3 интерфейс с двумя дополнительными командами в контексте конфигурирования интерфейса, описанными в таблице ниже.
Команда | Описание |
---|---|
rewrite push | Преобразование инкапсуляции при отправке в бридж |
connect bridge <NAME> | Привязка к созданному ранее бриджу |
Команда encapsulation здесь отсутствует, т. к. в L3 домен нельзя отправлять тегированный трафик.
Пример:
ecorouter(config)#interface bdi0
ecorouter(config-if)#ip address 192.168.0.1/24
ecorouter(config-if)#rewrite push 20
ecorouter(config-if)#connect bridge br0
При такой конфигурации в L3 домен могут попадать фреймы бриджа br0 с VLAN ID 20. В обратном направлении пакеты будут направляться в br0 при условии, что для IP-адреса назначения в FIB указан интерфейс bdi0.
Команды просмотра
Для просмотра информации о созданных бриджах используется команда административного режима show bridge. Если необходимо вывести на консоль информацию по какому-то конкретному бриджу, к указанной команде добавляется имя бриджа: show bridge <BRIDGE_NAME>.
ecorouter#show bridge
Bridge br1
Connect interface bdi1 symmetric
Для просмотра информации об интерфейсах BDI используется стандартная для всех интерфейсов команда show interface <BDI_NAME>.
ecorouter#show interface bdi1
Interface bdi1 is up
Ethernet address: 1c87.7640.6903
MTU: 1500
Rewrite: push 20
ICMP redirection is on
Label switching is disabled
<UP,BROADCAST,RUNNING,MULTICAST>
Connect bridge br1 symmetric
inet 1.1.1.1/24 broadcast 1.1.1.255/24
total input packets 0, bytes 0
total output packets 0, bytes 0
В EcoROuterOS есть возможность посмотреть таблицу mac-адресов по конкретному бриджу.
Для этого необходимо ввести команду show bridge mac-table <BRIDGE_NAME>. Эта команда доступна в пользовательском режиме и режиме администрирования.
Данная команда показывает все mac-адреса, которые были изучены в рамках данного бриджа.
ecorouter#show bridge mac-table br0
L3 BDI address: 192.168.1.1/24
BD Aging time is 300 sec
Outer Inner L2
Vlan Vlan Address Port Type Age
----- ----- -------------- ------- ---------- -----
- - 0050.7966.6801 te2 Dynamic 2
30 - 0050.7966.6800 te1 Dynamic 18
20 10 0050.7966.6802 te0 Dynamic 21
В приведенном примере показаны следующие параметры и их значения:
L3 BDI address: 192.168.1.1/24 - IP-адрес L3 интерфейса в данном бридже;
BD Aging time - время устаревания для каждого mac-адреса в секундах;
Outer Vlan - значение внешнего vlan, с которым был подключен пользователь;
Inner Vlan - значение внутреннего vlan, с которым был подключен пользователь;
L2 address - mac-адрес устройства;
Port - название порта, с которого пришел данный mac-адрес;
Type - метод, по которому был изучен mac-адрес (статически или динамически);
Age - время в секундах, когда был зафиксирован последний пакет от данного mac-адреса.