Bridge Protocol Data Unit (BPDU)

Вычисление связующего дерева происходит при включении коммутатора и приизменении топологии. Эти вычисления требуют периодического обмена информацией междукоммутаторами связующего дерева, что достигается при помощи специальных пакетов,называемых блоками данных протокола моста – BPDU (BridgeProtocolDataUnit).Коммутатор отправляет BPDU, используя уникальный МАС-адрес порта в качествеадреса-источника и многоадресный МАС-адрес протокола STP 01-80-C2-00-00-00 в качествеадреса-приемника. Пакеты BPDU помещаются в поле данных кадров канального уровня,например, кадров Ethernet.

Существует три типа пакетов BPDU:

· Configuration BPDU (CBPDU) – конфигурационный пакет BPDU, который используется для вычисления связующего дерева (тип сообщения: 0x00).

· Topology Change Notification (TCN) BPDU – уведомление об изменении топологии сети (тип сообщения: 0x80).

· Topology Change Notification Acknowledgement (TCA) – подтверждение о получении уведомления об изменении топологии сети.

Коммутаторы обмениваются BPDU через равные интервалы времени (по умолчанию 2с), что позволяет им отслеживать состояние топологии сети.

Пакет BPDU состоит из следующих полей:

· Идентификатор протокола (ProtocolIdentifier) – 2 байта. Значение всегда равно 0.

· Версияпротокола STP (Protocol Version Identifier) – 1 байт. Значение всегда равно 0.

· Тип BPDU (BPDUType) – 1 байт. Значение «00» – конфигурационный BPDU, «01» –изменение топологии.

· Флаги (Flags) – 1 байт. Бит 1 – флаг изменения топологии, бит 8 – флаг подтверждения изменения топологии.

· Идентификатор корневого моста (RootIdentifier) – 8 байтов. дентификатор текущего корневого моста.

· Расстояние до корневого моста (RootPathCost) – 2 байта. Суммарная стоимость пути до корневого моста.

· Идентификатор моста (BridgeIdentifier) – 8 байтов. Идентификатор текущего моста.

· Идентификатор порта (PortIdentifier) – 2 байта. Уникальный идентификатор порта, который отправил этот BPDU.

· Время жизни сообщения (MessageAge) – 2 байта. Измеряется в единицах по 0,5 с,служит для выявления устаревших сообщений. Когда пакет BPDU проходит черезкоммутатор, он добавляет ко времени жизни пакета время его задержки даннымкоммутатором.

· Максимальное время жизни сообщения (MaxAge) – 2 байта. Если время жизни,полученного пакета BPDU превышает значение максимального времени жизни, то такойпакет игнорируется коммутаторами.

· Время приветствия (HelloTime) – 2 байта. Период времени, через который посылаютсяпакеты BPDU.

· Задержка смены состояний (ForwardDelay) – 2 байта. Минимальное время переходапортов коммутатора в активное состояние. Такая задержка необходима, чтобыисключить возможность временного возникновения альтернативных маршрутов принеодновременной смене состояний портов во время реконфигурации.

 

Состояния портов

В процессе построения топологии сети каждый порт коммутатора проходит несколько стадий:

 

 

Таймеры STP

· HelloTime – это интервал времени, через который корневой мост отправляетконфигурационные BPDU. Значение таймера HelloTime, настроенное на корневомкоммутаторе, будет определять значения таймеров HelloTime на всех некорневыхкоммутаторах, т.к. они просто пересылают конфигурационные BPDU, когда получают ихот корня. Значение таймера HelloTime по умолчанию 2 секунды: диапазон возможныхзначений от 1 до 10 секунд.

· ForwardDelay – это интервал времени, в течение которого порт коммутатора находитсяв состояниях «Прослушивание» и «Обучение». Значение таймера ForwardDelay поумолчанию 15 секунд: диапазон возможных значений от 4 до 30 секунд.

· Max. Age – это интервал времени, в течение которого коммутатор хранит BPDU передтем, как отбросить его. Значение таймера Max. Age по умолчанию 20 секунд: диапазонвозможных значений от 6 до 40 секунд.

 

Изменение топологии

Коммутатор отправляет BPDU с уведомлением об изменении топологии (TopologyChangeNotificationBPDU, TCNBPDU) в случае возникновения одного из следующих событий:

· порт, находившийся в состоянии «продвижение» или «прослушивание», переходит в состояние «блокировка» (в случае проблем с каналом связи);

· порт переходит в состояние «продвижение», но коммутатор уже имеет назначенный порт;

· некорневой мост получает сообщение TCN на свой назначенный порт.

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

Когда корневой мост получает TCN BPDU или сам изменяет топологию, он

устанавливает во всех передаваемых конфигурационных BPDU флаг изменения топологии(Topology Change, TC) на период времени, равный сумме значений таймеров Forward Delay иMax. Age. Когда нижележащие коммутаторы получат конфигурационные BPDU с флагомTopology Change, они установят значения таймеров старения записей адресных таблиц

(Aging Timer) равными длительности таймера задержки передачи Forward Delay.

Управляемые коммутаторы D-Link при настройке функции STP позволяют включатьи отключать на каждом порте возможность приема TCN BPDU с помощью параметраrestricted_tcn. По умолчанию параметр restricted_tcn отключен. Использование данногопараметра позволяет избежать сетевых атак, связанных с отправкой ложных пакетов TCN

BPDU.

По умолчанию протокол STPна коммутаторах D-Linkотключен.

 


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



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