BGP Additional Paths
BGP Additional Paths — это расширение возможностей протокола BGP (Border Gateway Protocol), позволяющее маршрутизаторам передавать и принимать не только лучший путь к подсети, но и дополнительные альтернативные пути. Это улучшает отказоустойчивость, балансировку нагрузки и оптимизацию передачи данных в сложных сетях.
В норме маршрутизаторы распространяют только единственный лучший путь для каждой подсети. Дополнительные пути оказываются скрыты, и это не всегда является оптимальным поведением. Сокрытие путей может помешать эффективному использованию сети.
При плановом обслуживании и переключении на резервный путь BGP должен заново обработать все маршруты, что может вызвать задержки в работе сети.
Аналогичная ситуация может случиться при сбое на основном пути, BGP должен будет дождаться обновлений от соседей, что занимает секунды. Но с Additional Paths резервные пути известны, и переключение происходит почти мгновенно.
Для настройки BGP Additional Paths достаточно дать команду в контекстном режиме настройки BGP роутера (router bgp <AS_NUM>
): neighbor <1.1.1.1> capability add-path {both|receive|send}
, где AS_NUM — номер автономной системы, 1.1.1.1 — IP-адрес соседнего маршрутизатора, both | receive | send — то что мы “предлагаем” сделать соседу: принимать, отправлять дополнительные пути или и то и другое вместе.
Также можно выбрать какие пути принимать во внимание все или только лучшие. Делается это командой neighbor <1.1.1.1> advertise add-path {all|best}
, где all — все доступные маршруты, а best — маршруты не хуже лучшего по совокупности параметров. По умолчанию считается применённой команда с параметром all.