После полного понимания BGP вы никогда не сможете избежать этих основных обзоров. Прочитав это, вы больше не будете бояться BGP!
После полного понимания BGP вы никогда не сможете избежать этих основных обзоров. Прочитав это, вы больше не будете бояться BGP!

Всегда есть люди, жалующиеся в личных сообщениях.,BGP действительно слишком сложен!

Во-первых, эта вещь по своей сути сложна и требует обработки большого количества маршрутной информации и сложных алгоритмов, во-вторых, вам нужен определенный практический опыт, чтобы глубоко понять работу;

Хотя BGP действительно сложен, вам придется начать с технической теории, чтобы понять его досконально, не так ли?

Изучите и освойте BGP,работатьУлучшите производительность сети, повысьте стабильность и безопасность сети.Подождите много аспектов,Все достаточно критично.

Если вы хотите досконально понять BGP, вам не обойтись без базового обзора и примеров, о которых я собираюсь поговорить сегодня!

01

Базовый обзор

Прежде чем говорить о BGP, давайте начнем с основ компьютерных сетей.

В используемых в настоящее время компьютерных сетях сеть обычно представлена ​​сегментом IP-сети.

Чтобы соединить все сети и обмениваться данными, вам необходимо соединить эти сегменты IP-сети, чтобы каждый сегмент IP-сети знал информацию о других сегментах IP-сети, и тогда вы сможете обеспечить общесетевую связь.

Устройствами, соединяющими сети друг с другом, являются маршрутизаторы. Поскольку каждый маршрутизатор в сети знает всю информацию об IP-сегментах, он может обеспечивать пересылку данных для всей сети.

Если маршрутизатор не может узнать всю информацию о сегменте IP-сети, это означает, что сеть, подключенная к этому маршрутизатору, не может взаимодействовать с другими сегментами сети.

Чтобы помочь маршрутизатору получить информацию об IP-сегменте всей сети, протокол маршрутизации работает между маршрутизаторами, так что каждый маршрутизатор в сети имеет полную информацию о маршрутизации всей сети, тем самым обеспечивая доступность всей сети. Как видно из вышесказанного, протоколы маршрутизации передают информацию о маршрутизации между маршрутизаторами и являются основой обеспечения сетевой связи.

Если протокол маршрутизатора передает неверную информацию о маршрутизации или не передает информацию о маршрутизации, это приведет к прерыванию определенных сетевых коммуникаций. Поэтому после того, как протокол маршрутизации получит обновление маршрутизации от одного маршрутизатора, он должен без резервирования передать его другим маршрутизаторам.

При сбое сети другие маршрутизаторы также должны быть проинформированы о том, что сегмент сети недоступен, и соответствующие маршрутизаторы необходимо удалить.

Когда каждый маршрутизатор во всей сети должен иметь всю информацию о маршрутизации и быть полностью согласованной, это состояние называется состоянием конвергенции. Только когда сеть находится в состоянии конвергенции, вся сеть может быть доступна.

Огромный Интернет, используемый сегодня, соединен десятками тысяч маршрутизаторов.

Если бы каждый маршрутизатор имел всю информацию о маршрутизации в Интернете, это означало бы, что каждый маршрутизатор имел бы сотни тысяч или даже миллионы записей маршрутизации. Это число ошеломляет.

Однако из-за особенностей протоколов маршрутизации и необходимости общесетевой связи в Интернете каждый маршрутизатор в Интернете должен обмениваться информацией о маршрутизации с другими маршрутизаторами, чтобы весь Интернет достиг состояния конвергенции.

Хотя это железное требование, подумайте хорошенько. Это абсолютно невозможно.

Потому что очень большая сеть с десятками тысяч маршрутизаторов никогда не сможет достичь конвергенции.

Когда сеть отключается, маршрутизатор, который узнал об этом, сначала должен сообщить эту информацию всем остальным маршрутизаторам. Поскольку информация передается от одного маршрутизатора к другому, информация об отключении сети должна быть известна десяткам тысяч маршрутизаторов. , что занимает много времени.

И возможно, прежде чем эта информация распространится по всей сети, ранее прерванная сеть вернулась в нормальное состояние.

