Алгоритм STA формализует сеть (рис. 16.1, а) в виде графа (рис. 16.1, б), вершинами которого являются коммутаторы и сегменты сети.
Сегмент — связная часть сети, не содержащая коммутаторов (и маршрутизаторов). Сегмент может быть разделяемым (во время создания алгоритма STA это был единственный тип сегмента) и включать устройства физического уровня: повторители/концентраторы, существование которых коммутатор, будучи устройством канального уровня, «не замечает». Сегодня сегмент часто представляет собой дуплексный двухточечный канал между смежными портами двух коммутаторов.
Алгоритм покрывающего дерева обеспечивает построение древовидной топологии связей с единственным путем минимальной длины от каждого коммутатора и от каждого сегмента до некоторого выделенного корневого коммутатора — корня дерева. Единственность пути гарантирует отсутствие петель, а минимальность расстояния — рациональность маршрутов следования трафика от периферии сети к ее магистрали, роль которой исполняет корневой коммутатор.
|
|
Рис. 16.1. Формализованное представление сети в соответствии с алгоритмом STA |
В качестве расстояния в STA используется метрика, традиционная для протоколов маршрутизации, — величина, обратно пропорциональная пропускной способности сегмента. В STA метрика также определяется как условное время передачи бита сегментом. Это время измеряется в 10-наносекундных единицах. Так, для сегмента Ethernet 10 Мбит/с метрика равна 10 условных единиц, для сегмента Ethernet 100 Мбит/с — 1, а для сегмента Token Ring 16 Мбит/с — 6,25. Учитывая, что сети становятся все более и более скоростными, существует так называемая пересмотренная версия шкалы условных единиц: 10 Мбит/с — 100, 100 Мбит/с - 19, 1 Гбит/с - 4, 10 Гбит/с - 2.
Идентификатор коммутатора — это 8-байтовое число, шесть младших байтов которого составляет МАС-адрес его блока управления, отрабатывающего алгоритм STA (напомним, что портам коммутаторов и мостов для выполнения своей основной функции МАС-адреса не требуются), а два старших байта конфигурируются вручную, что, как мы дальше увидим, позволяет администратору сети влиять на процесс выбора корневого коммутатора.
Корневой порт коммутатора — порт, который имеет кратчайшее расстояние до корневого коммутатора (точнее, до любого из портов корневого коммутатора). Идентификатором порта служит 2-байтовое число. Младший байт содержит порядковый номер данного порта в коммутаторе, а значение старшего байта задается администратором.
Назначенный порт — порт, который среди всех портов всех коммутаторов данного сегмента сети имеет минимальное расстояние до корневого коммутатора.
|
|
Назначенным коммутатором сегмента объявляется коммутатор, которому принадлежит назначенный порт данного сегмента.
Протокольными единицами данных моста (Bridge Protocol Data Unit, BPDU) называются специальные пакеты, которыми периодически обмениваются коммутаторы для автоматического определения конфигурации дерева. Пакеты BPDU переносят данные об идентификаторах коммутаторов и портов, а также о расстоянии до корневого коммутатора. Интервал генерации пакетов BPDU, называемый в алгоритме интервалом hello, настраивается администратором и обычно составляет от 1 до 4 секунд.