Протокол связующего дерева

Сетевой протокол, который создает логическую топологию без петель для сетей Ethernet.

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

Как следует из названия, STP создает связующее дерево , которое характеризует взаимосвязь узлов в сети соединенных мостов уровня 2 , и отключает те связи, которые не являются частью связующего дерева, оставляя один активный путь между любыми двумя сетевыми узлами. STP основан на алгоритме, который был изобретен Радией Перлман, когда она работала в Digital Equipment Corporation . [1] [2]

В 2001 году IEEE представил Rapid Spanning Tree Protocol ( RSTP ) как 802.1w. RSTP обеспечивает значительно более быстрое восстановление в ответ на изменения или сбои в сети, внедряя новые поведения конвергенции и роли портов моста для этого. RSTP был разработан с учетом обратной совместимости со стандартным STP.

Первоначально STP был стандартизирован как IEEE 802.1D, но функциональность связующего дерева (802.1D), быстрого связующего дерева (802.1w) и множественного связующего дерева (802.1s) с тех пор была включена в IEEE 802.1Q-2014 . [3]

Хотя протокол STP используется и сегодня, в большинстве современных сетей он в основном используется как механизм защиты от образования петель, а не как механизм обеспечения отказоустойчивости. [ необходима ссылка ] Протоколы агрегации каналов , такие как LACP, объединяют два или более каналов для обеспечения отказоустойчивости, одновременно увеличивая общую пропускную способность канала.

Протокол операции

Необходимость в протоколе связующего дерева (STP) возникла из-за того, что коммутаторы в локальных сетях (LAN) часто соединяются между собой с помощью избыточных каналов для повышения устойчивости в случае отказа одного из соединений. [4] : 386  Однако такая конфигурация соединения создает коммутационную петлю, что приводит к широковещательным излучениям и нестабильности таблицы MAC-адресов . [4] : 388  Если для соединения коммутаторов используются избыточные каналы, то коммутационных петель следует избегать. [4] : 385 

Чтобы избежать проблем, связанных с избыточными связями в коммутируемой локальной сети, STP реализуется на коммутаторах для мониторинга топологии сети. Каждое соединение между коммутаторами, и в частности избыточные связи, каталогизируются. Затем алгоритм связующего дерева блокирует пересылку по избыточным связям, устанавливая одну предпочтительную связь между коммутаторами в локальной сети. Эта предпочтительная связь используется для всех кадров Ethernet, если только она не выходит из строя, в этом случае включается непредпочтительная избыточная связь. При реализации в сети STP назначает один коммутатор уровня 2 в качестве корневого моста . Затем все коммутаторы выбирают свое лучшее соединение к корневому мосту для пересылки и блокируют другие избыточные связи. Все коммутаторы постоянно взаимодействуют со своими соседями в локальной сети, используя § Bridge protocol data units (BPDU). [4] : 388 

При условии, что между двумя коммутаторами имеется более одного соединения, корневой мост STP вычисляет стоимость каждого пути на основе пропускной способности. STP выберет путь с наименьшей стоимостью, то есть с наибольшей пропускной способностью, в качестве предпочтительного канала. STP включит этот предпочтительный канал как единственный путь для кадров Ethernet между двумя коммутаторами и отключит все другие возможные каналы, назначив порты коммутатора, которые соединяют предпочтительный путь, в качестве корневого порта . [4] : 393 

После того, как коммутаторы с поддержкой STP в локальной сети выбрали корневой мост, все некорневые мосты назначают один из своих портов в качестве корневого порта. Это либо порт, который соединяет коммутатор с корневым мостом, либо, если есть несколько путей, порт с предпочтительным путем, рассчитанным корневым мостом. Поскольку не все коммутаторы напрямую подключены к корневому мосту, они взаимодействуют друг с другом с помощью STP BPDU. Каждый коммутатор добавляет стоимость своего собственного пути к стоимости, полученной от соседних коммутаторов, чтобы определить общую стоимость данного пути к корневому мосту. После того, как стоимость всех возможных путей к корневому мосту будет сложена, каждый коммутатор назначает порт в качестве корневого порта, который подключается к пути с наименьшей стоимостью или наибольшей пропускной способностью, который в конечном итоге приведет к корневому мосту. [4] : 394 

Стоимость пути

Стоимость пути для разных скоростей портов и вариаций STP
Скорость передачи данных
(пропускная способность канала)
Первоначальная стоимость STP
(802.1D-1998)
Стоимость RSTP/MSTP
(рекомендуемое значение) [3] : 503 
4 Мбит/с2505,000,000
10 Мбит/с1002,000,000
16 Мбит/с621,250,000
100 Мбит/с19200,000
1 Гбит/с420,000
2 Гбит/с310,000
10 Гбит/с22000
100 Гбит/сН/Д200
1 Тбит/сН/Д20

Первоначально стоимость пути STP по умолчанию рассчитывалась по формуле 1 Гбит/с/пропускная способность . Когда стали доступны более высокие скорости, значения по умолчанию были скорректированы, так как в противном случае скорости выше 1 Гбит/с были бы неразличимы STP. Его преемник RSTP использует похожую формулу с большим числителем:20 Тбит/с/пропускная способность . Эти формулы приводят к выборочным значениям в таблице. [5] : 154 

Портовые штаты

Все порты коммутатора в локальной сети, где включен STP, классифицируются. [4] : 388 

