Root bridge что это такое

Root bridge что это такое Техника

Для повышения надежности сети часто используют избыточные соединения между коммутаторами. Но эта избыточность может стать причиной следующих проблем:
— петли 2-го уровня
— широковещательный шторм
— дублирование одноадресных фреймов

STP (Spanning Tree Protocol) — протокол второго уровня, позволяющий в сети с избыточными соединениями использовать только один логический путь, блокируя избыточные пути, который могут привести к образованию петель.
В случае, если один из участков пути будет недоступен, протокол STP вычислит новый путь и разблокирует один из заблокированных участков.

STP использует Spanning Tree Algorithm (STA), чтобы определить, какой из портов коммутатора перевести в заблокированное состояние. Для этого STA определяет один из коммутаторов, как root bridge и использует его как точку отсчета для расчета всех путей. После того, как root bridge выбран, STA рассчитывает кратчайший путь к root bridge. Каждый коммутатор использует STA, чтобы определить, какой порт блокировать. Пока STA выбирает кратчайшие пути, коммутатор не имеет возможности передавать данные по сети. Для определения кратчайшего пути STA использует стоимость пути. Стоимость пути рассчитывается исходя из скоростей всех портов на протяжении пути. Сумма стоимостей участков в пути составляет стоимость пути. Если есть больше чем один путь, STA выбирает путь с меньшей стоимостью. Когда STA определил, какие пути оставить доступными, он назначает роли портам коммутаторов.

Root (корневые) порты — порты некорневых коммутаторов, через которые проходит трафик в сторону корневого коммутатора. Может быть только один корневой порт у коммутатора. MAC адреса источника фреймов, полученные на этот порт, заносятся в таблицу MAC адресов коммутатора.
Designated (назначенные) порты — могут быть и у корневых, и у некорневых коммутаторов. У корневых — это все порты. У некорневых — все некорневые порты, через которые разрешена передача трафика. В одном сегменте сети может быть только один назначенный порт. MAC адреса источника фреймов, полученные на эти порты, заносятся в таблицу MAC адресов коммутатора.
Non-designated (неназначенные) порты — порты, которые находятся в состоянии блокировки. Трафик через них запрещен.
Disabled (отключенные) порты — порты, которые выключены администратором командой shutdown.


Все коммутаторы в сети принимают участие в выборах. Для этого они обмениваются сообщениями BPDU. Эти сообщения содержат bridge ID и root ID. Bridge ID — идентификатор текущего коммутатора. Root ID — идентификатор корневого коммутатора. После загрузки коммутатор каждые 2 секунды начинает отправлять BPDU сообщение. Изначально root ID в сообщении равен локальному bridge ID. После того, как коммутатор принимает BPDU сообщение, он сравнивает root ID из сообщения со своим root ID. Если root ID из сообщения будет меньше, он заменяет свой root ID. Затем коммутатор начинает передавать BPDU сообщения с новым root ID. В конце концов, все BPDU сообщения, передаваемые коммутаторами, будут содержать наименьший root ID. Коммутатор с этим bridge ID и будет root bridge.
Изначально, после загрузки все порты коммутатора находятся в блокированном состоянии. По умолчанию — в течение 20 секунд (для диаметра сети 7). Они только передают и принимают BPDU.

Определение лучшего пути к
В BPDU сообщениях кроме bridge ID и root ID передается таже стоимость пути к root ID. После того, как root bridge был выбран, Информация о путях определяется на пути от root bridge
По умолчанию, стоимость портов коммутаторов следующая:
10 Гб/с — 2
1 Гб/с — 4
100 Мб/с — 19
10 Мб/с — 100
Для каждого порта можно задать стоимость вручную командой:
S1(config-if)#spanning-tree cost cost
Для отмены ручной настройки стоимости порта используется команда:
S1(config-if)#no spanning-tree cost
После подсчета стоимостей всех путей, выбирается путь с наименьшей стоимостью, а все резервные пути блокируются. Для проверки стоимостей портов, а также стоимости пути к root bridge используется команда:
S1#show spanning-tree
Для вывода более детальной информации используется команда:
S1#show spanning-tree detail

Поле bridge ID в BPDU состоит из трех частей.
Bridge Priority — приоритет коммутатора при выборе root bridge. Может изменятся от 1 до 65536. По умолчанию равен 32768. Чем меньше значение, тем больше приоритет.
Extended System ID — номер VLANа. Используется в PVST. Добавляется к Bridge Priority для вычисления приоритета.
MAC Address. Когда все коммутаторы в сети сконфигурированы с одинаковыми приоритетом (Bridge Priority) и номером Extended System ID, рашающим фактором при выборе root bridge будет MAC адрес. Коммутатор с наименьшим MAC адресом будет выбран как root bridge.

