Протокол пограничного шлюза - Википедия - Border Gateway Protocol
Набор интернет-протоколов |
---|
Уровень приложения |
Транспортный уровень |
Интернет-уровень |
Связующий слой |
Протокол пограничного шлюза (BGP) является стандартизированным протокол внешнего шлюза предназначен для обмена маршрутизация и информация о доступности среди автономные системы (AS) на Интернет.[1] BGP классифицируется как протокол маршрутизации вектора пути,[2] и это делает маршрутизация решения на основе путей, сетевых политик или наборов правил, настроенных сетевой администратор.
BGP, используемый для маршрутизации в автономной системе, называется Протокол внутреннего пограничного шлюза, Внутренний BGP (iBGP). Напротив, Интернет-приложение протокола называется Протокол внешнего пограничного шлюза, Внешний BGP (eBGP).
История
Протокол пограничных шлюзов был впервые описан в 1989 году в RFC 1105, и используется в Интернете с 1994 года.[3] IPv6 BGP был впервые определен в RFC 1883 в 1995 году, и он был улучшен до RFC 2283 в 1998 г.
Текущая версия BGP - это версия 4 (BGP4), которая была опубликована как RFC 4271 в 2006 году.[4] RFC 4271 исправлены ошибки, прояснены неясности и обновлены спецификации с учетом общепринятых отраслевых практик. Основным усовершенствованием стала поддержка Бесклассовая междоменная маршрутизация (CIDR) и использование агрегация маршрутов уменьшить размер таблицы маршрутизации. Новый RFC позволяет BGP4 передавать широкий спектр IPv4 и IPv6 "адресные семьи". Это также называется многопротокольным расширением, то есть многопротокольным BGP (MP-BGP).
Операция
Соседи BGP, называемые одноранговыми узлами, устанавливаются вручную между маршрутизаторы создать TCP сессия на порт 179. Узел BGP отправляет 19-байтовые сообщения проверки активности каждые 60 секунд.[5] для поддержания связи.[6] Среди протоколов маршрутизации BGP уникален тем, что использует TCP в качестве транспортного протокола.
Когда BGP работает между двумя одноранговыми узлами в одном автономная система (AS), он именуется Внутренний BGP (i-BGP или же Протокол внутреннего пограничного шлюза). Когда он работает между разными автономными системами, он называется Внешний BGP (eBGP или же Протокол внешнего пограничного шлюза). Маршрутизаторы на границе одной AS, обменивающиеся информацией с другой AS, называются граница или же граничные маршрутизаторы или просто узлы eBGP и обычно подключаются напрямую, а одноранговые узлы i-BGP могут быть связаны между собой через другие промежуточные маршрутизаторы. Другое развертывание топологии также возможны, например, запуск пиринга eBGP внутри VPN туннель, позволяющий двум удаленным сайтам обмениваться маршрутной информацией безопасным и изолированным образом.
Основное различие между пирингом iBGP и eBGP заключается в том, как маршруты, полученные от одного однорангового узла, распространяются на другие одноранговые узлы. Например, новые маршруты, полученные от однорангового узла eBGP, обычно перераспределяются всем одноранговым узлам iBGP, а также всем другим одноранговым узлам eBGP (если транзит на роутере включен режим). Однако, если новые маршруты изучаются в пиринге iBGP, они повторно объявляются только всем одноранговым узлам eBGP. Эти правила распространения маршрута фактически требуют, чтобы все одноранговые узлы iBGP внутри AS были соединены между собой в полную сетку.
Подробно контролировать распространение маршрутов можно с помощью карты маршрутов механизм. Этот механизм состоит из набора правил. Каждое правило описывает для маршрутов, соответствующих определенным критериям, какие действия следует предпринять. Действие может заключаться в отбрасывании маршрута или в изменении некоторых атрибутов маршрута перед его вставкой в таблица маршрутизации.
Обсуждение расширений
Во время пирингового рукопожатия, когда обмениваются сообщениями OPEN, узлы BGP могут согласовывать дополнительные возможности сеанса,[7] включая многопротокольные расширения[8] и различные режимы восстановления. Если многопротокольные расширения BGP согласованы во время создания, узел BGP может префикс информации о доступности сетевого уровня (NLRI), которую он объявляет, с помощью префикса семейства адресов. Эти семейства включают в себя виртуальные частные сети IPv4 (по умолчанию), IPv6, IPv4 / IPv6 и многоадресный BGP. BGP все чаще используется в качестве обобщенного протокола сигнализации для передачи информации о маршрутах, которые могут не быть частью глобального Интернета, например, VPN.[9]
Чтобы принимать решения в своих операциях с одноранговыми узлами, одноранговый узел BGP использует простой конечный автомат (FSM), состоящий из шести состояний: Idle; Соединять; Активный; OpenSent; OpenConfirm; и установлено. Для каждого однорангового сеанса реализация BGP поддерживает переменную состояния, которая отслеживает, в каком из этих шести состояний находится сеанс. BGP определяет сообщения, которыми каждый одноранговый узел должен обмениваться, чтобы переключить сеанс из одного состояния в другое. Первое состояние - это состояние «Ожидание». В состоянии «Idle» BGP инициализирует все ресурсы, отклоняет все попытки входящих соединений BGP и инициирует TCP-соединение с одноранговым узлом. Второе состояние - «Подключиться». В состоянии «Connect» маршрутизатор ожидает завершения TCP-соединения и в случае успеха переходит в состояние «OpenSent». В случае неудачи запускается таймер ConnectRetry и переходит в состояние «Активно» по истечении срока. В состоянии «Активный» маршрутизатор сбрасывает таймер ConnectRetry на ноль и возвращается в состояние «Подключиться». В состоянии «OpenSent» маршрутизатор отправляет сообщение Open и ждет его взамен, чтобы перейти в состояние «OpenConfirm». Обмен сообщениями проверки активности выполняется, и после успешного получения маршрутизатор переводится в состояние «Установлено». В состоянии «Установлено» маршрутизатор может отправлять / получать: Keepalive; Обновлять; и сообщения уведомления к / от его однорангового узла.
- Состояние простоя:
- Отклонить все входящие соединения BGP.
- Начать инициализацию триггеров событий.
- Инициирует TCP-соединение со своим настроенным одноранговым узлом BGP.
- Слушает TCP-соединение от своего партнера.
- Меняет свое состояние на Connect.
- Если ошибка возникает в любом состоянии процесса FSM, сеанс BGP немедленно завершается и возвращается в состояние ожидания. Некоторые из причин, по которым маршрутизатор не выходит из состояния ожидания:
- TCP-порт 179 не открыт.
- Случайный TCP-порт более 1023 не открыт.
- Адрес однорангового узла настроен неправильно на любом из маршрутизаторов.
- Номер AS настроен неправильно на любом маршрутизаторе.
- Подключить состояние:
- Ожидает успешного согласования TCP с одноранговым узлом.
- BGP не проводит много времени в этом состоянии, если сеанс TCP был успешно установлен.
- Отправляет открытое сообщение одноранговому узлу и меняет состояние на OpenSent.
- В случае ошибки BGP переходит в активное состояние. Некоторые причины ошибки:
- TCP-порт 179 не открыт.
- Случайный TCP-порт более 1023 не открыт.
- Адрес однорангового узла настроен неправильно на любом из маршрутизаторов.
- Номер AS настроен неправильно на любом маршрутизаторе.
- Активное состояние:
- Если маршрутизатору не удалось установить успешный сеанс TCP, он переходит в активное состояние.
- BGP FSM пытается перезапустить другой сеанс TCP с одноранговым узлом и, в случае успеха, отправляет одноранговому узлу сообщение Open.
- Если это снова не удается, FSM сбрасывается в состояние ожидания.
- Повторяющиеся сбои могут привести к циклическому переключению маршрутизатора между состояниями ожидания и активности. Некоторые из причин этого включают:
- TCP-порт 179 не открыт.
- Случайный TCP-порт более 1023 не открыт.
- Ошибка конфигурации BGP.
- Перегрузка сети.
- Перекидной сетевой интерфейс.
- OpenSent State:
- BGP FSM ожидает открытого сообщения от своего партнера.
- Как только сообщение получено, маршрутизатор проверяет действительность сообщения Open.
- Если возникает ошибка, это связано с тем, что одно из полей в сообщении Open не совпадает между одноранговыми узлами, например, несовпадение версии BGP, одноранговый маршрутизатор ожидает другую My AS и т. Д. Затем маршрутизатор отправляет сообщение уведомления узлу. указывая, почему произошла ошибка.
- Если ошибки нет, отправляется сообщение Keepalive, устанавливаются различные таймеры и состояние изменяется на OpenConfirm.
- OpenConfirm State:
- Одноранговый узел ожидает сообщения Keepalive от его узла.
- Если получено сообщение Keepalive и ни один таймер не истек до приема Keepalive, BGP переходит в состояние Established.
- Если таймер истекает до получения сообщения Keepalive, или если возникает состояние ошибки, маршрутизатор возвращается в состояние ожидания.
- Установленное государство:
- В этом состоянии одноранговые узлы отправляют сообщения обновления для обмена информацией о каждом маршруте, который объявляется одноранговому узлу BGP.
- Если в сообщении об обновлении есть какая-либо ошибка, то партнеру отправляется сообщение с уведомлением, и BGP переходит обратно в состояние ожидания.
Подключение маршрутизатора и обучающие маршруты
В простейшем случае все маршрутизаторы в пределах одной AS и участвующие в маршрутизации BGP должны быть настроены в виде полной сети: каждый маршрутизатор должен быть настроен как одноранговый по отношению к любому другому маршрутизатору. Это вызывает проблемы с масштабированием, так как количество необходимых подключений растет квадратично с количеством задействованных маршрутизаторов. Чтобы решить эту проблему, BGP реализует два варианта: отражатели маршрута (RFC 4456 ) и Конфедерации BGP (RFC 5065 ). Следующее обсуждение базовой обработки UPDATE предполагает полную сетку iBGP.
Данный маршрутизатор BGP может принимать ОБНОВЛЕНИЯ информации о доступности сетевого уровня (NLRI) от нескольких соседей и объявлять NLRI тем же или другому набору соседей. Концептуально BGP поддерживает свою собственную «главную» таблицу маршрутизации, называемую Local. База маршрутной информации (Loc-RIB), отдельно от основной таблицы маршрутизации маршрутизатора. Для каждого соседа процесс BGP поддерживает концептуальную базу информации о смежной маршрутизации, входящую (Adj-RIB-In), содержащий NLRI, полученный от соседа, и концептуальный Adj-RIB-Out (Исходящий) для отправки NLRI соседу.
«Концептуальный» в предыдущем абзаце означает, что физическое хранилище и структура этих различных таблиц определяются разработчиком кода BGP. Их структура не видна другим маршрутизаторам BGP, хотя обычно их можно запросить с помощью команд управления на локальном маршрутизаторе. Например, довольно часто можно хранить два Adj-RIB и Loc-RIB вместе в одной структуре данных с дополнительной информацией, прикрепленной к записям RIB. Дополнительная информация сообщает процессу BGP такие вещи, как то, принадлежат ли отдельные записи к Adj-RIB для определенных соседей, сделал ли процесс выбора маршрута однорангового соседа принятые политики приемлемыми для Loc-RIB и имеют ли записи Loc-RIB право на передаваться в процесс управления таблицей маршрутизации локального маршрутизатора.
К имеет право быть представленным, BGP отправит маршруты, которые он считает лучшими, в процесс основной таблицы маршрутизации. В зависимости от реализации этого процесса не обязательно выбирать маршрут BGP. Например, обычно предпочтительнее использовать префикс с прямым подключением, полученный от собственного оборудования маршрутизатора. Пока интерфейс этого напрямую подключенного маршрута активен, маршрут BGP к месту назначения не будет помещен в таблицу маршрутизации. Как только интерфейс выйдет из строя и предпочтительных маршрутов больше не будет, маршрут Loc-RIB будет установлен в основной таблице маршрутизации. До недавнего времени распространенной ошибкой было сказать BGP поддерживает политики. BGP фактически несет информацию, с помощью которой правила внутри BGP-говорящих маршрутизаторов могут принимать политические решения. Часть передаваемой информации, которая явно предназначена для использования в политических решениях, - это сообщества и множественные дискриминаторы (MED).
Стандарт BGP определяет ряд факторов принятия решения, больше, чем те, которые используются в любом другом общем процессе маршрутизации, для выбора NLRI для входа в Loc-RIB. Первая точка решения для оценки NLRI - это то, что его атрибут следующего перехода должен быть достижимым (или разрешимым). Другой способ сказать, что следующий переход должен быть достижимым, состоит в том, что должен существовать активный маршрут, уже в основной таблице маршрутизации маршрутизатора, к префиксу, в котором доступен адрес следующего перехода.
Затем для каждого соседа процесс BGP применяет различные стандартные и зависящие от реализации критерии, чтобы решить, какие маршруты концептуально должны идти в Adj-RIB-In. Сосед может отправить несколько возможных маршрутов к месту назначения, но первый уровень предпочтения находится на уровне соседа. В концептуальном Adj-RIB-In будет установлен только один маршрут к каждому пункту назначения. Этот процесс также удалит из Adj-RIB-In любые маршруты, отозванные соседом.
Каждый раз, когда концептуальный Adj-RIB-In изменяется, основной процесс BGP решает, предпочтительнее ли какой-либо из новых маршрутов соседа по сравнению с маршрутами, уже находящимися в Loc-RIB. Если так, он их заменяет. Если данный маршрут отменяется соседом, и нет другого маршрута к этому пункту назначения, маршрут удаляется из Loc-RIB и больше не отправляется BGP в главный менеджер таблицы маршрутизации. Если у маршрутизатора нет маршрута к этому пункту назначения от любого источника, отличного от BGP, удаленный маршрут будет удален из основной таблицы маршрутизации.
После проверки доступности следующего перехода, если маршрут исходит от внутреннего (то есть iBGP) однорангового узла, первое правило, которое следует применить, согласно стандарту, - проверить атрибут LOCAL_PREFERENCE. Если существует несколько маршрутов iBGP от соседа, выбирается тот, у которого самый высокий LOCAL_PREFERENCE, если только не существует нескольких маршрутов с одинаковым LOCAL_PREFERENCE. В последнем случае процесс выбора маршрута переходит к следующему разрешению конфликта. Хотя LOCAL_PREFERENCE является первым правилом в стандарте, после проверки доступности NEXT_HOP Cisco и несколько других поставщиков сначала учитывают фактор принятия решения, называемый WEIGHT, который является локальным для маршрутизатора (т. Е. Не передается по BGP). Предпочтительно маршрут с наибольшим ВЕСОМ.
LOCAL_PREFERENCE, WEIGHT и другие критерии можно изменять с помощью локальной конфигурации и возможностей программного обеспечения. Такие манипуляции выходят за рамки стандарта, но обычно используются. Например, атрибут COMMUNITY (см. Ниже) не используется напрямую в процессе выбора BGP. Однако соседний процесс BGP может иметь правило для установки LOCAL_PREFERENCE или другой фактор на основе запрограммированного вручную правила для установки атрибута, если значение COMMUNITY соответствует некоторому критерию сопоставления с образцом. Если маршрут был получен от внешнего однорангового узла, процесс BGP для каждого соседа вычисляет значение LOCAL_PREFERENCE из правил локальной политики, а затем сравнивает LOCAL_PREFERENCE всех маршрутов от соседа.
На уровне каждого соседа - игнорируя модификаторы политики, зависящие от реализации - правила разрыва связей следующие:
- Предпочитайте маршрут с самым коротким AS_PATH. AS_PATH - это набор номеров AS, которые необходимо пройти, чтобы достичь объявленного пункта назначения. AS1-AS2-AS3 короче AS4-AS5-AS6-AS7.
- Предпочитайте маршруты с наименьшим значением атрибута ORIGIN.
- Предпочитайте маршруты с наименьшим значением MULTI_EXIT_DISC (дискриминатор с несколькими выходами или MED).
До последней редакции стандарта BGP, если UPDATE не имел значения MULTI_EXIT_DISC, несколько реализаций создавали MED с максимально возможным значением. Однако в текущем стандарте указывается, что отсутствующие атрибуты MED должны рассматриваться как минимально возможное значение. Поскольку текущее правило может вызывать иное поведение, чем интерпретация поставщика, реализации BGP, которые использовали нестандартное значение по умолчанию, имеют функцию конфигурации, которая позволяет выбрать старое или стандартное правило.
После получения маршрутов-кандидатов от соседей программное обеспечение Loc-RIB применяет дополнительные средства разрешения конфликтов к маршрутам к тому же месту назначения.
- Если хотя бы один маршрут был изучен от внешнего соседа (т. Е. Маршрут был изучен от eBGP), отбросьте все маршруты, полученные от iBGP.
- Предпочитайте маршрут с наименьшими внутренними затратами NEXT_HOP в соответствии с основной таблицей маршрутизации. Если два соседа объявляют один и тот же маршрут, но один сосед доступен по каналу с низкой скоростью передачи данных, а другой по каналу с высокой скоростью передачи данных, а протокол внутренней маршрутизации вычисляет наименьшую стоимость на основе максимальной скорости передачи данных, маршрут через канал с высокой скоростью передачи данных будет предпочтительнее, а другие маршруты отброшены.
Если на этом этапе все еще привязано более одного маршрута, несколько реализаций BGP предлагают настраиваемую опцию для распределения нагрузки между маршрутами, принимая все (или все до некоторого числа).
- Предпочитать маршрут, полученный от узла BGP с наименьшим числовым идентификатором BGP
- Предпочитать маршрут, полученный от узла BGP с наименьшим IP-адресом однорангового узла
Сообщества
Сообщества BGP - это теги атрибутов, которые можно применять к входящим или исходящим префиксам для достижения некоторой общей цели (RFC 1997 ). Хотя принято говорить, что BGP позволяет администратору устанавливать политики обработки префиксов поставщиками услуг Интернета, строго говоря, это, как правило, невозможно. Например, BGP изначально не имеет концепции, позволяющей одной AS указывать другой AS, чтобы она ограничивала рекламу префикса только для клиентов однорангового соединения в Северной Америке. Вместо этого интернет-провайдер обычно публикует список известных или закрытых сообществ с описанием каждого из них, что, по сути, становится соглашением о том, как следует обращаться с префиксами. RFC 1997 также определяет три хорошо известных сообщества, имеющих глобальное значение; NO_EXPORT, NO_ADVERTISE и NO_EXPORT_SUBCONFED. RFC 7611 определяет ACCEPT_OWN. Примеры распространенных сообществ включают в себя настройки локальных предпочтений, географические ограничения или ограничения типа однорангового узла, предотвращение DoS-атак (черные дыры) и параметры предварительного добавления AS. Интернет-провайдер может заявить, что любые маршруты, полученные от клиентов из сообщества XXX: 500, будут объявляться всем одноранговым узлам (по умолчанию), в то время как сообщество XXX: 501 будет ограничивать рекламу в Северной Америке. Клиент просто настраивает свою конфигурацию, чтобы включить правильное сообщество или сообщества для каждого маршрута, а интернет-провайдер отвечает за контроль, кому объявляется префикс. Конечный пользователь не имеет технической возможности обеспечить выполнение правильных действий со стороны провайдера, хотя проблемы в этой области, как правило, редки и случайны.
Обычной тактикой для конечных клиентов является использование сообществ BGP (обычно ASN: 70,80,90,100) для управления локальными предпочтениями, которые ISP назначает объявленным маршрутам, вместо использования MED (эффект аналогичен). Атрибут сообщества является транзитивным, но сообщества, применяемые заказчиком, очень редко распространяются за пределы AS следующего перехода. Не все интернет-провайдеры предоставляют свои сообщества общественности, в отличие от некоторых других.[10]
Расширенный атрибут сообщества BGP был добавлен в 2006 году, чтобы расширить диапазон таких атрибутов и обеспечить структурирование атрибута сообщества с помощью поля типа. Расширенный формат состоит из одного или двух октетов для поля типа, за которыми следуют семь или шесть октетов для соответствующего содержимого атрибута сообщества. Определение этого атрибута расширенного сообщества задокументировано в RFC 4360. IANA управляет реестром расширенных типов сообществ BGP.[11] Сам атрибут расширенных сообществ является транзитивным необязательным атрибутом BGP. Однако бит в поле типа в атрибуте определяет, является ли закодированное расширенное сообщество транзитивным или нетранзитивным. Поэтому реестр IANA предоставляет различные диапазоны номеров для типов атрибутов. Благодаря расширенному диапазону атрибутов его использование может быть разнообразным. RFC 4360 в качестве примера определяет «Расширенное сообщество с двумя октетами AS», «Расширенное сообщество с конкретным адресом IPv4», «Непрозрачное расширенное сообщество», «Целевое сообщество маршрута» и «Сообщество источника маршрута». Ряд черновиков BGP QoS[12] также используйте эту структуру расширенного атрибута сообщества для передачи сигналов QoS между доменами.
Примечание: поскольку RFC 7153 расширенные сообщества совместимы с 32-битными ASN.
С введением 32-битных номеров AS сразу же стали очевидны некоторые проблемы с атрибутом сообщества, который определяет только 16-битное поле ASN, что предотвращает сопоставление между этим полем и реальным значением ASN. Это причина, по которой RFC 8092 и RFC 8195 представить Большое сообщество атрибут из 12 байтов, разделенных на три поля по 4 байта каждое (AS: функция: параметр).
Дискриминаторы с несколькими выходами
MED, определенные в основном стандарте BGP, изначально предназначались для того, чтобы показать другому соседнему AS предпочтение рекламируемой AS в отношении того, какой из нескольких каналов является предпочтительным для входящего трафика. Другое применение MED - это объявление значения, обычно основанного на задержке, нескольких AS, которые присутствуют в IXP, которые они навязывают для отправки трафика в какое-то место назначения.
Формат заголовка сообщения
Ниже приведен формат заголовка сообщения BGP версии 4:
битовое смещение | 0–15 | 16–23 | 24–31 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Маркер | |||||||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||
128 | Длина | Тип |
- Маркер: Включено для совместимости, должно быть установлено на все.
- Длина: Общая длина сообщения в октеты, включая заголовок.
- Тип: Тип сообщения BGP. Определены следующие значения:
- Открытый (1)
- Обновление (2)
- Уведомление (3)
- KeepAlive (4)
- Обновление маршрута (5)
Внутренняя масштабируемость
BGP - «самый масштабируемый из всех протоколов маршрутизации».[13]
Автономная система с внутренним BGP (iBGP) должна иметь все свои узлы iBGP, подключенные друг к другу в полная сетка (где каждый обращается ко всем напрямую). Эта конфигурация с полной сеткой требует, чтобы каждый маршрутизатор поддерживал сеанс с каждым другим маршрутизатором. В больших сетях такое количество сеансов может снизить производительность маршрутизаторов из-за нехватки памяти или высоких требований к процессору.
Отражатели трассы
Отражатели трассы[14] уменьшить количество соединений, необходимых в AS. Один маршрутизатор (или два для избыточности) можно сделать отражателем маршрута: другие маршрутизаторы в AS нужно только настроить как одноранговые для них. Отражатель маршрута предлагает альтернативу логическому требованию полной сетки протокол внутреннего пограничного шлюза (IBGP). RR действует как координационный центр[уточнить ] для сессий IBGP. Цель RR - концентрация. Несколько маршрутизаторов BGP могут взаимодействовать с центральной точкой, RR - действующим как сервер отражателя маршрутов, - а не с каждым другим маршрутизатором в полной сети. Все остальные маршрутизаторы IBGP становятся клиентами отражателя маршрутов.
Этот подход, аналогичный OSPF Функция DR / BDR обеспечивает большие сети с добавленной масштабируемостью IBGP. В полностью ячеистой сети IBGP из 10 маршрутизаторов 90 отдельных операторов интерфейса командной строки (распределенных по всем маршрутизаторам в топологии) необходимы только для определения удаленной AS каждого однорангового узла: это быстро становится головной болью для управления. Топология RR может сократить эти 90 операторов до 18, предлагая жизнеспособное решение для больших сетей, администрируемых интернет-провайдерами.
Отражатель маршрута - это единая точка отказа, поэтому по меньшей мере второй отражатель маршрута может быть сконфигурирован для обеспечения избыточности. Поскольку он является дополнительным одноранговым узлом для других 10 маршрутизаторов, он поставляется с дополнительным счетчиком операторов, который удваивает это минус 2 от настройки одиночного отражателя маршрутов. Дополнительные 11 * 2-2 = 20 операторов в этом случае из-за добавления дополнительного маршрутизатора. Кроме того, в среде многопутевого протокола BGP это также может быть выгодно за счет добавления локальной пропускной способности коммутации / маршрутизации, если RR действуют как традиционные маршрутизаторы, а не только как выделенная роль сервера отражателя маршрутов.
Правила
Серверы RR распространяют маршруты внутри AS на основе следующих правил:
- Если маршрут получен от однорангового узла, не являющегося клиентом, отразите только клиентам и узлам EBGP.
- Если маршрут получен от однорангового клиента, отразите его всем неклиентским одноранговым узлам, а также одноранговым узлам клиента, кроме отправителя маршрута, и отразите одноранговым узлам EBGP.
Кластер
RR и его клиенты образуют «Кластер». Затем "Cluster-ID" прикрепляется к каждому маршруту, объявленному RR своим клиентским или неклиентским партнерам. Cluster-ID - это совокупный, нетранзитивный атрибут BGP, и каждый RR ДОЛЖЕН добавлять локальный CLUSTER_ID к CLUSTER_LIST, чтобы избежать петель маршрутизации. Отражатели маршрутов и конфедерации сокращают количество одноранговых узлов iBGP для каждого маршрутизатора и, таким образом, сокращают накладные расходы на обработку. Отражатели маршрутов - это чистый метод повышения производительности, в то время как конфедерации также могут использоваться для реализации более детальной политики.
Конфедерация BGP
Конфедерации - это наборы автономных систем. В обычной практике[15] только один из номеров AS конфедерации просматривается в Интернете в целом. Конфедерации используются в очень больших сетях, где большая AS может быть сконфигурирована для охвата меньших более управляемых внутренних AS.
Конфедеративная AS состоит из нескольких AS. Каждая конфедеративная AS имеет полностью интегрированный iBGP и имеет соединения с другими AS внутри конфедерации. Несмотря на то, что у этих AS есть одноранговые узлы eBGP по отношению к AS внутри конфедерации, AS обмениваются маршрутизацией, как если бы они использовали iBGP. Таким образом, конфедерация сохраняет информацию о следующем переходе, метрике и локальных предпочтениях. Внешнему миру конфедерация кажется единой автономной системой. С помощью этого решения проблемы транзитной AS iBGP могут быть решены, поскольку для iBGP требуется полная сетка между всеми маршрутизаторами BGP: большое количество сеансов TCP и ненужное дублирование маршрутизируемого трафика.
Конфедерации могут использоваться вместе с отражателями маршрута. Как конфедерации, так и отражатели маршрутов могут подвергаться постоянным колебаниям, если не соблюдаются определенные правила проектирования, влияющие как на BGP, так и на протокол внутренней маршрутизации.[16]
Однако эти альтернативы могут создавать собственные проблемы, в том числе следующие:
- колебание маршрута
- неоптимальная маршрутизация
- увеличение времени конвергенции BGP[17]
Кроме того, отражатели маршрутов и конфедерации BGP не были разработаны для упрощения настройки маршрутизатора BGP. Тем не менее, это общие инструменты для опытных архитекторов сети BGP. Эти инструменты могут быть объединены, например, в виде иерархии отражателей маршрута.
Стабильность
Таблицы маршрутизации, управляемые реализацией BGP, постоянно корректируются, чтобы отражать фактические изменения в сети, такие как разрыв и восстановление ссылок или выход из строя и восстановление маршрутизаторов.В сети в целом эти изменения происходят почти непрерывно, но для любого конкретного маршрутизатора или канала изменения должны быть относительно нечастыми. Если маршрутизатор неправильно настроен или неправильно управляется, он может попасть в быстрый цикл между неработающим и активным состояниями. Эта модель повторного отказа и повторного объявления, известная как изменение маршрута может вызвать чрезмерную активность во всех других маршрутизаторах, которые знают о разорванном канале, поскольку один и тот же маршрут постоянно вводится и удаляется из таблиц маршрутизации. Конструкция BGP такова, что доставка трафика может не функционировать во время обновления маршрутов. В Интернете изменение маршрутизации BGP может вызвать перебои в работе на несколько минут.
Функция, известная как демпфирование закрылков (RFC 2439 ) встроен во многие реализации BGP в попытке смягчить последствия изменения маршрута. Без демпфирования чрезмерная активность может вызвать большую вычислительную нагрузку на маршрутизаторы, что, в свою очередь, может задерживать обновления на других маршрутах и, таким образом, повлиять на общую стабильность маршрутизации. При демпфировании колебание маршрута экспоненциально затухающий. В первом случае, когда маршрут становится недоступным и быстро появляется снова, демпфирование не действует, чтобы поддерживать нормальное время переключения при отказе BGP. Во втором случае BGP избегает этого префикса в течение определенного периода времени; время ожидания последующих вхождений истекает экспоненциально. После того, как аномалии исчезнут и пройдет подходящий промежуток времени для нарушающего маршрута, префиксы могут быть восстановлены, а его лист полностью очищен. Демпфирование также может уменьшить отказ в обслуживании приступы; время демпфирования легко настраивается.
Это также предлагается в RFC 2439 (в разделе «Выбор конструкции -> Подавление объявления маршрута, чувствительное к стабильности»), что демпфирование отклонений маршрута является более желательной функцией, если она реализована для сеансов протокола внешнего пограничного шлюза (сеансы eBGP или просто называются внешними одноранговыми узлами), а не для сеансов протокола внутреннего пограничного шлюза ( сеансы iBGP или просто называемые внутренними узлами); При таком подходе, когда маршрут колеблется внутри автономной системы, он не распространяется на внешние AS - изменение маршрута к eBGP будет иметь цепочку колебаний для конкретного маршрута по всей магистрали. Этот метод также успешно позволяет избежать накладных расходов, связанных с демпфированием отклонений маршрута для сеансов iBGP.
Однако последующие исследования показали, что демпфирование откидных створок в некоторых случаях может фактически увеличить время схождения и может вызвать прерывание связи, даже если каналы не колеблются.[18][19] Более того, поскольку магистральные каналы и процессоры маршрутизаторов стали быстрее, некоторые сетевые архитекторы предположили, что демпфирование откидных створок может быть не так важно, как раньше, поскольку изменения в таблице маршрутизации могут обрабатываться маршрутизаторами намного быстрее.[20] Это побудило рабочую группу RIPE Routing Working Group написать, что «с текущими реализациями демпфирования закрылков BGP применение демпфирования закрылков в сетях ISP НЕ рекомендуется ... Если демпфирование закрылков реализовано, ISP, работающий в этой сети, вызовет побочные -влияние на своих клиентов и интернет-пользователей контента и услуг их клиентов ... Эти побочные эффекты, скорее всего, будут хуже, чем воздействие, вызванное просто отсутствием демпфирования заслонок ».[21] Повышение устойчивости без проблем с демпфированием закрылков является предметом текущих исследований.[22]
Рост таблицы маршрутизации
Одна из самых больших проблем, с которыми сталкивается BGP, да и инфраструктура Интернета в целом, - это рост таблицы маршрутизации Интернета. Если глобальная таблица маршрутизации вырастет до такой степени, что некоторые старые, менее функциональные маршрутизаторы не смогут справиться с требованиями к памяти или нагрузкой на ЦП, связанной с обслуживанием таблицы, эти маршрутизаторы перестанут быть эффективными шлюзами между частями Интернета, к которым они подключаются. Кроме того, что, возможно, даже более важно, для стабилизации больших таблиц маршрутизации требуется больше времени (см. Выше) после серьезного изменения подключения, в результате чего сетевая служба становится ненадежной или даже недоступной.
До конца 2001 г. глобальная таблица маршрутизации была растет экспоненциально, угрожая в конечном итоге повсеместным нарушением подключения. Пытаясь предотвратить это, интернет-провайдеры сотрудничали в сохранении как можно меньшего размера глобальной таблицы маршрутизации, используя Бесклассовая междоменная маршрутизация (CIDR) и агрегация маршрутов. Хотя это замедлило рост таблицы маршрутизации до линейного процесса на несколько лет, с увеличением спроса на множественная адресация К середине 2004 г. рост сетей конечных пользователей снова стал сверхлинейным.
512k день
В 2014 году произошло переполнение по типу проблемы 2000 года для тех моделей, которые не были обновлены должным образом.
Полная таблица IPv4 BGP по состоянию на август 2014 г.[Обновить] (512k день)[23][24] превышало 512 000 префиксов,[25] у многих старых маршрутизаторов был предел 512 КБ (512 000–524 288)[26][27] записи в таблице маршрутизации. 12 августа 2014 г. перебои в работе из-за переполнения таблиц eBay, LastPass и Microsoft Azure среди прочего.[28] Ряд обычно используемых маршрутизаторов Cisco TCAM, форма высокоскоростной память с адресацией по содержимому, для хранения маршрутов, объявляемых BGP. На затронутых маршрутизаторах TCAM по умолчанию был выделен 512 КБ записей для маршрутов IPv4 и 512 КБ записей для маршрутов IPv6. Хотя заявленное количество объявленных маршрутов IPv6 составляло всего около 20 тыс., Количество объявленных маршрутов IPv4 достигло предела по умолчанию, в результате чего побочный эффект поскольку маршрутизаторы пытались компенсировать проблему, используя медленную программную маршрутизацию (в отличие от быстрой аппаратной маршрутизации через TCAM). Основной метод решения этой проблемы заключается в том, что операторы изменяют распределение TCAM, чтобы разрешить больше записей IPv4, путем перераспределения части TCAM, зарезервированной для маршрутов IPv6. Для этого требуется перезагрузка большинства маршрутизаторов. Проблема с 512 КБ была предсказана заранее рядом ИТ-специалистов.[29][30][31]
Фактическое распределение, которое привело к увеличению количества маршрутов выше 512k, было объявлением около 15000 новых маршрутов в короткие сроки, начиная с 07:48 UTC. Почти все эти маршруты были Verizon Автономные системы 701 и 705, созданные в результате дезагрегация больших блоков, вводя тысячи новых /24 маршруты, и доведение таблицы маршрутизации до 515 000 записей. Новые маршруты, похоже, были повторно объединены в течение 5 минут, но нестабильность в Интернете, по-видимому, сохранялась в течение нескольких часов.[32] Даже если бы Verizon не привел к тому, что таблица маршрутизации во время короткого всплеска не превысила 512 тыс. Записей, это все равно произошло бы вскоре благодаря естественному росту.
Суммирование маршрутов часто используется для улучшения агрегации глобальной таблицы маршрутизации BGP, тем самым уменьшая необходимый размер таблицы в маршрутизаторах AS. Учтите, что AS1 было выделено большое адресное пространство 172.16.0.0/16, это будет считаться одним маршрутом в таблице, но из-за требований клиента или в целях управления трафиком AS1 хочет объявить более мелкие и более конкретные маршруты 172.16.0.0/18, 172.16.64.0/18, и 172.16.128.0/18. Префикс 172.16.192.0/18 не имеет хостов, поэтому AS1 не объявляет конкретный маршрут 172.16.192.0/18. Все это считается AS1, объявляющим четыре маршрута.
AS2 увидит четыре маршрута от AS1 (172.16.0.0/16, 172.16.0.0/18, 172.16.64.0/18, и 172.16.128.0/18), и политика маршрутизации AS2 должна решить, следует ли принимать копии четырех маршрутов или, как 172.16.0.0/16 перекрывает все другие конкретные маршруты, чтобы просто сохранить сводку, 172.16.0.0/16.
Если AS2 хочет отправить данные на префикс 172.16.192.0/18, он будет отправлен на маршрутизаторы AS1 по маршруту 172.16.0.0/16. На маршрутизаторе AS1 он либо будет отключен, либо пункт назначения станет недоступен. ICMP сообщение будет отправлено обратно, в зависимости от конфигурации маршрутизаторов AS1.
Если позже AS1 решит отбросить маршрут 172.16.0.0/16, уход 172.16.0.0/18, 172.16.64.0/18, и 172.16.128.0/18, AS1 снизит количество объявляемых маршрутов до трех. AS2 будет видеть три маршрута и, в зависимости от политики маршрутизации AS2, будет хранить копии трех маршрутов или агрегировать префиксы. 172.16.0.0/18 и 172.16.64.0/18 к 172.16.0.0/17, тем самым сокращая количество маршрутов, которые хранит AS2, до двух: 172.16.0.0/17 и 172.16.128.0/18.
Если AS2 хочет отправить данные на префикс 172.16.192.0/18, он будет отброшен или ICMP-сообщение о недоступности пункта назначения будет отправлено обратно на маршрутизаторы AS2 (а не AS1, как раньше), потому что 172.16.192.0/18 не было бы в таблице маршрутизации.
Истощение номеров AS и 32-битные ASN
В RFC 1771 (Протокол пограничного шлюза 4 (BGP-4)) планировал кодирование номеров AS на 16 битах для 64510 возможных общедоступных AS, поскольку ASN с 64512 по 65534 были зарезервированы для частного использования (0 и 65535 запрещены). В 2011 году было доступно только 15000 номеров AS, и прогнозы[33] предполагали полное исчерпание доступных номеров AS в сентябре 2013 года.
RFC 6793 расширяет AS-кодирование с 16 до 32 бит (сохраняя 16-битный диапазон AS от 0 до 65 535 и его зарезервированные номера AS), что теперь позволяет использовать до 4 миллиардов доступных AS. Дополнительный частный диапазон AS также определен в RFC 6996 (с 4200000000 на 4294967294, 4294967295 запрещено RFC 7300 ).
Чтобы разрешить обход групп маршрутизаторов, не способных управлять этими новыми ASN, используется новый атрибут OT AS4_PATH.
Назначение 32-битных ASN началось в 2007 году.
Балансировка нагрузки
Еще одним фактором, вызывающим такой рост таблицы маршрутизации, является необходимость балансировки нагрузки в многосетевых сетях. Сбалансировать входящий трафик в многосетевую сеть по множеству входящих путей - нетривиальная задача из-за ограничений процесса выбора маршрута BGP. Для многосетевой сети, если она объявляет об одних и тех же сетевых блоках на всех своих узлах BGP, результатом может быть то, что один или несколько ее входящих каналов будут перегружены, в то время как другие ссылки останутся недоиспользованными, потому что все внешние сети выбрали это набор перегруженных путей как оптимальный. Как и большинство других протоколов маршрутизации, BGP не обнаруживает перегрузки.
Чтобы обойти эту проблему, администраторы BGP этой многосетевой сети могут разделить большой непрерывный блок IP-адресов на более мелкие блоки и настроить объявление маршрута, чтобы разные блоки выглядели оптимально на разных путях, чтобы внешние сети выбирали другой путь для достижения разных блоки этой многосетевой сети. Такие случаи увеличивают количество маршрутов, как видно в глобальной таблице BGP.
Один из методов, который становится все более популярным для решения проблемы балансировки нагрузки, - это развертывание BGP / LISP (Протокол разделения локатора / идентификатора ) шлюзы в Точка обмена Интернетом чтобы разрешить входящий трафик по нескольким ссылкам. Этот метод не увеличивает количество маршрутов, отображаемых в глобальной таблице BGP.
Безопасность
По умолчанию маршрутизаторы, на которых работает BGP, принимают объявленные маршруты от других маршрутизаторов BGP по умолчанию. Это позволяет осуществлять автоматическую и децентрализованную маршрутизацию трафика через Интернет, но также делает Интернет потенциально уязвимым для случайного или злонамеренного нарушения, известного как Перехват BGP. Из-за того, насколько BGP встроен в базовые системы Интернета, и из-за количества различных сетей, управляемых множеством разных организаций, которые вместе составляют Интернет, исправление этой уязвимости (например, введение использования криптографических ключей для проверки идентификация маршрутизаторов BGP) представляет собой технически и экономически сложную проблему.[34]
Расширения
Расширением BGP является использование множественного пути - для этого обычно требуются идентичные MED, вес, источник и AS-путь, хотя некоторые реализации предоставляют возможность ослабить проверку AS-пути, чтобы ожидать только равную длину пути, а не фактические номера AS. в пути, который, как ожидается, тоже будет совпадать. Затем это можно расширить с помощью таких функций, как Cisco dmzlink-bw, который обеспечивает соотношение распределения трафика на основе значений пропускной способности, настроенных для отдельных каналов.
Многопротокольные расширения для BGP (MBGP), иногда называемые многопротокольными BGP или Multicast BGP и определенные в IETF RFC 4760, являются расширением (BGP), которое позволяет распределять разные типы адресов (известные как семейства адресов) параллельно. В то время как стандартный BGP поддерживает только одноадресные адреса IPv4, многопротокольный BGP поддерживает адреса IPv4 и IPv6, а также поддерживает одноадресные и многоадресные варианты каждого из них. Многопротокольный BGP позволяет обмениваться информацией о топологии маршрутизаторов с поддержкой многоадресной IP-рассылки отдельно от топологии обычных одноадресных маршрутизаторов IPv4. Таким образом, это позволяет использовать топологию многоадресной маршрутизации, отличную от топологии одноадресной маршрутизации. Хотя MBGP позволяет обмениваться информацией междоменной многоадресной маршрутизации, для построения деревьев и пересылки многоадресного трафика необходимы другие протоколы, например, семейство Protocol Independent Multicast.
Многопротокольный BGP также широко применяется в случае MPLS L3 VPN для обмена метками VPN, полученными для маршрутов с сайтов клиентов по сети MPLS, чтобы различать разные сайты клиентов, когда трафик с других сайтов клиентов приходит к поставщику. Граничный маршрутизатор (PE-маршрутизатор) для маршрутизации.
Использует
BGP4 является стандартным для Интернет-маршрутизации и требуется большинству Интернет-провайдеры (ISP) для установления маршрутизации между собой. Очень большой частный IP сети используют BGP для внутренних целей. Примером может служить объединение ряда крупных Сначала откройте кратчайший путь (OSPF), когда OSPF сам по себе не масштабируется до требуемого размера. Еще одна причина для использования BGP - это множественная адресация сети для лучшей избыточности, будь то несколько точек доступа одного или нескольких интернет-провайдеров.
Реализации
Маршрутизаторы, особенно маленькие, предназначенные для Небольшой офис / Домашний офис (SOHO), может не включать программное обеспечение BGP. Некоторые маршрутизаторы SOHO просто не могут запускать BGP / использовать таблицы маршрутизации BGP любого размера. Другим коммерческим маршрутизаторам может потребоваться конкретный исполняемый образ программного обеспечения, содержащий BGP, или лицензия, которая его разрешает. Пакеты с открытым исходным кодом, которые запускают BGP, включают GNU Zebra, Quagga, OpenBGPD, ПТИЦА, XORP, и Вятта. Устройства, продаваемые как Коммутаторы уровня 3 реже поддерживают BGP, чем устройства, продаваемые как маршрутизаторы, но высокопроизводительные коммутаторы уровня 3 обычно могут использовать протокол BGP.
Продукты, продаваемые как коммутаторы, могут иметь или не иметь ограничение на размер таблиц BGP, например, 20 000 маршрутов, что намного меньше, чем полная таблица Internet плюс внутренние маршруты. Эти устройства, однако, могут быть вполне разумными и полезными при использовании для маршрутизации BGP некоторой меньшей части сети, такой как конфедерация-AS представляющий одно из нескольких небольших предприятий, связанных между собой BGP позвоночник, или небольшое предприятие, которое объявляет маршруты к провайдеру, но принимает только маршрут по умолчанию и, возможно, небольшое количество агрегированных маршрутов.
Маршрутизатор BGP, используемый только для сети с единственной точкой входа в Интернет, может иметь гораздо меньший размер таблицы маршрутизации (и, следовательно, требования к ОЗУ и ЦП), чем многосетевые сети. Даже простая множественная адресация может иметь небольшой размер таблицы маршрутизации. Видеть RFC 4098 для независимых от производителя параметров производительности для конвергенции одного маршрутизатора BGP в плоскости управления. Фактический объем памяти, необходимый в маршрутизаторе BGP, зависит от объема информации BGP, которой обмениваются с другими узлами BGP, и от способа, которым конкретный маршрутизатор хранит информацию BGP. Маршрутизатору, возможно, придется хранить более одной копии маршрута, чтобы он мог управлять различными политиками для объявления и принятия маршрута для конкретной соседней AS. Термин «представление» часто используется для обозначения этих различных отношений политик на работающем маршрутизаторе.
Если одна реализация маршрутизатора требует больше памяти на маршрут, чем другая реализация, это может быть законным выбором дизайна, жертвуя скоростью обработки памяти. Полная таблица IPv4 BGP по состоянию на август 2015 г.[Обновить] превышает 590 000 префиксов.[25] Крупные интернет-провайдеры могут добавить еще 50% для внутренних и клиентских маршрутов. Опять же, в зависимости от реализации, отдельные таблицы могут храниться для каждого представления другой одноранговой AS.
Известные бесплатные реализации BGP с открытым исходным кодом включают:
- Демон интернет-маршрутизации BIRD, пакет маршрутизации GPL для Unix-подобных систем.
- FRRouting, вилка Quagga для Unix-подобный системы.
- GNU Zebra, а GPL набор маршрутизации, поддерживающий BGP4. (выведен из эксплуатации)[35]
- OpenBGPD, а Лицензия BSD реализация OpenBSD команда.
- Quagga, форк GNU Zebra для Unix-подобный системы.
- XORP, eXtensible Open Router Platform, лицензированный BSD набор протоколов маршрутизации.
Системы для тестирования соответствия BGP, нагрузочной или стрессовой производительности поставляются такими поставщиками, как:
Документы стандартов
- Выборочное обновление маршрута для BGP, Проект IETF
- RFC 1772, Применение протокола пограничного шлюза в Интернет-протоколе (BGP-4) с использованием SMIv2
- RFC 2439, BGP Route Flap Damping
- RFC 2918, Возможность обновления маршрута для BGP-4
- RFC 3765, NOPEER Community for Border Gateway Protocol (BGP) Route Scope Control
- RFC 4271, Протокол пограничного шлюза 4 (BGP-4)
- RFC 4272, Анализ уязвимостей безопасности BGP
- RFC 4273, Определения управляемых объектов для BGP-4
- RFC 4274, Анализ протокола BGP-4
- RFC 4275, Обзор внедрения BGP-4 MIB
- RFC 4276, Отчет о внедрении BGP-4
- RFC 4277, Опыт работы с протоколом BGP-4
- RFC 4278, Разница в уровне зрелости стандартов в отношении опции подписи TCP MD5 (RFC 2385 ) и спецификации BGP-4
- RFC 4456, BGP Route Reflection - альтернатива Full Mesh Internal BGP (iBGP)
- RFC 4724, Механизм плавного перезапуска для BGP
- RFC 4760, Многопротокольные расширения для BGP-4
- RFC 4893, Поддержка BGP для четырехоктетного числового пространства AS
- RFC 5065, Конфедерации автономных систем для BGP
- RFC 5492, Объявление о возможностях с помощью BGP-4
- RFC 5575, Распространение правил спецификации потоков
- RFC 7752, Распределение информации о состоянии канала и управления трафиком по северной границе с использованием BGP
- RFC 7911, Объявление нескольких путей в BGP
- draft-ietf-idr-custom-solution-08 - BGP Custom Decision Process, 3 февраля 2017 г.
- RFC 3392, Устаревшее - Объявление возможностей с помощью BGP-4
- RFC 2796, Устаревшее - отражение маршрута BGP - альтернатива Full Mesh iBGP
- RFC 3065, Устаревшее - Конфедерации автономных систем для BGP
- RFC 1965, Устаревшее - Конфедерации автономных систем для BGP
- RFC 1771, Устаревшее - протокол пограничного шлюза 4 (BGP-4)
- RFC 1657, Устаревшее - определения управляемых объектов для четвертой версии пограничного шлюза
- RFC 1655, Устаревшее - Применение протокола пограничного шлюза в Интернете
- RFC 1654, Устаревшее - протокол пограничного шлюза 4 (BGP-4)
- RFC 1105, Устаревшее - протокол пограничного шлюза (BGP)
- RFC 2858, Устаревшее - Многопротокольные расширения для BGP-4
Смотрите также
- Инцидент AS 7007
- Управление по присвоению номеров в Интернете
- Пересылка пакетов
- Частный IP
- QPPB
- Региональный интернет-реестр
- Аналитика маршрута
- Фильтрация маршрута
- База данных активов маршрутизации
Рекомендации
- ^ «BGP: объяснение протокола пограничного шлюза». Орбита-Компьютерные решения. Com. Архивировано из оригинал в 2013-09-28. Получено 2013-10-08.
- ^ Собриньо, Жоао Луиш (2003). «Сетевая маршрутизация с протоколами вектора пути: теория и приложения» (PDF). Получено 16 марта, 2018.
- ^ «История протокола пограничных шлюзов». blog.datapath.io.
- ^ Протокол пограничного шлюза 4 (BGP-4). RFC 4271.
- ^ «Сообщения поддержки активности BGP». IT-уроки InetDaemon.
- ^ RFC 4274
- ^ Р. Чандра; Дж. Скаддер (май 2000 г.). Объявление о возможностях с помощью BGP-4. Дои:10.17487 / RFC2842. RFC 2842.
- ^ Т. Бейтс; и другие. (Июнь 2000 г.). Многопротокольные расширения для BGP-4. Дои:10.17487 / RFC2858. RFC 2858.
- ^ Э. Розен; Ю. Рехтер (апрель 2004 г.). BGP / MPLS VPN. Дои:10.17487 / RFC2547. RFC 2547.
- ^ "Руководства сообщества BGP". Получено 13 апреля 2015.
- ^ Реестр IANA для расширенных типов сообществ BGP, IANA, 2008 г.
- ^ Черновики IETF по сигнализируемому QoS BGP В архиве 2009-02-23 в Wayback Machine, Томас Нолл, 2008
- ^ "Протокол пограничного шлюза (BGP)". Cisco.com.
- ^ Отражение маршрута BGP: альтернатива Full Mesh Internal BGP (iBGP), RFC 4456, Т. Бейтс и другие., Апрель 2006 г.
- ^ "Информация". www.ietf.org. Получено 2019-12-17.
- ^ "Информация". www.ietf.org. Получено 2019-12-17.
- ^ "Информация". www.ietf.org. Получено 2019-12-17.
- ^ «Демпфирование разрыва маршрута усугубляет конвергенцию маршрутизации в Интернете» (PDF). Ноябрь 1998 г.
- ^ Чжан, Бэйчуань; Пей Дан; Дэниел Мэсси; Ликсия Чжан (Июнь 2005 г.). «Взаимодействие таймера в демпфировании закрылков на маршруте» (PDF). IEEE 25-е Международная конференция по распределенным вычислительным системам. Получено 2006-09-26.
Мы показываем, что текущая конструкция демпфирования приводит к желаемому поведению только при постоянном изменении маршрута. Когда количество закрылков невелико, динамика глобальной маршрутизации значительно отклоняется от ожидаемого поведения с большей задержкой сходимости.
- ^ "Демпфирование заслонки маршрута BGP". Tools.ietf.org.
- ^ 10 мая 2006 (2006-05-10). "Рекомендации рабочей группы RIPE Routing по демпфированию отклонений маршрута". Координационный центр сети RIPE. Получено 2013-12-04.
- ^ "draft-ymbk-rfd-usable-02 - Обеспечение использования демпфирования заслонки маршрута". Tools.ietf.org. Получено 2013-12-04.
- ^ по состоянию на 12 августа 2014 г. Интернет-роутеры, изготовлены по Cisco и другие поставщики, столкнулись с ограничением программного обеспечения по умолчанию 512 КБ (512 000 - 524 288) «Проблема коммутатора Cisco».
- ^ «Глобальные маршруты Renesys 512k».
- ^ а б "Отчеты BGP". potaroo.net.
- ^ «Процедуры настройки распределения TCAM маршрутизаторов серий CAT 6500 и 7600 и коммутаторов». Cisco. 9 марта 2015.
- ^ Джим Коуи. "Интернет затрагивает полмиллиона маршрутов: на следующей неделе возможны сбои". Dyn Research.
- ^ Гарсайд, Джульетта; Гиббс, Сэмюэл (14 августа 2014 г.). «Интернет-инфраструктура» нуждается в обновлении, иначе будут отключения'". Хранитель. Получено 15 августа 2014.
- ^ "Отчет о конвертере" (PDF). www.nanog.org. Получено 2019-12-17.
- ^ Грег Ферро. «TCAM - более глубокий взгляд и влияние IPv6». EtherealMind.
- ^ "Сайт истощения IPv4". ipv4depletion.com.
- ^ "Что стало причиной сегодняшнего сбоя в Интернете". bgpmon.net.
- ^ 16-битный системный отчет Autonomus, Джефф Хьюстон 2011 (оригинал находится в архиве https://web.archive.org/web/20110906085724/http://www.potaroo.net/tools/asn16/ )
- ^ Крейг Тимберг (2015-05-31). «Быстрое решение первой проблемы с Интернетом живет четверть века спустя». Вашингтон Пост. Получено 2015-06-01.
- ^ "GNU Zebra".
дальнейшее чтение
- Глава «Протокол пограничного шлюза (BGP)» в Cisco «Справочник по технологиям iOS»
внешняя ссылка
- Ресурсы маршрутизации BGP (включает специальный раздел по Базовая безопасность BGP и ISP )
- Статистика таблицы BGP