В это время маршрутизатор, который узнал об этом первым, снова уведомит сеть о том, что сегмент сети вернулся в нормальное состояние.

В результате постоянно меняющаяся сеть в Интернете приведет к тому, что все маршрутизаторы будут непрерывно передавать информацию о маршрутизации. Результатом станет противоречивая информация о маршрутизации в сети, а также это приведет к огромным обновлениям маршрутизации, которые повлияют на производительность всех маршрутизаторов.

Таким образом, в Интернете о прерывании и восстановлении сети не обязательно нужно уведомлять десятки тысяч маршрутизаторов.

Сетевая информация должна быть объявлена ​​другим маршрутизаторам.

Итак, поскольку информацию о маршрутизации маршрутизатора не обязательно объявлять каждому маршрутизатору в сети, каким маршрутизаторам ее следует объявлять?

Или, другими словами, каков объем его объявления об обновлении маршрутизации?

По вышеуказанным причинам мы ограничиваем обновления маршрутизации каждого маршрутизатора определенным диапазоном. Только таким образом сеть, разделенная на более мелкие диапазоны, может достичь состояния конвергенции.

Итак, реальность такова, что наш Интернет разделен на более мелкие сети.

Обновления маршрутизации любого маршрутизатора ограничены этим конкретным диапазоном, и именно этот конкретный диапазон — это то, что вам следует знать о сетевом диапазоне, называемом автономной системой, то есть автономной системой (AS).

Обновления протокола маршрутизации в Интернете должны доставляться только внутри AS.

Однако Интернет требует общесетевой связи, поэтому каждая AS должна иметь возможность получать информацию о маршрутизации других AS.

Таким образом, протоколы маршрутизации делятся на два совершенно разных типа, а именно протоколы маршрутизации, которые обновляются только в пределах одной AS, называемые протоколом внутреннего шлюза (IGP).

А обновленный протокол маршрутизации между AS и AS называется Border Gateway Protocol (BGP).

Нужны дополнительные пояснения: цель разделения Интернета на несколько AS состоит не только в том, чтобы ограничить обновления протокола маршрутизации определенной областью;

Другая важная причина заключается в том, что после того, как Интернет разделен на тысячи небольших сетей, каждая из этих небольших сетей может независимо определять свою собственную стратегию маршрутизации и стратегию безопасности, и это не должно мешать другим AS и не подвержено влиянию помех. от других AS.

Например, в сети есть несколько интернет-провайдеров. Этим интернет-провайдерам необходимо сформулировать свои собственные политики для своих сетей, и им необходимо сохранять конфиденциальность этих политик, не мешая другим интернет-провайдерам. Поэтому разделение AS помогает им достичь этой цели.

Протоколы маршрутизации IGP, которые могут доставлять обновления только внутри AS, включают RIP, EIGRP, OSPF и IS-IS. В настоящее время единственными протоколами маршрутизации, которые могут доставлять обновления между AS, являются BGP.

Но есть одна особенность: EIGRP также использует для работы концепцию AS.

Сеть, в которой работает EIGRP, также будет разделена на несколько AS. Хотя по умолчанию EIGRP не может обновлять информацию о маршрутизации между AS, EIGRP также может реализовывать обновления маршрутизации между AS.

Следует отметить, что AS в концепции EIGRP не имеет связи с AS в BGP, и между ними нет взаимодействия.

Настоящая AS относится к AS BGP, и независимо от характеристик AS, которыми обладает EIGRP, он всегда ограничивается одной AS BGP.

02

BGP AS

Распределение номеров BGP AS планируется и распределяется единообразно Управлением по присвоению номеров Интернета (IANA).

BGP, работающий в IOS, в настоящее время поддерживает номера AS с максимальной длиной 4 байта, но это не означает, что все номера AS можно настраивать произвольно.

После января 2009 года (IANA) решило использовать 4-байтовый диапазон AS длиной 65535-4294967295.

В настоящее время обычно используются AS длиной 2 байта, то есть 1-65535, поэтому о 4-байтовых номерах AS не ведется большая дискуссия.

Поскольку BGP используется в Интернете, который состоит из нескольких доменов BGP AS, домены с одинаковым номером AS не могут появляться в Интернете.