Бывают случаи, когда необходимо, чтобы конкретный коммутатор был корневым. Для этого меняется приоритет коммутатора. Сделать это можно двумя способами.
1. Командой S1(config)#spanning-tree vlan vlan-id root primary. Коммутатору будет присвоен приоритет 24576 или на 4096 меньший, чем самый меньший обнаруженный приоритет в сети. Это будет основной корневой коммутатор.
Командой S1(config)#spanning-tree vlan vlan-id root secondary. Коммутатору будет присвоен приоритет 28672. Это будет запасной корневой коммутатор. Он станет корневым, если основной корневой станет недоступен и начнутся новые выборы, при условии, что у остальных коммутаторов приоритет установлен по умолчанию.
2. Командой S1(config)#spanning-tree vlan vlan-id priority value. Этим способом можно назначать конкретные значения приоритетов.

Определение роли порта
Выбор корневого порта. Коммутатор сравнивает стоимости всех возможных путей к корневому коммутатору. Порт коммутатора, у которого самая низкая стоимость пути, автоматически становится корневым. Если два и более портов имеют одинаковую стоимость пути, выбирается порт, имеющий больший приоритет. Если приоритеты тоже одинаковые, выбирается порт, имеющий наименьший номер (port ID). Приоритет порта настраивается командой S1(config-if)#spanning-tree port-priority value. Диапазон от 0 до 240 с шагом 16. По умолчанию равен 128.
Выбор назначенных и неназначенных портов. Корневой коммутатор автоматически определяет все свои порты как назначенные. На некорневых коммутаторах этор выбор происходит после выбора корневого порта. Выбор происходит на каждом сегменте. Коммутатор смотрит сообщение BPDU, приходящее на порт и решает: если bridge ID у него меньше, чем у соседа, порт становится назначенным, а если больше — неназначенным.
Проверить роли портов и их приоритеты можно командой S1#show spanning-tree

Время, в течение которого порт находится в различных состояниях, зависит от таймеров BPDU. Только корневой коммутатор может рассылать сообщения по сети, которые настраивают таймеры. Существуют следующие таймеры изменения состояний:
Hello time — время между посылками сообщений BPDU на порт. По умолчанию равно 2 секунды. Можно изменять от 1 до 10 секунд.
Forward delay (задержка перед передачей) — время, в течении которого порт находится в каждом из состояний listening и learning. По умолчанию — 15 секунд. Можно изменить от 4 до 30 секунд.
Maximum age — время, в течение которого порт хранит информацию, полученную вместе с последним BPDU. По умолчанию — 20 секунд. Может изменяться от 6 до 40 секунд.
Изменять таймеры напрямую не рекомендуется. Таймеры по умолчанию установлены для сети с диаметром, равным 7. Поэтому, если администратор решит изменить время сходимости сети, лучше использовать команду задания диаметра сети. Коммутатор сам подстроит все таймеры.
S1(config)#spanning-tree vlan vlan id root primary diameter value

Технология Cisco PortFast
Для портов, к которым подключены не коммутаторы, конечные устройства (компьютеры, телефоны и др.), для быстрого перехода в состояние передачи (без прохода через состояния listening и learning), Cisco разработала технологию PortFast. Устройство, подключенное к порту с включенным PortFast, сразу может передавать данные. Для включения используется команда: S1(config-if)#spanning-tree portfast. Для выключения — S1(config-if)#no spanning-tree portfast. Проверка включения режима PortFast на интерфейсе — S1#show running-config.

Изменение топологии STP
После того, как выборы корневого коммутатора завершились и произошло назначение ролей портам коммутатора, все коммутаторы, за исключением корневого, прекращают генерацию своих BPDU. Только корневой коммутатор генерирует BPDU и рассылает из на широковещетельный адрес. Все осталные — только ретранслируют его.
При изменении топологии коммутатор, который это обнаружил, отправляет специальное сообщение BPDU, которое называется TCN (topology change notification), через корневой порт в направлении корневого коммутатора. Некорневые коммутаторы, которые принимают это сообщение, ретранслируют его через свой корневой порт, а также отправляют назад подтверждение о получении — TCA (topology change acknowledgement).
После того, как корневой коммутатор получил TCN, он сначала отправляет назад TCA. А затем широковещательно отправляет BPDU с установленным флагом TC (topology change). Таким образом, все коммутаторы сети узнают об изменении топологии сети и увеличивают время Maximum age до 35 секунд по умолчанию.

Per-VLAN spanning tree protocol (PVST) — проприетарный протокол Cisco. Использует для организации транков свой протокол ISL. Связующее дерево строится отдельно для каждого VLANа. Это дает возможность балансировать трафик на 2-м уровне. Для PVST разработаны расширения настройки портов
Per-VLAN spanning tree protocol plus (PVST+) — проприетарный протокол Cisco. Разработан для поддержки транкового протокола IEEE 802.1Q. Поддерживает все расширения PVST, а также введены дополнения BPDU guard и Root guard.
Rapid per-VLAN spanning tree protocol (rapid PVST+) — проприетарный протокол Cisco. основан на стандарте IEEE802.1w и имеет меньшее время сходимости по сравнению с STP. Поддерживает все расширения PVST и PVST+.
Rapid spanning tree protocol (RSTP) — общедоступный протокол. Включает расширения Cisco Имеет меньшее время сходимости по сравнению с STP. Именно он сейчас и применяется. Т.е. STP = RSTP
Multiple STP (MSTP) — общедоступный протокол. Позволяет строить связующие деревья для нескольких VLANов. Т.е. позволяет уменьшать количество деревьев на коммутаторе.

