1.Протокол id (Protocol Indetifier) - идентификатор протокола;
2.Версия (Version) - поле версии протокола.;
3.Тип сообщения. Оно задается равным 80h при извещениях об изменениях в сетевой топологии;
4.2.Технология создания покрывающего дерева
При автоматическом выборе корневым становится коммутатор с меньшим значением его идентификатора (при равных значениях идентификаторов выбирается меньшее значение МАС-адреса его блока управления). Далее, для каждого коммутатора определяется корневой порт (root port) - это порт, который имеет по сети кратчайшее расстояние до корневого коммутатора. Для каждого логического сегмента сети выбирается так называемый назначенный мост (designated bridge), один из портов которого будет принимать пакеты от сегмента и передавать их в направлении корневого моста через корневой порт данного моста. Такой порт называется назначенным портом (designated port). Назначенный порт сегмента имеет наименьшее расстояние до корневого моста, среди всех портов, подключенных к данному сегменту. Назначенный порт у сегмента может быть только один. У корневого моста все порты являются назначенными, а их расстояние до корня полагается равным нулю. Корневого порта у корневого моста нет. Также при построении покрывающего дерева важную роль играет понятие расстояния. По этому критерию выбирается единственный порт, соединяющий каждый коммутатор с корневым коммутатором, и единственный порт, соединяющий каждый сегмент сети с корневым коммутатором. Все остальные порты переводятся в резервное состояние, то есть такое, при котором они не передают обычные кадры данных. При таком выборе активных портов в сети исключаются петли и оставшиеся связи образуют покрывающее дерево. В качестве расстояния в STA используется метрика (или т.н. Path Cost)- она определяется как суммарное условное время на передачу данных от порта данного коммутатора до порта корневого коммутатора Условное время сегмента рассчитывается как время передачи одного бита информации и измеряется в 10-наносекундных единицах. Так, для сегмента Ethernet на 10 Мбит/с условное время равно 10 условным единицам.
4.3.Пример построения покрывающего дерева для 3-коммутаторов
Исходные данные для коммутаторов представлены на рис.4.1. В этом примере с помощью STP блокируется соединение между коммутаторами C и B.
Рис.4.1-Исходные данные
Рис.4.2 – Результат работы протокола STP
После инициализации каждый коммутатор сначала считает себя корневым. Поэтому он начинает через интервал hello генерировать через все свои порты сообщения BPDU конфигурационного типа. В них он указывает свой идентификатор в качестве идентификатора корневого коммутатора, расстояние до корня устанавливается в 0, а в качестве идентификатора порта указывается идентификатор того порта, через который передается BPDU. Как только коммутатор получает BPDU, в котором имеется идентификатор корневого коммутатора, меньше его собственного, он перестает генерировать свои собственные кадры BPDU, а начинает ретранслировать только кадры нового претендента на звание корневого коммутатора. При ретрансляции кадров он наращивает расстояние до корня, указанное в пришедшем BPDU, на условное время сегмента, по которому принят данный кадр.
Рассмотрим выборы корневых портов коммутаторами на рис.4.1. Поскольку коммутатор A имеет меньший ID он становиться корневым. Коммутатор A посылает BPDU с порта 7 со стоимостью пути равной 0. Когда B получает пакеты через порт 19, он добавляет стоимость пути к пакету равную 4. Далее мост B запоминает эту стоимость и рассылает пакеты BPDU через порт 1 и порт 11 со стоимостью равной 4. Мост C на порт 1 получает пакет BPDU со стоимостью от корня равной 4, добавляет к ней стоимость своего 1–го порта(18) и запоминает ее (22).
Мост A через порт 6 посылает BPDU к мосту C со стоимостью пути равной 0. Порт 5 моста C добавляет к BPDU стоимость равную 4 и запоминает ее. Мост C сравнивает стоимость пакетов BPDU, пришедших от A на порт 1 (22) и порт 5 (4), делает заключение, что порт 5 моста C является корневым.
В свою очередь мост C рассылает через порт 1 и порт 3 пакеты BPDU моста A со стоимостью 4. Мост B получает на порт 1 от моста C пакет стоимостью 4 и добавляет к ней стоимость своего порта 1(19), что в итоге равно 23. Коммутатор B сравнивает стоимости BPDU, полученные с порта 19 (4) и порта 1 (23). Делает заключение, что порт 19 корневой.
Рассмотрим выбор назначенных портов.
Мост A посылает BPDU со стоимостью 0 через порт 7 на порт 19 коммутатора B. Порт 19 моста B добавляет стоимость 4. Далее пакет BPDU проходит через порт 1 (В) со стоимостью 4, запоминается там и идет на порт 1 моста C также со стоимостью 4 и там запоминается.
С другой стороны мост A посылает BPDU со стоимостью 0 через порт 6 на порт 5 моста C. Порт 5 добавляет стоимость 4. Далее пакет BPDU проходит через порт 1 (С) со стоимостью 4, запоминается там и идет на порт 1 моста B также со стоимостью 4 и там запоминается.
Мост C сравнивает стоимость на своем порту 1 для пакета BPDU, который он переслал B (4) и получил от B (4). Стоимости оказались одинаковыми. Он тогда определил ID пакета с моста B(12288). Сравнил со своим ID(8192). Оно оказалось меньшим и мост C перевел свой порт 1 в состояние назначенного. В свою очередь аналогично мост B перевел свой порт 1 в блокированное состояние. На рис.4.2 показан результат работы протокола STP.
