КАК РАБОТАЕТ IS-IS?
IS-IS расшифровывается как Intermediate System to Intermediate System (Промежуточная система к промежуточной системе).
Это протокол маршрутизации, который вы будете использовать для анонсирования ваших собственных IP-адресов по всей вашей сети – другими словами, это протокол внутренней маршрутизации, или IGP.
Протокол был изобретен инженерами из ISO, Международной организации по стандартизации. «Промежуточная система» – это их название для маршрутизатора. Другими словами, протокол – это «Маршрутизатор к маршрутизатору».
Основы легко понять, даже не изучая ни капли теории:
- Вы настраиваете IS-IS на соответствующих интерфейсах.
- Маршрутизатор отправляет Hello-сообщения и формирует связи со всеми маршрутизаторами, работающими под управлением IS-IS на другом конце.
- Маршрутизаторы рассказывают друг другу о сетях и префиксах, которые они знают.
- Маршрутизаторы передают эти знания своим собственным соседям.
- В результате каждый маршрутизатор в сети знает все обо всех других маршрутизаторах в сети.
- Эта информация помогает каждому маршрутизатору построить полную топологию сети.
- И OSPF, и IS-IS используют алгоритм кратчайшего пути Дейкстры для поиска лучшего маршрута, используя эту топологическую информацию. Если вы уже изучили SPF в своих исследованиях OSPF, то вы на 80% освоили понимание IS-IS.
Все, что вы прочитали там, точно такое же, как то, что вы изучили об OSPF. Однако IS-IS часто использует разную терминологию для одинаковых или похожих концепций. Он также делает некоторые вещи немного по-другому – и почти всегда этот другой способ, по моему мнению, лучше, чем эквивалент OSPF.
Когда дело доходит до блоков данных, которые содержат топологическую информацию, OSPF называет их LSA, или Link-State Advertisements (Анонсы состояния связи).
В отличие от этого, IS-IS использует термин LSP, или Link-State PDU (PDU состояния связи), что в основном означает пакет. Protocol Data Unit означает Блок данных протокола.
Используете ли вы LSA или LSP, вы можете думать о них как о кусочках пазла. Вы можете взять LSP каждого маршрутизатора и собрать их вместе, чтобы построить всю топологию сети.
Каждый маршрутизатор генерирует LSP для себя, который рассылается по всей сети. Эти LSP содержат информацию, такую как Router ID, сети, подключенные к маршрутизатору, IP-адреса на маршрутизаторе и метрику (или «стоимость») на этих сетях. Вы можете вспомнить, что численно меньшие метрики лучше, поэтому маршрут со стоимостью 400 лучше маршрута со стоимостью 2500.
Кстати, вот еще крутая вещь: LSP IS-IS даже содержат имя хоста маршрутизатора. Это означает, что когда вы смотрите на соседства или заглядываете в базу данных IS-IS, вы видите имя соседнего устройства! Это делает траблшутинг в десятки раз проще, чем OSPF. Я покажу вам, как это выглядит позже в этой серии, и не могу дождаться, когда вы это увидите.
ПРОСТОТА LSP IS-IS
В OSPF существует множество различных типов Link-State Advertisement: Router, Network, Summary, External и другие. Необходимо изучать stub-области, not so stubby области, totally stubby области, а также какие LSA разрешены в каких областях и почему. Это довольно сложно и многие находят это трудным для понимания.
IS-IS значительно упрощает эту систему.
Существует только один тип LSP, который может содержать любую необходимую информацию.
Также имеется в основном только четыре типа сообщений: hello-сообщения, анонсы LSP и два типа сообщений, которые маршрутизаторы используют для проверки наличия самой актуальной информации LSP.
Во второй части будут продемонстрированы эти сообщения и подробно рассмотрены LSP.
ДВА ДОПОЛНИТЕЛЬНЫХ МОМЕНТА
Во-первых, и OSPF, и IS-IS выбирают назначенный маршрутизатор для широковещательных сетей. Выборы работают по-разному в IS-IS, поскольку отсутствует резервный DR. Фактически, это не требуется, поскольку IS-IS упрощает и этот процесс. IS-IS называет это DIS, или Designated Intermediate System (Назначенная промежуточная система).
Это будет рассмотрено в третьей части.
Во-вторых, IS-IS был создан Международной организацией по стандартизации специально для анонсирования адресов ISO. IS-IS затем был расширен для поддержки IPv4 и IPv6.
Особенность заключается в том, что хотя IS-IS анонсирует IP-информацию, маршрутизаторы фактически взаимодействуют друг с другом по протоколу ISO. Это не создает серьезных проблем – необходимо только включить семейство адресов ISO на каждом интерфейсе, а затем назначить специальный «ISO-адрес» loopback-интерфейсу маршрутизатора.
При первом знакомстве ISO-адреса на loopback-интерфейсе могут показаться непривычными, поскольку они не похожи на IP-адреса. Однако их действительно легко понять.
ПРИЧИНЫ СОЗДАНИЯ IS-IS ПРИ НАЛИЧИИ OSPF
IS-IS был разработан давно, около 30 лет назад. В 1980-х годах, когда сетевые технологии находились в зачаточном состоянии, существовало множество различных и конкурирующих протоколов сетевых адресов. В те времена не было ясности, какой протокол – IP или ISO – выиграет битву за превосходство.
OSPF был создан специально для IP протокола IETF (Инженерной рабочей группой по Интернету), тогда как IS-IS был создан ISO для адресации ISO. Эти протоколы имеют много общего, но были созданы разными организациями для разных схем адресации.
Оказалось, что IS-IS чрезвычайно легко расширить для других семейств адресов. Таким образом, IS-IS был адаптирован для анонсирования IPv4, IPv6 или любых других семейств адресов, которые могут быть изобретены в будущем.
IS-IS особенно популярен среди интернет-провайдеров по веским причинам, которые станут понятны в процессе изучения.
ISO-АДРЕСА: ПОНИМАНИЕ И ЧТЕНИЕ
Использование IS-IS поверх протокола адресации ISO имеет два следствия:
- Необходимо включить семейство адресов ISO на физических интерфейсах. Не требуется настраивать адреса на этих интерфейсах – достаточно включить семейство ISO.
- Необходимо настроить ISO-адрес на loopback-интерфейсе маршрутизатора.
ISO-адресация была системой, разработанной ISO в ранние дни сетевых технологий. Поскольку публичная ISO-адресация не используется уже десятилетия, ISO-адресация для наших целей довольно проста.
Примеры ISO-адресов:
49.0000.0000.0001.00
49.1234.1921.6801.0254.00
47.0005.8083.0000.1В2С.6В01.5001.00
В третьем примере используются шестнадцатеричные цифры.
Рассмотрим структуру, читая справа налево:
Последние два числа называются NSAP Selector. Это расшифровывается как Network Service Access Point, и это всегда 00, когда устройство является маршрутизатором. Первоначально это должно было функционировать подобно TCP-порту, где 00 означало, что трафик предназначен для самого маршрутизатора.
System ID уникально идентифицирует сам маршрутизатор. Во всех трех примерах он имеет длину 12 шестнадцатеричных цифр с двумя точками между ними. System ID всегда одинаковой длины, поэтому ISO-адреса легче читать справа налево. Это эквивалент секции «хоста» в IP-адресе.
Во втором примере System ID напоминает IP-адрес (192.168.10.254), но с двумя точками вместо трех (1921.6801.0254). Поскольку на маршрутизаторе требуется только один ISO-адрес, обычно используют IP-адрес основного loopback-интерфейса в System ID, адаптируя его к формату с двумя точками.
Area ID представляет область. Следует отметить, что термин «область» в IS-IS имеет значение, существенно отличающее от OSPF. Это будет подробно объяснено в третьей части.
Первое число Area ID в современных условиях всегда 49. Это число является Authority and Format Identifier (AFI). Ранее это число указывало, какая организация выдала адрес. Поскольку адреса больше не выдаются централизованно, все используют число 49, зарезервированное для частного использования.
Остальная часть числа – это сама область, и это поле переменной длины. Все три примера имеют области разной длины. Технически можно использовать просто 49, но рекомендуется использовать area ID (например, 49.1234), чтобы упорядочить структуру при потенциальном добавлении дополнительных областей в будущем.
При правильном понимании структуры это становится простым. Выбирается area ID, определяется уникальная система для установки System ID (например, на основе IP loopback-интерфейса или MAC-адреса маршрутизатора) – и все готово. Это настраивается один раз.
Благодаря тому, что маршрутизаторы IS-IS анонсируют имя хоста в своем LSP, больше не нужно беспокоиться об ISO-адресе. После установления соседства достаточно смотреть только на имя хоста соседа. В отличие от OSPF, где необходимо анализировать router ID и определять, какой это маршрутизатор, основываясь только на номере.
НАПОМИНАНИЕ ОБ ОБЛАСТЯХ OSPF
Хотя знание OSPF является обязательным для данной серии статей, кратко вспомним основные принципы.

В OSPF имеется Area 0, которая является магистральной областью. Можно ограничиться только ей или дополнительно иметь несколько других областей, которые подключаются к магистрали.
При топологии типа [Area 10]—-[Area 0]—-[Area 7] устройства в Area 10 будут использовать Area 0 для получения доступа к Area 7. Это справедливо даже при наличии прямого кабельного соединения от устройства в Area 10 к устройству в Area 7. Эта система прохождения через магистраль предназначена для предотвращения петель.
В OSPF маршрутизаторы знают только топологию своей области. Например, маршрутизаторы в Area 10 знают только топологию Area 10. Маршрутизаторы в Area 0 знают только топологию Area 0.
Area Border Router (ABR) имеет одну связь в Area 10 и одну связь в Area 0. ABR знает топологию обеих областей. Например, vMX2 на диаграмме имеет интерфейс ge-0/0/0 в Area 10 и другие два интерфейса в Area 0. Это означает, что vMX2 имеет две отдельные базы данных, по одной для каждой топологии.
Вопрос: если маршрутизаторы в области 10 знают только о своей области, как они узнают об IP-адресах извне своей области?
Существует два решения. Простейший способ – анонсирование маршрута по умолчанию Area Border Router.
Альтернативный способ – Area Border Router берет все IP-адреса, полученные из других областей, и повторно анонсирует эти IP-адреса в область 10. Он не анонсирует топологическую информацию – только сами IP-адреса таким образом, что ABR сообщает «для достижения любого из этих IP-адресов обращайтесь ко мне». Area Border Router абстрагирует топологическую информацию и анонсирует IP-информацию.
Тип LSA, используемый здесь, называется «Summary LSA» именно по этой причине.
Маршрутизаторы в Area 10 не интересуют точные местоположения межобластных IP-адресов. Их интересует только возможность достижения их через Area Border Router.
Важно отметить: Area 10 даже не знает о существовании Area 7. Маршрутизаторы Area 10 знают только о наличии Area Border Router, который может использоваться для доступа к «остальной части сети».
Даже Area Border Router между Area 10 и Area 0 не знает о существовании Area 7. Он знает только о наличии удаленного Area Border Router, который суммирует «некоторую информацию».
Фактически ничто не препятствует созданию сети OSPF вида:
[Area 1]—-[Area 0]—-[Area 1]
Хотя может показаться полезным назначить двум не-магистральным областям разные номера, это не обязательно. Две сети Area 1 остаются разными не-магистральными с различными топологиями. Два Area Border Router не знают, что другой ABR также подключен к области с номером 1, поскольку это абстрагировано. При суммировании Area Border Router не анонсирует номер области происхождения – он просто сообщает «для достижения этих IP-адресов обращайтесь ко мне».
УРОВНИ IS-IS
IS-IS работает аналогично, за исключением использования термина «уровень» вместо «область» для описания иерархии.
В IS-IS структура выглядит так:
[Level 1]—-[Level 2]—-[Level 1]
Имеется магистраль Level 2, а затем опционально любое количество маршрутных доменов Level 1, подключающихся к ней. Магистральная сеть Level 2 знает только топологию Level 2, а каждая сеть Level 1 знает только свою топологию.
Маршрутизаторы «Level 1/Level 2», или «L1/2», действуют точно как OSPF Area Border Routers: они берут адреса из Level 1 и повторно анонсируют их в Level 2. Они также знают топологию обоих уровней. Маршрутизаторы L1/L2 соединяют не-магистральную L1 с магистралью L2.
Как и в OSPF, эти маршрутизаторы L1/L2 берут IP-адреса с одного уровня и анонсируют их на другом. Однако поведение по умолчанию несколько отличается.
В OSPF все префиксы в области 10 анонсируются в магистраль, и все IP-адреса в магистрали анонсируются в область 10. Это включает все, что область 0 узнала из других областей, например область 7.
Это приемлемо, но обычно нежелательно. Цель областей – абстрагирование определенной информации. В OSPF часто настраивают область как «totally stubby», что означает «не посылайте IP-адреса из других областей, только маршрут по умолчанию». Затем можно выборочно пропускать дополнительные префиксы из магистрали в область 10, используя политики.
IS-IS работает именно таким образом по умолчанию.
По умолчанию маршрутизатор L1/L2 берет все IP-адреса в Level 1 и анонсирует их в магистраль Level 2. Это обеспечивает полную достижимость.
Однако по умолчанию маршрутизаторы L1/L2 НЕ анонсируют информацию из Level 2 в Level 1. Вместо этого анонсируется маршрут по умолчанию и создается политика для пропуска дополнительной информации.
Существует два способа создания маршрутов по умолчанию. В современных условиях часто не требуется использовать уровни. Многие провайдеры используют «плоский домен Level 2», даже при работе с 500 и более маршрутизаторами.
ГИБКОСТЬ IS-IS В НАЗНАЧЕНИИ УРОВНЕЙ СВЯЗЯМ
В OSPF связь по умолчанию может находиться только в одной области. Маршрутизатор может иметь одну связь в Area 1 и другую в Area 0, что делает его Area Border Router.
Существуют расширения OSPF, позволяющие связи одновременно находиться в нескольких областях. Это может привести к более точной маршрутизации.
Например, на ABR, подключенном ко многим областям, можно разместить серию связей одновременно в Area 1 и Area 2, чтобы устройства в Area 1 не проходили через Area 0 для достижения чего-либо в Area 2.
При правильной реализации это позволяет избегать петель при получении более оптимальной маршрутизации.
В OSPF это было дополнением. В IS-IS это доступно изначально: связь может быть частью топологии Level 1 И магистрали Level 2 одновременно.
Провайдеры ценят эту возможность, поскольку она обеспечивает большую гибкость дизайна магистрали по сравнению с OSPF.
Это также означает отсутствие четкого разделения между магистральной и не-магистральной сетью: при графическом представлении может быть небольшое перекрытие, что является нормальным.
Пример: vMX1 полностью в домене Level 1, тогда как vMX2 имеет две связи в Level 1 и одну связь в Level 2. vMX3 полностью в домене Level 2. Связь vMX4 с vMX9 находится как в Level 1, так и в Level 2 одновременно. Два уровня являются отдельными топологиями, и связь существует в обеих.

Большинство вендоров по умолчанию устанавливают все связи как L1/L2. Затем выбирается, какой уровень отключить.
Например, при отключении Level 2 на любом конце связи эта связь будет только частью Level 1. Обе стороны связи должны согласовать уровень для его активации.
Резюме: IS-IS Level 2 эквивалентен OSPF Area 0. IS-IS Level 1 эквивалентен не-магистральной области OSPF.
НАСТРОЙКА МАРШРУТИЗАТОРА JUNOS ДЛЯ IS-IS
Теория требует времени для изучения, но настройка довольно проста.
Существует три шага для создания базовой конфигурации IS-IS.
Сначала включается семейство адресов ISO на интерфейсах, которые будут формировать соседства:
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family iso
Далее включается ISO на loopback-интерфейсе и добавляется ISO-адрес:
set interfaces lo0 unit 0 family iso address 49.0001.1921.6800.0001.00
Теперь адрес понятен:
- Можно игнорировать .00 в конце.
- 1921.6800.0001 является адресом «хоста» – эквивалентом записи 192.168.0.1 как IP-адреса.
- Маршрутизатор находится в области 49.0001.
Наконец, включается IS-IS в иерархии edit protocols isis, добавляя интерфейсы:
Опционально отключается level 1 или level 2 по необходимости. Можно отключить уровень на конкретном интерфейсе или глобально, используя команду «set protocols isis level 1 disable».
set protocols isis interface ge-0/0/0.0
set protocols isis interface ge-0/0/1.0 level 1 disable
set protocols isis interface lo0.0
Отключение уровня на всех интерфейсах:
set protocols isis level 1 disable
Опционально можно сделать интерфейс точка-точка.
В третьей части будет объяснено, почему это повышает эффективность. Пока достаточно знать, что это делается так:
set protocols isis interface ge-0/0/0.0 point-to-point
Это действительно просто. Кроме настройки ISO и loopback-интерфейса, в основном только добавляются интерфейсы под protocols isis, возможно, делаются они point-to-point и, возможно, отключается уровень.
Существуют дополнительные настройки, которые важно знать для изучения и которые практически необходимы в производственной среде, особенно касающиеся метрик связи. Это будет рассмотрено в следующих частях.
ЗАКЛЮЧЕНИЕ
В данной статье рассмотрены принципы работы IS-IS, значение Level 1/2, система адресации, концепция LSP и базовая настройка IS-IS.