Дополнительно:  Root пароли к ssh

Это проприетарный протокол Cisco. Он строит связующие деревья для каждого VLANа и позволяет блокировать порты для каждого VLANа в отдельности. Поэтому более экономично используется полоса пропускания каждого порта (не простаивает).
Соответственно и настраивать приоритеты для коммутаторов и портов можно для каждого VLANа. Например, для половины VLANов корневым коммутатором настривается один коммутатор, а для второй половины — другой.
Но надо помнить, что если не настраивать приоритеты, все коммутаторы сети для всех VLANов будут принимать решения о корневом коммутаторе, основываясь на MAC адресах коммутаторов. И никкакой балансировки нагрузки не будет.
Настройки по умолчанию на коммутаторах Cisco:
Состояние — включено для VLAN1
Вариант протокола — PVST+ (Rapid PVST+ и MSTP are отключены)
Приоритет коммутатора — 32768
Приоритет порта (при STP на основе портов) — 128
Стоимость портов — 10 Гб/с — 2, 1 Гб/с — 4, 100 Мб/с — 19, 10 Мб/с — 100
Приоритет порта (при STP на основе VLANов) — 128
Таймеры — Hello time: 2 с, Forward-delay time: 15 с, Maximum-aging time: 20 с, Transmit hold count: — 6 BPDU
Порядок настройки
1. Выбираем коммутаторы, которые будут основными и резервными корневыми коммутаторами для каждого VLANа.
2. Конфигурируем эти коммутаторы:
S1(config)#spanning-tree vlan vlan-ID root primary
S2(config)#spanning-tree vlan vlan-ID root secondary

Также можно настроить приоритеты коммутаторов командой
S1(config)#spanning-tree vlan vlan-ID priority priority — где приоритет можно назначать в диапазоне от 0 до 61440 с шагом 4096. Коммутатор с более низким приоритетом и будет корневым.
Проверка настроенного протокола для активных интерфейсов осуществляется командой:
S2#show spanning tree active.

Это развитие протокола STP. Большинство параметров не изменилось. Изменились лишь роли портов и их состояния. Из-за этого значительно уменьшилось время сходимости сети.
В RSTP, если коммутатор не принял три подряд BPDU (по умолчанию 6 секунд),  считается, что связь потеряна.
Edge Ports — граничный порт относительно STP дерева. Это порт, к которому никогда не был подключен другой коммутатор, а подключены конечные устройства. То есть порт сразу же переходит в режим пересылки. Режим работы порта в этой роли похож на режим PortFast, но отличается тем, что порт при получении первого же BPDU становится STP портом.

Состояния портов
В отличии от STP,

RSTP определяет всего три состояния портов коммутаторов.

Discarding

Learning

Forwarding

портов
Корневой порт
порт некорневого коммутатора, имеющий лучшую стоимость для достижения корневого коммутатора. Для каждого некорневого коммутатора может быть только один. В стабильной сетевой топологии находится в состоянии Forwarding
Назначенный порт — все порты корневого коммутатора. А также только по одному порту на сегмент, связывающий некорневые коммутаторы. В стабильной сетевой топологии находится в состоянии Forwarding
Альтернативный порт — порт, предлагающий альтернативный путь к корневому коммутатору. Находится в состоянии

S1(config)#spanning-tree mode rapid-pvst
S1(config)#interface interface-id
S1(config-if)#spanning-tree link-type point-to-point
S1#clear spanning-tree detected-protocols

Прежде чем переходить к пояснению для чего нужен протокол STP, надо ввести понятие широковещательной петли.

Широковещательная петля

Широковещательная петля создается, когда имеется больше одного соединения
между двумя коммутаторами (или соединены два порта на одном и том же коммутаторе).
Широковещательная петля приводит к тому, что широковещательные фреймы (фреймы, которые коммутатор распространяет на все порты, кроме того
откуда он пришел, подробнее
тут) будут загружать сеть и в итоге приведут к неработоспособности
(широковещательному шторму). Что бы лучше понять что такое широковещательная петля, обратимся к рисунку 7.1.


Если вы не знаете, что такое широковещательный фрейм, то вам сюда

Рисунок 7.1 Широковещательная петля
Рисунок 7.1 Широковещательная петля

На рисунке 7.1 мы можем видеть, как ПК4 отправляет широковещательный фрейм на коммутатор Switch0, коммутатор отправляет его на все порты,
кроме того откуда он пришел. Остальные коммутаторы рассылают этот фрейм по такому же принципу. Таким образом в сети образовался «неубиваемый»
широковещательный фрейм, который не только кружит между коммутаторами но и нагружает рабочие станции (при том даже ПК4, с которого все началось).
Широковещательные фреймы очень популярны в сетях (например, их используют протоколы ARP, DHCP и т.д.), поэтому буквально за минуту их может быть тысяча,
а через 5 минут оборудование откажется что-либо передавать из-за того что не справляется со шквалом широковещательных фреймов (широковещательным штормом).

Подведем итог. Широковещательные петли — это плохо.

Spanning Tree Protocol (STP)

Spanning Tree Protocol используется для предотвращения образования широковещательных петель. STP программно выключает
«лишние» (или запасные) каналы связи и в итоге создает топологию в виде дерева. STP постоянно отслеживает топологию сети, поэтому при «падении» основных
каналов связи, STP по возможности переключится на «запасные».


Spanning Tree Protocol это стандарт, который именуется так IEEE 802.1D (некоторые работодатели
очень придирчивы к названиям стандартов, поэтому их стоит знать или повторять перед собеседованиями).

Как мы уже выяснили STP создает из коммутаторов топологию в виде дерева, это значит, что в этой топологии есть корень (далее root) и
остальные коммутаторы, которые из него «произрастают» (рисунок 7.2). Таким образом можно выделить основные принципы работы STP:

  • Выбор коммутатора в роли root
  • Все остальные коммутаторы (кроме root), выбирают единственный порт направленный на root.
  • Блокирование всех «лишних» (или запасных) каналов связи.
Рисунок 7.2 Дерево коммутаторов
Рисунок 7.2 Дерево коммутаторов

Виды портов в топологии STP

  • Root Port (RP) — это порт на коммутаторе (кроме root коммутатора), который
    имеет наилучший путь к root
  • Designated Port (DP) — это порты, которые находятся в режиме передачи данных.
  • Non-Designated Port (NDP) — это заблокированные порты (вероятно из-за того, что STP посчитал
    это порт запасным).

На рисунке 7.3 мы добавили немного «лишних» каналов связи и подписали порты.

Рисунок 7.3 Обозначение портов в топологии STP
Рисунок 7.3 Обозначение портов в топологии STP

Обратите внимание, что у всех коммутаторов есть Root Port (RP), кроме root. Все порты у коммутатора root всегда в состоянии Designated (DP).
Non-Designated (NDP) порты разрывают широковещательные петли.

Выбор коммутатора в роли root

Все коммутаторы в топологии STP имеют идентификатор — Bridge ID. Bridge ID состоит из двух параметров:
приоритет (далее priority) и MAC-адрес коммутатора.
Записывается в таком формате — priority.MAC-адрес, например, 32768.0030.abcf.11e1. Именно
благодаря этому параметру выбирается коммутатор в роли root.


Коммутатор с наименьшим Bridge ID берет на себя роль root. В момент выбора вначале сравниваются приоритеты, и если по
этому критерию выбрать не удалось, то сравниваются MAC-адреса (наименьший MAC-адрес выигрывает).

На рисунке 7.4 мы добавили значения Bridge ID для всех коммутаторов.

Рисунок 7.4 Bridge ID
Рисунок 7.4 Bridge ID

Как мы можем заметить коммутатору SW1 не повезло, он не получил роль root, т.к. его MAC-адрес не самый маленький по значению. Зато
SW1 возьмет на себя роль root, если текущий корневой коммутатор выйдет из строя, благодаря наименьшему приоритету среди остальных коммутаторов.

Bridge Protocol Data Unit (BPDU)

В самом начале построения топологии STP (например, все коммутаторы перезагрузили), каждый коммутатор считает себя в роли root и рассылает,
так называемые hello BPDU — stp-сообщения, помогающие определить кому будет назначена роль root, в этих сообщениях рассылается bridge id (BID).
При получении BPDU с меньшим ВID, коммутатор перестает рассылать свои hello BPDU и только передает все остальные BPDU. В итоге, остается только один root с наименьшим ВID.

Когда stp-топология построена, т.е. в топологии найден root, то он начинает рассылать BPDU (stp-сообщения), содержащие следующую информацию:

  • Root Bridge ID — Bridge ID (BID) коммутатора в роли root.
  • Bridge ID отправителя — BID коммутатора, который отправил это сообщение.
  • Стоимость пути до Root (Root Path Cost) — стоимость пути определяется путем сложения стоимости всех путей между коммутаторами до root.
  • Таймеры установленные на root — таймер отправки BPDU, таймер ожидания и т.д.
Дополнительно:  Root for alcatel

Давайте разберем более подробно понятие «стоимость пути». Каждый линк между коммутаторами имеем значение «стоимости», это
значение определяется из расчета скорости на этом линке. В таблице 7.1 представлены эти соотношения.

Таблица 7.1 Стоимость канала в соответствии с его скоростью

Коммутатор в роли root (далее root bridge) рассылает BPDU каждые 2 секунды. Выходит это сообщение из root bridge со стоимостью
пути равной 0, проходя остальные коммутаторы в stp-топологии, стоимости пути увеличивается.

Рисунок 7.5 Движение BPDU по сети
Рисунок 7.5 Движение BPDU по сети

Рассмотрим рисунок 7.5, как уже было сказано, «рождается» BPDU на Root Bridge и рассылается по всем портам. В целях понимания
расчета стоимости пути, нам будет
достаточно рассмотреть только одну ветку движения сообщения BPDU:

  1. Root Bridge рассылает BPDU по всем портам, поле «Root Path Cost» имеет значение 0.
  2. SW1 принимает BPDU, изменяет поле «Bridge ID отправителя» на свой, а так же поле «Root Path Cost» прибавляя к
    текущему значению 19. Все каналы связи в нашем примере имеют пропускную способность 100 Мб/с. После всех изменений он
    отправляет BPDU дальше по всем Designated портам.
  3. SW5 принимает BPDU, аналогично SW1 делает два изменения в поле «Bridge ID отправителя» и в поле
    «Root Path Cost» прибавляя к
    текущему значению 19, итого уже 38. Отправляет по всем Designated портам (у этого коммутатора он один).

