Как выбрать идентификатор маршрутизатора BGP при использовании только IPv6?

16

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

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

Проект draft-dupont-durand-idr-ipv6-bgp-routerid-01 дает начало ответа, предлагая использовать номер AS с суффиксом локально выделенной части. Но это работает только для 16-битных номеров AS.

Итак, как выбрать RID для ваших устройств? Случайно ? Если да, как устройства будут реагировать в случае коллизии (оба конца сеанса BGP используют один и тот же RID)?

PS: проблема также касается OSPF, но тогда вам нужно только разработать согласованную схему распределения RID. Что вы не можете сделать при использовании BGP для взаимодействия с другими AS.

Бенджамин А.
источник

Ответы:

9

Раскрась меня неуверенно в этом ответе ...

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

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

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

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

Джефф МакАдамс
источник
4

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

В частности, это делает IS-IS намного приятнее в использовании, чем заполнение вручную адреса IPv4.

Если у вас (по какой-то странной причине) была сеть, в которой только некоторые устройства использовали IPv6, вы можете сместить числовые значения вручную, чтобы их не спутали с реальными адресами IPv4. Использование 240/8 - это одна из идей (я бы посоветовал против 255/8 или даже 254/8, чтобы избежать усталости мозговых операций в 3 часа ночи, чтобы не задаться вопросом, почему для идентификатора маршрутизатора задан широковещательный адрес).

LapTop006
источник
2

Мое предложение было бы адаптировать ваш номер AS, рассматривая его как 32-битный AS (если это еще не сделано) - обнулить старшие 8 бит и ORс 0xE0000000(делает его похожим на многоадресное пространство). Для простоты объяснения я буду использовать шестнадцатеричное (на самом деле нет, это облегчает просмотр границ)

например, если ваш номер AS равен 717232 (0x000AF1B0), вы изначально получаете 0xE00AF1B0, и вы можете увеличить самый верхний октет для каждого динамика BGP в вашем AS 0xE00AF1B0, 0xE10AF1B0 и т. д.

Преобразование в десятичную? легко, разделите гекс и разбейте свой любимый калькулятор программы: E0.A.F1.B0 -> 224.10.241.176, E1.A.F1.B0 -> 225.10.241.176 и так далее.

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

Olipro
источник
1

Петлевой интерфейс IPv4? Я знаю, что Cisco IOS будет использовать самый высокий адрес (32-битное число) в качестве идентификатора маршрутизатора.

Рики Бим
источник