loopback — НТЦ Метротек. Архив блога http://blog.metrotek.spb.ru заметки бывших разработчиков бывшего НТЦ Метротек Thu, 02 Oct 2025 13:52:15 +0000 ru-RU hourly 1 https://wordpress.org/?v=5.1.15 Беркут-ETL и Cisco. Да будет шлейф! http://blog.metrotek.spb.ru/2009/02/06/bercut-etl-i-cisco/ http://blog.metrotek.spb.ru/2009/02/06/bercut-etl-i-cisco/#comments Fri, 06 Feb 2009 14:34:17 +0000 http://blog.metrotek.spb.ru/?p=563 b3etlvsciscoТак почему же Cisco «роняла» линк порта, когда к нему подключали Беркут-ET/Беркут-ETL в режиме шлейфа?

Как мы и предполагали, дело оказалось в keepalive фреймах. Для обнаружения петель на канальном уровне, Cisco периодически шлёт такие фреймы. Если на порту был принят keepalive с mac-адресом данного порта, то cisco определяет петлю на порту и опускает линк.

Как оказалось, в cisco’вских keepalive фреймах mac-адреса источника и получателя совпадают и равны mac-адресу порта с котрого были отправлены (у dlink, zyxel не так), вот и понятно почему при шлейфах 2 и 3 уровней блокировался порт (опускался линк).

Поэтому решение довольно простое: отфильтровывать фреймы с ethertype 0x9000 (он используется для cisco keepalive). Так что теперь все будет в порядке.

]]>
http://blog.metrotek.spb.ru/2009/02/06/bercut-etl-i-cisco/feed/ 2
Шлейф распознаётся как шлейф. что не так? http://blog.metrotek.spb.ru/2009/01/27/loopback-is-loopback/ http://blog.metrotek.spb.ru/2009/01/27/loopback-is-loopback/#comments Tue, 27 Jan 2009 17:50:06 +0000 http://blog.metrotek.spb.ru/?p=332 Внезапно выяснилось, что cisco 3350 слишком умная и распознаёт наш GbE-дивайс (Беркут-ЕТ и Беркут-ETL), работающий в режиме loopback, как loopback device. И ничего удивительного в этом нет. Я, например, когда вижу на улице автомобиль, идентифицирую его как автомобиль, а не как бешеную бродячую собаку. То есть, на первый взгляд циска ведёт себя адекватно. Но…

Всё бы ничего, но она (циска) при этом напрочь отключает порт, к которому дивайс подключён. Внимание, вопрос: что не так и как должен вести себя прибор в этом случае?

Ну, если loopback первого уровня, то всё понятно: фреймы, уходящие с порта, возвращаются обратно без изменений. Следовательно, роутер может легко принять решение о зацикливании трафика и блокировать порт.

На самом деле, loopback 1-го уровня не использовался (это мы завтра узнаем ;), а в случае петли второго и третьего уровней пакеты при прохождении через наш дивайс изменяются (mac1<->mac2, ip1<->ip2). Беглое чтение документации на маршрутизатор серии Cisco3400 дало понять, что это особенность реализации протокола STP (Spanning Tree Protocol, см.) в роутерах и свичах от Cisco, которые блокируют порт, на котором обнаружен loopback.

В общем, есть подозрение, что проблема в том, что наш loopback заворачивает BPDU (Bridge Protocol Data Unit), которыми свичи обмениваются в процессе работы как раз для определения «левых» петель.

Увы, это пока лишь гипотеза и требует как теоретического, так и экспериментального подтверждения, чем мы завтра и займёмся.

Подробно и доступно алгоритм STP и BPDU описаны в википедии.

Литература: IEEE 802.1D-2004 и документация Cisco.

]]>
http://blog.metrotek.spb.ru/2009/01/27/loopback-is-loopback/feed/ 3