Root Port, Designated Port или Non-Designated port?

После того как Root Bridge был выбран среди коммутаторов, каждый коммутатор определяет у себя Root Port,
он может быть только один. В этом выборе участвуют все порты на которые пришло BPDU. Порядок выбора:

  1. Наименьшее значение «Root Path Cost».
  2. Наименьшее значение в поле «Bridge ID отправителя».
  3. Наименьший приоритет порта (имеет только локальное значение, по умолчанию 128)
  4. Наименьший номер порта (например, BPDU пришло на порты Fa0/6 и Fa0/12, Root портом станет Fa0/6, при условии, что
    выше перечисленные критерии не помогли в выборе).

Например, на коммутатор SW1 придет два BPDU со стороны root и со стороны SW2, в этом случае все решит первый критерий,
т.к. со стороны root поле «Root Path Cost» будет равно 0, а со стороны SW2, это поле равно 19. Теперь коммутаторы SW1
и SW2 знают, что между ними «запасной» канал связи (используется в случае падения основного канала). Им надо определить,
кто из них оставит порт в состоянии Designated, а кто переведет в состояние Non-Designated (заблокирован). Коммутатор, у
которого следующие критерии, оставляет порт в состоянии Designated:

  1. Наименьшее значение «Root Path Cost».
  2. Наименьшее значение в поле «Bridge ID отправителя».

В нашем примере значение «Root Path Cost» одинаковое, поэтому разрешится «спор» между SW2 и SW1 по второму критерию. Так
как у SW1 наименьшей приоритет, следовательно он оставляет порт в состоянии Designated.

Режимы работы порта в STP

Следует начать с режима Disabled — порт не участвует в работе STP. С остальными режимами сложнее.

Когда порт только включили, он проходит следующие режимы:

  1. Blocking — порт не передает фреймы, не принимает, не изучает MAC-адреса. Но! Порт
    принимает и обрабатывает BPDU сообщения. Если BPDU не приходит в течение 20 секунд
    (время по умолчанию, имя таймера — max_age),
    порт переходит в следующий режим. Именно в этом режиме пребывают Non-Designated порты.
  2. Listening — в этом режиме порт принимает и отправляет BPDU и отбрасывает все остальные фреймы,
    в этом режиме он находится 15 секунд (время по умолчанию, имя таймера — forward_delay)
  3. Learning — в этом режиме порт уже определил свое состояние (Designated или Root Port), он
    не передает приходящие фреймы, но изучает их и заполняет таблицу коммутации (таблицу mac-адресов). В этом
    режиме он находится 15 секунд (время по умолчанию, имя таймера — forward_delay).
  4. Forwarding — порт передает все приходящие фреймы, т.е. работает в
    штатном режиме.

Теперь, когда мы знаем режимы порта, давайте разберемся как перестраивается STP-топология и сколько времени
на это уходит.

Разновидности STP

Таблица 7.2 Разновидности STP

PVST (Per VLAN Spanning Tree) — все то же самое что и в STP,
только stp-топология на каждый vlan своя.

Rapid STP — способен реагировать на изменения stp-топологии в течении 6 секунд
(STP 30-50 секунд). Нет режима Listening и добавили новые состояние вместо Non-Designated — Alternate и
Backup.

Информация

Packet Tracer version: 6.2.0

Версия файла: 1.0

Практика


Начальные данные

В данной практической работе будет использоваться схема сети, которая представлена на рисунке ниже.

Схема сети для практической работы
Схема сети для практической работы
  1. SW1 — 10.33.1.10
  2. SW2 — 10.33.1.12
  3. SW3 — 10.33.1.13
  4. SW4 — 10.33.1.14
  5. SW5 — 10.33.1.15
  6. SW6 — 10.33.1.16
  7. SW7 — 10.33.1.17
  8. SW8 — 10.33.1.18

Цели

  1. Изучить команду show spanning-tree.
  2. Изменить конфигурацию PVSTP.
  3. Изучить изменение STP-топологии при отключении одного из активных «линков» (каналов связи).
  4. STP утилиты.

Выполнение

  1. Изучить команду show spanning-tree

    В cisco-устройствах нет чистого stp, есть pvstp (per vlan, для каждого vlan), поэтому здесь будет рассмотрена работа
    именно этого протокола.

    Есть несколько вариаций продолжения команды show spanning-tree, давайте посмотрим
    какие.

     SW1#sh spann ?
       active             Report on active interfaces only
       detail             Detailed information
       inconsistentports  Show inconsistent ports
       interface          Spanning Tree interface status and configuration
       summary            Summary of port states
       vlan               VLAN Switch Spanning Trees
       <cr>
    
    

    Символом «?» мы запросили все возможные варианты этой команды. Начнем с варианта, который
    скрывается под кодовым символом <cr>, если вы видите этот символ, это означает, что
    команду можно вызвать без каких-либо дополнительных параметров, т.е. просто вызвать
    show spanning-tree. Без дополнительных параметров, эта команда показывает
    stp для каждого vlan. Смотрим.

     SW1#sh spann
     VLAN0001
       Spanning tree enabled protocol ieee
       Root ID    Priority    32769
                  Address     0009.7C21.12C8
                  Cost        19
                  Port        24(FastEthernet0/24)
                  Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
     
       Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
                  Address     0009.7CE6.CCE1
                  Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
                  Aging Time  20
     
     Interface        Role Sts Cost      Prio.Nbr Type
     ---------------- ---- --- --------- -------- --------------------------------
     Gi0/1            Desg FWD 4         128.25   P2p
     Gi0/2            Desg FWD 4         128.26   P2p
     Fa0/24           Root FWD 19        128.24   P2p
     Fa0/23           Desg FWD 19        128.23   P2p
     
     VLAN0033
       Spanning tree enabled protocol ieee
       Root ID    Priority    32801
                  Address     0009.7C21.12C8
                  Cost        19
                  Port        24(FastEthernet0/24)
                  Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
     
       Bridge ID  Priority    32801  (priority 32768 sys-id-ext 33)
                  Address     0009.7CE6.CCE1
                  Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
                  Aging Time  20
     
     Interface        Role Sts Cost      Prio.Nbr Type
     ---------------- ---- --- --------- -------- --------------------------------
     Gi0/1            Desg FWD 4         128.25   P2p
     Gi0/2            Desg FWD 4         128.26   P2p
     Fa0/24           Root FWD 19        128.24   P2p
     Fa0/23           Desg FWD 19        128.23   P2p
    
    

    В выводе содержится очень много информации, давайте разберемся, что есть что. В начале stp для Vlan 1 включен по
    умолчанию, а т.к. по умолчанию все порты в vlan 1, то создать широковещательную петлю не получится (с коммутаторами
    «из коробки»). Строка Spanning tree enabled protocol ieee означает, что stp включен, а
    ieee указывает на стандартную версию stp (если бы была реализация Rapid STP, то мы
    увидели rstp).

    Со слов Root ID идет описание stp-корня (root). Приоритет у root — Priority 32769.
    Root MAC-адрес, который
    используется в Bridge ID — Address 0009.7C21.12C8. Стоимость до root,
    в данном случает от SW1, — Cost 19 (у root
    этот параметр равен 0). Root port — порт который ближе всего к root коммутатору — Port 24(FastEthernet0/24) и
    таймеры, которые передает root — Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec. Со слов
    Bridge ID идет описание параметров локального stp (stp настроек на данном коммутаторе, в
    нашем случае на SW1).

    Давайте уточним,
    как получается приоритет. Формула приоритета такая — <приоритет> + <номер vlan>. По умолчанию на cisco-устройствах выставляется
    приоритет 32768 + <номер vlan>. Вот почему SW1 в vlan 1 имеет приоритет 32769, а в vlan 33 — 32801.

    Под
    описанием stp в каждом vlan, присутствует таблица портов, участвующих в stp-топологии, там расписаны их состояния (Role, можно увидеть,
    какие порты в режиме Designated и «кто есть» Root Port), стоимости (в колонке Cost), режимы работы (например, FWD — Forwarding),
    приоритеты и номера (например, 128.25).

    Разберем остальные, интересные вариации команды show spanning-tree. show spanning-tree detail
    — показывает детальную информацию о stp для каждого vlan. show spanning-tree interface <номер интерфейса>
    — показывает какую роль исполняет запрашиваемый интерфейс в stp-топологии для каждого vlan.
    show spanning-tree summary — показывает суммарную информацию работы stp.
    show spanning-tree vlan <номер vlan> — показывает информацию о stp для конкретного vlan.

     SW1#sh spanning-tree summ
     Switch is in pvst mode
     Root bridge for:
     Extended system ID           is enabled
     Portfast Default             is disabled
     PortFast BPDU Guard Default  is disabled
     Portfast BPDU Filter Default is disabled
     Loopguard Default            is disabled
     EtherChannel misconfig guard is disabled
     UplinkFast                   is disabled
     BackboneFast                 is disabled
     Configured Pathcost method used is short
     
     Name                   Blocking Listening Learning Forwarding STP Active
     ---------------------- -------- --------- -------- ---------- ----------
     VLAN0001                     0         0        0          4          4
     VLAN0033                     0         0        0          4          4
     VLAN0044                     0         0        0          5          5
     VLAN0055                     0         0        0          4          4
     
     ---------------------- -------- --------- -------- ---------- ----------
     4 vlans                      0         0        0         17         17
     
     SW1#
     SW1#
     SW1#sh spanning-tree inter gi 0/1
     Vlan             Role Sts Cost      Prio.Nbr Type
     ---------------- ---- --- --------- -------- --------------------------------
     VLAN0001         Desg FWD 4         128.25    P2p
     VLAN0033         Desg FWD 4         128.25    P2p
     VLAN0044         Desg FWD 4         128.25    P2p
     VLAN0055         Desg FWD 4         128.25    P2p
    
    
  2. Изменить конфигурацию PVSTP

    В имеющейся сети stp имеет настройки по умолчанию. Надо сделать так что бы SW1 был Bridge Root (корнем) для vlan 1 и 44 и запасным
    Bridge Root для vlan 33 и 55. SW2 был Bridge Root для vlan 33, 55 и запасным
    Bridge Root для vlan 1 и 44.

    Основной критерий выбора Bridge Root находится в Bridge ID, изменив приоритет, изменится и топология. Задать приоритет можно двумя
    способами — указав приоритет или вызвав преднастроенную команду. SW1 мы будем настраивать, указывая преднастроенные команды, а
    в SW2 мы будем явно указывать приоритет.

     SW1#conf t
     SW1(config)#spanning-tree ?
       mode      Spanning tree operating mode
       portfast  Spanning tree portfast options
       vlan      VLAN Switch Spanning Tree
     SW1(config)#spanning-tree vlan 1 ?
       priority  Set the bridge priority for the spanning tree
       root      Configure switch as root
       <cr>
     SW1(config)#spanning-tree vlan 1 root ?
       primary    Configure this switch as primary root for this spanning tree
       secondary  Configure switch as secondary root
     SW1(config)#spanning-tree vlan 1 root primary 
     SW1(config)#
     SW1(config)#spanning-tree vlan 44 root primary 
     SW1(config)#spanning-tree vlan 55 root secondary 
     SW1(config)#
     SW1(config)#spa vl 33 ro sec
     SW1(config)#exit
     SW1#wr
     Building configuration...
     [OK]
     SW1#
     
    
     SW1#sh spann vla 1
     VLAN0001
       Spanning tree enabled protocol ieee
       Root ID    Priority    24577
                  Address     0009.7CE6.CCE1
                  This bridge is the root
                  Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
     
       Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)
                  Address     0009.7CE6.CCE1
                  Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
                  Aging Time  20
     
     Interface        Role Sts Cost      Prio.Nbr Type
     ---------------- ---- --- --------- -------- --------------------------------
     Gi0/1            Desg FWD 4         128.25   P2p
     Gi0/2            Desg FWD 4         128.26   P2p
     Fa0/24           Desg FWD 19        128.24   P2p
     Fa0/23           Desg FWD 19        128.23   P2p
     
     SW1#sh spann vla 33
     VLAN0033
       Spanning tree enabled protocol ieee
       Root ID    Priority    28705
                  Address     0009.7CE6.CCE1
                  This bridge is the root
                  Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
     
       Bridge ID  Priority    28705  (priority 28672 sys-id-ext 33)
                  Address     0009.7CE6.CCE1
                  Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
                  Aging Time  20
     
     Interface        Role Sts Cost      Prio.Nbr Type
     ---------------- ---- --- --------- -------- --------------------------------
     Gi0/1            Desg FWD 4         128.25   P2p
     Gi0/2            Desg FWD 4         128.26   P2p
     Fa0/24           Desg FWD 19        128.24   P2p
     Fa0/23           Desg FWD 19        128.23   P2p
     
     SW1#
    
    

    Результат выполнения команд spanning-tree vlan <номер vlan> root primary и
    spanning-tree vlan <номер vlan> root secondary это просто изменение
    приоритета. В первом случае приоритет выставляется как 24576 + <номер vlan>, во втором случае
    мы имеем 28672 + <номер vlan>. Теперь выставим приоритеты на SW2 самостоятельно.

    	
    
     SW2(config)#spanning-tree vlan 1 priority 23
     % Bridge Priority must be in increments of 4096.
     % Allowed values are:
       0     4096  8192  12288 16384 20480 24576 28672
       32768 36864 40960 45056 49152 53248 57344 61440
     SW2(config)#spanning-tree vlan 1 priority 28672
     SW2(config)#span vl 44 pri 28672
     SW2(config)#span vl 55 pri 24576
     SW2(config)#span vl 33 pri 24576
    
    

    Обратите внимание, что приоритет мы можем выставить только из преднастроенных вариантов (в этих
    вариантах каждый раз прибавляется число 4096). Задавая приоритет для vlan 44, подразумевалось, что
    на деле у него будет приоритет 28672 + 44. В этом можно убедиться вызвав команду
    show spanning-tree vlan 44.

    На рисунке 7.6 для нашего примера представлена схема stp-топологии (stp-дерева) для vlan 44 —
    без «запасных» (лишних) каналов связи. Вы можете сами отследить
    заблокированные порты и проверить данную схему.

    Рисунок 7.6 STP-топология для vlan 44
    Рисунок 7.6 STP-топология для vlan 44
  3. Изучить изменение STP-топологии при отключении одного из активных «линков» (каналов связи)

    В качестве эксперимента мы отключим порт Fa0/1 на коммутаторе SW3, который «смотрит» на порт
    Fa0/1 коммутатора SW5, и посмотрим как изменится топология, но для начала изучим текущую
    топологию.

    	
    
     SW5#sh spanning-tree vl 44
     VLAN0044
       ...
     
     Interface        Role Sts Cost      Prio.Nbr Type
     ---------------- ---- --- --------- -------- --------------------------------
     Fa0/1            Root FWD 19        128.1    P2p
     Fa0/4            Altn BLK 19        128.4    P2p
     Fa0/2            Desg FWD 19        128.2    P2p
    
    

    Следует заметить, что в понятии cisco, нет интерфейса с состоянием Non-Designated, а есть состояние
    Alternate (альтернативный).

    В выводе команды show spanning-tree vlan 44 нас интересуют
    таблица интерфейсов. Fa0/1 на данный момент Root Port, т.е. если мы осуществим задуманное,
    коммутатор SW5 потеряет связь с Root Bridge и начнет искать альтернативный путь.

     SW3(config)#interf fa 0/1
     SW3(config-if)#
     SW3(config-if)#shut
    
    
    	
    
     SW5#sh spanning-tree vl 44
     VLAN0044
       ...
     
     Interface        Role Sts Cost      Prio.Nbr Type
     ---------------- ---- --- --------- -------- --------------------------------
     Fa0/4            Root LSN 19        128.4    P2p
     Fa0/2            Desg FWD 19        128.2    P2p
     
     SW5#sh spanning-tree vl 44
     VLAN0044
       ...
     
     Interface        Role Sts Cost      Prio.Nbr Type
     ---------------- ---- --- --------- -------- --------------------------------
     Fa0/4            Root LRN 19        128.4    P2p
     Fa0/2            Desg FWD 19        128.2    P2p
     
     SW5#sh spanning-tree vl 44
     VLAN0044
       ...
     
     Interface        Role Sts Cost      Prio.Nbr Type
     ---------------- ---- --- --------- -------- --------------------------------
     Fa0/4            Root FWD 19        128.4    P2p
     Fa0/2            Desg FWD 19        128.2    P2p
    
    

    Так же между ПК1 и ПК4 мы можем наблюдать потерю пакетов в момент перестроения stp-топологии.
    Из чего можно заключить, что перестроение топологии может привести к ошибкам в передаче данных.

    	
    
     PC>ping -t 10.44.1.14
     
     Pinging 10.44.1.14 with 32 bytes of data:
     
     Reply from 10.44.1.14: bytes=32 time=0ms TTL=128
     Reply from 10.44.1.14: bytes=32 time=1ms TTL=128
     Reply from 10.44.1.14: bytes=32 time=0ms TTL=128
     Reply from 10.44.1.14: bytes=32 time=1ms TTL=128
     Reply from 10.44.1.14: bytes=32 time=0ms TTL=128
     Reply from 10.44.1.14: bytes=32 time=1ms TTL=128
     Request timed out.
     Request timed out.
     Request timed out.
     Request timed out.
     Request timed out.
     Reply from 10.44.1.14: bytes=32 time=1ms TTL=128
     Reply from 10.44.1.14: bytes=32 time=3ms TTL=128
     ...
    
    

    На рисунке 7.7 представлена новая топология для vlan 44.

    Рисунок 7.7 Измененная STP-топология для vlan 44
    Рисунок 7.7 Измененная STP-топология для vlan 44

    Теперь данные от ПК1 к ПК4 проходят такой путь: ПК1 -> SW5 -> SW4 -> SW1 -> SW3 -> SW8 -> ПК4 (путь стал немного длиннее).

    В примере, показанном выше, перестроение топологии заняло около 30 секунд, благодаря тому что Root Port «явно» выключился (
    на коммутаторе порт перешел в состояние down). Перестроение может занять 50 секунд, если Root Port останется включен, и на него
    просто перестанут приходить BPDU. Так и было бы, если бы между SW3 и SW5 стоял еще один коммутатор. Время
    указано при условии, что все таймеры настроены по умолчанию.

  4. STP утилиты

    PortFast — функция, разрешающая порту пропускать режимы Listening и Learning,
    таким образом при включении порт сразу переходит в состояние Forwarding.

    BPDU Guard — порт с такой функцией выключается, если на него приходит BPDU.

    Root Guard — эта функция устанавливается на интерфейс коммутатора, если известно, что
    этот порт ни при каких условиях не станет Root Port. Если на такой порт приходит BPDU от потенциального
    Root Bridge, то он переходит в состояние root-inconsistent, что равносильно состоянию listening —
    через этот порт ничего не передается.

    Настроить PortFast можно двумя способами — глобально и локально. Глобально
    командой spanning-tree portfast default, которая включает функцию
    PortFast на всех access (не транковых) интерфейсах. Либо настраивать
    локально на каждом интерфейсе при помощи команды spanning-tree portfast

    Добавьте на порт Fa0/2 коммутатора SW5 функцию PortFast. Выключите этот порт и сразу включите,
    в Packet Tracer вы увидите, что он сразу загорится зеленым цветом. Если вы выключите и включите порт Fa0/3,
    который «смотрит» на ПК2, то после включения порт будет подсвечен оранжевым цветом, т.к. после
    включения он проходит режимы Listening и Learning, и после 30 секунд загорится зеленым цветом.

Дополнительно:  Синий экран Windows XP и Windows 7 при включенной сети
Оцените статью
Master Hi-technology
Добавить комментарий