Двустороннее обнаружение пересылки
Двустороннее обнаружение пересылки (англ. Bidirectional Forwarding Detection, BFD) — это минималистичный сетевой протокол, ориентированный на соединение, который используется для обнаружения отказов между двумя взаимосвязанными маршрутизаторами.
Данный протокол был разработан для сокращения времени сходимости сетей при возникновении сбоев. BFD позволяет оповещать об изменении состояния в сетях IP в пределах долей секунды[1].
BFD функционирует с низкими накладными расходами даже на тех каналах передачи данных, где отсутствуют или ограничены собственные средства обнаружения ошибок, либо они работают с существенной задержкой. К таким каналам относятся, например, виртуальные цепи (англ. Virtual Circuits, VC) в среде SDH, IP-туннели и маршруты с коммутацией по метке MPLS (LSP).
BFD устанавливает соединение (англ. Session) между двумя конечными точками (маршрутизаторами). Если конечные точки не являются непосредственными соседями, используется так называемый многопрыжковый BFD (англ. Multihop BFD).
Установке BFD-соединения обычно предшествует трёхстороннее рукопожатие.
Аутентификация BFD-сеансов поддерживается. В зависимости от производителя оборудования и версии микропрограммы доступны методы на основе паролей в открытом виде, а также алгоритмов Message-Digest Algorithm 5 (MD5) и Secure Hash Algorithm 1 (SHA1).
Конечная доступность проверяется посредством периодической отправки Hello-сообщений. Интервалы Hello-сообщений зависят от производителя и модели устройства и, как правило, составляют несколько миллисекунд. По умолчанию отсутствие трёх подряд Hello-сообщений приводит к завершению BFD-сеанса.
Благодаря интеграции информации о состоянии соединения в протоколы маршрутизации, такие как OSPF и IS-IS, они способны обнаруживать отказ соседнего устройства быстрее, чем это определяется стандартным значением dead-timer соответствующего IGP. Это справедливо и для протокола RIP, который по умолчанию использует 30-секундный интервал для сообщений Hello. Среди EGP протокол BGP может использовать информацию BFD для достижения более быстрой сходимости. Для статических маршрутов при помощи BFD можно контролировать достижимость следующего перехода и при его недоступности удалять такие маршруты из таблицы маршрутизации.
В отличие от маршрутизирующих протоколов, таких как RIP, OSPF или IS-IS, BFD не обладает механизмом автоматического обнаружения соседей. Поэтому каждая BFD-сессия должна быть явно сконфигурирована на участвующих маршрутизаторах.
Ведущие производители сетевого оборудования обеспечивают обработку BFD-сессий аппаратными средствами (на линийных картах своих маршрутизаторов). Количество поддерживаемых BFD-сессий зависит от модели оборудования и варьирует от менее сотни до нескольких тысяч. Использование аутентификации может привести к необходимости обработки сеансов BFD средствами программного обеспечения (CPU маршрутизатора), что ограничивает количество BFD-сессий и/или увеличивает интервалы BFD Hello.
Спецификация
Примечания
Ссылки
- Рабочая группа BFD IETF
- Презентация по BFD (PDF; 1,0 МБ) компании Juniper Networks на ripe.net
- Снижение времени обнаружения отказов линка с помощью BFD — Network World
- Информация производителей протокола BGP: Cisco и Juniper