Route Reflector

Route Reflector (RR, RFC 4456) — способ масштабировать iBGP без full-mesh. RR "отражает" маршруты между клиентами.

Проблема без RR

iBGP требует full-mesh — каждый роутер BGP-сессия с каждым. Для N роутеров = N(N-1)/2 сессий. При 100 роутерах — 4950 сессий. Не масштабируется.

Решение

Все клиенты подключаются только к RR. RR распространяет маршруты между клиентами. N сессий вместо N².

       ┌────┐
   ┌───┤ RR ├───┐
   │   └─┬──┘   │
   │     │      │
 R1 ─── R2 ─── R3   (без full-mesh между R1-R3)

Split-horizon правила RR

Атрибуты для петель

Дизайн

Alternative — BGP Confederations

Другой способ — разбить AS на sub-AS. Внутри sub-AS full-mesh или RR, между sub-AS — как будто eBGP. Практически никто не использует, все на RR.

Add-Path

По умолчанию RR отправляет только лучший путь. С RFC 7911 (Add-Path) может передавать несколько → лучше конвергенция при отказах.

См. также