Блок данных протокола мостового перенаправления (Bridge Protocol Data Unit, BPDU) — фрейм (единица данных) протокола управления сетевыми мостами, IEEE 802.1d, базируется на реализации протокола основного дерева (Spanning Tree Protocol, STP). Используется для исключения возможности возникновения петель в сетях передачи данных (например Ethernet) при наличии в них многосвязной топологии. Используя одну физическую либо логическую связь в качестве основной, BPDU удерживает одну из доступных вторичных связей в режиме бездействия (ожидания). Таким образом полезный трафик передаётся только по одной из доступных связей. При нарушении функционирования одного из каналов (что легко наблюдается отсутствием прохождения через него сообщений 802.1d) ожидающий вторичный канал автоматически включается в работу, обеспечивая непрерываемость связности в сети. Применяется в протоколах STP и EtherChannel.
Фрейм BPDU имеет следующие поля:
- Идентификатор версии протокола STP (2 байта). Коммутаторы должны поддерживать одну и ту же версию протокола STP
- Версия протокола STP (1 байт)
- Тип BPDU (1 байт). Существует 2 типа BPDU — конфигурационный и уведомление о реконфигурации
- Флаги (1 байт – бит 1 для TCN, бит 8 для TCA)
- Идентификатор корневого коммутатора (8 байт)
- Расстояние до корневого коммутатора (4 байта)
- Идентификатор коммутатора (8 байт)
- Идентификатор порта (2 байта)
- Время жизни сообщения (2 байта). Измеряется в единицах по 0,5 с, служит для выявления устаревших сообщений
- Максимальное время жизни сообщения (2 байта). Если кадр BPDU имеет время жизни, превышающее максимальное, то кадр игнорируется коммутаторами
- Интервал hello (2 байт), интервал через который посылаются пакеты BPDU
- Задержка смены состояний (2 байта). Минимальное время перехода коммутатора в активное состояние
Блок данных BPDU (Bridge Protocol Data Unit) применяется в протоколах Ethernet и STP (Spanning Tree Protocol) для обмена информацией между коммутаторами о топологии сети и предотвращения петель в сети.
В протоколе EtherChannel, блок данных BPDU используется для выбора лидирующего коммутатора, который будет обрабатывать трафик, проходящий через канал связи. Коммутаторы обмениваются BPDU, чтобы определить, кто будет лидером в EtherChannel и контролировать процесс сборки и разборки пакетов.
В протоколе STP, блок данных BPDU используется для определения петель в сети и выбора лучшего пути для передачи данных. Коммутаторы обмениваются BPDU, чтобы определить, какие порты должны быть заблокированы, чтобы предотвратить возникновение петель в сети и обеспечить устойчивость и безопасность трафика.
Таким образом, блок данных BPDU играет важную роль в обоих протоколах, помогая коммутаторам синхронизироваться и принимать правильные решения для оптимальной работы сети.