Route Reflectors: теория BGP | Замена Full Mesh и масштабирование
Создана 12.10.2026
Отредактирована 12.10.2026
Отредактирована 12.10.2026
О чём эта страница: Это теоретическое дополнение к Лабораторной работе №6. Здесь мы разберём, почему iBGP требует Full Mesh, как Route Reflector решает эту проблему, и какие правила распространения маршрутов действуют внутри кластера.
1. Проблема: iBGP требует Full Mesh
🔴 Правило горизонта
В BGP действует правило горизонта (split horizon): маршрут, полученный по iBGP, не передаётся другим iBGP-соседям. Это защита от петель.
Что это значит на практике:
- Если у вас 3 маршрутизатора в AS, каждый должен быть соединён с каждым (Full Mesh).
- Если у вас 10 маршрутизаторов, нужно 45 сессий (формула: N × (N-1) / 2 ).
- Если у вас 20 маршрутизаторов, нужно 190 сессий.
- Если у вас 100 маршрутизаторов, нужно 4950 сессий. Это невозможно масштабировать.
📊 Формула расчёта
Количество сессий = N × (N-1) / 2
| Количество маршрутизаторов (N) | Количество сессий |
|---|---|
| 3 | 3 |
| 5 | 10 |
| 10 | 45 |
| 20 | 190 |
| 100 | 4950 |
Схема Full Mesh для 5 маршрутизаторов
R1 ───── R2 │ ╲ ╱ │ │ ╲╱ │ │ ╱╲ │ │ ╱ ╲ │ R3 ───── R4 ╲ ╱ ╲ ╱ R5 Сессий: 10 (для 5 роутеров)
Проблема: С ростом количества маршрутизаторов количество сессий растёт квадратично. Это создаёт три проблемы:
1. Сложность конфигурации: нужно настроить N × (N-1) / 2 соседей.
2. Высокая стоимость: больше сессий → больше ресурсов (CPU, RAM).
3. Сложность поддержки: при добавлении нового маршрутизатора нужно перенастроить всех.
2. Решение: Route Reflector (RR)
Route Reflector — это iBGP-роутер, который отражает (reflecting) маршруты, полученные от одного iBGP-клиента, другим iBGP-клиентам. Это нарушает правило горизонта, но безопасно, потому что RR добавляет специальные атрибуты для защиты от петель.
Схема с Route Reflector
R1 (RR) ╱ │ ╲ ╱ │ ╲ ╱ │ ╲ R2 R3 R4 (клиент) (клиент) (клиент) Сессий: 3 (вместо 6 для Full Mesh)
✅ Преимущества RR
| Преимущество | Что даёт |
|---|---|
| Масштабируемость | Количество сессий = N-1 (вместо N × (N-1) / 2 ). |
| Простота | Клиенты не должны быть соединены друг с другом. |
| Гибкость | RR можно резервировать (два RR для отказоустойчивости). |
| Снижение нагрузки | Меньше сессий → меньше CPU/RAM |
📊 Сравнение: Full Mesh vs Route Reflector
| Критерий | Full Mesh | Route Reflector |
|---|---|---|
| Количество сессий | N × (N-1) / 2 | N-1 |
| Для 5 маршрутизаторов | 10 сессий | 4 сессии |
| Для 20 маршрутизаторов | 190 сессий | 19 сессий |
| Для 100 маршрутизаторов | 4950 сессий | 99 сессий |
| Сложность | Высокая | Низкая |
| Расход CPU/RAM | Высокая | Низкий |
| Отказоустойчивость | Высокая | Требует резервного RR |
3. Ключевые понятия
| Понятие | Определение |
|---|---|
| Route Reflector (RR) | iBGP-роутер, который отражает маршруты между клиентами. |
| Клиент | iBGP-роутер, соединённый с RR и получающий от него отражённые маршруты. |
| Не-клиент | iBGP-роутер, не являющийся клиентом RR. RR общается с ним как с обычным iBGP-соседом. |
| Кластер | Группа RR и его клиентов. |
| Cluster ID | Идентификатор кластера. Используется для защиты от петель внутри кластера. По умолчанию = Router ID RR. |
Simple Text
Заголовок H2
Частные адреса не используются в глобальной сети Интернет.
text
ПРИМЕЧАНИЕ
Термины "порт коммутатора" и "интерфейс коммутатора" являются синонимами.
| Параметр | Описание |
|---|---|
| Text | Text |
| Text | Text |
Рис. 1.
Страница в разработке