BGP. Received-routes vs. Accepted-routes

Нотатки з роботи. І знову про BGP.

Сьогодні я міркую про функціонал Route-Refresh. Потрібен він для того, щоб не розривати з'єднання з сусідом, не скидати таблицю маршрутизації, не переривати сервіси, а просто перезапросить маршрути. І їй уже сім років у обітницю.

Наприклад, одна з найбільш частих ситуацій, де затребуваний цей функціонал — оновлення політики.

Отже, є політика на імпорт маршрутів в таблицю маршрутизації — вона фільтрує, наприклад, всі префікси довше 23 бітів, тобто /24 вже не проходить і не потрапляє в ТМ. Потім ми бац — і змінюємо правило — вирішили блокувати тільки префікси довше 25. І /24 тоді вже повинні бути імпортовані.

Тоді BGP по-швидкому перезапрашивает їх і застосовує оновлену політику.

Власне, зважаючи безпрецедентного зручності даної можливості, на хуавее скасований альтернативний шлях застосувати політику без розриву BGP-сесії: зберігати всі отримані від сусіда маршрути.

Настав час сказати, що існує дві BGP-таблиці:

— отримані маршрути — зберігає все.
— схвалені маршрути — зберігає тільки те, що залишилося після застосування політик (і задовольняє іншим вимогам BGP).

І є навіть дві команди, які дозволяють подивитися ці таблиці

display bgp routing table peer ipv4 address received-routes
display bgp routing table peer ipv4 address accepted-routes

Однак у зв'язку з скасуванням вони показують одне і те ж. Для економії оперативної пам'яті маршрути, які не пройшли перевірки, не зберігаються в таблиці отриманих маршрутів. А при необхідності перезапрашиваются через Route Refresh.

Вимкнути цей режим можна командою peer keep all-routes (для конкретного, як ви розумієте, сусіда — бо не плодіть понад необхідного — Оккама). Наприклад, якщо сусід не підтримує Route-Refresh (такі троглодити ще існують?)

Ну а якщо підтримує, то не обов'язково включати keep all-routes. Технічно і навпаки вірно — якщо зберігати всі маршрути, то можна і не перезапрашивать, але хто ж його вимкне — він же базовий функціонал BGP (вже майже).

Ці дві функції або, хочете, називайте їх особливостями поведінки, взаємопов'язані, але, строго кажучи, не є повними синонімами.

Наприклад, маючи Route-refresh, ви, ймовірно, могли б захотіти в таблиці отриманих від сусіда маршрутів бачити повний список до фільтрації, щоб споглядати роботу політик.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.