Найти в Дзене

Next-Hop-Self (NHS) в BGP - База

Оглавление

Next-Hop-Self (NHS) — это настройка или команда в BGP, которая заставляет маршрутизатор (обычно находящийся на границе автономной системы — AS) заменять атрибут NEXT_HOP в обновлениях BGP, отправляемых соседу, на свой собственный IP-адрес.

Более простыми словами:

Представьте, что вы почтальон (маршрутизатор), который получает письмо (маршрут BGP) с адресом отправителя в другом городе. Вы передаёте это письмо своему коллеге (соседу BGP), но вместо того, чтобы оставить оригинальный адрес отправителя, вы пишете свой собственный служебный адрес. Теперь, если вашему коллеге нужно ответить или отправить что-то по этому маршруту, он будет обращаться к вам.

Как это работает технически:

В BGP атрибут NEXT_HOP указывает IP-адрес следующего перехода для достижения префикса (сети).

  1. Обычная ситуация без NHS: Маршрутизатор R1 (AS 100) получает от внешнего соседа R2 (AS 200) маршрут до сети 10.0.0.0/24 с NEXT_HOP = 200.200.200.200 (IP R2). Когда R1 объявляет этот маршрут своему внутреннему соседу R3 (оба в AS 100), по умолчанию он не меняет атрибут NEXT_HOP. R3 видит маршрут с NEXT_HOP = 200.200.200.200. Чтобы этот маршрут был рабочим, R3 должен иметь путь до IP 200.200.200.200 (через IGP или статический маршрут).
  2. Проблема: Часто у внутренних маршрутизаторов (R3) нет маршрута к внешним IP-адресам соседей (200.200.200.200). В этом случае он отбросит маршрут BGP, даже если он есть у R1.
  3. Решение Next-Hop-Self: На маршрутизаторе R1 настраивается next-hop-self для сессии с R3. Теперь, когда R1 отправляет маршрут 10.0.0.0/24 R3, он заменяет NEXT_HOP на IP-адрес своей интерфейсной связи с R3 (например, 192.168.1.1). Для R3 NEXT_HOP становится равным 192.168.1.1. Поскольку R3 находится в одной AS с R1, у него точно есть маршрут до этого адреса (через IGP). Маршрут становится активным и пригодным для использования.

Для чего нужен Next-Hop-Self?

  1. Устранение проблем с достижимостью следующего прыжка: Основная причина. Гарантирует, что внутренние BGP-соседи (iBGP) смогут достичь адреса, указанного в NEXT_HOP.
  2. Соблюдение правила синхронизации BGP (если оно используется): Правило требует, чтобы маршрут, объявленный через iBGP, был известен и через IGP. NHS помогает, делая NEXT_HOP внутренним адресом, который уже есть в IGP.
  3. Контроль над трафиком: Трафик от внутренних маршрутизаторов будет идти сначала на граничный маршрутизатор (R1), который применил NHS, а уже потом — во внешнюю сеть. Это упрощает политику и мониторинг.

Типичные сценарии применения:

  • На граничном маршрутизаторе (ASBR) для всех iBGP-сессий с маршрутизаторами внутри своей AS.
  • На Route Reflector, когда он отражает маршруты своим клиентам.

Пример конфигурации (Cisco IOS):

Итог: Next-Hop-Self — это инструмент для "исправления" атрибута NEXT_HOP при распространении внешних маршрутов BGP внутри автономной системы. Он решает классическую проблему недостижимости следующего прыжка и является стандартной практикой в большинстве сетей при настройке iBGP.