Дополнительно
Коротко
Multipath, communities, add-path, BFD, route refresh и другие фичи для production.
Multipath
Установка нескольких путей в RIB для балансировки. По умолчанию BGP ставит только лучший маршрут.
eBGP multipath - несколько путей через разные AS:
Juniper
set routing-options autonomous-system 65000
set protocols bgp group UPSTREAM multipathHuawei
bgp 65000
#
ipv4-family unicast
maximum load-balancing ebgp 4iBGP multipath - несколько путей внутри AS:
Juniper
set protocols bgp group INTERNAL multipathHuawei
bgp 65000
#
ipv4-family unicast
maximum load-balancing ibgp 4eiBGP multipath - смешанный (eBGP + iBGP):
Huawei
bgp 65000
#
ipv4-family unicast
maximum load-balancing 4Communities
Метки для группировки маршрутов и применения политик.
Форматы:
- Standard:
AS:VALUE(16 bit каждое) - RFC 1997 - Extended: 6 байт - используется в VPN
- Large:
AS:VALUE1:VALUE2(32 bit AS) - RFC 8092
Well-known communities:
no-export- не анонсировать за пределы ASno-advertise- не анонсировать никомуno-export-subconfed- не анонсировать за пределы sub-AS
Juniper
# Установка community
set policy-options community MY-COMM members 65000:100
set policy-options policy-statement SET-COMM term 1 then community add MY-COMM
# Фильтрация по community
set policy-options policy-statement MATCH-COMM term 1 from community MY-COMM
set policy-options policy-statement MATCH-COMM term 1 then acceptHuawei
# Установка community
route-policy SET-COMM permit node 10
apply community 65000:100
# Фильтрация по community
ip community-filter basic MY-COMM permit 65000:100
route-policy MATCH-COMM permit node 10
if-match community-filter MY-COMMno-export пример:
Juniper
set policy-options policy-statement NO-EXPORT then community add no-exportHuawei
route-policy NO-EXPORT permit node 10
apply community no-exportAdd-Path
Анонс нескольких путей к одному префиксу. Полезно для RR - клиенты получают альтернативы.
Juniper
set protocols bgp group RR-CLIENTS family inet unicast add-path send path-count 2
set protocols bgp group RR-CLIENTS family inet unicast add-path receiveHuawei
bgp 65000
#
ipv4-family unicast
peer RR-CLIENTS advertise-ext-community
peer RR-CLIENTS advertise-community
peer RR-CLIENTS additional-paths send
peer RR-CLIENTS additional-paths receiveBFD (Bidirectional Forwarding Detection)
Быстрое обнаружение падения соседа (миллисекунды вместо Hold Timer).
Juniper
set protocols bgp group UPSTREAM bfd-liveness-detection minimum-interval 300
set protocols bgp group UPSTREAM bfd-liveness-detection multiplier 3Huawei
bgp 65000
peer 10.0.0.1 bfd enable
peer 10.0.0.1 bfd min-tx-interval 300 min-rx-interval 300 detect-multiplier 3Route Refresh
Запрос повторной отправки маршрутов от соседа без сброса сессии.
Juniper
# В CLI
clear bgp neighbor 10.0.0.1 soft-inboundHuawei
# В CLI
refresh bgp 10.0.0.1 ipv4 unicast importGraceful Restart
Сохранение forwarding при перезапуске BGP-процесса. Сосед не удаляет маршруты.
Juniper
set routing-options graceful-restartHuawei
bgp 65000
graceful-restart
graceful-restart timer restart 120Next-hop tracking
Отслеживание доступности NEXT_HOP через IGP. При недоступности - маршрут удаляется.
Juniper
# Включено по умолчанию
set protocols bgp group INTERNAL family inet unicast nexthop-resolutionHuawei
bgp 65000
#
ipv4-family unicast
nexthop recursive-lookup route-policy CHECK-NHSelective route download
Установка в RIB только нужных маршрутов (экономия памяти).
Juniper
set protocols bgp group UPSTREAM family inet unicast rib-group SELECTIVEHuawei
bgp 65000
#
ipv4-family unicast
peer 10.0.0.1 route-policy ACCEPT-ONLY-DEFAULT import