Обновление партнёрских BGP отношений

Таблица — Команды для обновления партнерских BGP отношений

КомандаТип обновленияКоличество соседей, направление
clear ip bgpЖёсткийВсе, входящие/исходящие
clear ip bgp neighbor-idЖёсткийОдин, входящие/исходящие
clear ip bgp neighbor-id in/outМягкийОдин, входящие/исходящие
clear ip bgp neighbor-id soft in/outМягкийОдин, входящие/исходящие
clear ip bgp softМягкийВсе, входящие/исходящие
clear ip bgp neighbor-id softМягкийОдин, входящие/исходящие

Под “жёстким” типом обновления подразумевается обновление соседских отношений со сбросом TCP сессии.

Под “мягким” типом обновления подразумевается обновление соседских отношений без сброса TCP сессии.

Для работы функциональности clear ip bgp neighbor-id in требуется наличие команды neighbor <address> soft-reconfiguration inbound в конфигурации протокола.

Пользователям часто приходится менять политики фильтрации маршрутов в BGP. Крупные изменения в таблицах маршрутизации и сброс TCP-сессий с BGP-соседями вызывают всплеск нагрузки на центральный процессор маршрутизатора. Чтобы уменьшить этот эффект и сделать работу с BGP-соседями и анонсами маршрутной информации более удобной и гибкой, в EcoRouterOS предусмотрен функционал отключения автообновления маршрутной информации при смене политик фильтрации. В BGP маршрутные политики могут настраиваться следующими способами:

  • при помощи префикс-листов (prefix-list);
  • при помощи карт маршрутов (route-map);
  • при помощи специальных листов для маршрутных политик (policy-filter-list);
  • при помощи листов распределения (distribute-list);
  • при помощи листов фильтрации (filter-list) с листами по BGP AS (ip as-path access-list).

По умолчанию, при создании или изменении политики фильтрации в направлении к соседу маршрутизатор отправит сообщение с анонсами маршрутов (BGP Update) через 30 сек (в случае EBGP-соседства) или мгновенно (в случае iBGP-соседства).

Пример:

ip prefix-list 1 deny 1.1.1.1/32
neighbor 10.0.0.2 prefix-list 1 out  

Изменить временной интервал можно командой neighbor 1.1.1.1 advertisement-interval <VALUE>, где VALUE указывается в секундах. Выключить подобное поведение можно командой neighbor 10.0.0.2 disable-auto-refresh. Тогда для отправки маршрутной информации соседу необходимо будет сбросить соседские отношения. Для этого без сброса TCP-сессий нужно сбросить соседские отношения (мягкий сброс) — при вызове команд сброса clear ip bgp ... следует добавить ключевое слово soft.

По умолчанию, при создании или изменении фильтрующей политики в направлении от соседа маршрутизатор мгновенно (в обоих случаях — EBGP и iBGP соседства) отправит сообщение с запросом обновления маршрутной информации от соседа (BGP Route-Refresh), но только в том случае, если сосед поддерживает эту опцию.

Пример:

  ip prefix-list 1 deny 1.1.1.1/32 
  neighbor 10.0.0.2 prefix-list 1 in 

Это поведение вызвано опцией BGP Auto-Refresh, которое в EcoRouterOS включено по умолчанию. Выключить подобное поведение можно командой neighbor 10.0.0.2 disable-auto-refresh, тогда для отправки запроса на обновление маршрутной информации от соседа необходимо будет сбросить соседские отношения без сброса TCP сессий добавив ключевое слово soft в командах clear ip bgp …. Здесь также необходима поддержка опции BGP Route-Refresh у соседа.

Команда no neighbor 10.0.0.2 capability route-refre****sh позволит отключить поддержку опции BGP Route-Refresh и исключить возможность отправки сообщений BGP Route-Refresh соседу.

Внимание! Настоятельно рекомендуется отключать функционал auto-refresh для соседей, если те передают слишком большое количество анонсов в BGP.

Для проверки поддержки этой опции у соседа можно воспользоваться командой:

ecorouter#show ip bgp neighbors
BGP neighbor is 10.0.0.2, remote AS 2, local AS 1, external link
 BGP version 4, remote router ID 100.100.100.100
 BGP state = Established, up for 02:07:11
 Last read 02:07:11, hold time is 90, keepalive interval is 30 seconds
 Neighbor capabilities:
  Route refresh: advertised and received (old and new)
  Address family IPv4 Unicast: advertised and received
 Received 315 messages, 0 notifications, 0 in queue
. . . .

Фраза в выводе «advertised and received» говорит о включённой опции BGP Route-Refresh как на локальном маршрутизаторе, так и у соседа.

Результат отключения этой опции на локальном устройстве показан ниже:

ecorouter#show ip bgp neighbors
BGP neighbor is 10.0.0.2, remote AS 2, local AS 1, external link
 BGP version 4, remote router ID 100.100.100.100
 BGP state = Established, up for 02:07:11
 Last read 02:07:11, hold time is 90, keepalive interval is 30 seconds
 Neighbor capabilities:
  Route refresh: received (old and new)
  Address family IPv4 Unicast: advertised and received
 Received 315 messages, 0 notifications, 0 in queue
. . . .