Если маршрутизатор хочет подключиться к Интернету и запустить BGP, он должен подать заявку на получение легального номера AS от IANA.

Учитывая, что некоторым крупным предприятиям необходимо использовать BGP для подключения к интернет-провайдерам, но для корпоративных пользователей недостаточно номеров AS, номера AS делятся на общедоступные и частные AS.

Диапазон общедоступных AS — 1–64511, диапазон частных AS — 64512–65534.

Публичные AS могут использоваться только в Интернете, они уникальны в мире и не могут быть повторены, тогда как частные AS могут использоваться в корпоративных сетях, где легальные AS недоступны и могут быть повторены.

Очевидно, что поскольку частные AS могут повторно использоваться несколькими корпоративными сетями, этим частным AS не разрешается выходить в Интернет. Интернет-провайдерам необходимо отфильтровывать записи маршрутизации с частными номерами AS на границах корпоративных пользователей.

03

Сосед BGP

Если вы загружаете файлы с FTP-сервера на свой компьютер, тогда ваш компьютер необходимо только подключить к FTP-серверу.

Другими словами, вашему компьютеру необходимо иметь возможность пинговать только FTP-сервер, независимо от того, насколько далеко он находится, поскольку компьютер не может загружать файлы с FTP-сервера и напрямую подключаться к нему.

Когда компьютер загружает файлы с FTP-сервера, он использует передачу TCP. Если пакеты данных теряются во время процесса, отброшенные пакеты данных могут быть доставлены повторно, чтобы гарантировать целостность загруженных файлов.

Поскольку BGP работает в Интернете и передает огромное количество маршрутной информации, передача маршрутов между маршрутизаторами BGP должна быть очень надежной и точной;

Таким образом, передача данных между маршрутизаторами BGP использует протокол TCP, номер порта — 179 и относится к номеру целевого порта сеанса — 179, номер целевого порта сеанса — 179, а номер порта источника сеанса является случайным.

Поскольку BGP использует протокол TCP для передачи, пока связь между двумя маршрутизаторами, использующими BGP, является нормальной, то есть пока пинг успешен, независимо от расстояния между маршрутизаторами, они могут формировать соседей BGP и обмениваться информацией о маршрутизации. .

Маршрутизатор, настроенный с использованием процесса BGP, может называться только BGP-Speaker. Когда он образует соседа с другими маршрутизаторами, использующими BGP, он называется BGP-Peer.

Если несколько маршрутизаторов в сети используют OSPF, то эти маршрутизаторы будут активно обнаруживать соседей OSPF в соответствующем сегменте сети и активно формировать соседей OSPF друг с другом.

После того как маршрутизатор запустит BGP, он не будет активно обнаруживать и искать других соседей BGP, которые необходимо указать вручную.

BGP, как и другие протоколы маршрутизации, передает протоколы сетевого уровня, такие как протокол IP. Кроме того, BGP может также передавать другие протоколы сетевого уровня, помимо протокола IP. Могут передаваться следующие протоколы.

!! IP Version 4 (IPv4) IP Version 6 (IPv6) Virtual Private Netwoks version 4 (VPNv4) Connectiononless Network Service (CLNS) Layer 2 VPN(L2VPN)

Все эти протоколы называются семействами адресов. При настройке необходимо ввести соответствующий режим семейства адресов протоколов, кроме IPv4.

Все команды настраиваются независимо в семействе адресов, действуют независимо и имеют независимые базы данных.

Обычный режим настройки BGP называется конфигурацией в режиме NLRI. Параметры, настроенные в режиме NLRI, действуют только для одноадресной передачи IPv4.

IOS поддерживает четыре режима AFI, а именно IPv4, IPv6, CLNS и VPNv4, а IPv4 и IPv6 делятся на одноадресную и многоадресную рассылку.

Маршрутизаторы Cisco используют BGP версии 4. Маршрутизатор может запускать только один процесс BGP, и весь маршрутизатор может принадлежать только одной AS;

Однако маршрутизатор может поддерживать несколько семейств адресов, а BGP, который поддерживает несколько семейств адресов и который не может нормально взаимодействовать, но это ограничено IPv4.

