Избыточные связи и алгоритм Spanning Tree



Классический вариант сети Ethernet предполагает, что между любой па­рой узлов возможен только один путь прохождения сигнала. Это обеспечивается шинной топологией для коаксиального кабеля и звездообразной или древовид­ной топологией для других сред передачи. Мосты и первые коммутаторы не позволяли нарушать это правило. Если при ошибочной коммутации образовывалась петля, то домен коллизий, в которую она попадала, становился практически неработоспособным. В нем кадры размножались и бесконечно повторялись, вызывая загрузку сегмента и массовые коллизии.

Единственность пути делает сеть уязвимой – при нарушении связи в линии узлы, находящиеся на ее противоположных концах, оказываются изолированными друг от друга. Кроме того, в коммутируемой сети могут образовываться узкие места – линии, на передачу по которым претендуют участники нескольких доменов коллизий. В сетях без коммутаторов узким местом становилась вся разделяемая среда передачи. Применение коммутаторов позволяет организовывать магистрали, несущие основную нагрузку, и разгружать периферийные области сети. Магистрали стали требовать обеспечения более высокой пропускной спо­собности, а также обеспечения резервирования линий для повышения живучести сети. Для увязки этих потребностей с «природой» Ethernet применяются различные стандартные и фирменные подходы, описанные в [1], [3]–[7], [10], [11].

Алгоритм STA (Spanning Tree Algorithm – алгоритм основного, или покрывающего дерева) и протокол STP (Spanning Tree Protocol) определены стандартом IEEE 802.1d. Алгоритм STA реализуется в сети, достроенной с применением интеллектуальных мостов (коммутаторов). Идея его заключается в выделении из связного графа сети с избыточными линиями дерева, соединяющего все узлы и оптимального по определенным критериям. В нормальном состоянии коммута­торы имеют информацию обо всех соединениях, но игнорируют резервные линии связи (рис.6.2, а). Если же из-за аварии основной линии связь теряется, коммутаторы пересчитывают граф, определяя новое дерево (рис.6.2, б), и связь восстанавливается.

 

а б

Рис.6.2. Выделение дерева по протоколу STP:

а – нормальная структура; б – результат обработки
аварии линии

Каждый мост имеет свой уникальный МАС-адрес, назначенный его произво­дителем. Мосты периодически обмениваются короткими служебными кадрами формата 802.3, у которых в поле данных помещается протокольный блок BPDU (Bridge Protocol Data Unit). Эти кадры по адресу назначения являются групповыми (multicast), со специфическим идентификатором группы, присвоенным мостам. Адресом источника является МАС-адрес моста. Блоки BPDU бывают двух типов – конфигурационные и смены топологии. Конфигурационный BPDU содержит следующие поля:

· Protocol Identifier (идентификатор протокола) – 2-байтный код, определенный IEEE;

· Protocol Version Identifier (идентификатор версий) – 1 байт;

· BPDU Туре (тип) – 1 байт, различающий конфигурационный BPDU и BPDU смены топологии;

· Flags (флаги) – 1-байтное поле с флагами смены топологии и подтвержде­ния смены топологии;

· Root Identifier (идентификатор корня) – 8-байтное число, образованное из МАС-адреса (6 байт) моста, объявленного корнем, и приоритета (2 байта), назначенного при ручном конфигурировании моста. Байты приоритета являются старшими. При определении корня приоритет имеет мост с наименьшим идентификатором;

· Root Path Cost (стоимость пути до корня) – 4-байтное поле, используемое для нахождения оптимального пути до корня;

· Bridge Identifier (идентификатор моста) – 8-байтное число, образованное из МАС-адреса моста и назначенного приоритета (аналогично идентификатору корня);

· Port Identifier (идентификатор порта) – 2-байтное поле, состоящее из 1-байтного приоритета порта, назначенного при ручном конфигурирова­нии моста, и 1-байтного номера порта моста. Меньший идентификатор соответствует большему приоритету;

