Аббревиатура BGP расшифровывается как Border Gateway Protocol. Это так называемый протокол маршрутизации по вектору пути, с помощью которого различные автономные системы (AS) Интернета могут быть подключены друг к другу, а данные могут маршрутизироваться через границы AS.
Согласно отчетам, обновление программного обеспечения BGP пошло не так, что привело к отключению Facebook.
Протокол пограничного шлюза может использоваться в AS. Внутри AS он часто работает с так называемыми протоколами внутреннего шлюза (IGP), такими как Open Shortest Path First (OSPF) или Intermediate System to Intermediate System (IS-IS).
Протокол пограничного шлюза (BGP) – это сетевой стандарт, который устанавливает логические пути соединения между автономными системами, через которые проходят данные. Основные функции BGP описаны в RFC 1163. В настоящее время используется версия BGPv4, которая, среди прочего, определена в RFC 4271, 4760 и 4364.
Протокол пограничного шлюза не ограничивается маршрутизацией IPv4 или IPv6, но также может использоваться для других протоколов или меток MPLS. BGP рассчитан на масштабирование и надежность. Это сложный механизм маршрутизации, который нужно запустить и запустить, и требуется время, чтобы пути соединения сходились.
Как работает протокол пограничного шлюза?
Протокол пограничного шлюза работает на векторной основе. Для передачи информации о маршрутизации маршрутизаторы устанавливают безопасные TCP-соединения друг с другом. Сообщения и информация отправляются и принимаются через эти сеансы BGP. Для этого используется порт TCP 179. Возможные типы сообщений:
- ОТКРЫТЬ: начать обмен информацией в рамках сеанса
- KEEPALIVE: для подтверждения сообщения OPEN и для поддержания сеансов. Сеансы поддерживаются регулярными сообщениями KEEPALIVE от подключенных маршрутизаторов.
- ОБНОВЛЕНИЕ: информировать об изменении пути
- УВЕДОМЛЕНИЕ: для разрыва соединения и удаления путей, например, потому что сообщения KEEPALIVE больше не принимаются
Сообщения UPDATE играют центральную роль в протоколе пограничного шлюза. Маршрутизаторы используют эти уведомления, чтобы узнавать о новых маршрутах или получать информацию об исчезновении существующих. Маршрутизатор может создать график, отображающий сетевое взаимодействие автономных систем на основе полученных данных. Процедура создания графа не учитывает циклы и учитывает характеристики тех путей, которые были включены в обновление. Возможные атрибуты маршрута:
- AS_PATH: информация о том, какая AS цель может быть достигнута. Автономные системы представлены номерами AS.
- Next Hop: IP-адрес следующего промежуточного узла на пути к префиксу.
- Метрика IGP: Информация о расходах через собственную сеть
- Дискриминатор с несколькими выходами (MED): для определения приоритета параллельных подключений
- Теги маршрутизации или сообщества: 32-битные длинные значения, с помощью которых можно помечать префиксы для целей фильтрации.
- Local Preference: для выбора пути в AS
- Происхождение: источник приставки. Возможные значения: внутренние, внешние или неполные.
Различие между EBGP и IBGP
К протоколу Border Gateway Protocol могут быть подключены не только разные автономные системы. Протокол маршрутизации также может использоваться для соединения маршрутизаторов внутри AS. В зависимости от использования говорят о внешнем или внутреннем BGP (EBGP или IBGP).
Данные направляются через автономную систему через маршрутизаторы AS, подключенные к IBGP. Для этого маршрутизаторы распространяют маршруты, полученные через EBGP, в своей собственной AS. Это позволяет передавать специфичные для BGP атрибуты префиксов. Сеансы BGP должны быть установлены между всеми маршрутизаторами, которые используют протокол пограничного шлюза для связи.
Протокол внутреннего шлюза (IGP), такой как OSPF (сначала откройте кратчайший путь) или IS-IS, обычно требуется для фактического соединения между маршрутизаторами. Отражатели маршрутов – это метод, используемый для избежания трудностей масштабирования, возникающих из-за полной сетки в больших сетях. Каждому маршрутизатору BGP требуется только одно соединение с рефлектором маршрутов, который отслеживает все маршруты, полученные через EBGP, и распределяет их по всем маршрутизаторам в AS через IBGP.