Маршрутизатор BGP работает в одной AS, если при установлении соседства с другими маршрутизаторами BGP другой маршрутизатор BGP принадлежит той же AS, что и он сам, отношения соседства являются внутренними BGP (iBGP). Если он принадлежит другой AS, соседом. связь является внешней BGP (eBGP).

BGP требует, чтобы соседи eBGP были подключены напрямую, тогда как соседи iBGP могут находиться на любом расстоянии, но их можно изменить.

После того, как BGP установит соседа, первоначально будет осуществляться обмен всей информацией о маршрутизации, но после этого будут использоваться инкрементальные обновления, то есть обновляться только при изменении маршрутов, и будут обновляться только измененные маршруты.

После того как BGP установит соседа, он будет поддерживать отношения соседства, отправляя друг другу данные, подобные пакетам приветствия. Этот пакет данных называется Keepalive. Считается, что сосед потерян и соединение с соседом отключено.

Чтобы установить соседей между BGP, вам необходимо пройти следующие процессы:

  • Ожидание — процесс BGP запущен или сброшен.,Это состояние ожидает начала,Например, это эквивалентно указанию BGPpeer.,После получения запроса TCP-соединения,Затем инициализируйте другое событие,Когда сервер маршрутизации или одноранговый узел сбрасываются,Все вернется в состояние праздности.
  • Подключиться — обнаружено, что партнер пытается установить TCP-соединение.
  • Активный — попытайтесь установить TCP-соединение с другим узлом. В случае сбоя он вернется в состояние ожидания.
  • OpenSent — TCP-соединение установлено, BGP отправляет сообщение 0PEN другому узлу, а затем переключается в состояние OpenSent. В случае неудачи он переключается в активное состояние.
  • OpenReceive — получить сообщение OPEN от другого узла и дождаться сообщения проверки активности. Если сообщение проверки активности получено, оно перейдет в состояние «Установлено». Если получено уведомление, оно вернется в состояние ожидания. если произошла ошибка или изменение конфигурации, уведомление будет отправлено обратно в состояние ожидания.
  • Установлено — получение дополнительного подтверждения активности от однорангового узла и начало обмена данными. После получения подтверждения активности таймер удержания будет сброшен. При получении уведомления он вернется в состояние ожидания.

05

Источник обновления BGP

BGP не может активно искать соседей в сети. Необходимо вручную указать адрес соседа BGP, после чего BGP отправит пакет данных на указанный адрес для запроса установления соседа.

При этом помимо IP-адреса назначения пакет запроса, отправляемый BGP, содержит также собственный IP-адрес, то есть адрес источника BGP.

Когда маршрутизатор сам генерирует трафик и отправляет его из интерфейса, из которого отправляется трафик, тогда IP-адрес источника этих пакетов данных является адресом этого интерфейса.

Следовательно, когда BGP отправляет пакеты данных для поиска соседей, эти пакеты данных отправляются с этих интерфейсов, тогда IP-адрес источника BGP является адресом этого интерфейса.

Чтобы два маршрутизатора BGP могли нормально установить соседей, оба маршрутизатора должны назначить соседей друг другу и отправлять пакеты данных друг другу.

Когда маршрутизатор BGP получает запрос на установление соседа, он обнаруживает, что IP-адрес назначения пакета данных не является его собственным адресом источника BGP.

Затем, после отклонения запроса на соединение, сосед BGP может быть установлен только в том случае, если пункт назначения пакета запроса совпадает с его собственным исходным адресом BGP.

Следует отметить, что это условие действует только между двумя соседями. Любой сосед может удовлетворить этому условию, и оно не обязательно должно выполняться обеими сторонами;

Другими словами, IP-адрес назначения пакета данных, полученного одной стороной, совпадает с ее собственным адресом источника BGP;

Не имеет значения, отличается ли IP-адрес назначения пакета данных, полученного другой стороной, от его адреса источника BGP, если условия выполняются в одностороннем порядке, но мы обычно сохраняем согласованность источника и назначения на обоих концах BGP.

Адрес источника BGP можно изменить по желанию, но это может быть только адрес интерфейса маршрутизатора. Как показано ниже:

На приведенной выше схеме есть две связи между R1 и R2.

