- Border Gateway Protocol
-
BGP Название: Border Gateway Protocol
Семейство: Порт/ID: 179/TCP
Назначение протокола: Протокол динамической маршрутизации
Спецификация: Основные реализации (клиенты): Cisco IOS, Juniper JunOS, Bird, Quagga
BGP (англ. Border Gateway Protocol, протокол граничного шлюза) — основной протокол динамической маршрутизации в Интернете.
Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (АС), то есть группами маршрутизаторов под единым техническим управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляет исходя из правил, принятых в сети.
BGP поддерживает бесклассовую адресацию и использует суммирование маршрутов для уменьшения таблиц маршрутизации. С 1994 года действует четвёртая версия протокола, все предыдущие версии являются устаревшими.
BGP, наряду с DNS, является одним из главных механизмов, обеспечивающих функционирование Интернета.
BGP является протоколом прикладного уровня и функционирует поверх протокола транспортного уровня TCP (порт 179). После установки соединения передаётся информация обо всех маршрутах, предназначенных для экспорта. В дальнейшем передаётся только информация об изменениях в таблицах маршрутизации. При закрытии соединения удаляются все маршруты, информация о которых передана противоположной стороной.
Содержание
Формат сообщения
Сообщение BGP начинается с заголовка, после которого, в зависимости от типа сообщения, могут следовать данные. Максимальная длина сообщения — 4096 октетов, минимальная — 19 октетов. Заголовок сообщения содержит следующие поля:
- Маркер (16 октетов) — используется для совместимости, должен быть заполнен единицами;
- Длина (2 октета) — длина сообщения в октетах, включая заголовок;
- Тип (1 октет):
- 1 — Открытие;
- 2 — Обновление информации;
- 3 — Оповещение;
- 4 — Сохранение соединения.
Открытие
Первое сообщение после установки соединения должно быть «Открытие». Если сообщение успешно обработано, в ответ будет послано «Сохранение соединения». В дополнение к заголовку BGP сообщение «Открытие» содержит следующие поля:
- Версия (1 октет) — версия протокола, текущее значение 4;
- Моя система (2 октета) — номер автономной системы;
- Интервал времени (2 октета) — максимальный интервал времени в секундах между получением сообщений «Обновление информации» или «Сохранение соединения»;
- Идентификатор отправителя (4 октета) — устанавливается равным IP-адресу;
- Длина дополнительных параметров (1 октет);
- Дополнительные параметры:
- Тип параметра (1 октет);
- Длина параметра (1 октет);
- Значение параметра.
Обновление информации
Сообщение «Обновление информации» предназначено для передачи информации о маршрутах между АС. Сообщение может указывать новые маршруты и удалять неработающие. Структура сообщения:
Флаги атрибутов Бит Значение 0 1 – дополнительный, 0 – стандартный 1 1– транзитивный (для стандартных всегда 1) 2 1 – информация частичная, 0 – полная 3 1 – поле длины атрибута два октета, 0 – один октет 4 не используются, должны быть 0 5 6 7 - Длина удаляемых маршрутов (2 октета);
- Удаляемые маршруты:
- Длина (1 октет) — длина в битах префикса IP-адреса;
- Префикс IP-адреса, дополненный минимальным количеством бит до полного октета;
- Длина атрибутов пути (2 октета);
- Атрибуты пути:
- Тип атрибута:
- Флаг атрибута;
- Код атрибута;
- Длина атрибута (1 или 2 октета, в зависимости от флага);
- Данные атрибута;
- Тип атрибута:
- Информация о достижимости — список префиксов IP-адресов:
- Длина (1 октет) — длина в битах префикса IP-адреса (нулевая длина — соответствие всем IP-адресам);
- Префикс IP-адреса, дополненный минимальным количеством бит до полного октета.
Все атрибуты пути соответствуют всем записям в поле «Информация о достижимости».
Сохранение соединения
Сообщение сохранения соединения должно посылаться не реже чем раз в одну третью часть максимального интервала времени между сообщениями, но не чаще чем один раз в секунду. Если интервал времени установлен равным нулю, то сообщение не должно периодически рассылаться. Сообщение не использует дополнительных полей.
Оповещение
Оповещение посылается в случае обнаружения ошибки, при этом соединение закрывается. Сообщение содержит следующие поля:
- Код ошибки (1 октет);
- Субкод (1 октет);
- Данные.
Процесс выбора
Процесс выбора запускается после обновления информации и служит для отбора маршрутов, предназначенных для использования локально и передачи другим маршрутизаторам, использующим BGP. Процесс использует атрибуты полученных маршрутов для получения степени предпочтения маршрута или информации о том, что маршрут является неподходящим для занесения в базу маршрутов и должен быть исключён из процесса отбора. Процесс делится на три фазы:
- Вычисление степени предпочтения каждого полученного маршрута;
- Выбор наилучшего маршрута для каждого места назначения и занесение его в базу маршрутов;
- Передача маршрутов на другие маршрутизаторы, при этом может производиться суммирование маршрутов.
См. также
Ссылки
- RFC 1105 (англ.), A Border Gateway Protocol version 1
- RFC 1163 (англ.), A Border Gateway Protocol version 2
- RFC 1164 (англ.), Application of the Border Gateway Protocol in the Internet
- RFC 1265 (англ.), BGP Protocol Analysis
- RFC 1266 (англ.), Experience with the BGP Protocol
- RFC 1403 (англ.), BGP OSPF Interaction
- RFC 4271 (англ.), A Border Gateway Protocol 4 (BGP-4)
- RFC 1772 (англ.), Application of the Border Gateway Protocol version 4 in the Internet
- RFC 1773 (англ.), Experience with the BGP-4 Protocol
- RFC 4274 (англ.), BGP-4 Protocol Analysis
- RFC 1863 (англ.), A BGP4/IDRP Route Server alternative to a full mesh routing
- RFC 1997 (англ.), BGP Communities Attribute
- RFC 1998 (англ.), An Application of the BGP Community Attribute in Multi-home Routing
- BGP протокол (рус.), Использование BGP для междоменного роутинга (примеры настройки Cisco маршрутизаторов)
Литература
- Установка и настройка BGP, используя ПО маршрутизации Quagga в Gentoo Linux
- Внешний протокол BGP
- Настройка клиента BGP на Cisco
- Настройка BGP на Linux (Quagga Zebra) с автоматической балансировкой нагрузки по трем каналам и резервированием
- Уильям Р. Паркхерст Справочник по командам и настройке протокола BGP-4 маршрутизаторов Cisco = Cisco BGP-4 Command and Configuration. — М.: «Вильямс», 2002. — С. 384. — ISBN 1-58705-017-X
- BGP протокол (перевод на русский) = CISCO UNIVER CD.
Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP) Физический Канальный Ethernet • PPPoE • PPP • L2F • 802.11 Wi-Fi • 802.16 WiMax • Token ring • ARCNET • FDDI • HDLC • SLIP • ATM • CAN • DTM • X.25 • Frame relay • SMDS • STP • ERPS
Сетевой Транспортный Сеансовый Представления Прикладной Другие прикладные OSCAR • CDDB • Multicast FTP • Multisource FTP • BitTorrent • Gnutella • Skype
Категории:- TCP/IP
- Сетевые протоколы
- Протоколы маршрутизации
- Интернет-протоколы
Wikimedia Foundation. 2010.