LINUX.ORG.RU

Bridge: stp: защита от шторма

 , , ,


0

1

Имеем небольшую сеть из виртуалок. Я на бридже включил stp, и от вроде работает. Делал так:

brctl stp port0 on
Я запустил виртуалку с двумя интрефейсами. После их добавления в мост, и создания поста в виртуалке, мы получали то, что один порт отключался, а другой нет. Я решил пойти дальше и сделал раздвоенный интерфейс. Делал я так:
switch=port0 qemu-system-x86_64 -enable-kvm -net nic,model=virtio,macaddr=56:4f:4b:4b:56:44,vlan=0 -enable-kvm -net nic,model=virtio,macaddr=56:4f:4b:4b:56:44,vlan=0 -net tap,ifname=test0,vlan=0
После сосдания моста на виртуальной машине, начался шторм, который благополучно уложил сеть. Почему stp не сработал и не отрубил порт. И как сделать так, чтобы порт при шторме автоматически вырубался?

Что такое раздвоенный интерфейс и чем он отличается от обычного?

Spanning Tree Protocol 802.1D, осуществляет блокирование избыточных путей в общий сегмент, путём анализа Root BPDU, которые он получает через корневой и/или альтернативный порт. В данном случае, речь идёт о том, что мост сам является корневым и поэтому сам генерирует Root BPDU, которые направляет через назначенные порты, которые в итоге ведут в общий сегмент.

Получив Root BPDU через назначенный порт, к тому же ещё и сгенерированное другим собственным портом, он сверился с полем Root Path Cost, а затем с Port.ID, после того, как оказалось, что путь одинаковый и равен 0, приоритет порта одинаковый и равен 128, он заблокировал порт с наибольшим номером.

Очевидно, что при раздвоенном порту, чтобы это не значило, генерация/обработка Root BPDU нарушается, отсюда пути в общий сегмент остаются активны, что приводит к петле и в дальнейшем к широковещательному шторму.

ZANSWER ()