При настройке соседей BGP, если R1 указывает адрес соседа как 12.1.1.2, R2 указывает адрес соседа как 12.1.1.1.

Затем в процессе установления соседа R1 отправит пакет запроса от интерфейса F0/0. IP-адрес назначения пакета — 12.1.1.2, а адрес источника BGP — это адрес интерфейса F0/0 12.1.1. .1.

Когда R2 отправляет пакет запроса с интерфейса F0/0, IP-адрес назначения пакета — 12.1.1.1, а адрес источника BGP — это адрес интерфейса F0/0 12.1.1.2.

Поскольку IP-адрес назначения 12.1.1.2 пакета данных, отправленного маршрутизатором R1, точно такой же, как адрес источника BGP 12.1.1.2 маршрутизатора R2, сосед BGP в конечном итоге может быть установлен нормально.

Когда R1 обнаруживает адрес, IP-адрес назначения R2 точно такой же, как и источник R1. Обычно мы гарантируем согласованность обеих сторон.

Когда прямой интерфейс F0/0 между R1 и R2 прерывается, если обе стороны отправляют пакеты данных от S0/0, то адрес источника R1 равен 10. 1. 1.1, а адрес источника R2 равен 20. 1.1.2 ;

Видно, что IP-адрес назначения пакетов данных, отправленных обеими сторонами, не соответствует исходному адресу другой стороны, поэтому сосед BGP не может быть установлен.

Хотя в описанной выше сетевой среде между маршрутизаторами с обеих сторон имеется несколько каналов связи, и связь все равно может быть установлена ​​при разрыве канала, это не гарантирует постоянного соединения соседей BGP.

Чтобы постоянно поддерживать соединение между соседями BGP с несколькими каналами, учитывая, что интерфейс обратной связи маршрутизатора не будет прерываться, как физический интерфейс, когда устройство работает нормально, рекомендуется использовать интерфейс обратной связи между адресами соседей BGP. чтобы установить TCP-соединение.

При указании соседа адрес соседа больше не указывается как адрес физического интерфейса другой стороны, а вместо этого указывается адрес обратной связи другой стороны.

Таким образом, поскольку физический интерфейс прерывается, сосед BGP может оставаться подключенным до тех пор, пока существует бесперебойное соединение.

При указании адреса соседа BGP в качестве адреса обратной связи другой стороны, чтобы сделать IP-адрес назначения пакета данных таким же, как исходный адрес BGP другой стороны, сосед также должен изменить адрес источника BGP на свой собственный адрес интерфейса обратной связи. чтобы обе стороны могли нормально установить соединение BGP.

На приведенном выше рисунке, когда R1 указывает адрес соседа как 2.2.2.2 и адрес источника BGP как 1.1.1.1, а R2 указывает адрес соседа как 1.1.1.1 и адрес источника BGP как 2.2.2.2, таким образом, IP-адреса назначения обеих сторон совпадают. Это то же самое, что и исходный адрес BGP другой стороны.

Таким образом, соседи могут быть установлены обычным образом, и если какое-либо из каналов с обеих сторон будет отключено, сеанс соседа не будет затронут. Соединение BGP по-прежнему будет поддерживаться без прерываний, обеспечивая избыточность и стабильность соединения.

06

BGP TTL

Маршруты BGP могут передаваться от одной AS к другой, таким образом пересекая несколько AS.

Однако, поскольку сеть, на которой работает BGP, будет большой сетью, маршрут отправляется из AS и может вернуться к начальной AS после пересылки, образуя петлю маршрутизации.

Поэтому в целях предотвращения петель BGP необходимо прописывать в маршруте собственный номер AS при отправке его другим AS, то есть при отправке соседям eBGP.

После того, как следующая AS получит маршрут и отправит его другим AS, помимо сохранения предыдущего номера AS, она также должна добавить свой собственный номер AS.

AS, записанная в маршруте таким образом, называется AS-path. Если AS_PATH маршрута, полученного BGP, содержит собственный номер AS, будет считаться, что маршрут отправлен обратно. произошла петля маршрутизации, и полученный маршрут будет отброшен.

BGP добавит свой собственный номер AS к AS-пути только при отправке маршрута в eBGP, но не добавит номер AS при отправке его в iBGP.

