?

Log in

No account? Create an account

Изменяю своим привычкам


Previous Entry Share Next Entry
Как работает STP Edge port (Portfast)
eucariot
Сегодня сделал для себя неочевидное прежде открытие:

При настроенном на порту STP edged-port (аналог portfast у Cisco) через него продолжают передаваться STP BPDU.

Неочевидно это потому, что edge port предполагает подключение в него конечных хостов, а также то, что порт не будет получать STP BPDU и потому участвовать в построении топологии STP.

Это действительно так - не нужно каждый раз флудить по домену STP TC и заставлять ишачить все коммутаторы новую топологию, если дело только в том, что у кого-то компьютер перезагрузился. Компьютер опять же не будет генерировать STP BPDU, кроме случая злого умысла

Но!

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

Для случая если петля окажется на одном порту у нас есть loopback-detect - он посылает в порт тестовый пакет и, если получит его обратно в этот же порт, то блокирует его (или уведомляет NMS). А вот для разных портов непонятно - Storm-control позволит ограничить широковещательный трафик, но CPU по-прежнему может быть под ударом.

И вот тут кажется совершенно логичным, чтобы Edge-port продолжал слать BPDU - если тот ревнивец закоротит два клиентских порта, то один из них получит BPDU и заблокируется - удобно.

Интересно, что в документации об этом нигде не говорится и пришлось проверить догадку на симуляторе ENSP.

Однако есть и ещё одна тонкость в работе Edged-port (portfast).
Вы можете надеяться, что за ним находится компьютер, но реальность такова, что там может оказаться что угодно, в том числе коммутатор. Просто так игнорировать BPDU коммутатор не имеет морального права.
На полученные BPDU может быть две реакции:
1) Заблокировать этот порт от греха подальше (если включет BPDU protection (он же BPDU Guard).
2) Перевести порт в режим non-edge и пересчитать топологию - это действие по умолчанию.
То есть мы заведомо считаем, что хакеров там нет, а новое подключение легитимное.


Portfast на циске работает аналогично, как меня заверила Наташа Самойленко.


  • 1
Могу и я подтвердить, на Cisco порт не участвует в построении топологии, сразу переходит в режим форвардинга, но если прилетит в ответ BPDU то порт может быть заблокирован, при условии что на порту не настроен BPDU filter.

Если настроен BPDU Guard, то он заблокирует порт. Если нет, и нет фильтра, станет обычным портом и будет участвовать в построении топологии STP полноценно.
Во всяком случае говорю про Huawei.

А вот что будет если порт сделать portfast, на него натянуть bpdufilter и bpduguard ?

Filter игнорирует входящие BPDU и отменяет отсылку исходящих.
Guard роняет порт в errdisable в ответ на входящие BPDU.
Portfast ставит порт сразу в forwarding.
Соответственно если включить их все, то порт сразу перейдет в forwarding, не будет отсылать BPDU и заблокируется если к нему придет BPDU с другой стороны.

Edited at 2015-10-22 05:30 am (UTC)

Это об Huawei?

Есть различия с HP в работе с bpdu?

Непонятные траблы при работе микротика с HP, HW, AT, при работе с сиськой - всё ОК.

ЗЫ Кто шлёт пакеты loop, возможно микротик из-за каких-то своих wi-fi предрассудков и его порт кладут все свичи.

Это про Huawei. Но как выяснилось, в циско всё так же.

Про HP не скажу. Работал с ними очень мало.

  • 1