Добрый день дорогие читатели! Сегодня мы с вами поговорим о протоколе, который функционирует на большинстве серьезных коммутаторов, но о важной и неприметной работе которого знают далеко не все, а именно о протоколе STP (Spanning Tree Protocol, Протокол связующего дерева). В данной статье мы поговорим о его назначение, а в следующих статьях мы поговорим о его настройке и принципах его функционирования.
, протокол остовного дерева) — канальный протокол. Основной задачей STP является устранение петель в топологии произвольной сети
, связанных избыточными соединениями. STP решает эту задачу, автоматически блокируя соединения, которые в данный момент для полной связности коммутаторов являются избыточными.
Принцип действия
1. Выбирается один корневой мост (англ.
Root Bridge).
2. Далее каждый коммутатор, просчитывает кратчайший путь к корневому. Соответствующий порт называется корневым портом (англ.
Root Port). У любого некорневого коммутатора может быть только один корневой порт.
3. После этого для каждого сегмента сети, к которому присоединён более чем один мост (или несколько портов одного моста), просчитывается кратчайший путь к корневому мосту(порту). Мост, через который проходит этот путь, становится
назначенным для этой сети (англ.
Designated Bridge), а соответствующий порт —
назначенным портом (англ.
Designated port).
4. Далее во всех сегментах, с которыми соединены более одного порта моста, все мосты блокируют все порты, не являющиеся корневыми и назначенными. В итоге получается древовидная структура (математический граф) с вершиной в виде корневого коммутатора.
Основные понятия
Bridge ID = Bridge priority + MAC;
Bridge priority = vlan xxx + 4096xN, N-множитель, назначается администратором сети (4096х8=32768 default cost);
Cost — «стоимость портов»;
Pathcost — стоимость линка в STP;
Hello BPDU = root ID + bridge ID + cost;
Root port (корневой порт) — это порт, который имеет минимальную стоимость до любого порта корневого коммутатора;
Designated port (назначенный порт) — это порт, который имеет кратчайшее расстояние от назначенного коммутатора до корневого коммутатора.
Важные правила
1. Корневым (root) портом назначается порт с самой низкой стоимостью пути (path cost).
2. Возможны случаи, когда стоимость пути по двум и более портам коммутатора будет одинакова, тогда выбор корневого (root) порта будет происходить на основании полученных от соседей приоритета и порядкового номера порта (Lowest Sender Port ID)[2], например fa0/1, fa0/2, fa0/3 и корневым (root) станет порт с наименьшим номером.
3. Коммутаторы, по умолчанию, не измеряют состояние загрузки сети в реальном времени и работают в соответствии со стоимостью (cost) интерфейсов в момент построения дерева STP.
4. Каждый порт имеет свою стоимость (cost), обратно пропорциональную пропускной способности (bandwidth) порта и которую можно настраивать вручную.
Алгоритм действия STP (Spanning Tree Protocol)
=> После включения коммутаторов в сеть, по умолчанию каждый коммутатор считает себя корневым (root).
=> Каждый коммутатор начинает посылать по всем портам конфигурационные Hello
BPDU пакеты раз в 2 секунды.
=> Если мост получает BPDU с идентификатором моста (Bridge ID) меньшим, чем свой собственный, он прекращает генерировать свои BPDU и начинает ретранслировать BPDU с этим идентификатором. Таким образом в конце концов в этой сети Ethernet остаётся только один мост, который продолжает генерировать и передавать собственные BPDU. Он и становится корневым мостом (root bridge).
=> Остальные мосты ретранслируют BPDU корневого моста, добавляя в них собственный идентификатор и увеличивая счётчик стоимости пути (path cost).
=> Для каждого сегмента сети, к которому присоединены два и более портов мостов, происходит определение designated port — порта, через который BPDU, приходящие от корневого моста, попадают в этот сегмент.
=> После этого все порты в сегментах, к которым присоединены 2 и более портов моста, блокируются за исключением root port и designated port.
=> Корневой мост продолжает посылать свои Hello BPDU раз в 2 секунды.
Порты
Каждый порт, задействованный в STP, может работать в одном из следующих режимов (ролей):
=> Root Port (корневой) — порт для передачи трафика корневому коммутатору. Каждый некорневой коммутатор имеет только один корневой порт, выбранный из соображений минимальной стоимости пути.
=> Designated Port (назначенный) — некорневой порт моста между сегментами сети, принимающий трафик из соответствующего сегмента. Сам мост также называется назначенным. В каждом сегменте сети может быть только один назначенный порт. У корневого коммутатора все порты - назначенные.
=> Non-designated Port (неназначенный) — порт, не являющийся корневым, или назначенным. Передача фреймов данных через такой порт запрещена.
=> Disabled Port (отключенный) — порт, не участвующий в STP, либо выключенный административно (командой shutdown).