Поскольку соседи iBGP находятся в одной AS, даже если их необходимо добавить, номера AS одинаковы, поэтому в этом нет необходимости.

На приведенном выше рисунке, когда маршруты пересекают различные AS, все маршруты, отправленные соседям eBGP, добавляют свою собственную AS в путь AS, а их собственная AS всегда добавляется перед путем AS.

Например:

Когда маршрут отправляется из AS10 в AS 20, путь AS равен «10». Когда AS 20 отправляет маршрут в AS 30, после добавления собственного номера AS 20 путь AS становится «20, 10 When». AS 30 отправляет маршрут в AS 50, AS-путь маршрута, полученного AS 50, равен «30, 20, 10».

Когда AS 30 отправляет маршрут в AS 40, а AS 40 отправляет маршрут в AS 10, AS-путь маршрута равен «40, 30, 20, 10»;

После того как AS 10 получает маршрут, она обнаруживает, что AS-путь содержит собственный номер AS 10, поэтому считает, что произошла петля, и отбрасывает все полученные маршруты.

В протоколе IGP мы разделяем протоколы маршрутизации на две основные категории: протоколы маршрутизации на основе вектора расстояния и протоколы маршрутизации по состоянию канала, тогда как BGP делится на протоколы маршрутизации на основе вектора пути. Алгоритм вектора пути сочетает в себе характеристики вектора расстояния и защиту от петель AS-пути. характеристики.

Поскольку BGP добавляет свой собственный номер AS к пути AS при отправке маршрутов соседям eBGP, это может предотвратить образование петель.

При отправке маршрутов в iBGP номер AS не добавляется к AS-пути. Поэтому не существует механизма предотвращения петель при передаче маршрутов между iBGP.

Учитывая, что к передаче маршрутов между iBGP также добавляется механизм защиты от петель, маршруты BGP вынуждены передаваться только в пределах одного перехода внутри AS.

Конкретными операциями являются:

После того как маршрутизатор BGP получает маршрут от соседа eBGP и отправляет его соседу iBGP, сосед iBGP не может передать его любому другому соседу iBGP после его получения, а может только передать его соседу eBGP.

Большинство людей называют это правило разделением горизонта BGP.,Это устройство маршрутизации BGP, полученное от маршрутизации iBGP Sosed.,Невозможно передать другому iСосед BGP.,Можно передать только в eBGP Сосед. Как показано ниже:

На приведенном выше рисунке после того, как R1 получит маршрут от соседа eBGP R6, он может отправить его любому соседу iBGP, включая R3 и R4.

Когда R3 получает маршрут от соседа iBGP R1, он не может пересылать его ни одному соседу iBGP, а может только пересылать его соседу eBGP. Поэтому после того, как R3 получает маршрут от R1, он может пересылать его только соседу eBGP R5.

После того как R3 и R4 получили маршрут от R1, они не могут переслать его соседу iBGP R2.

В показанной выше среде R2 в конечном итоге не может получать какие-либо маршруты. Чтобы позволить R2 получать маршруты, рекомендуется установить еще один сеанс BGP между R1 и R2.

Следовательно, в одной AS для передачи маршрутов по сети необходимо настроить полное межсоединение между соседями iBGP. Итоговое соседство в AS 20 выглядит следующим образом:

Внутри AS, помимо установления полностью взаимосвязанных соседских отношений iBGP, маршруты также могут передаваться по всей сети через отражатель BGP (BGP Reflector) и конфедерацию BGP (BGP Federation), которые будут представлены позже.

07

Таблица маршрутизации BGP

После того как маршрутизаторы установят соседей BGP, они могут обмениваться маршрутами BGP друг с другом.

Маршрутизатор, использующий протокол BGP, будет хранить маршруты, полученные с помощью BGP, отдельно от обычных маршрутов, поэтому маршрутизатор BGP будет иметь два маршрутизатора одновременно:

Одна из них — это таблица маршрутизации, в которой хранятся обычные маршруты, которая называется таблицей маршрутизации IGP.

