Спонсор: D-Link
Опубликован: 25.06.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Московский государственный технический университет им. Н.Э. Баумана
Лекция 4:

Функции повышения надежности и производительности

Bridge Protocol Data Unit (BPDU)

Вычисление связующего дерева происходит при включении коммутатора и при изменении топологии. Эти вычисления требуют периодического обмена информацией между коммутаторами связующего дерева, что достигается при помощи специальных кадров, называемых блоками данных протокола моста — BPDU (Bridge Protocol Data Unit).

Коммутатор отправляет BPDU, используя уникальный МАС-адрес порта в качестве адреса-источника и многоадресный МАС-адрес протокола STP 01-80-C2-00-00-00 в качестве адреса-приемника. Кадры BPDU помещаются в поле данных кадров канального уровня, например, кадров Ethernet.

Внимание: иногда, с целью повышения безопасности, сетевым администраторам необходимо отключать возможность передачи кадров BPDU на граничные коммутаторы сети, чтобы избежать получения случайных кадров BPDU клиентскими портами, которые могут распространить вычисления STP по клиентским сетям. Управляемые коммутаторы D-Link поддерживают возможность включения и отключения передачи кадров BPDU для каждого порта.

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

  • Configuration BPDU (CBPDU) — конфигурационный кадр BPDU, который используется для вычисления связующего дерева (тип сообщения: 0x00);
  • Topology Change Notification (TCN) BPDU — уведомление об изменении топологии сети (тип сообщения: 0x80);
  • Topology Change Notification Acknowledgement (TCA) — подтверждение о получении уведомления об изменении топологии сети.

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

Таблица 11.1. Формат кадра BPDU
поля Байты
Идентификатор протокола (Protocol Identifier) 2
Версия протокола (Protocol Version Identifier) 1
Тип BPDU (BPDU Type) 1
Флаги (Rags) 1
Идентификатор корневого моста (Root Identifier) 8
Расстояние до корневого моста (Root Path Cost) 2
Идентификатор моста (Bridge Identifier) 8
Идентификатор порта (Port Identifier) 2
Время жизни сообщения (Message Age) 2
Максимальное время жизни сообщения (Max Age) 2
Время приветствия (Hello Time) 2
Задержка смены состояний (Forward Delay) 2

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

  • идентификатор протокола (Protocol Identifier) — 2 байта. Значение всегда равно 0;
  • версия протокола STP (Protocol Version Identifier) — 1 байт. Значение всегда равно 0;
  • тип BPDU (BPDU Type) — 1 байт. Значение "00" — конфигурационный BPDU, "01" — изменение топологии;
  • флаги (Flags) — 1 байт. Бит 1 — флаг изменения топологии, бит 8 — флаг подтверждения изменения топологии;
  • идентификатор корневого моста (Root Identifier) — 8 байтов. Идентификатор текущего корневого моста;
  • расстояние до корневого моста (Root Path Cost) — 2 байта. Суммарная стоимость пути до корневого моста;
  • идентификатор моста (Bridge Identifier) — 8 байтов. Идентификатор текущего моста;
  • идентификатор порта (Port Identifier) — 2 байта. Уникальный идентификатор порта, который отправил этот BPDU;
  • время жизни сообщения (Message Age) — 2 байта. Нефиксированный временной интервал в секундах, прошедший с момента отправки BPDU корневым мостом. Служит для выявления устаревших сообщений BPDU. Первоначальное значение равно нулю. По мере передачи кадра BPDU по сети каждый коммутатор добавляет ко времени жизни сообщения время его задержки данным коммутатором. По умолчанию оно равно 1 сек. Значение параметра Message Age должно быть меньше значения таймера Max Age;
  • максимальное время жизни сообщения (Max Age) — 2 байта. Временной интервал в секундах, определяющий максимальное время хранения конфигурации STP, прежде чем коммутатор ее отбросит;
  • время приветствия (Hello Time) — 2 байта. Временной интервал в секундах, через который посылаются кадры BPDU;
  • задержка смены состояний (Forward Delay) — 2 байта. Временной интервал в секундах, в течение которого порт коммутатора находится в состояниях "Прослушивание" и "Обучение".

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

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

  • Blocking ("Блокировка") — при инициализации коммутатора все порты (за исключением отключенных) автоматически переводятся в состояние "Заблокирован". В этом случае порт принимает и обрабатывает только кадры BPDU. Все остальные кадры отбрасываются;
  • Listening ("Прослушивание") — в этом состоянии порт продолжает принимать, обрабатывать и ретранслировать только кадры BPDU. Из этого состояния порт может перейти в состояние "Заблокирован", если получит BPDU с лучшими параметрами, чем его собственные (стоимость пути, идентификатор моста или порта). В противном случае, при истечении периода, установленного таймером задержки смены состояний (Forward Delay), порт перейдет в следующее состояние "Обучение";
  • Learning ("Обучение") — порт начинает принимать все кадры и на основе МАС-адресов источника строить таблицу коммутации. Порт в этом состоянии все еще не продвигает кадры. Порт продолжает участвовать в работе алгоритма STP и при поступлении BPDU с лучшими параметрами переходит в состояние "Заблокирован". В противном случае, при истечении периода, установленного таймером задержки смены состояний, порт перейдет в следующее состояние "Продвижение";
  • Forwarding ("Продвижение") — в этом состоянии порт может обрабатывать кадры данных в соответствии с построенной таблицей коммутации. Также продолжают приниматься, передаваться и обрабатываться кадры BPDU;
  • Disable ("Отключен") — в это состояние порт переводит администратор. Отключенный порт не участвует ни в работе протокола STP, ни в продвижении кадров данных. Порт можно также вручную включить, и первоначально он перейдет в состояние "Заблокирован".
