По-умолчанию на сети с маршрутизацией по протоколу IS-IS топологии IPv4 и IPv6 считаются единой топологией, SPT для IPv4 и IPv6 совпадают.
У единой топологии IS-IS есть следующие проблемы:
В смешанной топологии маршрутизаторы, поддерживающие IPv4/IPv6 dual stack, не могут обнаруживать маршрутизаторы или линки, которые не поддерживают IPv6, и могут по-прежнему пересылать им IPv6-пакеты. В результате пакеты IPv6 отбрасываются. Аналогично, если в топологии существуют маршрутизаторы и линки, не поддерживающие IPv4, пакеты IPv4 отбрасываются.
Функция IS-IS Multi-Topology позволяет в одном IS-IS домене работать нескольким независимым IP-топологиям. Топологии IPv4 и IPv6 не рассматриваются как единая топология. Маршруты IS-IS рассчитываются как для IPv4 сети, так и для IPv6 сети. В зависимости от поддерживаемой версии IP на конкретных линках, в каждой топологии выполняется отдельный расчет SPF. Таким образом разделаются IPv4 и IPv6 топологии.
Рассмотрим следующий пример: R1 - R4 – Level2 маршуртизаторы в Area 49.0001, все маршрутизаторы и все линки поддерживают IPv4/IPv6 dual stack. Не настроена IS-IS Multi-Topolgy. Метрики интерфейсов указаны на схеме. Адреса loopback-интерфейсов приведены в таблице ниже.
Маршрутизатор | IPv4 loopback | IPv6 loopback |
---|---|---|
R1 | 1.1.1.1/32 | 2001:db8::1/128 |
R2 | 2.2.2.2/32 | 2001:db8::2/128 |
R3 | 3.3.3.3/32 | 2001:db8::3/128 |
R4 | 4.4.4.4/32 | 2001:db8::4/128 |
Рассмотрим таблицы IS-IS маршрутов:
0/ME5100:R1# show route isis Tue Oct 29 13:31:44 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 2.2.2.2/32 via 10.1.2.2 [116/10], 01h42m41s, te0/0/2.10 i L2 3.3.3.3/32 via 10.1.2.2 [116/30], 01h42m41s, te0/0/2.10 i L2 4.4.4.4/32 via 10.1.2.2 [116/30], 01h42m41s, te0/0/2.10 i L2 2001:db8::2/128 via fe80::e2d9:e3ff:feff:60a3 [116/10], 01h41m23s, te0/0/2.10 i L2 2001:db8::3/128 via fe80::e2d9:e3ff:feff:60a3 [116/30], 01h41m23s, te0/0/2.10 i L2 2001:db8::4/128 via fe80::e2d9:e3ff:feff:60a3 [116/30], 01h39m57s, te0/0/2.10 Total entries: 6 0/ME5100:R2# show route isis Tue Oct 29 13:31:46 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 1.1.1.1/32 via 10.1.2.1 [116/10], 01h42m44s, te0/0/3.10 i L2 3.3.3.3/32 via 10.2.4.2 [116/20], 01h43m56s, te0/0/3.30 i L2 4.4.4.4/32 via 10.2.4.2 [116/20], 01h55m28s, te0/0/3.30 i L2 2001:db8::1/128 via fe80::e2d9:e3ff:feff:60a2 [116/10], 01h41m24s, te0/0/3.10 i L2 2001:db8::3/128 via fe80::e2d9:e3ff:feff:60a2 [116/20], 01h40m00s, te0/0/3.30 i L2 2001:db8::4/128 via fe80::e2d9:e3ff:feff:60a2 [116/20], 01h40m00s, te0/0/3.30 Total entries: 6 0/ME5100:R3# show route isis Tue Oct 29 13:31:49 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 1.1.1.1/32 via 10.3.4.2 [116/30], 01h40m45s, te0/0/3.40 i L2 2.2.2.2/32 via 10.3.4.2 [116/20], 01h40m45s, te0/0/3.40 i L2 4.4.4.4/32 via 10.3.4.2 [116/20], 01h54m24s, te0/0/3.40 i L2 2001:db8::1/128 via fe80::e2d9:e3ff:feff:60a2 [116/30], 01h40m02s, te0/0/3.40 i L2 2001:db8::2/128 via fe80::e2d9:e3ff:feff:60a2 [116/20], 01h40m02s, te0/0/3.40 i L2 2001:db8::4/128 via fe80::e2d9:e3ff:feff:60a2 [116/20], 01h40m02s, te0/0/3.40 Total entries: 6 0/ME5100:R4# show route isis Tue Oct 29 13:31:54 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 1.1.1.1/32 via 10.2.4.1 [116/20], 01h40m51s, te0/0/2.30 i L2 2.2.2.2/32 via 10.2.4.1 [116/10], 01h55m41s, te0/0/2.30 i L2 3.3.3.3/32 via 10.3.4.1 [116/10], 01h54m30s, te0/0/2.40 i L2 2001:db8::1/128 via fe80::e2d9:e3ff:feff:60a3 [116/20], 01h40m08s, te0/0/2.30 i L2 2001:db8::2/128 via fe80::e2d9:e3ff:feff:60a3 [116/10], 01h40m08s, te0/0/2.30 i L2 2001:db8::3/128 via fe80::e2d9:e3ff:feff:60a3 [116/10], 01h40m08s, te0/0/2.40 Total entries: 6
Видно, что для каждого маршрутизатора его IPv4 и IPv6 loopback-интерфейсы маршрутизируются через один и тот же линк.
Далее будем рассматривать только таблицу маршрутизатора R1.
На линке R1 – R3 установим значение метрики 20:
0/ME5100:R1# show route isis Tue Oct 29 13:58:11 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 2.2.2.2/32 via 10.1.2.2 [116/10], 02h09m09s, te0/0/2.10 i L2 3.3.3.3/32 via 10.1.3.2 [116/20], 00h00m03s, te0/0/2.20 i L2 4.4.4.4/32 via 10.1.2.2 [116/30], 02h09m09s, te0/0/2.10 i L2 2001:db8::2/128 via fe80::e2d9:e3ff:feff:60a3 [116/10], 02h07m51s, te0/0/2.10 i L2 2001:db8::3/128 via fe80::e2d9:e3ff:feff:60a3 [116/20], 00h00m03s, te0/0/2.20 i L2 2001:db8::4/128 via fe80::e2d9:e3ff:feff:60a3 [116/30], 02h06m25s, te0/0/2.10 Total entries: 6
Маршрут до R3 изменился, причем синхронно для IPv4 и IPv6. Это поведение IS-IS по-умолчанию.
Рассмотрим как IS-IS Multi-Topolgy решает проблемы единой топологии.
Сценарий №1.
Если мы хотим, чтобы IPv4- и IPv6-префиксы маршуртизировались по-разному, нужно настроить IS-IS Multi-Topolgy в командном режиме config-router-isis:
router isis 1 address-family ipv6 unicast multi-topology exit
Существующие IS-IS соседства сбрасываются и устанавливаются заново.
Значение IS-IS метрики для IPv6-интерфейсов по умолчанию = 10, также как, для IPv4. Если нужно его изменить, настройка выполняется в командном режиме config-router-isis-interface-level соответствующего интерфейса и уровня:
level level-2 ipv6-mt-metric 40 exit
Установим метрики интерфейсов как на схеме ниже:
Таблица IS-IS маршрутов на R1:
0/ME5100:R1# show route isis Tue Oct 29 14:54:09 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 2.2.2.2/32 via 10.1.2.2 [116/10], 00h38m19s, te0/0/2.10 i L2 3.3.3.3/32 via 10.1.2.2 [116/30], 00h00m04s, te0/0/2.10 i L2 4.4.4.4/32 via 10.1.2.2 [116/30], 00h38m19s, te0/0/2.10 i L2 2001:db8::2/128 via fe80::e2d9:e3ff:feff:60a3 [116/40], 00h00m04s, te0/0/2.10 i L2 2001:db8::3/128 via fe80::e2d9:e3ff:feff:60a3 [116/40], 00h00m04s, te0/0/2.20 i L2 2001:db8::4/128 via fe80::e2d9:e3ff:feff:60a3 [116/60], 00h00m04s, te0/0/2.10 Total entries: 6
Видим, что IPv4 loopback R3 маршрутизируется через R2-R4, IPv6 loopback напрямую через линк R1-R3.
Сценарий №2.
Внедрение IPv6 на существующей IPv4 сети, причем не все устройства поддерживают IPv6. Схема сети. Участок сети между R1 и R3 скрыт (его топология не важна, важным является то, что это участок с резервированием и стоимость прыжка R1 – R3 может измениться). R2 не поддерживает IPv6. На сети не настроена IS-IS Multi-Topolgy.
Начальное состояние таблицы IS-IS маршрутов R1:
0/ME5100:R1# show route isis Tue Oct 29 17:58:39 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 2.2.2.2/32 via 10.1.2.2 [116/15], 00h00m39s, te0/0/2.10 i L2 3.3.3.3/32 via 10.1.3.2 [116/10], 00h00m01s, te0/0/2.20 i L2 4.4.4.4/32 via 10.1.3.2 [116/30], 00h00m01s, te0/0/2.20 i L2 2001:db8::3/128 via fe80::e2d9:e3ff:feff:60a3 [116/10], 00h00m01s, te0/0/2.20 i L2 2001:db8::4/128 via fe80::e2d9:e3ff:feff:60a3 [116/30], 00h00m01s, te0/0/2.20 Total entries: 5
IPv4/IPv6 маршруты до R4 идут через линк te0/0/2.20.
Теперь предположим, что на участке сети между R1 и R3 произошла авария, переключение на другие линки, связность сети сохранилась, но стоимость прыжка R1 – R3 увеличилась. R1 выполнил пересчет маршрутов, более оптимальным стал маршрут до R4 через R2.
0/ME5100:R1# show route isis Tue Oct 29 17:59:03 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 2.2.2.2/32 via 10.1.2.2 [116/10], 01h09m21s, te0/0/2.10 i L2 3.3.3.3/32 via 10.1.3.2 [116/20], 00h00m00s, te0/0/2.20 i L2 4.4.4.4/32 via 10.1.2.2 [116/30], 00h00m00s, te0/0/2.10 i L2 2001:db8::3/128 via fe80::e2d9:e3ff:feff:60a3 [116/20], 00h00m00s, te0/0/2.20 i L2 2001:db8::4/128 [116/0], 00h00m00s, reject <==== Total entries: 5
IPv6 маршрута до R4 нет, хотя фактически IPv6 связность на линках R1 – R3, R3 - R4 есть.
Нам мешает поведение протокола IS-IS по-умолчанию.
Повторим ситуацию с включенной IS-IS Multi-Topolgy.
Начальное состояние таблицы IS-IS маршрутов R1:
0/ME5100:R1# show route isis Tue Oct 29 18:08:40 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 2.2.2.2/32 via 10.1.2.2 [116/15], 00h00m03s, te0/0/2.10 i L2 3.3.3.3/32 via 10.1.3.2 [116/10], 00h02m16s, te0/0/2.20 i L2 4.4.4.4/32 via 10.1.3.2 [116/30], 00h00m03s, te0/0/2.20 i L2 2001:db8::3/128 via fe80::e2d9:e3ff:feff:60a3 [116/10], 00h02m16s, te0/0/2.20 i L2 2001:db8::4/128 via fe80::e2d9:e3ff:feff:60a3 [116/30], 00h02m16s, te0/0/2.20 Total entries: 5
После увеличения стоимости прыжка R1 – R3:
0/ME5100:R1# show route isis Tue Oct 29 18:09:18 2024 Codes: i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2 LE1 - IS-IS level1 external, LE2 - IS-IS level2 external i L2 2.2.2.2/32 via 10.1.2.2 [116/15], 00h00m41s, te0/0/2.10 i L2 3.3.3.3/32 via 10.1.3.2 [116/20], 00h00m03s, te0/0/2.20 i L2 4.4.4.4/32 via 10.1.2.2 [116/35], 00h00m03s, te0/0/2.10 i L2 2001:db8::3/128 via fe80::e2d9:e3ff:feff:60a3 [116/20], 00h00m03s, te0/0/2.20 i L2 2001:db8::4/128 via fe80::e2d9:e3ff:feff:60a3 [116/40], 00h00m03s, te0/0/2.20 Total entries: 5
IPv4 маршрут до R4 перестроился через R2, IPv6 маршрут до R4 по-прежнему идет через R3.
Топологии IPv4 и IPv6 разделились.