Это таблица маршрутизации, которую мы обычно видим с помощью команды show ip Route. Информация о маршрутизации таблицы маршрутизации IGP может быть получена только из протокола IGP и ручной настройки и может быть передана только в протокол IGP.

Другая таблица маршрутизации создается после запуска BGP и называется Таблица маршрутизации BGP.

Нужно передать команду show ip bgp можно только просмотреть, Таблица маршрутизации Информация о маршрутизации BGP может быть передана в протокол BGP только в том случае, если Таблица двух BGP Сосед. маршрутизации Если BGP пуст, маршрутизации не будет.

В исходном состоянии BGP Таблица маршрутизации пуста и не имеет маршрутов, которые BGP должен передать соответствующим образом. маршрутизация, вы можете только сначала импортировать маршрутизацию в Таблицу маршрутизации BGP, а затем может передаваться между BGP Сосед.

По умолчанию,Любая маршрутизация не будет автоматически входить в таблицу маршрутизации BGP.,Таблица маршрутизации Есть много способов получить маршрутизацию BGP:

Доступно в БГПСосед,Вы также можете вручную импортировать маршрутизацию IGP в Таблицу маршрутизации BGP.,Другая маршрутизация также может быть перераспределена в BGP.

Поскольку маршруты BGP не извлекаются из соседей, а импортируются вручную, такие маршруты называются локальными маршрутами BGP.

Потому что типы соседей BGP делятся на два типа:

eBGP и iBGP, поэтому значение AD для маршрутов BGP также различается. Если маршрут BGP получен из eBGP, значение AD равно 20.

Можно обнаружить, что маршруты, полученные от соседей eBGP, будут превосходить любой протокол IGP: значение AD маршрутов, полученных от iBGP, равно 200. Также можно обнаружить, что приоритет таких маршрутов ниже, чем у любого протокола IGP.

BGP В дополнение к двум вышеуказанным значениям AD, если маршрут BGP вручную импортирован из локальной области, то есть локальный маршрут BGP, значение AD локального маршрута BGP равно 200, что совпадает со значением AD маршрут iBGP и имеет более низкий приоритет, чем любой протокол IGP.

Если один и тот же маршрут получен одновременно из eBGP, iBGP и локальных маршрутов, какой маршрут будет выбран в качестве оптимального?

Значение AD маршрута не обязательно влияет на выбор пути, поскольку BGP не выбирает оптимальный путь путем сравнения значения AD в начале.

08

Синхронизация BGP

Связь и обмен между соседями BGP выполняются на основе TCP. Пока сеть открыта между двумя узлами, TCP может быть установлен.

Сетевое соединение может быть любым протоколом маршрутизации IGP или даже статической маршрутизацией. Короче говоря, пока сеть открыта, TCP-соединение будет установлено.

Пока два маршрутизатора подключены и TCP может нормально подключаться, связь BCP может быть гарантирована.

В AS, помимо установления соединения BGP, также необходимо запустить протокол FGP.

Целью использования BGP является передача огромных таблиц маршрутизации или информации о маршрутизации в больших сетях, тогда как цель использования протокола IGP, очевидно, не в передаче огромной информации о маршрутизации;

Основная цель запуска IGP в AS — разрешить TCP-соединения между маршрутизаторами BGP для обслуживания связи BGP.

Таким образом, можно видеть, что BGP похож на грузовик, который перевозит товары. Маршрут BGP — это товары, которые грузовик хочет перевезти, а протокол IGP предназначен для прокладки пути между станциями. дороги, то BGP не может перевозить грузы между станциями.

Потому что, когда BGP устанавливает соседа, исходным адресом BGP может быть любой адрес, и эти адреса не обязательно должны быть подключены напрямую, если они могут взаимодействовать и устанавливать TCP-соединение.

Когда BGP отправляет трафик соседу, ему необходимо отправить трафик только на адрес узла соседа. Поскольку адрес соседа не обязательно напрямую подключен, чтобы найти путь к адресу соседа, вам может потребоваться запросить таблицу маршрутизации IGP, поскольку IGP обеспечивает гарантию связи и соединения BGP.

Видно, что BGP хочет отправить данные соседям. Когда BGP запрашивает путь к соседу, он использует рекурсивный запрос. В процессе запроса соседа BGP может потребоваться несколько раз запросить таблицу маршрутизации IGP.