· Message Age (возраст сообщения) – 2-байтное поле, определяющее давность прихода конфигурационного сообщения (слишком старые отбрасываются);

· Max Age (максимальный возраст) – 2-байтное поле тайм-аута, устанавливаемое корневым мостом. Используется при сравнении с возрастом при определении актуальности сообщения;

· Hello Time (период приветствий) – 2-байтное поле интервала, с которым корневой мост генерирует конфигурационные BPDU. Если мост не услышит очередное сообщение за указанное время, он инициирует смену топологии и пытается объявить себя новым корнем;

· Forward Delay (задержка трансляции) – 2-байтное поле задержки трансляции кадров, устанавливаемое корневым мостом. Задержка необходима для предотвращения петель при изменении состояния портов (смене топо­логии). Значение используется и для определения допустимого возраста записей таблицы адресов, хранимой мостом (при смене топологии старые записи таблицы становятся недействительными).

BPDU смены топологии в поле данных содержит только идентификатор протокола, номер версии и поле типа. При включении питания мосты с включенным STA не начинают сразу строить таблицы адресов и транслировать приходящие кадры, а только посылают и при­нимают кадры с BPDU. Каждый мост поначалу объявляет себя корнем и рассылает по всем своим портам конфигурационные BPDU, в которых идентификатором корня назначается идентификатор данного моста. Стоимость пути до корня объявляется нулевой. Если мост с какого-то порта принял BPDU, в котором идентификатор корня имеет более высокий приоритет (меньший номер), то он во все остальные свои порты будет передавать BPDU с этим новым номером корня. К стоимости пути, которую он прочитал, мост добавит свое значение, определяемое пропускной способностью порта, с которого принят BPDU от признанного корня (100 для Ethernet, 10 для Fast и 1 для Gigabit Ethernet). Если мост примет с другого порта еще один идентификатор корня, то он будет выбирать корень с наименьшим значением идентификатора. В итоге вся сеть выберет единый корень, но при этом будут обнаружены петли (если они есть в топологии). Для моста признаком петли будет получение BPDU с одним и тем же идентификатором корня по двум портам. Один из этих портов должен перейти в заблокированное состояние, другой остается активным.

Предпочтение отдается порту, для которого принята минимальная стоимость пути от корня. Если стоимости равны, то выбирается максимальный приоритет моста (минимальное зна­чение идентификатора), от которого пришел блок. Если блоки пришли от одного моста, то выбирается максимальный приоритет порта моста, от которого пришел блок. Наконец, если блоки посланы одним портом, то выбирается максимальный приоритет порта данного моста, принявшего блок. После того как отработает механизм задержки трансляции, мосты начинают свою основную деятельность (фильтрацию и трансляцию кадров). Корневой мост периодически посылает свои BPDU, которые остальными мостами распространяются по активным портам по вышеописанным правилам. Если какой-то мост перестал «слышать» BPDU, он генерирует кадр смены топологии и собственные конфигурационные BPDU, пытаясь стать корнем. При наличии избыточных связей алгоритм повышает живучесть сети за счет стремления каждого моста стать если не корнем, то по крайней мере мостом, назначенным для обслуживания подключенных к нему сегментов.

Недостатком протокола STP является заметное время, уходящее на пересчет графа при обнаружении отказа линии. В течение этого времени абоненты разорванных фрагментов сети не имеют связи друг с другом. Кроме того, резервные линий при работающих основных простаивают, а их хотелось бы использовать для повышения производительности магистральной сети. Достоинством является произвольность топологии избыточных связей, что позволяет дублировать и линии связи, и коммутаторы. При этом не накладывается никаких ограничений на скорость передачи – в резерв можно ставить и относительно дешевые низкоскоростные коммутаторы. Правда, чем сложнее граф, тем дольше он будет пере­считываться при аварии. STP является признанным стандартом, позволяющим объединять мосты (коммутаторы) различных производителей, поддерживающих данный протокол.

 


Дата добавления: 2015-12-17; просмотров: 119; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!