Состояния портов

Рис. 11.3. Состояния портов

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

Таймеры STP

Для того чтобы все коммутаторы сети имели возможность получить точную информацию о конфигурации связующего дерева, в протоколе STP используются следующие таймеры.

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

Forward Delay — это интервал времени, в течение которого порт коммутатора находится в состояниях "Прослушивание" и "Обучение". Такая задержка смены состояний необходима, чтобы исключить возможность временного возникновения альтернативных маршрутов при неодновременной смене состояний портов во время реконфигурации. Значение таймера Forward Delay по умолчанию 15 секунд. диапазон возможных значений от 4 до 30 секунд.

Max Age — это интервал времени, в течение которого коммутатор хранит параметры текущей конфигурации связующего дерева. Значение таймера Max Age устанавливается корневым мостом и позволяет гарантировать, что все коммутаторы сети обладают одинаковой информацией о времени хранения конфигурации STP. Если период времени, определенный таймером, истек, а коммутатор за это время не получил кадр BPDU от корневого моста, то он начинает считать себя корневым мостом и рассылает свои собственные BPDU всем коммутаторам сети, инициируя новую процедуру построения связующего дерева. Значение таймера Max Age по умолчанию 20 секунд, диапазон возможных значений от 6 до 40 секунд.

Значения таймеров Hello Time, Forward Delay и Max Age могут быть вручную настроены администратором сети на коммутаторе. Обычно эти настройки выполняются только на коммутаторе, являющемся корневым для данной топологии связующего дерева. При настройке важно помнить, что неправильно подобранные значения таймеров могут значительно увеличить время сходимости топологии STP и снизить производительность сети, поэтому рекомендуется использовать значения таймеров по умолчанию.

Сергей Некрасов
Сергей Некрасов

Вы уверены, что строка верна?

config vlan v2 add untagged 9-16

Как в таком случае пользователи v2 получат доступ к разделяемым ресурсам? По-моему, должно быть

config vlan v2 add untagged 9-24

Антон Донсков
Антон Донсков

Есть ли какой-либо эмулятор  DES-3200-28 т.к. читать то это читать, а практика оно лучше, а за неимением железки, которая для простого смертного все таки денег стоит, как то тоскливо....