Пока соответствующий путь или соответствующий следующий переход к адресу соседа находится в таблице маршрутизации IGP, данные будут отправляться на этот следующий переход.

В сети, показанной выше, R1 устанавливает соединение eBGP с R4, R3 устанавливает соединение eBGP с R5, а R1 устанавливает соединение iBGP с R3.

Когда R1 и R3 устанавливают соединение iBGP, R1 находит соседа R3 по адресу назначения 3.3.3.3, исходный адрес BGP для R1 — 1.1.1.1, а R3 также находит соседа R1 по адресу назначения 1.1.1.1 и исходному адресу BGP R3 - 3.3.3.3;

Чтобы позволить 1.1.1.1 и 3.3.3.3 нормально взаимодействовать и устанавливать TCP-соединение, протокол IGP 0SPF включается между R1, R2 и R3. Цель OSPF состоит только в том, чтобы позволить 1.1.1.1 взаимодействовать с 3.3. 3.3 и не передает огромную информацию о маршрутизации в AS.

Когда R4 в AS 10 объявляет сетевой сегмент 10.1.1.0/24 маршрутизатору R1 в AS 20, поскольку R1 и R3 являются соседями iBGP, R1 передает маршрут 10.1.1.0/24 R3 и, наконец, R3 передает маршрут 10.1.1.0/24. до R5 в AS30.

Когда R5 отправляет трафик, предназначенный для 10.1.1.0/24, на R3, R3 после запроса таблицы маршрутизации узнает, что пакет данных, предназначенный для 10.1.1.0/24, необходимо отправить соседу iBGP 1.1.1.1, чтобы достичь его;

Таким образом, R3 выполняет рекурсивный запрос, чтобы узнать, как перейти к 1.1.1.1. Поскольку связь между R1 и R3 обеспечивается OSPF, R3 знает, что пакет данных должен быть передан R2, чтобы перейти к 1.1.1.1;

То есть укажите следующий переход 23.1.1.2. Поскольку R2 использует только OSPF для обслуживания BGP, у R2 нет маршрута BGP 10.1.1.0/24. Когда R2 обнаруживает, что адрес назначения пакета данных — 10.1.1.0/. После 24 все пакеты данных могут быть только отброшены, что похоже на черную дыру маршрутизации.

Как видно из приведенной выше ситуации, когда BGP получает маршруты от iBGP, соседи могут охватывать несколько маршрутизаторов IGP.

Поэтому, когда BGP отправляет пакеты данных в пункт назначения, он обычно отправляет их на маршрутизатор, который использует только IGP. Однако маршрутизатор, который использует только IGP, не имеет маршрутов BGP, что в конечном итоге приводит к потере пакетов данных и черной дыре маршрутизации.

Чтобы предотвратить возникновение таких проблем, ответ на самом деле очень ясен: позвольте маршрутизатору в AS, который работает только с IGP, также иметь таблицу маршрутизации BGP.

По вышеуказанным причинам в доставке маршрутов BGP существует следующее правило: прежде чем BGP передаст информацию о маршрутизации, полученную от соседей iBGP, другим соседям (этот сосед обычно является соседом eBGP), эти маршруты также должны быть в таблице маршрутизации IGP. можно узнать, иначе маршрут будет считаться недействительным и не сможет быть отправлен другим соседям.

Это правило называется синхронизацией маршрутизации iBGP и IGP.

В приведенной выше среде, прежде чем R3 передаст маршрут, полученный от соседа iBGP R1, соседу eBGP R5, он должен убедиться, что этот маршрут также существует в его собственной таблице маршрутизации IGP, в противном случае маршрут не будет использоваться.

Чтобы проверить, существует ли маршрут в таблице маршрутизации IGP, используйте команду show ip Route.

Обратите внимание, что только маршруты, полученные от соседей iBGP, ограничиваются правилами синхронизации маршрутов iBGP и IGP. Если маршруты получены от соседей eBGP, они не ограничиваются этим правилом, и это правило можно включить или отключить вручную.

Синхронизация BGP включена по умолчанию и отключена по умолчанию в IOS 12.2(8)T и более поздних версиях.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose