Опубликован: 19.07.2006 | Доступ: свободный | Студентов: 7489 / 1254 | Оценка: 4.12 / 4.01 | Длительность: 13:31:00
Лекция 6:

Технология мостов

< Лекция 5 || Лекция 6: 12345 || Лекция 7 >

Алгоритм связующего дерева (Spanning-Tree Algoritm) (STA)

Алгоритм был разработан для того, чтобы сохранить преимущества петель, устранив их проблемы. Первоначально алгоритм был документирован корпорацией Digital - основным поставщиком Ethernet. Новый алгоритм, разработанный Digital, был впоследствии пересмотрен комитетом IEEE 802 и опубликован в спецификации IEE 802. 1d в качестве алгоритма STA.

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

STA пользуются выводом из теории графов в качестве базиса для построения свободного от петель подмножества топологии сети. Теория графов утверждает следующее:

Для любого подсоединенного графа, состоящего из узлов и ребер, соединяющих пары узлов, существует связующее дерево из ребер, которое поддерживает связность данного графа, но не содержит петель.

Рис. 6.2 поясняет, каким образом STA устраняет петли. STA требует, чтобы каждому мосту был назначен уникальный идентификатор. Обычно этот идентификатор является одним из адресов МАС данного моста, который дополнен приоритетом. Каждому порту во всех мостах также назначается уникальный (в пределах этого моста) идентификатор (как правило, его собственный адрес МАС). И наконец, каждый порт моста взаимосвязан с затратами какого-нибудь тракта. Затраты тракта представляют собой затраты на передачу какого-нибудь блока данных в одну из локальных сетей через этот порт. На Рис. 6.2 "Сеть ТВ до прогона STA" затраты трактов отмечены на линиях, исходящих из каждого моста. Затраты трактов обычно устaнaвливаются по умолчанию, но могут быть назначены вручную администраторами сети.

TB Network Befor Running STA

Рис. 6.2. TB Network Befor Running STA

Первым шагом при вычислении связующего дерева является выбор корневого моста ( root bridge ), который представляет собой мост с наименьшим значением идентификатора моста. На Рис. 6.2 корневым мостом является Мост 1. Далее определяется корневой порт ( root port ) во всех остальных мостах. Корневой порт моста - это порт, через который можно попасть в корневой мост с наименьшими комбинированными затратами тракта. Эта величина (т.е. наименьшие комбинированные затраты тракта до корневого моста) называется затратами корневого тракта ( root path cost ).

И наконец, определяются назначенные мосты ( designated bridges ) и их назначенные порты ( designated ports ). Назначенный мост - это тот мост каждой локальной сети, который обеспечивает минимальные затраты корневого тракта. Назначенный мост локальной сети является единственным мостом, который позволяет продвигать блоки данных в ту локальную сеть (и из нее), для которой этот мост является назначенным. Назначенный порт локальной сети - это тот порт, который соединяет ее с назначенным мостом.

В некоторых случаях два или более мостов могут иметь одинаковые затраты корневого тракта. Например, на Рис. 6.2 как Мост 4, так и Мост 5 могут достичь Мост 1 (корневой мост) с затратами тракта 10. В этом случае снова используются идентификаторы моста, на этот раз для определения назначеных мостов. При выборе предпочтение отдано порту LAN V Моста 4 перед портом LAN V Моста 5.

При использовании этого процесса устраняются все мосты, непосредственно соединенные с каждой LAN, кроме одного; таким образом, удаляются все петли между двумя LAN. STA также устраняет петли, включающие более двух LAN, в то же время сохраняя связность. На Рис. 6.3 "Сеть ТВ после прогона STA" показаны результаты действия STA в сети, изображенной на Рис. 6.2. На Рис. 6.3 более четко показана топология дерева. Сравнение этого рисунка с рисунком сети до прогона STA показывает, что STA перевел в режим резерва как порты Моста 3 в LAN V, так и порты Moста 5 в LAN V.

TB Network After Running STA

Рис. 6.3. TB Network After Running STA

