Три этапа построения дерева

На рис. 16.2 приведен пример сети, которую мы будем использовать для иллюст­рации процедуры построения покрывающего дерева.

Рис. 16.2. Пример покрывающего дерева STA

Алгоритм STA определяет активную конфигурацию сети за три этапа.

Первый этап — определение корневого коммутатора, от которого строится де­рево.

В соответствии с алгоритмом STA в качестве корневого коммутатора выбирается коммутатор с наименьшим значением идентификатора. Если администратор не вмешается в этот процесс, корневой коммутатор будет выбран достаточно слу­чайным образом — им станет устройство с минимальным МАС-адресом блока управления. Очевидно, что такой выбор может оказаться далеко не рациональ­ным. Например, при выборе коммутатора 5 в качестве корневого значительная часть трафика проходила бы через большое количество транзитных сегментов и коммутаторов. Поэтому не стоит администратору пускать данный процесс «на самотек» — лучше в него вмешаться и назначить корневой коммутатор осознан­но (за счет соответствующего конфигурирования старших байтов идентифика­торов коммутатора), чтобы выбранный коммутатор действительно занимал цен­тральное место в соединениях сегментов. Предположим, что идентификаторы коммутаторов совпадают с их номерами, приведенными на рисунке. Тогда кор­невым коммутатором является коммутатор 1.

Второй этап — выбор корневого порта для каждого коммутатора.

Расстояние определяется по пакетам BPDU, поступающим от корневого комму­татора. На основании этих пакетов каждый коммутатор может определить мини­мальные расстояния от всех своих портов до корневого коммутатора. Каждый коммутатор анализирует и ретранслирует BPDU, увеличивая расстояние до кор­ня, указанное в полученном пакете BPDU, на условное время того сегмента, из которого принят данный пакет. Тем самым в пакете BPDU по мере прохождения через коммутаторы наращивается расстояние до корневого коммутатора. Напри­мер, если считать, что все сегменты в рассматриваемом примере являются сег­ментами Ethernet 10 Мбит/с, то коммутатор 2, приняв из сегмента 1 пакет BPDU с расстоянием, равным 0, увеличивает его на 10 условных единиц (изме­рения метрики).

Ретранслируя пакеты, каждый коммутатор для каждого своего порта запоминает минимальное расстояние до корня, встретившееся во всех принятых этим пор­том пакетах BPDU. По завершении процедуры определения конфигурации по­крывающего дерева каждый коммутатор находит свой корневой порт (с мини­мальным расстоянием до корня).

При равных метриках для разрешения неоднозначности к процедуре выбора ми­нимального расстояния привлекаются значения идентификаторов коммутаторов и портов. Предпочтение отдается портам и коммутаторам с наименьшими иден­тификаторами. Например, для сегмента 3 существует два равноценных в отно­шении метрики пути к корневому коммутатору 1 — через коммутатор 3 и через коммутатор 4. Выбранный путь проходит через коммутатор, с меньшим значени­ем идентификатора, а именно 3 (номера портов внутри коммутатора в данном случае совпадают, но при сравнении сначала принимается во внимание иденти­фикатор коммутатора, а потом уже номер порта).

В нашем примере коммутатор 3 выбирает порт 1 в качестве корневого, так как для него минимальное расстояние до корня равно 10 условных единиц (пакет

BPDU с таким расстоянием принят от корневого коммутатора через сегмент 1). Порт 2 коммутатора 3 устанавливает на основании принятых пакетов, что мини­мальное расстояние равно 20 условных единиц — это соответствует прохож­дению пакета от порта 2 корневого коммутатора через сегмент 2, затем через коммутатор 4 и сегмент 3. Коммутатор 2 при выборе корневого порта «сталки­вается» с ситуацией, когда у его портов 1 и 2 равное расстояние до корня — по 10 условных единиц (порт 1 принимает пакеты от порта 1 корневого коммутато­ра через один промежуточный сегмент — сегмент 1, так же как порт 2 получает пакеты от порта 2 корневого коммутатора через сегмент 2). Поскольку числовое значение идентификатора порта 1 меньше, чем порта 2, то корневым и выбирает­ся порт 1.

Третий этап — выбор назначенных порта и коммутатора.

