Краткая теория о RSTP/Rapid PVST
Долгая конвергенция протокола STP ( Max age (20 c) + Listening (15 c) + Learning (15 c ) = 50 c) стало причиной создания протокола RSTP (Rapid STP - стандарт IEEE 802.1w) для уменьшения времени конвергенции. RSTP работает так же, как и STP, однако есть отличия.
В первую очередь значительно сокращен период Max age - с 20 с до 6 с, а также добавлены новые роли портов.
Состояния портов:
- Выключен (Down)
- Игнорирование (Discarding) - равносилен блокированию, то есть данные не передаются. Устойчивое состояние.
- Самообучение (Learning)
- Пересылка (Forwarding)
Роли портов:
- Корневой порт (Root port)
- Выделенный порт (Designated port)
- Альтернативный порт (Alternate port) - порт, через который поступают BPDU кадры с менее оптимальными характеристиками, чтобы стать корневым или выделенным.
- Резервный порт (Reserved port) - когда имеются параллельные каналы к одному и тому же сегменту сети, то один порт становится выделенным, а остальные - резервными. Такое происходит, когда несколько портов подключаются к одному и тому же коммутатору
Принцип работы RSTP
При включении коммутатора все его порты проходят через следующие состояния:
Выбор корневого коммутатора, корневых и назначенных портов аналогичен STP. Вернемся к первому рисунку и посмотрим, что произойдет при обрыве кабеля между коммутаторами A и В
На коммутаторе В запускается таймер Max age и по его истечении все магистральные порты переводятся в состояние игнорирования. Таблицы МАС адресов обнуляются.
Так как порт Fa 3 коммутатора С уже не получает BPDU от коммутатора А, то он по истечении Max Age переводится в состояние пересылки. Теперь коммутатор В через коммутатор С получает Hello пакеты от корневого коммутатора А. Порт Fa 2 переводится в состояние пересылки.
Точно также, как и с PVST+, Cisco разработала собственный протокол на базе RSTP, но с учетом работы с несколькими VLAN. Называется этот протокол Rapid PVST.
Настройка протоколов STP/RSTP
Технологии STP не требуют специальных настроек со стороны администратора, так как все прекрасно работает сразу после включения питания. Поэтому рассмотрим лишь базовые настройки, которые могут быть полезны.
Выбор протокола в коммутаторе (STP или RSTP):
Switch(config)# spanning-tree mode pvst | rapid-pvst |
Установка коммутатора в качестве корневого:
Switch(config)# spanning-tree vlan номер_vlan root primary |
Установка приоритета коммутатора:
Switch(config)# spanning-tree vlan номер_vlan priority значение от 0 до 61440 |
Установки стоимости интерфейса
Switch(config-if)# spanning-tree vlan номер_vlan cost значение |
Для просмотра настроек и работы STP полезны будут следующие команды
Switch# show spanning-tree |
Switch# show spanning-tree root |
Switch# show spanning-tree summary |
Дополнения к протоколу STP (EhterChannel, PortFast)
Компания Cisco внесла некоторые дополнения в работу STP.
EtherChannel – используется для балансировки нагрузки, если между 2-мя коммутаторами имеются 2 и более параллельных связей.
Для балансировки нагрузки может быть использована одна из 2-х технологий:
LACP (Link Aggregation Control Protocol) и PAgP (Port Aggregation Protocol). PAgP разработка Cisco. Либо можно включить статически балансировку.
Статическое включение
Порты Fa 1 и Fa 2 на каждом коммутаторе объединяем в один логический канал и включаем постоянную балансировку:
Switch(config -if) # channel-group номер_группы mode on |
На обоих концах должны быть одинаковые настройки EtherChannel.
Включение PAgP
PAgP поддерживает 2 режима: auto (пассивный режим) и desirable (активный режим). В пассивном режиме порт ожидает указаний от противоположного порта и при получении указаний переходит в режим балансировки нагрузки. В противном случае балансировка не включается.
Балансировка включается при следующих условиях:
Режимы PAgP |
auto |
desirable |
auto |
--- |
EtherChannel |
desirable |
EtherChannel |
EtherChannel |
Настраивается так:
Switch(config -if) # channel-group номер_группы mode auto | desirable |
Включение LACP
LACP тоже поддерживает 2 режима: active и passive. Смысл их такой же как и в PAgP
Режимы LACP |
active |
passive |
active |
EtherChannel |
EtherChannel |
passive |
EtherChannel |
--- |
Настраивается так:
Switch(config -if) # channel-protocol lacp Switch(config -if) # channel-group номер_группы mode active | passive |
Для просмотра настроек и работы полезны следующие команды:
Switch# show etherchannel |
Switch# show etherchannel summary |
Switch# show etherchannel port-channel |
PortFast – при включении данной функции порт сразу переходит в состояние пересылки, минуя промежуточные состояния. Удобно, когда к порту подключены только терминальные устройства, однако нельзя эту функцию включать на портах, которые подключаются к другим коммутаторам.
Включается так, локально на отдельном интерфейсе:
Switch(config-if)# spanning-tree portfast |
либо глобально на всем коммутаторе:
Switch(config)# spanning-tree portfast default |
Выключается так:
Switch(config-if)# spanning-tree portfast disable |
Для просмотра настроек:
Switch# show spanning-tree interface название_интерфейса portfast |
Switch# show spanning-tree summary |
BPDU Guard - если данная функция включена, то при получении BPDU порт блокируется, то есть переходит в состояние error-disable. Данная функция необходима для предотвращения изменения корневого коммутатора при подключении к сети нового коммутатора с более низким приоритетом. Рекомендуется использовать совместно с режимом PortFast на портах доступа.
Включается глобально на всем коммутаторе либо на отдельных портах. Рекомендуется сначала включить режим PortFast.
Глобально на портах доступа:
Switch(config)# spanning-tree portfast bpduguard default |
На отдельном интерфейсе:
Switch(config-if)# spanning-tree bpduguard enable |
Для просмотра настроек:
Switch# show spanning-tree summary |
Switch# show spanning-tree interface название_интерфейса detail |