Шлейф распознаётся как шлейф. что не так?

Внезапно выяснилось, что 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.

3 комментария

  1. Антон Фельдман:

    а ещё, как выяснилось, существуют спецпакеты с ethertype 0x9000, которые тоже могут мешать нормальной работе порта, к которому подключён наш loopback. некоторые называют эти пакеты keepalive-сообщения, некоторые loopback-frames, некоторые говорят о Enet Configuration Test Protocol (ECTP) из стандарта Ethernet II. точно сказать никто не может. есть отсканированная документация на предмет ECTP, довольно бестолковая.

  2. Антон Фельдман:

    как выяснилось, петля конкурент ABCDEFGH (зашифровано) все эти пакеты успешно заворачивает обратно. так что и его циска должна блокировать. а, говорят, что нет. врут, наверное? Лёша, что скажешь?

  3. alex:

    Да, ABCDEFGH (зашифровано) rstp BPDU и keepalive успешно заворачивает, может быть дело было и не в этих протоколах. В пятницу поигрались с mstp и даже при некоторых условиях порт переходил в состояние BLOCKING или LEARNING, но в обоих случаях пакеты на порту не проходили, нужно еще поиследовать.
    Пока ясно, что keepalive сообщения нужно фильтровать, это не сложно. А вот сказать наверника без циски сложно.