Статус документа
В этом документе содержится спецификация протокола, предложенного сообществу Internet. Документ служит приглашением к дискуссии в целях развития и совершенствования протокола. Текущее состояние стандартизации протокола вы можете узнать из документа "Internet Official Protocol Standards" (STD 1). Документ может распространяться без ограничений.
Тезисы
Этот документ посвящен обсуждению протокола BGP (Border Gateway Protocol — протокол граничного шлюза), который является протоколом маршрутизации между автономными системами (inter-Autonomous System routing protocol).
Основной функцией поддерживающей протокол BGP системы является обмен информацией о доступности сетей с другими системами BGP. Информация о доступности сетей включает список автономных систем (AS), через которые проходит эта информация. Этих сведений достаточно для построения графа связности AS, из которого могут исключаться маршрутные петли (routing loop), а также для принятия некоторых решений на уровне политики AS.
BGP-4 обеспечивает новые механизмы поддержки бесклассовой междоменной маршрутизации (CIDR — Classless Interdomain Routing). Эти механизмы включают поддержку анонсирования группы адресатов с помощью префикса IP и позволяют обойтись без концепции «класса» сетей в рамках протокола BGP. BGP-4 также добавляет механизм объединения маршрутов, включающий объединение путей AS.
Этот документ прекращает действие RFC 1771.
Оглавление
- 1. Введение
- 1.1. Определения основных терминов
- 1.2. Уровни требований
- 2. Благодарности
- 3. Основы работы протокола
- 3.1. Маршруты — анонсирование и хранение
- 3.2. База маршрутной информации RIB
- 4. Формат сообщений
- 4.1. Формат заголовка
- 4.2. Формат сообщения OPEN
- 4.3. Формат сообщения UPDATE
- 4.4. Формат сообщения KEEPALIVE
- 4.5. Формат сообщения NOTIFICATION
- 5. Атрибуты пути
- 5.1. Использование атрибутов пути
- 5.1.1. ORIGIN
- 5.1.2. AS_PATH
- 5.1.3. NEXT_HOP
- 5.1.4. MULTI_EXIT_DISC
- 5.1.5. LOCAL_PREF
- 5.1.6. ATOMIC_AGGREGATE
- 5.1.7. AGGREGATOR
- 6. Обработка ошибок BGP
- 6.1. Отработка ошибок в заголовках сообщений
- 6.2. Отработка ошибок в сообщениях OPEN
- 6.3. Отработка ошибок в сообщениях UPDATE
- 6.4. Отработка ошибок в сообщениях NOTIFICATION
- 6.5. Отработка значений Hold Timer
- 6.6. Обработка ошибок машины конечных состояний
- 6.7. Обработка Cease
- 6.8. Детектирование конфликтов в соединениях BGP
- 7. Согласование версий BGP
- 8. Машина конечных состояний BGP
- 8.1. События BGP FSM
- 8.1.1. Дополнительные события, связанные с дополнительными атрибутами сессии
- 8.1.2. События административного плана
- 8.1.3. События, связанные с таймерами
- 8.1.4. События, связанные с соединениями TCP
- 8.1.5. События, связанные с сообщениями BGP
- 8.2. Описание FSM
- 8.2.1. Определение FSM
- 8.2.1.1. Термины «активный» и «пассивный»
- 8.2.1.2. FSM и детектирование конфликтов
- 8.2.1.3. FSM и дополнительные атрибуты сессий
- 8.2.1.4. Номера событий FSM
- 8.2.1.5. Действия FSM, зависящие от реализации
- 8.2.2. Машина конечных состояний
- 9. Обработка сообщений UPDATE
- 9.1. Процесс выбора маршрутов (Decision Process)
- 9.1.1. Фаза 1: Расчет предпочтений (Calculation of Degree of Preference)
- 9.1.2. Фаза 2: Выбор маршрута (Route Selection)
- 9.1.2.1. Возможность преобразования маршрута
- 9.1.2.2. «Отбрасывание лишнего» (фаза 2)
- 9.1.3. Фаза 3: Распространение маршрутов (Route Dissemination)
- 9.1.4. Перекрывающиеся маршруты
- 9.2. Процесс передачи обновлений (Update-Send)
- 9.2.1. Контроль за избыточным трафиком
- 9.2.1.1. Частота анонсирования маршрутов
- 9.2.1.2. Частота обновления из исходной AS
- 9.2.2. Эффективная организация маршрутных данных
- 9.2.2.1. Снижение объема информации
- 9.2.2.2. Агрегирование маршрутной информации
- 9.3. Критерии выбора маршрута
- 9.4. Порождение маршрутов BGP
- 10. Таймеры BGP
- Приложение A. Сравнение с RFC 1771
- Приложение B. Сравнение с RFC 1267
- Приложение C. Сравнение с RFC 1163
- Приложение D. Сравнение с RFC 1105
- Приложение E. Опции TCP, которые могут использоваться с BGP
- Приложение F. Рекомендации для разработчиков
- Приложение F.1. Множество префиксов сетей в одном сообщении
- Приложение F.2. Снижение числа переключений маршрутов
- Приложение F.3. Упорядочение атрибутов пути
- Приложение F.4. Сортировка AS_SET
- Приложение F.5. Контроль за согласованием версий
- Приложение F.6. Комплексное агрегирование AS_PATH
- Вопросы безопасности
- Согласование с IANA
- Нормативные документы
- Дополнительная литература
1. Введение
Протокол граничного шлюза (BGP) является протоколом маршрутизации между автономными системами (AS).
Основной функцией поддерживающей протокол BGP системы является обмен информацией о доступности сетей с другими системами BGP. Информация о доступности сетей включает список автономных систем (AS), через которые проходит эта информация. Этих сведений достаточно для построения графа связности AS, из которого могут исключаться маршрутные петли (routing loop), а также для принятия некоторых решений на уровне политики AS.
BGP-4 обеспечивает новые механизмы поддержки бесклассовой междоменной маршрутизации (CIDR) [RFC1518, RFC1519]. Эти механизмы включают поддержку анонсирования группы адресатов с помощью префикса IP и позволяют обойтись без концепции «класса» сетей в рамках протокола BGP. BGP-4 также добавляет механизм объединения маршрутов, включающий объединение путей AS.
Маршрутная информация, передаваемая с использованием BGP поддерживает только парадигму пересылки на основе адреса получателя (destination-based forwarding paradigm), которая предполагает, что маршрутизатор пересылает пакеты, опираясь лишь на адрес получателя, содержащийся в заголовке IP-пакета. Это, в свою очередь, отражает набор правил политики, которые могут быть применены (или не применены) с использованием BGP. Протокол BGP может поддерживать только правила, соответствующие парадигме пересылки по адресу получателя.