Блокировка
Порт, который мог бы вызвать коммутационную петлю, если бы он был активен. Чтобы предотвратить использование петлевых путей, никакие пользовательские данные не отправляются и не принимаются через блокирующий порт. Данные BPDU по-прежнему принимаются в блокирующем состоянии. Заблокированный порт может перейти в режим пересылки, если другие используемые соединения выходят из строя, а алгоритм связующего дерева определяет, что порт может перейти в состояние пересылки.
Слушание
Коммутатор обрабатывает BPDU и ожидает возможной новой информации, которая заставит его вернуться в состояние блокировки. Он не заполняет таблицу MAC-адресов и не пересылает кадры.
Обучение
Хотя порт еще не пересылает кадры, он узнает исходные адреса из полученных кадров и добавляет их в таблицу MAC-адресов.
Пересылка
Порт в нормальном режиме работы, принимающий и пересылающий кадры. Порт отслеживает входящие BPDU, которые указывают на необходимость вернуться в состояние блокировки, чтобы предотвратить петлю.
Неполноценный
Сетевой администратор вручную отключил порт коммутатора.

Когда устройство впервые подключается к порту коммутатора, оно не сразу начинает пересылать данные. Вместо этого оно проходит через ряд состояний, обрабатывая BPDU и определяя топологию сети. Порт, подключенный к хосту, такому как компьютер, принтер или сервер, всегда переходит в состояние пересылки, хотя и с задержкой около 30 секунд, пока он проходит через состояния прослушивания и обучения. Время, проведенное в состояниях прослушивания и обучения, определяется значением, известным как задержка пересылки (по умолчанию 15 секунд и устанавливается корневым мостом). Если подключен другой коммутатор, порт может оставаться в режиме блокировки, если будет определено, что это приведет к образованию петли в сети. BPDU уведомления об изменении топологии (TCN) используются для информирования других коммутаторов об изменениях портов. TCN вводятся в сеть некорневым коммутатором и распространяются на корневой. После получения TCN корневой коммутатор установит флаг изменения топологии в своих обычных BPDU. Этот флаг распространяется на все остальные коммутаторы и дает им указание быстро устаревать записи в таблицах пересылки.

Конфигурация

Перед настройкой STP следует тщательно спланировать топологию сети. [6] : 506, 511  Базовая конфигурация требует, чтобы STP был включен на всех коммутаторах в локальной сети и на каждом была выбрана одна и та же версия STP. Администратор может определить, какой коммутатор будет корневым мостом, и настроить коммутаторы соответствующим образом. Если корневой мост выйдет из строя, протокол автоматически назначит новый корневой мост на основе идентификатора моста. Если все коммутаторы имеют одинаковый идентификатор моста, например идентификатор по умолчанию, и корневой мост выйдет из строя, возникнет ситуация связывания, и протокол назначит один коммутатор в качестве корневого моста на основе MAC-адресов коммутатора. После того, как коммутаторам был назначен идентификатор моста, а протокол выбрал коммутатор корневого моста, наилучший путь к корневому мосту рассчитывается на основе стоимости порта, стоимости пути и приоритета порта. [6] : 506  В конечном итоге STP рассчитывает стоимость пути на основе пропускной способности канала, однако каналы между коммутаторами могут иметь одинаковую пропускную способность. Администраторы могут влиять на выбор протокола предпочтительного пути, настраивая стоимость порта; чем ниже стоимость порта, тем больше вероятность того, что протокол выберет подключенное соединение в качестве корневого порта для предпочтительного пути. [6] : 511  Выбор того, как другие коммутаторы в топологии выбирают свой корневой порт или наименее затратный путь к корневому мосту, может зависеть от приоритета порта. Самый высокий приоритет будет означать, что путь в конечном итоге будет менее предпочтительным. Если все порты коммутатора имеют одинаковый приоритет, порт с наименьшим номером выбирается для пересылки кадров. [6] : 513 

Корневой мост и идентификатор моста

Пример сети. Пронумерованные блоки представляют мосты, то есть коммутаторы в локальной сети. Число — это идентификатор моста. Буквенные облака представляют сегменты сети . Наименьший идентификатор моста — 3. Следовательно, мост 3 — корневой мост.

Корневой мост связующего дерева — это мост с наименьшим (самым низким) идентификатором моста. Каждый мост имеет настраиваемый номер приоритета и MAC-адрес; идентификатор моста — это конкатенация приоритета моста и MAC-адреса. Например, идентификатор моста с приоритетом 32 768 и MAC-адресом 0200.0000.111132768.0200.0000.1111 . Приоритет моста по умолчанию — 32 768, и его можно настроить только кратно 4096. [a] При сравнении двух идентификаторов мостов сначала сравниваются части приоритета, а MAC-адреса сравниваются только в том случае, если приоритеты равны. Коммутатор с наименьшим приоритетом из всех коммутаторов будет корневым; если есть ничья, то коммутатор с наименьшим приоритетом и наименьшим MAC-адресом будет корневым. Например, если коммутаторы A (MAC = 0200.0000.1111 ) и B (MAC = 0200.0000.2222 ) оба имеют приоритет 32 768, то коммутатор A будет выбран в качестве корневого моста. [b] Если администраторы сети хотят, чтобы коммутатор B стал корневым мостом, они должны установить его приоритет менее 32 768. [c]

Путь к корневому мосту