Из всех портов всех коммутаторов в пределах каждого сегмента сети выбирается назначенный порт и соответствующий данному порту назначенный коммутатор сегмента. Аналогично выбору корневого порта здесь используется распределен­ная процедура. Каждый коммутатор сегмента прежде всего исключает из рас­смотрения свой корневой порт (для сегмента, к которому он подключен, всегда существует другой коммутатор, который расположен ближе к корню). Для каж­дого из оставшихся портов выполняется сравнение принятых по ним минималь­ных расстояний до корня (еще до наращивания на условное время сегмента) с расстоянием до корня корневого порта данного коммутатора. Если все приня­тые на этом порту расстояния оказываются больше, чем расстояние от собствен­ного корневого порта, значит, для сегмента, к которому подключен порт, крат­чайший путь к корневому коммутатору проходит через него, и он становится назначенным. Коммутатор делает все свои порты, для которых такое условие вы­полняется, назначенными. Когда имеется несколько портов с одинаковым крат­чайшим расстоянием до корневого коммутатора, выбирается порт с наименьшим идентификатором.

В рассматриваемом примере коммутатор 2 при проверке порта 2 обнаруживает, что через этот порт принимаются пакеты с минимальным расстоянием 0 (это па­кеты от порта 2 корневого коммутатора 1). Так как собственный корневой порт у коммутатора 2 имеет расстояние до корня 10, то порт 2 этого коммутатора не является назначенным для сегмента 2.

На выполнение всех трех этапов коммутаторам сети отводится по умолчанию 15 секунд. Предполагается, что за это время каждый коммутатор получит столь­ко пакетов BPDU, сколько будет достаточно для определения состояния своих портов.

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


После построения покрывающего дерева коммутатор начинает принимать (но не продвигать) пакеты данных и на основе их адресов источника строить таблицу продвижения. Это обычный режим обучения прозрачного моста, который ранее нельзя было активизировать, так как порт не был уверен в том, что он останется корневым или назначенным и будет передавать пакеты данных. Состояние обу­чения по умолчанию также выдерживается в течение интервала 15 с. При этом порт продолжает участвовать в работе алгоритма STA, так что поступление паке­тов BPDU с лучшими параметрами переводит его в заблокированное состояние.

ПРИМЕЧАНИЕ ------------------------------------------------------------------------------------------------------------------------------------------

Отметим, что выбранная по алгоритму STA древовидная топология в общем случае не оп­тимальна для всех путей передачи трафика. Так, в описываемом примере при передаче па­кетов из сегмента 3 в сегмент 2 трафик проходит путь: коммутатор 3 — сегмент 1 - коммутатор 1 — сегмент 2. Метрика этого пути — 30. Если бы порт 2 коммутатора 4 не был заблокирован, то путь мог бы быть короче — через коммутатор 4. При этом метрика пути была бы равна 20 — лучше, чем в предыдущем случае. Такой вариант возможен при выбо­ре кратчайшего пути к корневому коммутатору для сегмента 4 через коммутатор 4, а не 3, например, за счет соответствующего назначения старших частей идентификаторов комму­таторов. Однако при таком варианте путь из сегмента 4 в сегмент 1 уже не окажется опти­мальным.

И только после двукратной выдержки по таймеру порт переходит в состояние продвижения и обрабатывает пакеты данных в соответствии с построенной таб­лицей (которая продолжает модифицироваться, отражая изменения в структуре сети).

В процессе нормальной работы корневой коммутатор продолжает генерировать конфигурационные пакеты BPDU с интервалом hello, а остальные коммутаторы получают их через свои корневые порты и ретранслируют через назначенные порты. У коммутатора могут отсутствовать назначенные порты, как у коммута­торов 2 и 4, но он все равно участвует в работе протокола STA, так как корневой порт принимает служебные пакеты BPDU.

Если по истечении максимального времени жизни сообщения (по умолчанию — 20 с) корневой порт любого коммутатора сети не получает служебный пакет BPDU, то он инициализирует новую процедуру постррения покрывающего дерева. При этом на все порты генерируется и передается пакет BPDU, в котором комму- faTop указывает себя в качестве корневого. Аналогичным образом ведут себя и другие коммутаторы сети, у которых истек таймер максимального времени жиз­ни сообщения, в результате чего выбирается новая активная конфигурация.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: