Только один путь в Зазеркалье


10

Я понимаю, что для соседей eBGP объявляется только лучший путь, но так ли это для iBGP? Если бы я смотрел на двух провайдеров, у меня сложилось впечатление, что кто-то еще, смотрящий на обоих моих провайдеров, будет иметь два пути ко мне. После осмотра нескольких очков, кажется, это не так.

Ответы:


12

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

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

На самом деле ... даже если я вхожу в контакт с провайдерами B и C или даже C и D, я все равно должен видеть несколько путей в моих таблицах BGP, если вы достижимы через B, C и D. Все остальные равным образом, мои устройства должны выбрать B, потому что это должна быть самая короткая AS PATH, но я все равно вижу пути с более длинными AS PATH от C и D. Теперь, возможно, C и D решили, что путь через A лучше, чем путь через B, то пути, которые я видел бы, имели бы ПУТИ «AC» и «AD», так что это выглядело бы так, как будто вы вообще не были подключены к B, но если бы путь через A исчез, тогда путь через B будет распространяться через C и D.

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


2

Одним из аспектов, еще не охваченных этими ответами, является «add-path» BGP, который позволяет одноранговому узлу BGP отправлять не только свой лучший маршрут, но также некоторые или все их альтернативы.

Это наиболее полезно (а также, вероятно, сработает) на iBGP и дает лучший ECMP.

Для EBGP, если у вас есть несколько сеансов с одним и тем же узлом на одном маршрутизаторе, вы должны использовать BGP «многолучевое распространение», чтобы разрешить ECMP. В зависимости от того, как и где выполняется отражение маршрута в сети SP, это может привести к довольно равномерному использованию всех сеансов.

Вот презентация Дэйва Уорда (тогда в Juniper, сейчас в Cisco) о add-path:

http://www.nanog.org/meetings/nanog48/presentations/Tuesday/Ward_AddPath_N48.pdf


2

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

Однако существует расширение для BGP, обычно известное как additional-pathsдобавление идентификатора на каждый маршрут, отправляемый одноранговому узлу, и, таким образом, позволяет одноранговым узлам BGP обмениваться несколькими маршрутами с маршрутом, предоставляя тем самым не только большую возможность для организации трафика, но и уменьшенное время конвергенции в случае изъятия пути, так как префикс (ы), не являющиеся лучшими путями, могут быть установлены в FIB в качестве резервного маршрута (ов), который будет использоваться в момент извлечения наилучшего пути - это особенно важно, если вы ' повторное использование полных интернет-таблиц, так как сканер BGP на маршрутизаторе Cisco будет работать в лучшем случае каждые 30 секунд, а обход 300 000 маршрутов приносит свои плоды.

Обратите внимание, что дополнительные пути BGP не имеют ничего общего с ECMP, поскольку очевидно, что мы говорим о получении нескольких префиксов с одним и тем же следующим переходом - единственное исключение составляют случаи, когда вы запускаете iBGP и не используете next-hop-self(или делаете грязные вещи) с eBGP, где сохраняется следующая мастерская)

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


0

Попытка искать собственные маршруты в очках не всегда работает так, как вы ожидаете, особенно если вы покупаете у того, кто покупает много транзита. Например, Internap покупает транзит у многих других крупных интернет-провайдеров. Если вы покупаете у Internap, а затем у кого-то еще, есть большая вероятность, что ваш маршрут у другого провайдера будет скрыт из-за того, что он не самый лучший. Большинство интернет-провайдеров предпочитают свои маршруты клиентов. Видеть или не видеть свои собственные маршруты в зазеркалье очень мало, если ваш маршрут распространяется правильно или нет.


0

Ваш вопрос касается не самого BGP, а политики провайдера. Не всегда - по правилам или по ошибке - ваши провайдеры объявят ваше пространство для апстримов. Кстати, вы используете PI или PA?


0

Между вами и LG (зеркальным стеклом) так много фильтрации, что вы можете удалить префикс в пути или в другом месте. Какова длина вашего рекламируемого префикса? У вас есть PI или PA пространство? Поскольку наилучший путь объявляется равноправным пользователям, вы можете конкурировать друг с другом в восходящем направлении, и только один из них направляется в LG. Если вы отключите один из ваших путей, появится ли он в LG после конвергенции? Это скажет вам, что вы теряете один из лучших путей. Попробуйте LG у своих провайдеров, чтобы убедиться, что ваш префикс указан первым, а затем попробуйте перейти к следующему SP.

Для вашего вопроса о лучшем пути iBGP по умолчанию используется только один.


-1

Ответ не простой «да» или «нет», но я думаю, что по сути ваше наблюдение действительно верно, что «это не так».

