...
и чтобы попасть в другую зону из stub сети включенной в sw1, пакет будет отправлен по дефолтному маршруту на L1/L2. То есть в этом случае логика IS-IS перестает быть Link-State и становится Distance-Vector. Мир несправедлив.
Стоит пояснить некоторые моменты касаемо LSDB IS-IS.
В первом примере с двумя коммутаторами мы видим LSDB только Level-2, так как в конфигурации IS-IS задана роль is-type level-2-only. Выше обсуждалось, что по умолчанию коммутаторы имеют роль L1/L2 и хранят базы обоих уровней:
при этом если задать уровень соседства на линке между коммутаторами опцией isis circuit-type в режиме конфигурации интерфейса, коммутатор будет хранить базы уровней определяемые его ролью, но наполнять их в соответствии с установленным уровнем соседства.
К примеру коммутатор с ролью L1/L2 и настроенным на линке isis circuit-type level-2-only имеет LSDB такого вида:
как можно заметить в LSDB L1, находятся только LSP генерируемые самим коммутатором.
Отдельно остановимся на LSPID. Состоит он из трех частей:
1. Source ID — в это поле подставляется идентификатор маршрутизатора, сгенерировавшего LSP.
2. Pseudonode ID — определяет тип LSP, относительно маршрутизатора его сгенерировавшего.
3. LSP number — номер LSP, используется если топология передается в нескольких фрагментах LSP.
Теперь чуть подробнее.
В поле source id мы видим hostname маршрутизатора, а не его system id. Это возможно благодаря наличию TLV Type 137, в котором маршрутизатор и передает свой hostname:
В нашем примере поле pseudonode ID принимает значения 00 и 01.
LSP с pseudonode ID 00 содержат TLV, которые мы обсуждали ранее, они описывают топологию домена с точки зрения каждого конкретного маршрутизатора.
Отличные от 00 pseudonode ID генерируются маршрутизаторами являющимися DIS (Designated Intermediate System), это что-то вроде аналога DR в OSPF, специального маршрутизатора выбирающегося в широковещательных сегментах и используемого для оптимизации соседств. Такие LSP используются только в широковещательных сегментах и описывают подключенные к этому сегменту маршрутизаторы.
DIS является sw2, который сгенерировал один LSP sw2.01-00, так как включен только в один широковещательный сегмент.
Поменяем тип интерфейсов, с которых коммутаторы устанавливают соседства, на p2p. Для этого включим опцию isis network point-to-point в режиме конфигурации интерфейса:
Как видим сбрасываются все, установленные с этого интерфейса, соседства, а коммутатор выставляет Holdtime равный 0 для этой LSP. При этом содержимое LSP удаляется сразу, однако ее заголовок будет еще храниться в течение некоторого периода. Этот период называется Zero Age Lifetime и равен 60 секундам.
Так же в каждом LSP присутствуют флаги ATT/P/OL.
ATT - attached bit, выставляется в LSP, генерируемые L1/L2 роутерами и означает, что роутер имеет соседство уровня L2. Используется для обозначения «точки выхода» из зоны для stub-сетей за L1 роутерами.
P — не используется, всегда равен 0.
OL — overload, используется для обозначения невозможности передачи транзитного трафика для префиксов в LSP, в этих случаях выставляется в 1.
Тюнинг протокола.
В отличии от OSPF, метрика IS-IS не рассчитывается на основании пропускной способности интерфейса и по умолчанию для всех интерфейсов равна 10.
К примеру в таблице маршрутизации мы видим, полученный по IS-IS, маршрут к адресу loopback интерфейса соседа с суммарной метрикой — 20:
Установим на интерфейсе vlan 10 метрику 1000 и еще раз посмотрим таблицу маршрутизации:
метрика увеличилась на 53, хотя должны была на 990, так как мы настроили на этом линке 1000 вместо дефолтных 10.
Так получилось по причине наличия в IS-IS нескольких типов метрик: narrow и wide.
Узкая (narrow) метрика имеет диапазон от 1 до 63, и даже если мы зададим метрику линка 1000, в действительности больше 63 она не увеличится, что мы и увидели в таблице маршрутизации.
Но стоит только включить поддержку расширенной (wide) метрики, маршрут посчитается в соответствии с настроенным значение:
Можно включить поддержку обоих типов метрик:
sw1(router-isis)#metric-style
narrow Use old style of TLVs with narrow metric
wide Use new style of TLVs to carry wider metric
both Send and accept both styles of TLVs during transition
и указать на каком уровне соседства они будут использоваться:
sw1(router-isis)#metric-style both
level-1 Set for level 1 only
level-2 Set for level 2 only
<CR>
IS-IS достаточно гибкий протокол, позволяет тонко настраивать логику его работы и параметры сигнальных сообщений. В сетях с большим количеством IS-IS пиров, в целях увеличения конвергенции и минимизации служебного трафика, best practices считаются следующие рекомендации:
1. Отключение отправки Hello пакетов с интерфейсов, на которых не планируется установление соседства. Команда isis passive-interface в режиме конфигурации интерфейса.
2. Установка типа интерфейса point-to-point в широковещательных сегментах, состоящих только из двух соседей. Команда isis network point-to-point в режиме конфигурации интерфейса.
3. Отключение hello padding’а на интерфейсах, с которых IS-IS устанавливает соседство. Настраивается включением опции isis hello-padding disable в режиме конфигурации интерфейса.
4. Включение расширенного типа метрики. Команда metric-style wide в ветке конфигурации router-isis.
5. Установка времени жизни LSP. Команда max-lsp-lifetime 65535 в ветке конфигурации router-isis. Поддерживаемый диапазон значений от 350 до 65535 секунд.
6. Установка максимального интервала генерации LSP. Команда lsp-refresh-interval 65235 в ветке конфигурации router-isis. Поддерживаемый диапазон значений от 350 до 65235 секунд.
7. Установка минимального интервала генерации LSP. Команда lsp-gen-interval 20000 в ветке конфигурации router-isis
8. Установка интервала между последовательными пересчетами SPF в 5 секунд. Команда spf interval maximum-wait 5000 в ветке конфигурации router-isis. На коммутаторах MES интервал в 5 секунд является значением по умолчанию.
Под занавес прикрутим аутентификацию к IS-IS.
...