Расчет связующего дерева имеет место при подаче питания на мост и во всех случаях обнаружения изменения топологии. Для расчета необходима связь между мостами связующего дерева, которая осуществляется через сообщения конфигурации (иногда называемые протокольными информационными единицами моста - bridge protocol data units, или BPDU ). Сообщения конфигурации содержат информацию, идентифицирующую тот мост, который считается корневым (т.е. идентификатор корневого моста), и расстояние от моста-отправителя до корневого моста (затраты корневого тракта). Сообщения конфигурации также содержат идентификаторы моста и порта моста-отправителя, а также возраст информации, содержащейся в сообщении конфигурации.

Мосты обмениваются сообщениями конфигурации через регулярные интервалы времени (обычно 1-4 сек.). Если какой-нибудь мост отказывает (вызывая изменение в топологии), то соседние мосты вскоре обнаруживают отсутствие сообщений конфигурации и инициируют пересчет связующего дерева.

Все решения, связанные с топологией ТВ, принимаются логически. Обмен сообщениями конфигурации производится между соседними мостами. Центральные полномочия или администрация управления сетевой топологией отсутствуют.

Формат блока данных (фрэйма)

Мосты ТВ обмениваются сообщениями конфигурации ( configuration messages ) и сообщениями об изменении в топологии ( topology change ). Мосты обмениваются сообщениями конфигурации для установления топологии сети. Сообщения об изменении топологии отправляются после обнаружения какого-нибудь изменения в топологии для указания того, что должен быть произведен повторный прогон STA.

Формат сообщения конфигурации IEEE 802.1d представлен на Рис. 6.4.

TB Configuration Message Format

Рис. 6.4. TB Configuration Message Format

Первым полем сообщения конфигурации ТВ является поле идентификатора протокола ( protocol identifier ), которое содержит нулевое значение.

Вторым полем в сообщении конфигурации ТВ является поле версии ( version ), которое содержит нулевое значение.

Третьим полем в сообщении ТВ является поле типа сообщения ( message type ), которое содержит нулевое значение.

Четвертым полем в сообщении конфигурации ТВ является однобайтовое поле флагов ( flags ). Бит ТС сигнализирует об изменении в топологии. Бит ТСА устанавливается для подтверждения приема сообщения конфигурации с установленным битом ТС. Другие шесть битов этого байта не используются.

Следующим полем в сообщении конфигурации ТВ является поле идентификатора корневого моста ( root ID ). Это 8-байтовое поле идентифицирует корневой мост путем перечисления его 2-байтового приоритета, за которым следует его 6-байтовый ID.

За полем ID корневого моста идет поле затрат корневого тракта ( root path cost ), которое содержит затраты тракта от моста, который отправляет конфигурационное сообщение, до корневого моста.

Далее идет поле идентификатора моста ( bridge ID ), которое идентифицирует приоритет и ID моста, отправляющего сообщение.

Поле идентификатора порта ( port ID ) идентифицирует порт, из которого отправлено конфигурационное сообщение. Это поле позволяет обнаруживать и устранять петли, образованные несколькими подключенными мостами.

Поле возраста сообщения ( message age ) определяет промежуток времени, прошедшего с момента отправки корневым мостом конфигурационного сообщения, на котором базируется текущее конфигурационное сообщение.

Поле максимального возраста ( maximum age ) указывает, когда текущее конфигурационное сообщение должно быть стерто.

Поле времени приветствия ( hello time ) обеспечивает период времени между конфигурационными сообщениями корневого моста.

И наконец, поле задержки продвижения ( forward delay ) обеспечивает промежуток времени, в течение которого мосты должны выжидать, прежде чем перейти в новое состояние после изменения в топологии. Если переходы какого-нибудь моста происходят слишком быстро, то не все каналы сети могут оказаться готовыми для изменения их состояний, в результате чего могут появиться петли.

Сообщения о топологических изменениях состоят всего из 4 байтов. Они включают в себя поле идентификатора протокола ( protocol identifier ), которое содержит нулевое значение, поле версии ( version,), которое содержит нулевое значение и поле типа сообщения ( message type ), которое содержит значение 128.

< Лекция 5 || Лекция 6: 12345 || Лекция 7 >