IS-IS
IS-IS (Intermediate System to Intermediate System) — это протокол динамической маршрутизации, используемый для обмена информацией о маршрутах между маршрутизаторами (промежуточными системами) в автономной системе (AS). Относится к классу протоколов внутренних шлюзов (IGP) и работает на основе алгоритма состояния каналов (link-state). В отличие от многих других протоколов, IS-IS изначально разрабатывался для работы в сетях с эталонной моделью OSI, но впоследствии был адаптирован для поддержки протокола IP (включая IPv4 и IPv6). IS-IS широко применяется в крупных корпоративных и провайдерских сетях, особенно в магистральных сегментах интернета, благодаря своей масштабируемости, надёжности и гибкости.
История
Протокол IS-IS был разработан в конце 1980-х годов организацией Digital Equipment Corporation (DEC) как часть стека протоколов DECnet Phase V. Изначально он предназначался для маршрутизации в сетях, построенных на основе эталонной модели OSI (Open Systems Interconnection). В 1990 году протокол был стандартизирован Международной организацией по стандартизации (ISO) в документе ISO 10589.
В начале 1990-х годов, с ростом популярности стека TCP/IP, возникла необходимость адаптировать IS-IS для маршрутизации IP-трафика. В 1992 году вышла спецификация RFC 1195, которая определила расширение протокола, получившее название Integrated IS-IS (или Dual IS-IS). Это расширение позволило IS-IS одновременно передавать информацию о маршрутах для протоколов OSI и IP, что сделало его конкурентом протоколу OSPF (Open Shortest Path First).
В 2000-х годах IS-IS получил поддержку IPv6 через расширения, описанные в RFC 5308. В последующие десятилетия протокол продолжал развиваться: были добавлены механизмы для работы с трафик-инжинирингом (MPLS-TE), сегментной маршрутизацией (Segment Routing) и другими современными технологиями. На сегодняшний день IS-IS остаётся одним из ключевых протоколов маршрутизации в крупных сетях, особенно в сетях операторов связи.
Основные принципы работы
IS-IS относится к протоколам состояния каналов (link-state). Каждый маршрутизатор (промежуточная система, IS) в сети собирает информацию о своих соседях и состоянии подключённых к нему каналов. Эта информация распространяется по всей сети в виде специальных сообщений — LSP (Link State PDU). На основе полученных LSP каждый маршрутизатор строит полную карту топологии сети (базу данных состояния каналов, LSDB) и вычисляет кратчайшие пути до всех известных сетей с помощью алгоритма SPF (Shortest Path First), также известного как алгоритм Дейкстры.
Иерархическая структура
Одной из ключевых особенностей IS-IS является его иерархическая структура, которая позволяет масштабировать сети до очень больших размеров. Протокол делит сеть на два уровня:
- Level 1 (L1) — внутренняя маршрутизация внутри одной области (area). Маршрутизаторы L1 знают топологию только своей области и передают трафик к другим областям через ближайший маршрутизатор L1/L2.
- Level 2 (L2) — маршрутизация между областями. Маршрутизаторы L2 образуют магистраль (backbone) и обмениваются информацией о маршрутах к другим областям.
- Level 1/2 (L1/L2) — маршрутизаторы, которые работают одновременно на обоих уровнях, выступая в роли шлюзов между областями.
Такая иерархия уменьшает объём информации, которую необходимо хранить и обрабатывать каждому маршрутизатору, и повышает стабильность сети.
Типы пакетов
IS-IS использует три основных типа пакетов (PDU — Protocol Data Unit):
- Hello PDU (IIH — IS-IS Hello) — используются для обнаружения соседей и поддержания смежности (adjacency). Отправляются периодически на все интерфейсы.
- Link State PDU (LSP) — содержат информацию о состоянии каналов маршрутизатора (список соседей, метрики, префиксы IP-сетей). Распространяются по всей сети с помощью механизма флудинга (flooding).
- Sequence Number PDU (SNP) — используются для подтверждения получения LSP и синхронизации баз данных. Делятся на частичные (PSNP) и полные (CSNP).
Сравнение с OSPF
IS-IS и OSPF — два наиболее распространённых протокола состояния каналов в современных сетях. Несмотря на схожие принципы работы, они имеют ряд существенных отличий:
| Характеристика | IS-IS | OSPF |
|---|---|---|
| Стандартизация | ISO (10589), затем IETF (RFC) | IETF (RFC 2328, 5340) |
| Модель сети | OSI (CLNP) | IP (TCP/IP) |
| Иерархия | Двухуровневая (L1, L2) | Многоуровневая (backbone area 0, обычные области) |
| Тип сети | Широковещательная, точка-точка | Широковещательная, NBMA, точка-точка, точка-многоточка |
| Выбор DR | DIS (Designated IS) на широковещательных сетях | DR (Designated Router) и BDR (Backup DR) |
| Метрики | По умолчанию 10 (для 64-битных — 1-16777215) | Стоимость (cost), по умолчанию 100 / пропускная способность |
| Поддержка IPv6 | Через расширения (RFC 5308) | Встроенная (OSPFv3) |
| Гибкость | Высокая (легко расширяется через TLV) | Средняя (расширения через опции) |
Основное практическое преимущество IS-IS — его гибкость и расширяемость за счёт использования формата TLV (Type-Length-Value). Это позволяет добавлять новые возможности (например, поддержку Segment Routing) без изменения базового протокола. Кроме того, IS-IS считается более стабильным и масштабируемым в очень больших сетях, так как он менее чувствителен к изменениям топологии.
Применение
IS-IS широко используется в сетях операторов связи (ISP) и крупных корпоративных сетях, где требуется высокая надёжность и масштабируемость. Основные сценарии применения:
- Магистральные сети (backbone) — IS-IS часто используется в качестве IGP на магистральных маршрутизаторах, особенно в сочетании с MPLS (Multiprotocol Label Switching) и MPLS-TE (Traffic Engineering).
- Центры обработки данных (ЦОД) — в крупных ЦОД, где требуется быстрое сходимость (convergence) и поддержка больших объёмов маршрутной информации.
- Сети с Segment Routing — IS-IS является одним из основных протоколов для реализации Segment Routing (SR-MPLS и SRv6), так как его архитектура TLV позволяет легко передавать информацию о сегментах.
- Сети с поддержкой IPv6 — благодаря расширениям, IS-IS может использоваться для маршрутизации как IPv4, так и IPv6 трафика в одной сети.
Интересные факты
- IS-IS является одним из немногих протоколов маршрутизации, который был разработан для модели OSI, но успешно адаптирован для TCP/IP. Это делает его уникальным примером кросс-протокольной совместимости.
- В отличие от OSPF, IS-IS не требует настройки идентификатора маршрутизатора (Router ID) — он использует адрес сетевого уровня OSI (NET — Network Entity Title), который может быть произвольным.
- Протокол IS-IS поддерживает 64-битные метрики, что позволяет использовать его в сетях с очень высокой пропускной способностью (например, 100 Гбит/с и выше) без потери точности.
- IS-IS является стандартом де-факто для многих крупных интернет-провайдеров, включая Level 3, CenturyLink, NTT Communications и другие.
Источники
- ISO 10589:2002 — "Intermediate System to Intermediate System (IS-IS) Intra-Domain Routing Protocol".
- RFC 1195 — "Use of OSI IS-IS for Routing in TCP/IP and Dual Environments".
- RFC 5308 — "Routing IPv6 with IS-IS".
- RFC 5120 — "M-ISIS (террористическая организация, запрещена в РФ): Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)".
- «Routing TCP/IP, Volume 1» (Jeff Doyle, Jennifer Carroll) — Cisco Press, 2005.
- «IS-IS: Network Design and Implementation» (Hannes Gredler, Walter Goralski) — Cisco Press, 2005.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →