Подключение коммутаторов треугольником – это классическая схема с кольцевой топологией, в которой каждый коммутатор подключён к двум другим. Такое избыточные соединения повышает отказоустойчивость, но требует настройки защиты от петель. Три коммутатора без доп. настроек уже создают логические петли для трафика, данные начинают ходить по кругу – возникает широковещательный шторм, и сеть зависает. Настройка протокола STP(Spanning Tree Protocol) или его улучшенных версий RSTP/MSTP решает эту проблему, автоматически определяя и блокируя лишние порты, оставляя только один путь к каждому коммутатору.
Если коммутаторы включить по представленной схеме, то широковещательного шторма не случится и сеть не зависнет, потому что в коммутаторах поумолчанию STP уже активирован. Закольцованные порты заблокируются, но при этом не будет проходить и полезный трафик. Поэтому переходим к настройкам.
Все коммутаторы соединены черз транк-порты. Как настроить транк подробно написано тут.
CSW1 (Huawei S6730).
Коммутатор объединен в стек. Как это сделать написано тут.
В коммутаторе по умолчанию активирован и используется протокол MSTP. Для подключения к ASW1-2 задействованы порты №16 в каждом слоте стека.
Просмотр статуса через CLI.
1 |
display stp |
Или более кратко.
1 |
display stp brief |
По выводу команды видно, что порт №16 в первом слоте с ролью ALTE (альтернативный) и статус DISCARDING (заблокирован). Коммутатор сейчас не является Root Bridge.
Root Bridge — это главный коммутатор в STP-древе. Им становится коммутатор с самым низким приоритетом (по умолчанию — 32768, чем меньше — тем лучше). Если приоритет одинаковый — коммутатор выбирается по наименьшему MAC-адресу. В Root Bridge нет Rot-портов.
Чтоб назначить этот коммутатор на роль Root Bridge, нужно уменьшить его приоритет. Приоритет уменьшается значениями кратными 4096. Т.е. 32768 – 4096 = 28 672
Вобщем то это значение можно было не рассчитывать, потому что оно выбирается из выпадающего списка. Выставляем на одно значение меньше от максимального и нажимаем ОК.
Настройка через CLI.
1 2 |
system-view stp priority 28672 |
Еще раз выполняем просмотр статуса.
1 |
display stp brief |
Role = DESI (Designated Port) — порты, идущие от Root Bridge ко всем остальным, всегда Designated.
STP State = FORWARDING — все порты передают трафик, никто не в блоке.
Нет ни одного порта с ролью ROOT, потому что это и есть Root Bridge. У него не может быть Root-портов.
В графическом интерфейсе блокировка порта 0/16 тоже пропала.
ASW2 (BDCOM S2900-48).
Настраиваем транк на портах tg0/1 и tg0/2.
tg0/2 подключен к CSW1.
tg0/1 подключен к ASW3.
Настройка через CLI.
1 2 3 4 5 |
enable config interface tg0/1 switchport mode trunk exit |
1 2 3 4 5 |
enable config interface tg0/2 switchport mode trunk exit |
Или сразу на двух портах одной командой.
1 2 3 4 5 |
enable config interface range TG0/1-2 switchport mode trunk exit |
ASW3 (BDCOM S2900-24).
Настраиваем транк на портах tg0/1 и tg0/2.
tg0/2 подключен к CSW1.
tg0/1 подключен к ASW2.
Через CLI.
1 2 3 4 5 |
enable config interface range TG0/1-2 switchport mode trunk exit |
STP.
Переходим в настройки STP. На вкладке STP Port Configuration видно, что статус для всех портов у этого протокола «Включен» (Enable).
Активируем настройку RSTP Ring. Красным шрифтом подсказка от разработчиков предупреждает о том что RSTP можно включать только на порту подключенном в кольцо (как раз этот случай).
Через CLI.
1 2 3 4 5 |
enable config interface TGigaEthernet0/1 spanning-tree loopfast exit |
1 2 3 |
interface TGigaEthernet0/2 spanning-tree loopfast exit |
Исходя из названия команды, которая активирует настройку (loopfast) можно сделать вывод что она просто ускоряет работу RSTP, который изначально уже включен. По какой-то неведомой причине без этой настройки кольцо из коммутаторов не работало.
Активируем то же самое на втором ASW.
1 2 3 4 5 |
enable config interface range TGigaEthernet0/1-2 spanning-tree loopfast exit |
В меню STP State можно настроить некоторые параметры STP, но без особого понимания тут лучше ничего не изменять.
Из простого можно активировать Loop Guard. Настройка предназначенная для защиты сети от петляющих маршрутов, которые могут появиться при сбоях в сети, например, когда порт перестает получать BPDU (Bridge Protocol Data Units) или когда BPDU перестают передаваться. Если порт переходит в статус Forwarding, несмотря на отсутствие BPDU на этом порту Loop Guard блокирует этот порт, что уменьшает риск возникновения петель. Для кольцевой топологии настройку желательно активировать. В других схемах вопрос активации нужно расматривать отдельно по ситуации.
Так же на этой странице внизу можно посмотреть какой порт назначен корневым (root).
Root Port — это порт, через который короче всего путь до Root Bridge.
Designated Port — это лучший порт, который будет передавать трафик в сторону сегмента (или к оконечному устройству).
ASW1.
Назначение ролей и статусов.
Порт g0/1.
Role: Desg (Designated Port) — этот порт передаёт трафик в сегмент (к ПК тк. тип Edge).
Status: FWD (Forwarding) — порт работает, и трафик может проходить через него.
Порт tg0/1.
Role: Altn (Alternate Port) — резервный порт.
Status: BLK (Blocking) — этот порт заблокирован, не передает трафик, чтобы избежать петель.
Порт tg0/2.
Role: Root — это порт, ведущий к Root Bridge.
Status: FWD (Forwarding) — порт работает и передаёт трафик.
Type: P2p (Point-to-Point) — соединение с другим коммутатором.
Type: Edge — этот порт подключён к устройству, которое не участвует в STP (например, к ПК или серверу).
ASW2.
Смысл статусов аналогичный с предыдущим коммутатором. Только нет заблокированного порта.
Просмотр через CLI.
1 |
show spanning-tree |
Сохраняем конфигурацию.
1 |
write all |
Настройка завершена.