Всегда есть люди, жалующиеся в личных сообщениях.,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, вам необходимо пройти следующие процессы:
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 и более поздних версиях.