Последовательность событий для определения наилучшего полученного BPDU (который является наилучшим путем к корню) следующая:

  1. Наименьший идентификатор корневого моста (BID) — определяет корневой мост.
  2. Самая низкая стоимость корневого моста – предпочтение отдается коммутатору верхнего уровня с самой низкой стоимостью корневого моста
  3. Самый низкий идентификатор моста отправителя — служит в качестве решающего фактора, если несколько коммутаторов восходящего потока имеют одинаковую стоимость для корневого коммутатора.
  4. Самый низкий идентификатор порта отправителя — служит в качестве решающего фактора, если коммутатор имеет несколько (не EtherChannel ) каналов связи с одним вышестоящим коммутатором, где:
    • Идентификатор моста = приоритет (4 бита) + локально назначенное расширение идентификатора системы (12 бит) + идентификатор [MAC-адрес] (48 бит); приоритет моста по умолчанию составляет 32 768, и
    • Идентификатор порта = приоритет (4 бита) + идентификатор (номер интерфейса) (12 бит); приоритет порта по умолчанию — 128.

Тай-брейки

Связь путей: Наименее затратный путь к корню от сегмента сети e проходит через мост 92. Следовательно, назначенный порт для сегмента сети e — это порт, который соединяет мост 92 с сегментом сети e .
Корневые порты
Когда несколько путей от моста являются путями с наименьшей стоимостью, выбранный путь использует соседний мост с меньшим идентификатором моста. Таким образом, корневой порт — это тот, который подключается к мосту с наименьшим идентификатором моста. Например, на рисунках, если бы коммутатор 4 был подключен к сегменту сети d вместо сегмента f, было бы два пути длиной 2 к корню, один путь проходил бы через мост 24, а другой — через мост 92. Поскольку есть два пути с наименьшей стоимостью, нижний идентификатор моста (24) был бы использован в качестве решающего при выборе пути для использования.
Пути
Если более одного моста в сегменте ведут к пути наименьшей стоимости к корню, мост с меньшим идентификатором моста используется для пересылки сообщений к корню. Порт, соединяющий этот мост с сетевым сегментом, является назначенным портом для сегмента. На рисунках есть два пути наименьшей стоимости от сетевого сегмента d к корню, один из которых проходит через мост 24, а другой — через мост 92. Нижний идентификатор моста — 24, поэтому посредник определяет, что назначенный порт — это порт, через который сетевой сегмент d подключен к мосту 24. Если бы идентификаторы мостов были равны, то назначенный порт был бы у моста с наименьшим MAC-адресом. В любом случае проигравший устанавливает порт как заблокированный.
Назначенные порты
Когда корневой мост имеет более одного порта в одном сетевом сегменте, идентификатор моста фактически привязан, как и все стоимости корневого пути (все равны нулю). Порт в этом сетевом сегменте с наименьшим идентификатором порта становится назначенным портом. Он переводится в режим пересылки, в то время как все остальные порты на корневом мосту в том же сетевом сегменте становятся неназначенными портами и переводятся в режим блокировки. [8] Не все производители мостов следуют этому правилу, вместо этого делая все порты корневого моста назначенными портами и переводя их все в режим пересылки. [ требуется ссылка ]
Финальный тай-брейк
В некоторых случаях все еще может быть связь, как когда корневой мост имеет несколько активных портов в одном сегменте сети (см. выше) с одинаково низкими затратами корневого пути и идентификаторами моста, или, в других случаях, несколько мостов соединены несколькими кабелями и несколькими портами. В каждом случае один мост может иметь несколько кандидатов на свой корневой порт. В этих случаях кандидаты на корневой порт уже получили BPDU, предлагающие одинаково низкие (т. е. «лучшие») затраты корневого пути и одинаково низкие (т. е. «лучшие») идентификаторы моста, и окончательный посредник переходит к порту, который получил самый низкий (т. е. «лучший») идентификатор приоритета порта или идентификатор порта. [9]

Блоки данных протокола моста

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

Пример кадра Ethernet 802.3 [10] с BPDU Spanning Tree
КомпенсироватьОктет0123
ОктетКусочек012345678910111213141516171819202122232425262728293031
00Исходный MAC  ( 5C:A4:7D:1A:52:10 )
432  
864MAC назначения  ( 01:80:C2:00:00:00 )
1296ДлинаЗаголовок управления логической связью
16128ООО (продолжение) 
20160Полезная нагрузка BPDU
24192
Последовательность проверки кадра
Исходный MAC: 48 бит
Мост отправляет кадр BPDU, используя уникальный MAC-адрес самого порта в качестве исходного адреса. Адрес 5C:A4:7D:1A:52:10 является примером.
MAC-адрес назначения: 48 бит
MAC-адрес назначения — это адрес многоадресной рассылки STP . Стандартный адрес группы мостов IEEE 80201:80:C2:00:00:00 . [11] Однако существует несколько фирменных MAC-адресов назначения для STP, например фирменный адрес Cisco Per-VLAN Spanning Tree 01:00:0C:CC:CC:CD [12] или адрес Extreme Networks 03:04:08:00:07:00 , которые могут использоваться вместо стандартного.
Длина: 16 бит
Суммарная длина заголовка LLC, полезной нагрузки BPDU и FCS.
Логическое управление связью  (LLC): 24 бита
Заголовок управления логическим каналом.
Полезная нагрузка BPDU: переменная
Сам BPDU.
Последовательность проверки кадра  (FCS): 32 бита
Контрольная сумма кадра.

BPDU обмениваются регулярно (по умолчанию каждые 2 секунды) и позволяют коммутаторам отслеживать изменения в сети и запускать и останавливать пересылку на портах по мере необходимости. Чтобы предотвратить задержку при подключении хостов к коммутатору и во время некоторых изменений топологии, был разработан Rapid STP, который позволяет порту коммутатора быстро переходить в состояние пересылки в таких ситуациях.

Типы BPDU

В исходной спецификации STP (802.1D) [5] существует два типа BPDU : 63  (расширение Rapid Spanning Tree (RSTP) использует определенный RSTP BPDU).

BPDU IEEE 802.1D и IEEE 802.1aq имеют следующий формат:

Уведомление об изменении топологии BPDU
КомпенсироватьОктет0123
ОктетКусочек012345678910111213141516171819202122232425262728293031
00Идентификатор протокола  ( 0x0000 )Идентификатор версии  ( 0x00 )Тип BPDU  ( 0x80 )
Идентификатор протокола: 16 бит
Значение идентификатора протокола. Для всех BPDU установлено значение 0x0000 .
Идентификатор версии: 8 бит
Идентификатор версии. Установите 0x00 для TCN BPDU.
Тип BPDU: 8 бит
Для TCN BPDU тип установлен на 0x80 .

Уведомление об изменении топологии (TCN) BPDU, используемое для объявления изменений в топологии сети, таких как включение или выключение порта.

Конфигурация BPDU
КомпенсироватьОктет0123
ОктетКусочек012345678910111213141516171819202122232425262728293031
00Идентификатор протокола  ( 0x0000 )Идентификатор версииТип BPDU
432Флаги 
864Корневой идентификатор
1296 Стоимость корневого пути
16128Стоимость корневого пути (продолжение) 
20160Идентификатор моста
24192 Идентификатор портаВозраст сообщения
28224Возраст сообщения (продолжение)Макс. возрастПривет, время!
32256Привет, время (продолжение)Задержка впередВерсия 1 Длина
36288(Версия 3, длина)
Идентификатор протокола: 16 бит
Значение идентификатора протокола. Оно установлено на 0x0000 для всех BPDU и представляет 802.1D.
Идентификатор версии: 8 бит
Идентификатор версии. Установите значение 0x00 для BPDU конфигурации и TCN; 0x02 указывает на BPDU RST; 0x03 указывает на BPDU MST; и 0x04 указывает на BPDU STP.
Тип BPDU: 8 бит
Для TCN BPDU тип установлен на 0x80 .
Флаги: 8 бит
Флаги.
Изменение топологии: 1 бит
0 или 1 для изменения топологии.
Предложение: 1 бит
0 (не используется) или 1 для предложения в RST/MST/SPT BPDU.
Роль порта: 2 бита
00 (не используется) или
01 для альтернативной/резервной роли порта в RST/MST/SPT BPDU.
10 для корневой роли порта в RST/MST/SPT BPDU.
11 для назначенной роли порта в RST/MST/SPT BPD.
Обучение: 1 бит
0 (не используется) или 1 для обучения в RST/MST/SPT BPDU.
Пересылка: 1 бит
0 (не используется) или 1 для пересылки в RST/MST/SPT BPDU.
Согласование: 1 бит
0 (не используется) или 1 для соглашения в RST/MST/SPT BPDU.
ТКА: 1 бит
0 или 1 для подтверждения изменения топологии.
Корневой идентификатор: 64 бита
CIST Root ID в MST/SPT BPDU.
Это поле разделено на три части:
Приоритет: 4 бита
Приоритет корневого моста.
Расширение идентификатора системы: 12 бит
Расширение идентификатора системы корневого моста.
MAC-адрес: 48 бит
MAC-адрес корневого моста.
Стоимость корневого пути: 32 бита
Стоимость внешнего пути CIST в MST/SPT BPDU
Идентификатор моста: 64 бита
Региональный корневой идентификатор CIST в MST/SPT BPDU.
Это поле разделено на три части:
Приоритет: 4 бита
Приоритет моста.
Расширение идентификатора системы: 12 бит
Расширение идентификатора мостовой системы.
MAC-адрес: 48 бит
MAC-адрес моста.
Идентификатор порта: 2 байта
Идентификатор порта.
Возраст сообщения: 2 байта
За 1/256 сек.
Макс. возраст: 2 байта
За 1/256 сек.
Время приветствия: 2 байта
За 1/256 сек.
Задержка пересылки: 2 байта
За 1/256 сек.
Версия 1 Длина: 1 байт
0x00 отсутствует информация о протоколе 1. Только RST, MST, SPT BPDU.
Версия 3 Длина: 2 байта
Только версия 3; только MST, SPT BPDU.

Конфигурационный BPDU (CBPDU), используемый для вычисления связующего дерева и отправляемый корневыми мостами для предоставления информации всем коммутаторам.

Стандарты протокола Spanning Tree

Первый протокол связующего дерева был изобретен в 1985 году в Digital Equipment Corporation Радией Перлман . [1] В 1990 году IEEE опубликовал первый стандарт для протокола как 802.1D, [13] основанный на алгоритме, разработанном Перлманом. Последующие версии были опубликованы в 1998 [14] и 2004 годах, [15] включая различные расширения. Оригинальный протокол связующего дерева, вдохновленный Перлманом, называемый DEC STP, не является стандартом и отличается от версии IEEE форматом сообщений, а также настройками таймера. Некоторые мосты реализуют как версии IEEE, так и DEC протокола связующего дерева, но их взаимодействие может создавать проблемы для сетевого администратора. [16]

Различные реализации стандарта не гарантируют взаимодействие , например, из-за различий в настройках таймера по умолчанию. IEEE призывает поставщиков предоставлять Заявление о соответствии реализации протокола , объявляющее, какие возможности и опции были реализованы, [15] чтобы помочь пользователям определить, будут ли различные реализации взаимодействовать правильно.

Протокол быстрого связующего дерева

В 2001 году IEEE представил протокол Rapid Spanning Tree Protocol (RSTP) как IEEE 802.1w . Затем RSTP был включен в IEEE 802.1D-2004, что сделало исходный стандарт STP устаревшим. [17] RSTP был разработан с учетом обратной совместимости со стандартным STP.

RSTP обеспечивает значительно более быструю сходимость связующего дерева после изменения топологии, вводя новые поведения сходимости и роли мостового порта для достижения этого. В то время как STP может потребоваться от 30 до 50 секунд для ответа на изменение топологии, RSTP обычно способен реагировать на изменения в течение 3 ×  времени приветствия (по умолчанию: 3  ×  2 секунды) или в течение нескольких миллисекунд после сбоя физического соединения. Время приветствия является важным и настраиваемым временным интервалом, который используется RSTP для нескольких целей; его значение по умолчанию составляет 2 секунды. [18] [19]

Быстрая работа Spanning Tree

RSTP добавляет новые роли портов моста для ускорения конвергенции после сбоя соединения:

  • Корневой порт  – порт переадресации, который является лучшим портом от некорневого моста к корневому мосту.
  • Назначенный  – порт пересылки для каждого сегмента сети
  • Alternate  – Альтернативный путь к корневому мосту. Этот путь отличается от использования корневого порта
  • Резервное копирование  – резервный/избыточный путь к сегменту, к которому уже подключен другой порт моста.
  • Отключено  — не является строго частью STP, сетевой администратор может вручную отключить порт.

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

  • Отбрасывание  – никакие пользовательские данные не передаются через порт.
  • Обучение  – порт пока не пересылает кадры, но заполняет свою таблицу MAC-адресов.
  • Пересылка  – Порт полностью работоспособен

Подробности работы RSTP:

  • Обнаружение отказа корневого коммутатора выполняется за 3 такта приветствия, что составляет 6 секунд, если время приветствия по умолчанию не было изменено.
  • Порты могут быть настроены как граничные порты, если они подключены к локальной сети, к которой не подключены другие мосты (в зависимости от поставщика, режима admin-edge или portfast ). Эти граничные порты переходят непосредственно в состояние пересылки, избегая проблем с хостами, ожидающими немедленного запуска предстоящего соединения, например, с DHCP . RSTP по-прежнему продолжает контролировать порт на наличие BPDU в случае подключения моста. RSTP также можно настроить для автоматического обнаружения граничных портов. Как только мост обнаруживает BPDU, поступающий на граничный порт, порт становится неграничным портом.
  • RSTP называет соединение между двумя или более коммутаторами соединением "link-type". Порт, работающий в полнодуплексном режиме, считается соединением точка-точка, тогда как полудуплексный порт (через концентратор) по умолчанию считается общим портом. Эта автоматическая настройка типа соединения может быть переопределена явной конфигурацией. RSTP улучшает сходимость на соединениях точка-точка, уменьшая время Max-Age до 3 интервалов Hello, удаляя состояние прослушивания STP и обмениваясь рукопожатием между двумя коммутаторами для быстрого перевода порта в состояние пересылки. RSTP ничем не отличается от STP на общих соединениях.
  • В отличие от STP, RSTP будет отвечать на BPDU, отправленные со стороны корневого моста. Мост RSTP предложит свою информацию связующего дерева своим назначенным портам. Если другой мост RSTP получит эту информацию и определит, что это информация о главном корне, он отключит все свои другие порты. Мост может отправить соглашение первому мосту, подтверждающее его информацию о главном связующем дереве. Первый мост, получив это соглашение, знает, что может быстро перевести этот порт в состояние пересылки, минуя переход состояния прослушивания/обучения. Это по сути создает каскадный эффект от корневого моста, где каждый назначенный мост предлагает своим соседям определить, может ли он выполнить быстрый переход. Это один из основных элементов, который позволяет RSTP достичь более быстрого времени сходимости, чем STP.
  • Как обсуждалось выше в деталях роли порта, RSTP поддерживает резервные данные относительно статуса отбрасывания портов. Это позволяет избежать тайм-аутов, если текущие порты пересылки выйдут из строя или BPDU не будут получены на корневом порту в течение определенного интервала.
  • RSTP вернется к устаревшему STP на интерфейсе, если на этом порту будет обнаружена устаревшая версия STP BPDU.

Стандарты для VLAN

STP и RSTP не разделяют порты коммутатора по VLAN. [20] Однако в коммутируемых средах Ethernet , где существует несколько VLAN , часто желательно создать несколько связующих деревьев, чтобы трафик в разных VLAN использовал разные каналы.

Собственные стандарты

До того, как IEEE опубликовал стандарт протокола Spanning Tree для VLAN, ряд поставщиков, которые продавали коммутаторы с поддержкой VLAN, разработали свои собственные версии протокола Spanning Tree, которые были совместимы с VLAN. Cisco разработала, внедрила и опубликовалаPer-VLAN Spanning Tree ( PVST ) — фирменный протокол , использующий собственный фирменный Inter-Switch Link (ISL) для инкапсуляции VLAN , и PVST+, который использует инкапсуляцию VLAN 802.1Q . Оба стандарта реализуют отдельное связующее дерево для каждой VLAN. Коммутаторы Cisco теперь обычно реализуют PVST+ и могут реализовывать связующие деревья для VLAN, только если другие коммутаторы в LAN реализуют тот же протокол VLAN STP. HP обеспечивает совместимость PVST и PVST+ в некоторых своих сетевых коммутаторах. [20] Некоторые устройства от Force10 Networks , Alcatel-Lucent , Extreme Networks , Avaya , Brocade Communications Systems и BLADE Network Technologies поддерживают PVST+. [21] [22] [23] Extreme Networks делает это с двумя ограничениями: отсутствие поддержки на портах, где VLAN является нетегированной/собственной, а также на VLAN с идентификатором 1. PVST+ может туннелировать через регион MSTP . [24]

Поставщик коммутаторов Juniper Networks, в свою очередь, разработал и внедрил свой протокол VLAN Spanning Tree Protocol (VSTP) для обеспечения совместимости с PVST от Cisco, чтобы коммутаторы обоих поставщиков могли быть включены в одну локальную сеть. [20] Протокол VSTP поддерживается только сериями EX и MX от Juniper Networks. Существует два ограничения совместимости VSTP:

  1. VSTP поддерживает только 253 различных топологии связующего дерева. Если имеется более 253 VLAN, рекомендуется настроить RSTP в дополнение к VSTP, а VLAN за пределами 253 будут обрабатываться RSTP.
  2. MVRP не поддерживает VSTP. Если этот протокол используется, членство в VLAN для интерфейсов транка должно быть статически настроено. [25]

По умолчанию VSTP использует протокол RSTP в качестве основного протокола связующего дерева, но использование STP может быть принудительно, если сеть включает старые мосты. [26] Более подробная информация о настройке VSTP на коммутаторах Juniper Networks опубликована в официальной документации. [27]

Cisco также опубликовала собственную версию Rapid Spanning Tree Protocol. Она создает связующее дерево для каждой VLAN, как и PVST. Cisco называет этоБыстрое связующее дерево для каждой VLAN ( RPVST ).

Протокол множественного связующего дерева

Протокол множественного связующего дерева (MSTP), первоначально определенный в IEEE 802.1s -2002 и позднее объединенный в IEEE 802.1Q -2005, определяет расширение RSTP для дальнейшего развития полезности VLAN.

В стандарте связующее дерево, которое отображает одну или несколько VLAN, называется множественным связующим деревом (MST). В MSTP связующее дерево может быть определено для отдельных VLAN или для групп VLAN. Кроме того, администратор может определять альтернативные пути в связующем дереве. Сначала коммутаторы назначаются региону MST, затем VLAN сопоставляются с этим MST или назначаются ему. Общее связующее дерево (CST) — это MST, с которым сопоставлены несколько VLAN, эта группа VLAN называется экземпляром MST (MSTI). CST обратно совместимы со стандартами STP и RSTP. MST, которому назначена только одна VLAN, является внутренним связующим деревом (IST). [20]

В отличие от некоторых фирменных реализаций связующего дерева для каждой VLAN, [28] MSTP включает всю информацию связующего дерева в одном формате BPDU. Это не только сокращает количество BPDU, необходимых для передачи информации связующего дерева для каждой VLAN, но и обеспечивает обратную совместимость с RSTP и, по сути, с классическим STP. MSTP делает это, кодируя дополнительную область информации после стандартного RSTP BPDU, а также ряд сообщений MSTI (от 0 до 64 экземпляров, хотя на практике многие мосты поддерживают меньшее количество). Каждое из этих сообщений конфигурации MSTI передает информацию связующего дерева для каждого экземпляра. Каждому экземпляру может быть назначено несколько настроенных VLAN, и кадры, назначенные этим VLAN, работают в этом экземпляре связующего дерева, когда они находятся внутри региона MST. Чтобы избежать передачи всей своей VLAN в сопоставление связующего дерева в каждом BPDU, мосты кодируют дайджест MD5 своей таблицы VLAN в экземпляр в MSTP BPDU. Затем этот дайджест используется другими мостами MSTP вместе с другими административно настроенными значениями для определения того, находится ли соседний мост в том же регионе MST, что и он сам.

MSTP полностью совместим с мостами RSTP, поскольку MSTP BPDU может интерпретироваться мостом RSTP как RSTP BPDU. Это не только обеспечивает совместимость с мостами RSTP без изменения конфигурации, но и заставляет любые мосты RSTP за пределами региона MSTP видеть регион как один мост RSTP независимо от количества мостов MSTP внутри самого региона. Чтобы еще больше облегчить это представление региона MSTP как одного моста RSTP, протокол MSTP использует переменную, известную как оставшиеся переходы, в качестве счетчика времени жизни вместо таймера возраста сообщения, используемого RSTP. Время возраста сообщения увеличивается только один раз, когда информация связующего дерева поступает в регион MST, и поэтому мосты RSTP будут видеть регион как только один переход в связующем дереве. Порты на краю региона MSTP, подключенные либо к мосту RSTP, либо к STP, либо к конечной точке, называются граничными портами. Как и в RSTP, эти порты можно настроить как граничные порты для обеспечения быстрых изменений состояния пересылки при подключении к конечным точкам.

Кратчайший путь моста

IEEE 802.1aq, также известный как Shortest Path Bridging (SPB), позволяет избыточным соединениям между коммутаторами быть активными через несколько путей с равной стоимостью и обеспечивает гораздо более крупные топологии уровня 2, более быструю сходимость и улучшает использование топологий ячеистой сети за счет увеличения пропускной способности между всеми устройствами, позволяя трафику распределять нагрузку по всем путям в ячеистой сети. [29] [30] SPB объединяет несколько существующих функций, включая Spanning Tree Protocol (STP), Multiple Spanning Tree Protocol (MSTP), Rapid Spanning Tree Protocol (RSTP), Link aggregation и Multiple MAC Registration Protocol (MMRP) в один протокол состояния соединения. [31]

Расширение идентификатора системы

Идентификатор моста (BID) — это поле внутри пакета BPDU. Его длина составляет восемь байт. Первые два байта — это приоритет моста, беззнаковое целое число от 0 до 65 535. Последние шесть байтов — это MAC-адрес, предоставляемый мостом. До IEEE 802.1D-2004 первые два байта давали 16-битный приоритет моста. Начиная с IEEE 802.1D-2004 первые четыре бита — это настраиваемый приоритет, а последние двенадцать битов несут расширение идентификатора системы моста. В случае MST расширение идентификатора системы моста несет номер экземпляра MSTP . Некоторые поставщики устанавливают расширение идентификатора системы моста для переноса идентификатора VLAN, что позволяет использовать разные связующие деревья для каждой VLAN, например PVST от Cisco .

Недостатки и текущая практика

Spanning tree — это старый протокол с более длительным временем сходимости. Неправильное использование или реализация могут привести к сбоям в работе сети. Блокировка ссылок — это грубый подход к обеспечению высокой доступности и предотвращению петель. Современные сети могут использовать все подключенные ссылки с помощью протоколов, которые подавляют, контролируют или подавляют естественное поведение логических или физических топологических петель.

Более новые и надежные протоколы включают протокол TRILL (прозрачное соединение множества ссылок), также созданный Перлманом [32] , и протокол Shortest Path Bridging от IEEE.

Популярной альтернативой является настройка соединений между сетевым оборудованием как IP-соединений уровня 3 и использование IP-маршрутизации для обеспечения отказоустойчивости и предотвращения образования петель.

Методы виртуализации коммутаторов, такие как Cisco Virtual Switching System и Virtual PortChannel и HP Intelligent Resilient Framework, объединяют несколько коммутаторов в одну логическую сущность. Такая группа агрегации каналов с несколькими шасси работает как обычная портовая магистраль , только распределенная через несколько коммутаторов. И наоборот, технологии разделения разделяют одно физическое шасси на несколько логических сущностей.

На границе сети настроено обнаружение петель для предотвращения случайных петель пользователями. [ необходимо дополнительное объяснение ]

Смотрите также

Примечания

  1. ^ В протоколе Spanning Tree включено 802.1t, и согласно 802.1t, в качестве приоритета используются 4 старших бита двухоктетного поля приоритета 802.1d, а в качестве расширенного идентификатора системы — младшие 12 бит этого поля.
  2. ^ Оригинальный 802.1d предусматривал возможность того, что корневой мост будет иметь более одного порта в одном сегменте сети , и в этом случае порт с наименьшим идентификатором порта станет назначенным портом для этого сегмента сети и будет переведен в режим пересылки, в то время как его другие порты в том же сегменте сети станут неназначенными портами, переведенными в режим блокировки. Не все производители мостов следуют этому правилу, некоторые делают все порты назначенными портами и переводят их все в режим пересылки.
  3. ^ В качестве альтернативы сетевой администратор может настроить коммутатор как основной или вторичный корень связующего дерева. При настройке основного и вторичного корневого корневого коммутатор автоматически изменит приоритет соответственно, 24 576 и 28 672 соответственно с конфигурацией по умолчанию. [7]

