Как STP / RSTP определяет, какой мост является корневым мостом, и как выбираются пути к корневому мосту?
Как STP / RSTP определяет, какой мост является корневым мостом, и как выбираются пути к корневому мосту?
Ответы:
Не уверен, сколько вы знаете о коммутации и связующем дереве, но в основном при запуске все коммутаторы утверждают, что они являются корневыми. Все коммутаторы отправляют 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.
В связующее дерево есть много, но это основные шаги.
Вы спрашиваете о теории 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. Ссылка выше поможет вам начать. Это может быть так сложно, как вы хотите.
Чтобы не повторять здесь ответы и представить альтернативный взгляд на передовой опыт, следует задать вопрос: «Как мне заранее определить корневой мост, чтобы перед устранением неисправностей существовал детерминистический взгляд на сеть?»
Установите ваши агрегационные или распределительные коммутаторы как 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