Как избирается корневой мост в STP?

16

Как STP / RSTP определяет, какой мост является корневым мостом, и как выбираются пути к корневому мосту?

н.у.к.
источник
Относится ли OP к RSTP одного экземпляра для стандарта 802.1w или RSTP для каждого vlan, такого как расширение Cisco, которое может создать несколько корневых мостов через отдельные экземпляры связующего дерева?
generalnetworkerror
Я имею в виду STP / RSTP, а не MSTP или PVSTP, хотя они будут работать примерно одинаково, только для каждого vlan (или их группы).
Нос

Ответы:

25

Не уверен, сколько вы знаете о коммутации и связующем дереве, но в основном при запуске все коммутаторы утверждают, что они являются корневыми. Все коммутаторы отправляют BPDU (блок данных протокола моста), которые содержат приоритет и BID (идентификатор моста).

Длина BID составляет 8 байтов. 6 байтов используется для MAC-адреса моста. 12 бит используются для указания VLAN, это называется расширенным идентификатором системы. 4 бита используются для установки приоритета. Низкий приоритет означает, что он предпочтительнее по сравнению с более высоким. Приоритет устанавливается кратным 4096.

Если приоритет имеет связь, то самый низкий MAC-адрес определит, какой мост станет корневым.

Для выбора пути к корню рассчитывается стоимость до корня. Поскольку BPDU перемещается от корня вниз по течению, стоимость увеличивается INBOUND. 802.1D-1998 (устаревший STP) стоил 19 для интерфейса FastEthernet. Более новый стандарт 802.1D-2004 определяет стоимость 200000 для FastEthernet.

Если есть привязка к стоимости, выберите BPDU, полученный от коммутатора с самым низким BID. Если это также связь (несколько ссылок на один коммутатор), то ID порта вступает в игру. Идентификатор порта также является восходящим коммутатором и состоит из приоритета порта и идентификатора порта, который идентифицирует интерфейс. Приоритет порта по умолчанию - 128.

В связующее дерево есть много, но это основные шаги.

Даниэль Диб
источник
Приоритет моста (16 битов) устанавливается кратным 4096, поскольку он состоит из другого приоритета моста (крайние левые 4 бита) и расширенного идентификатора системы (крайние правые 12 битов). Таким образом, приоритет моста 4 бита фактически начинается с 13-го бита, считая справа, и 4096 = 2 ^ 12.
user1534664 15.09.15
13

Вы спрашиваете о теории STP:

https://en.wikipedia.org/wiki/Spanning_Tree_Protocol

Но основная идея заключается в том, что каждый коммутатор имеет идентификатор моста, который является комбинацией его приоритета и его MAC-адреса. По умолчанию все коммутаторы используют 32768 в качестве приоритета, поэтому по умолчанию коммутатор с самым низким MAC-адресом будет выполнять роль корневого моста. Вы можете манипулировать этим, регулируя приоритеты, поскольку Root Bridge по умолчанию, вероятно, не тот, который вы хотите использовать в качестве Root. Вы решите, какой коммутатор использовать в качестве корневого, исходя из ваших дизайнов уровня 2 и где вы ожидаете, что трафик уровня 2 будет проходить чаще всего.

Стоимость пути к корню представляет собой сумму затрат на соединение между соответствующим портом и соответствующим портом на корневом мосту. Чем быстрее ссылка, тем ниже стоимость. Таким образом, десять прыжков для рутинга по каналам 1GBPS дадут стоимость порта 40 (4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4), тогда как один канал 10 Мбит / с будет равен 100. Таким образом, корневой порт будет тот, который подключается к ссылкам 1GBPS.

Вы также можете манипулировать путями и корнями STP для VLAN. Ссылка выше поможет вам начать. Это может быть так сложно, как вы хотите.

Эй Джей Россингтон
источник
3

Чтобы не повторять здесь ответы и представить альтернативный взгляд на передовой опыт, следует задать вопрос: «Как мне заранее определить корневой мост, чтобы перед устранением неисправностей существовал детерминистический взгляд на сеть?»

Установите ваши агрегационные или распределительные коммутаторы как root, разделив ваши vlans между первичным и вторичным коммутатором. Обычно vlans с нечетным числом устанавливаются на одном коммутаторе как root, а vlans с четными номерами - как вторичные, а на другом - наоборот.

Sw1:
spanning-tree vlan 1,3,5,7 root primary
spanning-tree vlan 2,4,6,8 root secondary

Sw2:
spanning-tree vlan 1,3,5,7 root secondary
spanning-tree vlan 2,4,6,8 root primary
generalnetworkerror
источник
Ваш ответ имеет отношение только в том случае, если они используют PVST + или MST с экземплярами, сопоставленными, как указано, а не с STP / CST или RSTP, как указано OP, и в этом случае он может создавать проблемы. Это также упрощенно, если предположить, что у вас есть только два корневых моста в вашем L2, однако это хороший пример того, как упростить устранение неполадок, если вы можете сделать это таким образом (многие сети выросли / развились до уровня нескольких корневых мостов, и четное / нечетное не работает в смысле потока трафика без перенастройки VLAN по сети).
YLearn
Учитывая, что в конфигурации fast-pvst режима связующего дерева Cisco показан протокол протокола rstp с поддержкой связующего дерева и show spanning-tree , как вы можете быть уверены, что по протоколу RSTP OP не намеревался использовать Rapid PVST Cisco? Я признаю, что мой ответ был сфокусирован на конфигурации Cisco «fast-pvst». Не могли бы вы также объяснить возникшие проблемы?
generalnetworkerror
Вы могли бы быть правы, но поскольку OP, в частности, STP (он же CST) и RSTP, казалось бы, указывает на реализацию стандартного связующего дерева. Что касается проблем, с STP / CST и RSTP (без добавленной Cisco модификации PVST + к RSTP) у вас может быть только одна топология, поэтому наличие двух разных корневых мостов для разных наборов VLAN приведет к несовместимым состояниям пересылки в сети.
YLearn
Почти все поставщики имеют реализацию RSTP для каждого отдельного пользователя.
Нетдад
Одним из предостережений является то, что на коммутаторах уровня 3 основные цвета HSRP / VRRP должны совпадать с основными цветами STP, в противном случае возникают проблемы. Кроме того, первичный / вторичный корневой каталог на самом деле не является детерминированным. Команда изменит приоритет STP на определенное значение, зависящее от коммутатора, но не гарантирует, что коммутатор является первичным или вторичным, поскольку коммутатор с еще более низким приоритетом уже может существовать или быть добавлен позже.
Рон Мопин