10. RSTP

Понятие

  • Использует тот же алгоритм остовного дерева, что и STP

    • По тому же принципу выбираются корневой коммутатор и forwarding-порты

    • Обратно совместим с классическим STP

  • Значительно уменьшает время как время пересчета топологии, так и время восстановления работоспособности сети после отказа

    • В основном за счет отказа от поддержки топологии с общей шиной

  • Особенно влияют на ускорение:

    • Появление сообщений "запрос-ответ" (Proposal/Agreement), синхронизирующих состояние двух коммутаторов на P2P-канале не за Hello Time, а за единицы миллисекунд

    • Появление Edge Port, на котором коммутация выполняется сразу после включения (но возможно кратковременное формирование петли)

Proposal/Agreement

  • Используется условная сигнальная схема для того, чтобы не ждать таймеров при пересчете топологии

  • Старший коммутатор в сегменте (superior BPDU) отправляет в свой designated порт BPDU с флагом Proposal

  • Младший коммутатор в сегменте (у него Inferior BPDU) блокирует все Non-Edge порты на коммутаторе (состояние SYNC) временно и затем в свой Root порт за этот сегмент отправляет ответную BPDU с флагом Agreement

  • После получения Agreement старший коммутатор переводит порт в состояние Forwarding

  • Младший коммутатор Root порт переводит в состояние Forwarding и за следующий сегмент также рассылает Proposal в свои designated порты и т. д. в каждом сегменте

  • Данный процесс значительно ускоряет сходимость топологии при ее пересчете

Состояния и роли порта 802.1w

Состояниe STP

Состояние RSTP

Роль RSTP

Disabled

Discarding

Disabled

Blocking

Discarding

Alternate

Listening

Discarding

Backup

Learning

Learning

Root/Designated

Forwarding

Forwarding

Root/Designated

BPDU формата 802.1D-1998

  • MAC адрес: 01:80:C2:00:00:00

  • Инкапсуляция LLC; DSAP=SSAP=0x42

  • BPDU двух типов:

    • Configuration BPDU

    • TCN BPDU (Topology Change Notification) - только заголовок

  • Protocol Indentifier

    • Spanning Tree: 0x0000

  • Protocol Version

    • STP: 0x00

    • RSTP: 0x02

  • BPDU Type

    • STP Configuration BPDU: 0x00

    • STP TCN BPDU: 0x80

    • RSTP BPDU: 0x02

  • Flags ( Нумерация бит от младшего к старшему)

    • Topology Change

    • Proposal

    • Port Role (2 бита: 0 - unknown, 1 - alter/backup, 2 - root, 3 - designated)

    • Learning

    • Forwarding

    • Agreement

    • Topology Change Acknowledgement

  • Priority Vector

    • Отправляется в BPDU - Root Bridge ID, Root Path Cost, Sender Bridge ID, Sender Port ID

    • Принимается получателем - Root Bridge ID, Root Path Cost+Port Cost, Sender Bridge ID, Sender Port ID, Receiving Port ID

  • Timers

    • Message Age - срок, который уже "прожила" BPDU

    • Max Age - срок, до которого BPDU может "дожить" (Max Age рута за вычетом Message Age)

    • Hello Time - задается на корневом коммутаторе, применяется всеми остальными. Является по сути частотой отправки BPDU на интерфейсах

    • Forward Delay - время, в течение которого информация в BPDU гарантированно передастся от любого коммутатора в топологии до любого другого

Max Age, Hello Time, Forward Delay используются те, которые рассылаются Root коммутатором

Пересчет топологии при изменении на сети

  • При изменении на сети (физическое изменение, изменение состояние порта) коммутатор в Root порт генерирует TCN BPDU, оповещая тем самым об этом изменении

  • Вышестоящий в STP топологии свитч получает TCN на своем designated порту и отвечает стандартной BPDU с флагом TCAck, затем отправляет в уже свой Root порт TCN

  • Таким образом TCN доходит до Root коммутатора, тот отвечает TCAck, а затем генерирует в designated порты стандартную BPDU с флагом Topology Change и начинается пересчет всей топологии (блокируются порты, сбрасываются мак адреса (устанавливается Age Time мак адресов в Forward Delay))

Что такое "смена" топологии

  • Что ее вызывает?

    • Получение TCN BPDU на Designated-порту

    • Получение роли Root Bridge

    • Переход из состояний Forwarding или Learning в Blocking

    • Переход порта из состояни Learning в Forwarding, если на коммутаторе имеются Designated порты

    • Смена Root порта на транзитном коммутаторе

    • Активация нового Designated порта

  • Что это по факту?

    • Очистка таблиц MAC-адресов на всех коммутаторах

802.1D-1990 Topology Change

  • При обнаружении смены топологии коммутатор отсылает на Root порт TCN BPDU

    • Повторяет до получения TCAck

    • В TCN BPDU не посылается Priority Vector

  • Root Bridge при обнаружении смены топологии отправляет TC BPDU

    • При получении TC коммутаторы должны очистить FD (Aging Time = Forward Delay)

    • Транзитные коммутаторы транслируют TC на своих Designated портах

802.1D-2004 Topology Change

  • При смене топологии TC BPDU отсылаются на все порты

  • Потеря Forwarding порта не является основанием для смены топологии

  • При получении TC коммутаторы должны очистить FDB (Aging Time = Forward Delay)

  • Транзитные коммутаторы транслируют TC на своих Designated и Root портах

Last updated