Ссылки

  1. ^ ab Perlman, Radia (1985). «Алгоритм для распределенного вычисления связующего дерева в расширенной локальной сети». ACM SIGCOMM Computer Communication Review . 15 (4): 44– 53. doi :10.1145/318951.319004. S2CID  61172150.
  2. ^ Perlman, Radia (2000). Взаимосвязи, второе издание . США: Addison-Wesley. ISBN 0-201-63448-1.
  3. ^ ab Мосты и мостовые сети
  4. ^ abcdefg Сильвиу Анжелеску (2010). Сертификация CCNA All-In-One для чайников . John Wiley & Sons. ISBN 9780470635926.
  5. ^ ab "Стандарт 802.1D IEEE для локальных и городских сетей. Мосты управления доступом к среде (MAC)" (PDF) . IEEE . 2004. Архивировано из оригинала (PDF) 10 декабря 2005 г. . Получено 19 апреля 2012 г. .
  6. ^ abcd Уэйд Эдвардс, Терри Джек, Тодд Лэммл, Тоби Скандьер, Роберт Паджен, Артур Пфунд и Карл Тимм (2006). Полное руководство по обучению CCNP: экзамены 642-801, 642-811, 642-821, 642-831 . John Wiley & Sons. ISBN 9780782150667.{{cite book}}: CS1 maint: multiple names: authors list (link)
  7. ^ "spanning-tree vlan". Cisco Systems . Получено 2020-05-04 .
  8. ^ 802.1d-1998 раздел 8.3.1: Назначенным портом для каждой локальной сети является порт моста, для которого значение стоимости корневого пути является самым низким: если два или более портов имеют одинаковое значение стоимости корневого пути, то в качестве решающих факторов используются сначала идентификаторы их мостов, а затем идентификаторы их портов.
  9. ^ 802.1d-1998, раздел 8.3.2 б) Мост, который получает конфигурационный BPDU о том, что он считает своим корневым портом, передающим лучшую информацию (т. е. корневой идентификатор с наивысшим приоритетом, наименьшую стоимость корневого пути, передающий мост и порт с наивысшим приоритетом), передает эту информацию всем локальным сетям, для которых он считает себя назначенным мостом.
  10. ^ "Формат кадра IEEE 802.3". firewall.cx . Получено 31 октября 2024 г. .
  11. ^ Финн, Норман. "Протоколы Provider Bridge Layer 2" (PDF) . Комитет по стандартам IEEE 802 LAN/MAN . Получено 20 октября 2017 г.
  12. ^ "Понимание протокола Rapid Spanning Tree Protocol (802.1w)". Cisco Systems. 1 августа 2017 г. Получено 20 марта 2020 г.
  13. ^ Комитет по стандартам LAN/MAN компьютерного общества IEEE, ред. (1990). ANSI/IEEE Std 802.1D . IEEE.
  14. ^ Комитет по стандартам LAN/MAN компьютерного общества IEEE, ред. (1998). ANSI/IEEE Std 802.1D, издание 1998 г., часть 3: мосты управления доступом к среде (MAC) . IEEE.
  15. ^ ab Комитет по стандартам LAN/MAN компьютерного общества IEEE, ред. (2004). ANSI/IEEE Std 802.1D – 2004: Стандарт IEEE для локальных и городских сетей: мосты управления доступом к среде (MAC) . IEEE.
  16. ^ "Понимание проблем, связанных с мостовым соединением между VLAN" (PDF) . Cisco Systems, Inc. 11072. Архивировано (PDF) из оригинала 2017-10-14.
  17. ^ IEEE 802.1D-2004 , IEEE , 2004-06-04, Поскольку исходный протокол Spanning Tree Protocol (STP) был удален из версии IEEE Std 802.1D 2004 года, для любого заявления о соответствии для реализации IEEE Std 802.1Q-2003, которая ссылается на текущую версию IEEE Std 802.1D, требуется реализация RSTP.
  18. ^ Вальдемар Войдак (март 2003 г.). «Rapid Spanning Tree Protocol: новое решение из старой технологии». CompactPCI Systems . Получено 04.08.2008 .
  19. ^ "Понимание протокола Rapid Spanning Tree Protocol (802.1w)" . Получено 27.11.2008 .
  20. ^ abcd Майкл Г. Соломон, Дэвид Ким и Джеффри Л. Каррелл (2014). Основы коммуникаций и сетей . Jones & Bartlett Publishers. стр. 204. ISBN 9781284060157.
  21. ^ "Техническая документация". Force10 . Получено 2011-01-25 .
  22. ^ "Операционная система ExtremeXOS, версия 12.5" (PDF) . Extreme Networks . 2010. Архивировано (PDF) из оригинала 2006-11-26 . Получено 2011-01-25 .
  23. ^ "BLADE PVST+ Interoperability with Cisco" (PDF) . 2006. Архивировано (PDF) из оригинала 2010-06-12 . Получено 2011-01-25 .
  24. ^ "Мостовое соединение между сетями VLAN IEEE 802.1Q". Cisco Systems . Получено 25.01.2011 .
  25. ^ "Juniper Networks :: Техническая документация :: Понимание протокола регистрации нескольких VLAN (MVRP) на коммутаторах серии EX". www.juniper.net . Архивировано из оригинала 2012-04-07.
  26. ^ "Juniper Networks :: Техническая документация :: Понимание VSTP для коммутаторов серии EX".
  27. ^ Понимание VSTP
  28. ^ "Руководство по развертыванию CiscoWorks LAN Management Solution 3.2". Август 2009 г. Получено 25.01.2010 г.
  29. ^ Питер Эшвуд-Смит (24 февраля 2011 г.). "Обзор мостов IEEE 802.1aq по кратчайшему пути" (PDF) . Huawei. Архивировано из оригинала (PDF) 15 мая 2013 г. Получено 11 мая 2012 г.
  30. ^ Джим Даффи (11 мая 2012 г.). «Крупнейшая система здравоохранения Иллинойса вытесняет Cisco, чтобы построить частное облако стоимостью 40 млн долларов». PC Advisor . Получено 11 мая 2012 г. Shortest Path Bridging заменит Spanning Tree в структуре Ethernet.
  31. ^ "IEEE Approves New IEEE 802.1aq Shortest Path Bridging Standard". Tech Power Up. 7 мая 2012 г. Получено 11 мая 2012 г.
  32. ^ «Доктор Радия Перлман: одна из первых женщин-программистов и изобретатель протоколов Интернета».
  • Домашняя страница Cisco для семейства протоколов Spanning-Tree (обсуждаются CST, MISTP, PVST, PVST+, RSTP, STP)
  • Статья STP в вики Wireshark Включает пример PCAP-файла перехваченного трафика STP.
  • Perlman, Radia . "Algorhyme". Калифорнийский университет в Беркли . Архивировано из оригинала 2011-07-19.
  • Стандарты IEEE
    • Стандарт ANSI/IEEE 802.1D-2004, раздел 17 обсуждает RSTP (обычный STP больше не является частью этого стандарта. Это указано в разделе 8.)
    • Стандарт ANSI/IEEE 802.1Q-2005, раздел 13 обсуждает MSTP
  • RFC
    • RFC 4363–2006, предлагаемый стандарт, Определения управляемых объектов для мостов с классами трафика, многоадресной фильтрацией и расширениями виртуальных локальных сетей
    • RFC 4188–2005, предлагаемый стандарт, Определения управляемых объектов для мостов
    • RFC 2674–1999, предлагаемый стандарт, Определения управляемых объектов для мостов с классами трафика, многоадресной фильтрацией и расширениями виртуальных локальных сетей
    • RFC 1525–1993 – SBRIDGEMIB, предлагаемый стандарт, Определения управляемых объектов для мостов исходной маршрутизации
    • RFC 1493–1993 – BRIDGEMIB, проект стандарта, Определения управляемых объектов для мостов
  • Сбои прямых и косвенных соединений Spanning Tree – исследование CCIE
  • Обзор протокола Spanning Tree
Retrieved from "https://en.wikipedia.org/w/index.php?title=Spanning_Tree_Protocol&oldid=1272161627#Rapid_Spanning_Tree_Protocol"