Протокол пограничного шлюза


Протокол пограничного шлюза ( BGP ) — это стандартизированный протокол внешнего шлюза , предназначенный для обмена информацией о маршрутизации и доступности между автономными системами (AS) в Интернете . [2] BGP классифицируется как протокол маршрутизации на основе вектора пути , [3] и принимает решения о маршрутизации на основе путей, сетевых политик или наборов правил, настроенных сетевым администратором .

BGP, используемый для маршрутизации внутри автономной системы, называется протоколом внутреннего пограничного шлюза ( IBGP ). Напротив, интернет-приложение протокола называется протоколом внешнего пограничного шлюза ( EBGP ).

Протокол пограничных шлюзов был набросан инженерами в 1989 году на обратной стороне «трех салфеток, испачканных кетчупом», и до сих пор известен как протокол трех салфеток . [4] Впервые он был описан в 1989 году в RFC 1105 и используется в Интернете с 1994 года. [5] IPv6 BGP был впервые определен в RFC  1654 в 1994 году и улучшен до RFC  2283 в 1998 году.

Текущей версией BGP является версия 4 (BGP4), которая была впервые опубликована как RFC  1654 в 1994 году, впоследствии обновлена ​​RFC  1771 в 1995 году и RFC  4271 в 2006 году. [6] RFC 4271 исправил ошибки, разъяснил двусмысленности и обновил спецификацию с помощью общепринятые отраслевые практики. Основным улучшением BGP4 стала поддержка бесклассовой междоменной маршрутизации (CIDR) и использование агрегации маршрутов для уменьшения размера таблиц маршрутизации . RFC  4271 позволяет BGP4 поддерживать широкий спектр «семейств адресов» IPv4 и IPv6 . Его также называют многопротокольными расширениями, то есть многопротокольным BGP (MP-BGP).

Соседи BGP, называемые одноранговыми узлами, устанавливаются на маршрутизаторах путем ручной настройки для создания сеанса TCP на порту 179. Узел BGP отправляет 19-байтовые сообщения проверки активности каждые 30 секунд (значение протокола по умолчанию, настраиваемое) для поддержания соединения. [7] Среди протоколов маршрутизации BGP уникален тем, что в качестве транспортного протокола используется TCP.

Когда BGP работает между двумя узлами в одной автономной системе (AS), он называется внутренним BGP ( iBGP или протокол внутреннего пограничного шлюза ). Когда он работает между различными автономными системами, он называется внешним BGP ( eBGP или протокол внешнего пограничного шлюза ). Маршрутизаторы на границе одной AS, обменивающиеся информацией с другой AS, называются пограничными или пограничными маршрутизаторами или просто узлами eBGP и обычно подключаются напрямую, тогда как узлы iBGP могут соединяться между собой через другие промежуточные маршрутизаторы. Также возможны другие топологии развертывания , такие как пиринг eBGP внутри VPN- туннеля, позволяющий двум удаленным узлам безопасно и изолированно обмениваться информацией о маршрутизации.