Способы анонсирования префиксов в BGP: команды network и redistribute, атрибут Origin.
Как работает команда network в BGP по сравнению с IGP?
Какое значение Origin получает маршрут при использовании redistribute?
Как Origin Type влияет на выбор лучшего маршрута?
Что делает команда redistribute в контексте BGP?
Какую информацию показывает команда show ip bgp neighbors?
Коллеги, добрый день. Приветствую вас на уроке номер 4 курса BGP. И сегодня мы будем с вами продолжать разговор о BGP протоколе. На текущий момент у нас установлена BGP-сессия между двумя маршрутизаторами, между маршрутизатором R1 и R2. И у нас нет никаких префиксов, которые мы получаем от соседей. Давайте чуть более подробно для начала посмотрим различные параметры, которые маршрутизаторы согласовали друг с другом. А в частности эти параметры можно посмотреть командой show.ip.bgp-neighbors. Здесь будет представлена довольно-таки подробная информация о всех ваших BGP-соседях. Итак, на маршрутизаторе R1 мы видим, что у нас есть сосед с адресом 10.1.2.2,
который находится в автономной системе номер 123. И это внутренняя BGP-сессия, назовемая internal BGP. Почему internal? Потому что в этом случае номер автономной системы на маршрутизаторе R1 и на маршрутизаторе R2 совпадает. Такая соседность называется внутрь. BGP-версия у нас четвертая. Я, кстати, не уверен, что Cisco поддерживает сейчас еще более старые. Remote Router ID. Это BGP-раутер ID соседа R2. State is established. То есть она говорит о том, что соединение установлено. И оно было установлено приблизительно 22 минуты назад. С этим маршрутизатором у нас одна сессия, и при этом эта сессия так называемая not multisession capable. Состояние disabled. Что такое multisession capable?
Представьте, что у нас есть два маршрутизатора. Наши маршрутизаторы R1 и R2. И они соединены двумя линками. В теории вы можете на самом деле захотеть сделать так, что одну BGP-сессию построить с этого линка. Первую BGP-сессию. А вторую BGP-сессию построить с этого линка. То есть когда между двумя маршрутизаторами установлено более одной сессии, то такая сессия называется multisession. По умолчанию на Cisco IOS такая возможность выключена. Далее. Раздел, который называется network capabilities. По сути здесь указываются некие фичи, которыми маршрутизаторы друг с другом подменялись.
В частности, route refresh в статусе advertised and received. То есть мы можем как принимать сообщение route refresh, так и его отправлять. Далее. Поддержка четырех актентных автономных систем. Advertise and received. Далее. Adress family IPv4 unicast advertised and received. То есть эта строчка как раз-таки нам говорит о том, что между маршрутизаторами R1 и R2 будут обмениваться между собой IPv4 маршрута. Соответственно, если там будет стоять что-то еще, то маршрутизаторы смогут обмениваться между собой IPv6 маршрута. Далее идет некая информация о том, сколько было выслано сообщений open. В частности, отправили одно, получили одно. В сути, нам это говорит о том, что наше соседство не флапало.
Количество сообщений notifications, которые высылались, количество сообщений update, типа live 26 сообщений. Обратите внимание, что стоит из-таблиш приблизительно 23 минуты. За это время приблизительно раз в минуту высылаться типа live. С чего было получено отправлено 28 сообщений. 28 сообщений. Далее. Префикс current, used as best pass, used as multi-pass и used as secondary. По сути, здесь говорится о следующем. Сколько префиксов мы отправили этому соседу, сколько от него получили, сколько раз мы высылали сообщение в издро, например, какая-то сеть пропала. used as best pass. По сути, говорит о том, что, скажем, от соседа R2 к нам прилетело 100 префиксов,
и 50 из них мы выбрали лучше. А, например, другие 50 мы выбрали лучше от другого нашего соседа. Used as multi-pass. То есть, BGP точно так же, как SPF поддерживает балансировку. И, собственно говоря, именно об этом здесь говорится. Далее. Обратите внимание, вот это очень важная вещь. The RIP does have a route to 10.1.2.2. То есть, до нашего соседа. Ну, и дальше есть некие такие, уже больше служебные вещи, которые, наверное, вам никогда в жизни не понадобятся. Не понадобятся их анализ. Хорошо. Смотрите, когда все... Далее. Как BGP спикеры обменились маршрутами? Обменились маршрутами. Предположим, что она может за отрой R1.
За отрой R1. Есть некая сеть. Предположим, ее адрес будет 172.16.1.0.24. И мы хотим сделать так, чтобы маршрутизатор R2 узнал об этой сети. Прежде всего, мы должны локально поместить на маршрутизаторе R1 вот эту сеть в специальную область памяти, которая называется BGP-таблиц. BGP-таблиц. Соответственно, это некая табличка, в которую помещается этот прегресс. Знаете, это аналог, ну, скажем, это аналог EGRP, топологи, аналог ОСПФ, база данных. То есть, мы помещаем этот маршрут в BGP-таблицу и дальше, дальше этот маршрут становится, скажем так, кандидатом на то, чтобы попасть в RIP-таблицу.
В RIP-таблицу. Ну, почему? Ну, например, потому что, скажем, это умерскатор R1. Данный маршрут данная сеть может быть известен по BGP, например, по ОСПФу. Я не знаю, статический маршрут может быть. Давайте посмотрим, как поместить маршрут в... Как поместить префикс в BGP-табличку. Для начала, для начала, давайте создадим вот эту подсеть 172.16.1.0. Для этого, для этого я создам некий интерфейс, интерфейс G2.100 translation.1.q 100 и здесь будет IP-адрес 172.16.1. 161.1. Ну, с маской положим 252.5.5.0. Show IP и интерфейс бриф. Убедимся в том, что у меня создался
IP-адрес. Далее, заходим в раутер BGP и здесь у нас есть специальная команда, которая называется команда network. Specify a network to announce via BGP. Похожая команда есть в протоколе, например, OSPF и в протоколе EGRP. Но в BGP она работает совершенно иначе. То есть, если в OSPF команда network, вы задаете, по сути, некий диапазон IP-адресов, далее, мышечка начинает просматривать все свои IP-интерфейсы. Если он находит IP-адрес на интерфейсе, который входит в диапазон, который задан этой командой network, то на этом интерфейсе активируется рассылка hello-сообщений, и данный интерфейс попадает в либо EGRP topology, либо в OSPF topology. в BGP несколько иначе. Здесь команда
network просматривает уже существующую RIP-таблицу. То есть, по сути, мышечка начинает просматривать show-apperyout. Весь show-apperyout, который у него есть. Если команде network задан тот префикс, который присутствует в таблице мышечки, то данная сеть помещается в BGP. табличку. Если такой сети нету, то префикс не помещается. При этом важно учитывать следующий нюанс. Например, например, например, у нас есть, скажем, скажем, у нас есть подсеть 172 16 1 0 саж 24, который мы только что сконфигурировали. Вы прописываете команду network, 172 16 0 0 16.
Так вот, ищется полное совпадение. То есть, амортизатор выдает команду show ip route именно на тот префикс, который вы ввели. Если префикса 16 нет в таблице амортизации, то ничего в BGP таблицу не поместится. Давайте в этом убедимся. Предположим, я введу команду network 172 16 0 0 mask 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 choose leader ada отрибуты в частности первый атрибут это называется трибутных схоб далее атрибут который называется метрика атрибут local preference атрибут wait и атрибут пас пожалуй это основные атрибуты с которыми нам с вами придется познакомиться в рамках данного курса можно всегда посмотреть более детальную информацию об этом префикс с помощью команды show ip gp 172 16 1 0 24 что мы здесь видим прежде всего мы видим то что данный префикс отдается некой апдейт группе номер три что это такое это некий апдейт группы которые муштизатор формирует динамически вы их можете посмотреть команды show ip gp
апдейт групп если нас интересует например группа 3 в частности на в частности в группе 3 у нас есть один участник с адресом 10122 это не удивительно поскольку у нас сейчас есть всего один сосед далее далее обратите внимание тип local это говорит о том что данный маршрут был порожден нами вот этот параметр это next hop origin ай джипи по сути вот если у вас атрибут который называется origin он отвечает за то что указывает каким способом префикс был а префикс попал в беже таблицу по сути вы один и тот же прессе например локальный можете поместить таблицу двумя путями первое как как я сказал это с помощью команды нет но есть и другой способ роутер биджи пи 1 2 3 вы можете использовать команду redistribute ну например
redistribute connected вид конекты тогда шау ай пи биджи пи в тима не доставить уме здесь появляются все а префикс которые являются connected сетями и давайте сравним выводы для шоу и пи биджи пи 100 сезон 16 10.1.0 и для show ipbgp 10.1.6.0. Здесь, как вы можете видеть, у них отличаются некоторые параметры. В частности, отличается параметр origin. В первом случае стоит IGP, во втором случае стоит incomplete. То есть IGP ставится тогда, когда вы префикс поместили в bgp таблицу с помощью команды network.
Статус incomplete ставится в том случае, если вы префикс поместили в bgp таблицу с помощью команды redistribute. Далее метрик. Некая метрика. Далее следующий атрибут local preference. Атрибут вес. Мы о них поговорим с вами чуть позже, когда будем разбирать о том, как bgp выбирает лучший маршрут. Далее. Valet. Или valid. По сути, команда valid говорит нам о том, что мы знаем информацию о next hop. Но поскольку мы породили данную информацию, поскольку мы породили данный префикс, очевидно, что next hop для данного префикса нам будет извести.
best. Ну и best. Этот маршрут был выбран лучшим с точки зрения bgp. То есть не с точки зрения Riba всего, а именно с точки зрения bgp. В данном случае мы просто эти префиксы больше ни от кого не получаем. Поэтому очевидно, что мы выбираем наилучшим единственный. Есть. Так. Show run. Section bgp. Позвольте, я сейчас... Я сейчас удалю команду redistribute и удалю команду network. Но перед этим я на амортизаторе R2 включу debug.ip.bgp.updates. router bgp.123. Вот это команда no network. Очевидно, она ничего не должна изменить, поскольку у меня нет префикса 172.16. А вот когда я уберу redistribute...
Обратите внимание. Как только я ввел команду no redistribute connected, я сразу на амортизаторе R2 получил сообщение, которое называется withdraw. В частности, эти сообщения были withdraw для префикса 111, 10120, 3040 и так далее. То есть, нам no valid pass теперь. То есть, по сути, амортизатор R1 сообщил нам о том, что он... Вот эти сети у него больше в bgp-таблице не присутствуют. Амортизатор R2 должен удалить данные префиксы из своей bgp-таблицы.
Remove route на такие-то подсети. Теперь посмотрим... Вернемся к show.ipbgp и увидим, что на амортизаторе R1 остался один префикс, и на амортизаторе R2, show.ipbgp, остался один и тот же префикс. show.ipbgp 172.16.1.0. Здесь теперь обратите внимание, что в качестве next hop для амортизатора R2 является адрес амортизатора R1 10.1.2.1. Вот эта часть — это next hop. Вот это next hop. Вот это — это IP-адрес нашего PIR, от которого мы получили данный апдейт.
Соответственно, мы можем ожидать, что если мы посмотрим show.iproute show.iproute на сеть 172.16.1.0, то мы должны увидеть, что эта сеть известна нам по протоколу bgp 1.2.3. Административная дистанция равна 200 type internal, то есть это IBGP-сессия, поскольку номера авторомных систем между амортизаторами R2 и R1 совпадают. И в качестве next hop используется адрес 10.1.2.1, то есть как раз тот, который присутствует вот здесь в BGP-адресе. Здесь и здесь. Show IP-Route BGP.
Обращаю ваше внимание, что все маршруты, которые помещаются в таблицу амортизации, и которые соотносятся с протоколом BGP, они имеют код B. B это код BGP. То есть здесь не делятся на internal BGP-сессии и на external BGP-сессии. External BGP-сессии это когда номера авторомных систем двух соседей не совпадают. И я напоминаю, что мы начали этот урок с вами с того, что мы посмотрели команду show.ip.bgp-neighbors. neighbors. Neighbors. Neighbors. Теперь, теперь, смотрите. Обратите внимание, у нас увеличили счетчики для сообщений, очевидно, для keepalive. увеличили счетчики для сообщений updates. То есть мы от маршрутизатора R1 сейчас получили 4 апдейта.
То есть 4 раза апдейта мы получали. При этом получали explicit withdraw. Получали сообщение withdraw 6 раз. Всего мы получали от маршрутизатора 7 префиксов. На текущий момент мы от него получили один префикс. Данный префикс занимает внутри нашей BGP-таблицы, скажем так, внутри нашей памяти 128 байт. 128 байт. Увидимся на следующем уроке. Спасибо за внимание. Увидимся на следующем уроке.