Для более подробной информации, смотрите здесь .

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

Как работает лучший алгоритм пути

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

1) Предпочитаю путь с наибольшим весом.

Примечание. WEIGHT - это специфический для Cisco параметр. Это локально для маршрутизатора, на котором он настроен.

2) Предпочитаю путь с наибольшим LOCAL_PREF.

Примечание. Считается, что для пути без LOCAL_PREF установлено значение с помощью команды локальных настроек bgp по умолчанию или значение по умолчанию равно 100.

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

Локальные пути, которые получены с помощью сетевых или перераспределительных команд, предпочтительнее локальных агрегатов, получаемых с помощью команды aggregate-address.

4) Предпочитаю путь с самым коротким AS_PATH.

Примечание: знать об этих пунктах:

Этот шаг пропускается, если вы настроили команду bgp bestpath as-path ignore.

AS_SET считается как 1, независимо от того, сколько AS в наборе.

AS_CONFED_SEQUENCE и AS_CONFED_SET не включены в длину AS_PATH.

5) Предпочитаю путь с самым низким типом происхождения.

Примечание. IGP ниже, чем протокол внешнего шлюза (EGP), а EGP ниже, чем НЕПОЛНЫЙ.

6) Предпочитаю путь с самым низким множественным выходным дискриминатором (MED).

Примечание: знать об этих пунктах:

Это сравнение происходит только в том случае, если первая (соседняя) AS одинакова в двух путях. Любые суб-AS конфедерации игнорируются.

Другими словами, MED сравниваются, только если первый AS в AS_SEQUENCE одинаков для нескольких путей. Любой предшествующий AS_CONFED_SEQUENCE игнорируется.

Если bgp Always-Compare-Med включен, MED сравниваются для всех путей.

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

Если bgp bestpath med-confed включен, MED сравниваются для всех путей, которые состоят только из AS_CONFED_SEQUENCE.

Эти пути возникли в рамках местной конфедерации.

MED путей, полученных от соседа с MED 4,294,967,295, изменяется перед вставкой в ​​таблицу BGP. MED изменяется до 4 294 967 294.

Путям, полученным без MED, присваивается значение MED, равное 0, если только вы не включили bgp bestpath med, отсутствующий как наихудший.

Если вы включили bgp bestpath med, пропущенный как наихудший, пути назначаются MED в размере 4 294 967 294.

Команда bgpterministic-med также может влиять на этот шаг.

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

7) Предпочитаю eBGP над путями iBGP.

Если выбран лучший путь, перейдите к шагу 9 (многолучевое распространение).

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

8) Предпочитайте путь с наименьшей метрикой IGP следующему переходу BGP.

Продолжайте, даже если лучший путь уже выбран.

9) Определите, требуется ли установка нескольких путей в таблице маршрутизации для BGP Multipath.

Продолжить, если наилучший путь еще не выбран.

10) Когда оба пути являются внешними, предпочтите путь, который был получен первым (самый старый).

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

Пропустите этот шаг, если какой-либо из этих пунктов верен:

Вы включили команду bgp best path compare-routerid.

Примечание. Выпуски программного обеспечения Cisco IOS 12.0.11S, 12.0.11SC, 12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3.T и 12.1.3.E представили эту команду.

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

На данный момент нет лучшего пути.

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

11) Предпочитайте маршрут, который идет от маршрутизатора BGP с самым низким идентификатором маршрутизатора.

Идентификатор маршрутизатора - это самый высокий IP-адрес маршрутизатора, причем предпочтение отдается адресам обратной связи. Также вы можете использовать команду bgp router-id для ручной установки идентификатора маршрутизатора.

Примечание. Если путь содержит атрибуты отражателя маршрута (RR), идентификатор отправителя заменяется идентификатором маршрутизатора в процессе выбора пути.

12) Если идентификатор отправителя или маршрутизатора одинаков для нескольких путей, предпочтите путь с минимальной длиной списка кластеров.

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

13) Предпочитаю путь, который идет от самого низкого адреса соседа.

Этот адрес является IP-адресом, который используется в конфигурации соседа BGP. Адрес соответствует удаленному узлу, который используется в соединении TCP с локальным маршрутизатором.

Тем не менее, я могу ошибаться. Я скорее новичок в этой области.


Хотя алгоритм принятия решения BGP определенно полезен и кое-что нужно знать достаточно хорошо, я не думаю, что он особенно отвечает на вопрос ОП (если я не прочитал его)
Аарон

Сети SOHO, корпоративные сети, сети провайдеров ... все это основано на одних и тех же основах.
Деннис Олвани,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.