Маршрутизация трафика по разным ссылкам из одной BGP AS


19

У меня есть два сайта, A и B, в BGP AS 65000, и третий сайт, C, в AS 65001. Все три сайта имеют подключение через MPLS-носитель, и между сайтами A и B. существует внутреннее подключение. Я пытаюсь влиять на BGP. так что трафик с сайта A на сайт C будет направляться через ссылку MPLS на сайте A, а трафик с сайта B на сайт C будет направляться через ссылку MPLS на сайте B. Топология аналогична описанной в этом примере .

AS 65000 и 65001

Граничные маршрутизаторы на сайтах A и B будут видеть свою собственную линию MPLS как лучший путь, потому что маршруты EBGP предпочтительнее маршрутов IBGP. Однако все маршрутизаторы внутри AS 65000 предпочитают либо одну ссылку, либо другую. Моя цель - заставить все маршрутизаторы на любом сайте предпочесть ближайшую ссылку. (К сожалению, в настоящее время я не могу разделить два сайта на отдельные AS).

Есть ли разумный способ сделать это, но при этом разрешить аварийное подключение к сайту C между ссылками сайта A и B?

Изменить: я должен был отметить, что здесь не используется IGP. Фактически, сети на каждом сайте существуют в VRF как часть гораздо более крупной сети. Таким образом, любое решение должно полностью полагаться на BGP.


Привет, Джереми, здесь есть два хороших решения, но я не могу с уверенностью предположить, что у вас есть административный контроль над IGP. Вы можете это уточнить?
Джон Дженсен

В этом сценарии IGP отсутствует. Это на самом деле является представителем только одного VRF в гораздо большей сети; детали, которые я оставил для ясности.
Джереми Стретч

Вот чего я боялся. :-) Спасибо за разъяснение.
Джон Дженсен

Здесь чего-то не хватает, я думаю; Таким образом, мы два предположим, что существует связь (возможно много, из-за нескольких внутренних маршрутизаторов?) Между A и B внутри AS 65000? Кроме того, что вы видите, что является неоптимальным? Отправляет ли / или много маршрутизаторов ближе к A (топологически говоря) трафик через B, чтобы добраться до C?
Jwbensley

@javano проблема в том, что и A, и B (пограничные маршрутизаторы) являются одноранговыми узлами iBGP в одной и той же ASN, поэтому любой префикс (и), извлеченный из C на любом из них, будет иметь 2 пути в RIB на обоих блоках, а путь eBGP будет всегда выигрывайте, поэтому исходящий трафик от AS6500 к AS65001 застревает на одной ссылке.
Джон Дженсен

Ответы:


12

Есть ли четкое определение между сайтом А и сайтом Б?

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

Как только это сообщество будет добавлено к префиксам (скажем, 100: 1 для сайта A и 100: 2 для сайта B), вы можете добавить политику к каждому из маршрутизаторов сайта A, чтобы увеличить LP для любых маршрутов с сообществом 100: 1 и аналогично для сайта B с сообществом 100: 2.

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


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

Я думаю, что это путь, по которому я собираюсь идти. Нужно будет проверить это завтра и посмотреть, не пойду ли я где-нибудь.
Джереми Стретч

@JohnJensen в этом не должно быть необходимости, так как оба сайта A и B будут получать одинаковые префиксы от носителя и, следовательно, могут вносить изменения в свои собственные префиксы «сайтов» с прерывателем связи, поступающим в LP.
Дэвид Ротера

1
В качестве еще одной заметки, подумав об этом больше, может быть лучше использовать локально значимый атрибут, такой как вес, а не переходный, такой как LP.
Дэвид Ротера

1
@DavidRothera Если есть несколько префиксов, объявленных из C, вы были бы правы - возможно, что из C может быть только один префикс, и в этом случае я не совсем уверен, что установка localpref с сообществом будет иметь значение при решении проблемы Джереми, поскольку существует один префикс с возможностью выбора двух сообществ и двух разных значений LP, более предпочтительный LP будет предпочтительным, и трафик все равно будет привязан к одной ссылке. Также согласен с тем, что использование локально значимого атрибута может быть лучше здесь.
Джон Дженсен

6

введите описание изображения здесьКогда я делал нечто подобное, я не использовал eBGP между маршрутизаторами. У меня был говорящий маршрутизатор BGP, который только отправлял маршрут по умолчанию вниз на маршрутизаторы сайта A и сайта B через OSPF, а затем перераспределял маршруты OSPF в BGP. На связи между двумя сайтами я применил стоимость OSPF.

Это позволяет сайту A иметь маршруты к его сетям, сетям сайта B и маршрут по умолчанию для выхода из сайта A (стоимость OSPF сохраняет маршрут по умолчанию от сайта B в качестве вторичного варианта в случае потери ссылки на сайт A). Сайт A будет напрямую общаться с сайтом B, не используя MPLS, если не будет сбоя связи между сайтами.

Кроме того, затраты OSPF преобразуются в BGP MED во время перераспределения, в результате чего сеть MPLS оператора предпочитает отправлять трафик с сайта A непосредственно на сайт A, но также использует сайт B для доступа к сайту A, если это необходимо.


3

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

У вас есть iBGP с полной сеткой в ​​65000? Или вы используете маршрут-отражение?

Если у вас полно-ячеистый iBGP, то каждый граничный маршрутизатор узнает маршрут из обоих [AB] и прибегнет к сравнению стоимости IGP со следующим переходом, который должен преобразоваться в блок ближайшего края.

Если имеется отражение маршрута, оно будет отражать только лучший маршрут из своего собственного POV, что может удалить пересылку лучшего пути. Это также можно исправить, добавив еще один RR, который выберет другой маршрут как лучший, а затем граничные блоки снова смогут выбрать лучший маршрут. Если исправить RR невозможно, как это. Вы можете добавить один и тот же IPV4-адрес в петли обоих пограничных маршрутов, и когда пограничные маршрутизаторы объявляют префикс RR, они устанавливают следующий переход на этот произвольный адрес. Тогда даже после размышления вы будете следовать IGP до ближайшей границы.


2

Если у вас есть контроль над IGP:

Мы сделали только то, что в сетке iBGP были только маршрутизаторы eBGP. Остальные наши внутренние маршрутизаторы являются маршрутизаторами OSPF. Мы перераспределяем из BGP в OSPF в каждой AS. Наши настройки немного отличаются от ваших, но это должно позволить метрике стоимости OSPF влиять на трафик пути, направляя его к ближайшему маршрутизатору eBGP.

Если у вас нет контроля над IGP:

Возможно, вы можете применить политику импорта к внутренним маршрутизаторам, чтобы они статически предпочитали объявления о маршрутах желаемого выхода eBGP-маршрутизатора. Так, например, если iBGP содержит два объявления для данного префикса (одно от маршрутизатора сайта A и одно от маршрутизатора сайта B, но только один установлен в RIB), то вы могли бы локально префиксировать желаемое объявление по мере его поступления в. Я должен был бы проверить это, но я не понимаю, почему это не сработает.


Да, это был бы лучший способ, который я себе представляю, при условии, что у вас есть возможность использовать IGP. К сожалению, это не мой случай. :( Я обновил вопрос, чтобы включить эту упущенную деталь.
Джереми Стретч

Мне нравится ответ Дэвида Ротеры, так как он такой же, как и мой, но он добавляет детали использования сообществ :)
netdad
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.