IS-IS - Intermediate System to Intermediate System

IS-IS - link-state протокол маршрутизации, работающий на Layer 2, широко используемый в datacenter и ISP сетях.

Обзор

IS-IS (Intermediate System to Intermediate System, ISO 10589) - link-state протокол маршрутизации, изначально разработанный для OSI стека, адаптированный для IP.

Характеристики:

  • Link-state протокол использующий алгоритм Dijkstra SPF
  • Работает напрямую на Layer 2 (не использует IP транспорт)
  • Двухуровневая иерархия (Level-1 и Level-2)
  • Поддержка IPv4 и IPv6 в одном процессе
  • Быстрая конвергенция
  • Масштабируемость для больших сетей
  • Используется в ISP и datacenter fabric

Версии:

  • IS-IS for IP - поддержка IPv4 и IPv6
  • Integrated IS-IS - одновременная маршрутизация OSI CLNP и IP

Применение:

  • ISP backbone networks
  • Data center leaf-spine fabric (особенно с CLOS топологией)
  • Large enterprise campus
  • Service provider MPLS core
  • Carrier Ethernet networks

Преимущества:

  • Работает на Layer 2 (не зависит от IP)
  • IPv4 и IPv6 в одном процессе
  • Нет необходимости в area 0 как в OSPF
  • Более гибкая иерархия
  • Меньше overhead на обновления
  • Лучшая масштабируемость чем OSPF

Недостатки:

  • Сложнее в понимании чем OSPF
  • Меньшее распространение в enterprise
  • Требует понимания OSI терминологии

Архитектура IS-IS

Уровни маршрутизации

IS-IS использует двухуровневую иерархию.

Level-1 (L1):

  • Маршрутизация внутри area (intra-area)
  • L1 роутеры знают топологию только своей area
  • Подобно OSPF internal routers
  • Используют default route для inter-area трафика

Level-2 (L2):

  • Маршрутизация между areas (inter-area)
  • L2 роутеры знают все L2 маршруты
  • Подобно OSPF backbone (Area 0)
  • Формируют backbone топологию

Level-1-2 (L1/L2):

  • Работают на обоих уровнях одновременно
  • Граница между L1 и L2 domains
  • Подобно OSPF ABR (Area Border Router)
  • Анонсируют default route в L1 area

Типы роутеров

L1 Router:

  • Все интерфейсы в одной area
  • Знает только L1 topology
  • Использует nearest L1/L2 router как default gateway

L2 Router:

  • Только inter-area маршрутизация
  • Не участвует в L1 routing
  • Формирует L2 backbone

L1/L2 Router:

  • Участвует в L1 и L2 маршрутизации
  • Связывает L1 area с L2 backbone
  • Анонсирует L1 prefixes в L2
  • Анонсирует default route в L1

Network Entity Title (NET)

NET - адрес IS-IS роутера в формате OSI NSAP.

Формат:

Area-ID . System-ID . NSEL

Структура:

  • Area-ID - идентификатор area (переменной длины, обычно 1-13 bytes)
  • System-ID - уникальный ID роутера (фиксированная длина 6 bytes)
  • NSEL - selector (всегда 00 для роутеров)

Пример:

49.0001.1921.6800.1001.00

Разбор:

  • 49 - AFI (Authority and Format Identifier) для private addressing
  • 0001 - Area ID
  • 1921.6800.1001 - System ID (часто из IP: 192.168.0.1 → 1921.6800.1001)
  • 00 - NSEL

Длина: Обычно 10, 13 или 20 bytes.

AFI коды:

  • 39 - ISO DCC (Data Country Code)
  • 45 - ISO ICD (International Code Designator)
  • 47 - ISO 6523-ICD
  • 49 - Private (наиболее распространенный)

Базовая конфигурация

Минимальная настройка

Router 1:

set interfaces loopback lo address 192.168.255.1/32

set protocols isis net 49.0001.1921.6825.5001.00

set protocols isis interface eth1
set protocols isis interface lo

commit
save

Router 2:

set interfaces loopback lo address 192.168.255.2/32

set protocols isis net 49.0001.1921.6825.5002.00

set protocols isis interface eth1
set protocols isis interface lo

commit
save

Проверка:

show isis neighbor
show isis database
show ip route isis

NET Configuration

Настройка Network Entity Title:

set protocols isis net 49.0001.1921.6800.1001.00
commit

Рекомендации:

  • Используйте AFI 49 для private сетей
  • System ID формируйте из loopback IP
  • Area ID должен совпадать у L1 neighbors
  • Area ID может отличаться у L2 neighbors

Генерация System ID из IP:

IP: 192.168.0.1 → System ID: 1921.6800.1001

# Пример конвертации
ip = "192.168.0.1"
octets = ip.split('.')
system_id = f"{int(octets[0]):02d}{int(octets[1]):02d}.{int(octets[2]):02d}{int(octets[3]):02d}.0001"
# Результат: 1921.6800.1001

Можно использовать любой уникальный 6-byte идентификатор:

49.0001.0000.0000.0001.00
49.0001.0000.0000.0002.00

Hostname Mapping

Сопоставление System ID с hostname для удобства:

set protocols isis dynamic-hostname
commit

Роутеры будут анонсировать свои hostname в LSP (Link State PDU).

Interface Configuration

Включение IS-IS на интерфейсе

Активировать IS-IS:

set protocols isis interface eth1
commit

Для всех интерфейсов:

set protocols isis interface eth0
set protocols isis interface eth1
set protocols isis interface eth2
set protocols isis interface lo
commit

Circuit Type

Тип IS-IS circuit (уровень маршрутизации):

set protocols isis interface eth1 circuit-type level-1
commit

Типы:

  • level-1 - только L1 adjacencies
  • level-1-2 - L1 и L2 adjacencies (по умолчанию)
  • level-2-only - только L2 adjacencies

Применение:

L1 only для internal area роутеров:

set protocols isis interface eth1 circuit-type level-1
commit

L2 only для backbone роутеров:

set protocols isis interface eth1 circuit-type level-2-only
commit

L1-2 для border роутеров:

set protocols isis interface eth1 circuit-type level-1-2
commit

Network Type

Тип сети IS-IS:

set protocols isis interface eth1 network point-to-point
commit

Типы:

  • broadcast - Ethernet, множественный доступ (по умолчанию)
  • point-to-point - serial links, VPN tunnels

Point-to-point рекомендуется для:

  • Direct connections между роутерами
  • VPN tunnels (VTI, GRE)
  • Point-to-point Ethernet links
  • Избегание DIS (Designated IS) выборов

Passive Interface

Интерфейс анонсирует свои сети, но не формирует adjacencies:

set protocols isis interface eth2 passive
commit

Применение:

  • Loopback интерфейсы
  • LAN интерфейсы без IS-IS neighbors
  • Предотвращение несанкционированных adjacencies

Metric

IS-IS метрика интерфейса:

set protocols isis interface eth1 metric 10
commit

Значения: 1-16777215 (по умолчанию 10).

По уровню:

set protocols isis interface eth1 metric level-1 20
set protocols isis interface eth1 metric level-2 10
commit

Wide metrics (расширенные метрики):

set protocols isis metric-style wide
commit

Стили:

  • narrow - старый формат (1-63)
  • wide - расширенный формат (1-16777215), рекомендуется
  • transition - оба формата

Priority

Приоритет для выбора DIS (Designated Intermediate System) на broadcast сетях:

set protocols isis interface eth1 priority 64
commit

Значения: 0-127 (по умолчанию 64).

По уровню:

set protocols isis interface eth1 priority level-1 100
set protocols isis interface eth1 priority level-2 50
commit

Роутер с наивысшим priority становится DIS.

Отличия от OSPF DR:

  • DIS не обязателен (preemptive election)
  • DIS может быть переизбран
  • Priority 0 НЕ предотвращает выбор DIS

Hello Timers

Hello interval (секунды):

set protocols isis interface eth1 hello-interval 3
commit

По уровню:

set protocols isis interface eth1 hello-interval level-1 3
set protocols isis interface eth1 hello-interval level-2 10
commit

Hello multiplier (для dead interval):

set protocols isis interface eth1 hello-multiplier 3
commit

Dead interval = hello-interval × hello-multiplier.

По умолчанию:

  • Broadcast: hello 10s, multiplier 3 (dead 30s)
  • Point-to-point: hello 3s, multiplier 3 (dead 9s)

Рекомендации:

  • Должны совпадать между neighbors
  • Меньшие значения для быстрой конвергенции
  • Используйте BFD для sub-second failover

Authentication

Защита IS-IS от несанкционированных роутеров.

Area Authentication (Level-1)

Plaintext (не рекомендуется):

set protocols isis area-password plaintext-password 'AreaPassword123'
commit

MD5:

set protocols isis area-password md5 'AreaSecurePassword!'
commit

Применяется к Level-1 LSP, CSNP, PSNP.

Domain Authentication (Level-2)

Plaintext:

set protocols isis domain-password plaintext-password 'DomainPassword123'
commit

MD5:

set protocols isis domain-password md5 'DomainSecurePassword!'
commit

Применяется к Level-2 LSP, CSNP, PSNP.

Interface Authentication

Plaintext:

set protocols isis interface eth1 password plaintext-password 'InterfacePass'
commit

Применяется к Hello PDU на конкретном интерфейсе.

Рекомендации:

  1. Используйте MD5 для area/domain password
  2. Используйте interface password для дополнительной защиты
  3. Не используйте plaintext в production
  4. Passwords должны совпадать между neighbors

Пример полной аутентификации

# Domain (L2) authentication
set protocols isis domain-password md5 'L2-Secure-Domain-Pass!'

# Area (L1) authentication
set protocols isis area-password md5 'L1-Secure-Area-Pass!'

# Interface authentication
set protocols isis interface eth1 password plaintext-password 'Interface-Hello-Pass'
set protocols isis interface eth2 password plaintext-password 'Interface-Hello-Pass'

commit
save

Level Configuration

Level-1 Only Router

Роутер только для intra-area маршрутизации:

set protocols isis net 49.0001.1921.6800.1001.00

set protocols isis level level-1

set protocols isis interface eth1 circuit-type level-1
set protocols isis interface eth2 circuit-type level-1
set protocols isis interface lo

commit
save

Level-2 Only Router

Роутер только для inter-area маршрутизации:

set protocols isis net 49.0002.1921.6800.2001.00

set protocols isis level level-2

set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth2 circuit-type level-2-only
set protocols isis interface lo

commit
save

Level-1-2 Router (Border)

Роутер на границе между L1 и L2:

set protocols isis net 49.0001.1921.6800.3001.00

# По умолчанию level-1-2, но можно явно указать
set protocols isis level level-1-2

set protocols isis interface eth1 circuit-type level-1
set protocols isis interface eth2 circuit-type level-2-only
set protocols isis interface lo

commit
save

Attached Bit

L1/L2 роутер устанавливает attached bit в L1 LSP, указывая L1 роутерам путь к L2 backbone.

По умолчанию enabled. Для отключения:

set protocols isis no-attached-bit send
commit

Route Redistribution

Импорт маршрутов из других источников в IS-IS.

Redistribution Sources

Connected routes:

set protocols isis redistribute ipv4 connected
commit

Static routes:

set protocols isis redistribute ipv4 static
commit

OSPF:

set protocols isis redistribute ipv4 ospf
commit

BGP:

set protocols isis redistribute ipv4 bgp
commit

Kernel:

set protocols isis redistribute ipv4 kernel
commit

Redistribution с метрикой

Установить метрику:

set protocols isis redistribute ipv4 connected metric 100
commit

По уровням:

set protocols isis redistribute ipv4 static level-1 metric 50
set protocols isis redistribute ipv4 static level-2 metric 100
commit

Route-map для selective redistribution

set protocols isis redistribute ipv4 static route-map STATIC-TO-ISIS
commit

Пример route-map:

set policy route-map STATIC-TO-ISIS rule 10 action permit
set policy route-map STATIC-TO-ISIS rule 10 match ip address prefix-list ALLOW-NETWORKS

set policy prefix-list ALLOW-NETWORKS rule 10 action permit
set policy prefix-list ALLOW-NETWORKS rule 10 prefix 10.0.0.0/8 le 24

commit

IPv6 Redistribution

IS-IS поддерживает IPv6 в том же процессе:

set protocols isis redistribute ipv6 connected
set protocols isis redistribute ipv6 static
commit

Default Route

Анонс default route в IS-IS.

Default Information Originate

IPv4 default:

set protocols isis default-information originate ipv4
commit

IPv6 default:

set protocols isis default-information originate ipv6
commit

По уровням:

IPv4 в Level-1:

set protocols isis default-information originate ipv4 level-1
commit

IPv4 в Level-2:

set protocols isis default-information originate ipv4 level-2
commit

С метрикой:

set protocols isis default-information originate ipv4 level-1 metric 10
commit

С route-map:

set protocols isis default-information originate ipv4 route-map DEFAULT-IPV4
commit

Summarization

Суммирование IP префиксов в IS-IS.

IPv4 Summary

set protocols isis summary-address ipv4 192.168.0.0/16
commit

По уровням:

set protocols isis summary-address ipv4 192.168.0.0/16 level-1
commit
set protocols isis summary-address ipv4 10.0.0.0/8 level-2
commit

IPv6 Summary

set protocols isis summary-address ipv6 2001:db8::/32
commit

По уровням:

set protocols isis summary-address ipv6 2001:db8::/32 level-2
commit

Advanced Parameters

SPF Timers

Управление частотой SPF calculation:

set protocols isis spf-interval level-1 5
set protocols isis spf-interval level-2 5
commit

Значения в секундах (1-120, по умолчанию 5).

SPF delay:

set protocols isis spf-delay-ietf init-delay 50
set protocols isis spf-delay-ietf short-delay 200
set protocols isis spf-delay-ietf long-delay 5000
set protocols isis spf-delay-ietf holddown 10000
set protocols isis spf-delay-ietf time-to-learn 20000
commit

Все значения в миллисекундах.

IETF SPF delay - adaptive алгоритм для оптимизации SPF calculation.

LSP Timers

LSP generation interval:

set protocols isis lsp-gen-interval level-1 5
set protocols isis lsp-gen-interval level-2 5
commit

Значения в секундах (1-120).

LSP refresh interval:

set protocols isis lsp-refresh-interval level-1 900
set protocols isis lsp-refresh-interval level-2 900
commit

Значения в секундах (1-65535, по умолчанию 900).

LSP lifetime:

set protocols isis max-lsp-lifetime level-1 1200
set protocols isis max-lsp-lifetime level-2 1200
commit

Значения в секундах (360-65535, по умолчанию 1200).

Overload Bit

Установить overload bit (роутер не используется для транзита):

set protocols isis overload-bit
commit

На время (секунды):

set protocols isis overload-bit on-startup 300
commit

Роутер будет в overload state 300 секунд после загрузки.

Purge Originator

Идентификация роутера, который purged LSP:

set protocols isis purge-originator
commit

Полезно для troubleshooting.

Log Adjacency Changes

Логирование изменений в adjacencies:

set protocols isis log-adjacency-changes
commit

IPv6 Support

IS-IS нативно поддерживает IPv4 и IPv6 в одном процессе.

IPv6 Configuration

Включить IPv6:

set protocols isis address-family ipv6
commit

IPv6 на интерфейсе включается автоматически при наличии IPv6 адреса.

Multi-Topology IS-IS

Разделение IPv4 и IPv6 топологий:

set protocols isis topology ipv6-unicast
commit

По умолчанию IS-IS использует single topology для IPv4 и IPv6.

Пример IPv4 и IPv6

set interfaces loopback lo address 192.168.255.1/32
set interfaces loopback lo address 2001:db8::1/128

set protocols isis net 49.0001.1921.6825.5001.00

# IPv4
set protocols isis redistribute ipv4 connected

# IPv6
set protocols isis address-family ipv6
set protocols isis redistribute ipv6 connected

set protocols isis interface eth1
set protocols isis interface lo

commit
save

Проверка:

show isis neighbor
show ipv6 route isis
show ip route isis

BFD Integration

Bidirectional Forwarding Detection для быстрого обнаружения отказов.

set protocols isis interface eth1 bfd
commit

Настройка BFD профиля:

set protocols bfd profile isis-peers interval transmit 300
set protocols bfd profile isis-peers interval receive 300
set protocols bfd profile isis-peers interval multiplier 3

set protocols isis interface eth1 bfd profile isis-peers

commit

BFD обнаруживает отказ link за sub-second время vs десятки секунд с IS-IS hello.

MPLS и Segment Routing

IS-IS широко используется в MPLS и Segment Routing сетях.

LDP Synchronization

Синхронизация IS-IS и LDP:

set protocols isis interface eth1 ldp-sync
commit

IS-IS не использует link пока LDP session не установлен.

Holddown time:

set protocols isis ldp-sync holddown 300
commit

Segment Routing (Experimental)

Segment Routing в IS-IS (требует FRR 7.5+):

set protocols isis segment-routing enable
set protocols isis segment-routing global-block low-label-value 16000
set protocols isis segment-routing global-block high-label-value 23999
commit

Prefix SID:

set protocols isis segment-routing prefix 192.168.255.1/32 index 1
commit

Note: Segment Routing support в VyOS может быть ограничен в зависимости от версии FRR.

Примеры конфигурации

Простая двухточечная сеть

Router A (L1/L2):

set interfaces loopback lo address 192.168.255.1/32

set protocols isis net 49.0001.1921.6825.5001.00
set protocols isis dynamic-hostname

set protocols isis interface eth1 network point-to-point
set protocols isis interface eth1 password plaintext-password 'HelloSecret'

set protocols isis interface lo passive

set protocols isis area-password md5 'AreaPass!'
set protocols isis domain-password md5 'DomainPass!'

commit
save

Router B (L1/L2):

set interfaces loopback lo address 192.168.255.2/32

set protocols isis net 49.0001.1921.6825.5002.00
set protocols isis dynamic-hostname

set protocols isis interface eth1 network point-to-point
set protocols isis interface eth1 password plaintext-password 'HelloSecret'

set protocols isis interface lo passive

set protocols isis area-password md5 'AreaPass!'
set protocols isis domain-password md5 'DomainPass!'

commit
save

Multi-area с L1 и L2

L1 Router (Area 0001):

set interfaces loopback lo address 192.168.255.10/32

set protocols isis net 49.0001.1921.6825.5010.00
set protocols isis level level-1

set protocols isis interface eth1 circuit-type level-1
set protocols isis interface eth2 circuit-type level-1
set protocols isis interface lo

set protocols isis area-password md5 'Area0001Pass!'

commit
save

L1/L2 Border Router (между Area 0001 и L2):

set interfaces loopback lo address 192.168.255.100/32

set protocols isis net 49.0001.1921.6825.5100.00
set protocols isis level level-1-2

# L1 interface
set protocols isis interface eth1 circuit-type level-1

# L2 interface
set protocols isis interface eth2 circuit-type level-2-only

set protocols isis interface lo

set protocols isis area-password md5 'Area0001Pass!'
set protocols isis domain-password md5 'DomainL2Pass!'

commit
save

L2 Router:

set interfaces loopback lo address 192.168.255.200/32

set protocols isis net 49.0002.1921.6825.5200.00
set protocols isis level level-2

set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth2 circuit-type level-2-only
set protocols isis interface lo

set protocols isis domain-password md5 'DomainL2Pass!'

commit
save

IS-IS с route redistribution

Edge Router:

set interfaces loopback lo address 192.168.255.1/32

set protocols isis net 49.0001.1921.6825.5001.00

# Внутренние интерфейсы
set protocols isis interface eth1
set protocols isis interface lo

# LAN интерфейсы
set protocols isis interface eth2 passive

# Static routes для external
set protocols static route 203.0.113.0/24 next-hop 198.51.100.1

# Redistribute static в IS-IS
set protocols isis redistribute ipv4 static level-2 metric 100

# Redistribute connected
set protocols isis redistribute ipv4 connected level-1 metric 10

commit
save

IS-IS через VPN (VTI)

Site A:

set interfaces loopback lo address 192.168.255.1/32
set interfaces vti vti0 address 172.16.0.1/30

set protocols isis net 49.0001.1921.6825.5001.00

set protocols isis interface vti0 network point-to-point
set protocols isis interface vti0 password plaintext-password 'VPN-ISIS!'

set protocols isis interface eth1 passive
set protocols isis interface lo passive

# Redistribute connected
set protocols isis redistribute ipv4 connected

commit
save

Site B:

set interfaces loopback lo address 192.168.255.2/32
set interfaces vti vti0 address 172.16.0.2/30

set protocols isis net 49.0001.1921.6825.5002.00

set protocols isis interface vti0 network point-to-point
set protocols isis interface vti0 password plaintext-password 'VPN-ISIS!'

set protocols isis interface eth1 passive
set protocols isis interface lo passive

# Redistribute connected
set protocols isis redistribute ipv4 connected

commit
save

IS-IS с BGP (Service Provider)

PE Router:

set interfaces loopback lo address 192.168.255.1/32

# IS-IS для IGP
set protocols isis net 49.0001.1921.6825.5001.00
set protocols isis interface eth1
set protocols isis interface lo passive

# BGP для customer routes
set protocols bgp system-as 65000
set protocols bgp neighbor 192.168.255.2 remote-as 65000
set protocols bgp neighbor 192.168.255.2 update-source lo
set protocols bgp neighbor 192.168.255.2 address-family ipv4-unicast

# Customer BGP
set protocols bgp neighbor 203.0.113.1 remote-as 65001
set protocols bgp neighbor 203.0.113.1 address-family ipv4-unicast

# Redistribute connected в IS-IS (infrastructure)
set protocols isis redistribute ipv4 connected metric 10

# Не редистрибутим BGP в IS-IS (используем BGP для customer routes)

commit
save

Datacenter Leaf-Spine Fabric

Spine Router:

set interfaces loopback lo address 10.255.255.1/32

set protocols isis net 49.0001.1025.5255.5001.00
set protocols isis level level-2
set protocols isis metric-style wide

# Все интерфейсы к Leaf роутерам
set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth1 network point-to-point

set protocols isis interface eth2 circuit-type level-2-only
set protocols isis interface eth2 network point-to-point

set protocols isis interface eth3 circuit-type level-2-only
set protocols isis interface eth3 network point-to-point

set protocols isis interface eth4 circuit-type level-2-only
set protocols isis interface eth4 network point-to-point

set protocols isis interface lo passive

commit
save

Leaf Router:

set interfaces loopback lo address 10.255.255.101/32

set protocols isis net 49.0001.1025.5255.5101.00
set protocols isis level level-2
set protocols isis metric-style wide

# Uplinks к Spine
set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth1 network point-to-point

set protocols isis interface eth2 circuit-type level-2-only
set protocols isis interface eth2 network point-to-point

# Server-facing интерфейсы
set protocols isis interface eth3 passive
set protocols isis interface eth4 passive

set protocols isis interface lo passive

# Redistribute connected (server networks)
set protocols isis redistribute ipv4 connected level-2 metric 10

commit
save

IS-IS с IPv4 и IPv6

set interfaces loopback lo address 192.168.255.1/32
set interfaces loopback lo address 2001:db8:255::1/128

set interfaces ethernet eth1 address 10.0.0.1/30
set interfaces ethernet eth1 address 2001:db8:1::1/64

set protocols isis net 49.0001.1921.6825.5001.00
set protocols isis dynamic-hostname

# IPv6 support
set protocols isis address-family ipv6

# Interfaces
set protocols isis interface eth1 network point-to-point
set protocols isis interface lo passive

# Redistribute IPv4
set protocols isis redistribute ipv4 connected

# Redistribute IPv6
set protocols isis redistribute ipv6 connected

commit
save

Yandex Cloud: IS-IS для datacenter fabric

Пример использования IS-IS в Yandex Cloud для datacenter Leaf-Spine fabric.

Топология

                    Spine-1 (10.255.0.1)
                    /                  \
                   /                    \
    Leaf-1 (10.255.1.1)          Leaf-2 (10.255.1.2)
         |                              |
    Servers 10.10.1.0/24          Servers 10.10.2.0/24

Spine-1 Configuration

# Loopback для Spine
set interfaces loopback lo address 10.255.0.1/32

# Uplinks к Leafs
set interfaces ethernet eth1 address 10.0.0.0/31
set interfaces ethernet eth1 description 'Link to Leaf-1'

set interfaces ethernet eth2 address 10.0.0.2/31
set interfaces ethernet eth2 description 'Link to Leaf-2'

# IS-IS Process
set protocols isis net 49.0001.1025.5000.1001.00
set protocols isis level level-2
set protocols isis metric-style wide
set protocols isis dynamic-hostname

# Spine interfaces - L2 only, point-to-point
set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth1 network point-to-point
set protocols isis interface eth1 metric 10

set protocols isis interface eth2 circuit-type level-2-only
set protocols isis interface eth2 network point-to-point
set protocols isis interface eth2 metric 10

set protocols isis interface lo passive

# Authentication
set protocols isis domain-password md5 'YandexCloud-DC-Fabric-2025!'

# BFD для fast convergence
set protocols bfd profile dc-fabric interval transmit 300
set protocols bfd profile dc-fabric interval receive 300
set protocols bfd profile dc-fabric interval multiplier 3

set protocols isis interface eth1 bfd profile dc-fabric
set protocols isis interface eth2 bfd profile dc-fabric

commit
save

Leaf-1 Configuration

# Loopback для Leaf
set interfaces loopback lo address 10.255.1.1/32

# Uplink к Spine
set interfaces ethernet eth1 address 10.0.0.1/31
set interfaces ethernet eth1 description 'Uplink to Spine-1'

# Server-facing интерфейсы
set interfaces ethernet eth2 address 10.10.1.1/24
set interfaces ethernet eth2 description 'Servers VLAN 10'

# IS-IS Process
set protocols isis net 49.0001.1025.5001.1001.00
set protocols isis level level-2
set protocols isis metric-style wide
set protocols isis dynamic-hostname

# Uplink interface
set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth1 network point-to-point
set protocols isis interface eth1 metric 10

# Server interfaces - passive
set protocols isis interface eth2 passive
set protocols isis interface lo passive

# Redistribute connected (server networks)
set protocols isis redistribute ipv4 connected level-2 metric 10

# Authentication
set protocols isis domain-password md5 'YandexCloud-DC-Fabric-2025!'

# BFD для fast convergence
set protocols isis interface eth1 bfd profile dc-fabric

commit
save

Leaf-2 Configuration

# Loopback для Leaf
set interfaces loopback lo address 10.255.1.2/32

# Uplink к Spine
set interfaces ethernet eth1 address 10.0.0.3/31
set interfaces ethernet eth1 description 'Uplink to Spine-1'

# Server-facing интерфейсы
set interfaces ethernet eth2 address 10.10.2.1/24
set interfaces ethernet eth2 description 'Servers VLAN 20'

# IS-IS Process
set protocols isis net 49.0001.1025.5001.1002.00
set protocols isis level level-2
set protocols isis metric-style wide
set protocols isis dynamic-hostname

# Uplink interface
set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth1 network point-to-point
set protocols isis interface eth1 metric 10

# Server interfaces - passive
set protocols isis interface eth2 passive
set protocols isis interface lo passive

# Redistribute connected (server networks)
set protocols isis redistribute ipv4 connected level-2 metric 10

# Authentication
set protocols isis domain-password md5 'YandexCloud-DC-Fabric-2025!'

# BFD для fast convergence
set protocols isis interface eth1 bfd profile dc-fabric

commit
save

Проверка Yandex Cloud Fabric

На Spine-1:

show isis neighbor
show isis database
show ip route isis

# Должны видеть 10.10.1.0/24 и 10.10.2.0/24 от Leafs

На Leaf-1:

show isis neighbor
show isis route

# Должны видеть 10.255.0.1 (Spine), 10.255.1.2 (Leaf-2), 10.10.2.0/24

Тестирование:

# С Leaf-1 до Leaf-2 loopback
ping 10.255.1.2 source-address 10.255.1.1

# С Leaf-1 до Leaf-2 server network
ping 10.10.2.1 source-address 10.10.1.1

Мониторинг BFD:

show bfd peers

VK Cloud: IS-IS с MPLS backbone

Пример использования IS-IS в VK Cloud для MPLS Service Provider backbone.

Топология

PE1 (10.255.255.1) --- P1 (10.255.255.10) --- PE2 (10.255.255.2)
         |                                           |
    Customer A                                  Customer B
    AS 65001                                    AS 65002

P1 Router (Core)

# Loopback
set interfaces loopback lo address 10.255.255.10/32

# Core links
set interfaces ethernet eth1 address 10.0.1.1/30
set interfaces ethernet eth1 description 'Link to PE1'

set interfaces ethernet eth2 address 10.0.2.1/30
set interfaces ethernet eth2 description 'Link to PE2'

# IS-IS для IGP
set protocols isis net 49.0001.1025.5255.5010.00
set protocols isis level level-2
set protocols isis metric-style wide
set protocols isis dynamic-hostname

# Core interfaces
set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth1 network point-to-point
set protocols isis interface eth1 metric 10

set protocols isis interface eth2 circuit-type level-2-only
set protocols isis interface eth2 network point-to-point
set protocols isis interface eth2 metric 10

set protocols isis interface lo passive

# Authentication
set protocols isis domain-password md5 'VKCloud-MPLS-Backbone-2025!'

# LDP-ISIS synchronization
set protocols isis ldp-sync holddown 300
set protocols isis interface eth1 ldp-sync
set protocols isis interface eth2 ldp-sync

# BFD
set protocols bfd profile mpls-core interval transmit 300
set protocols bfd profile mpls-core interval receive 300
set protocols bfd profile mpls-core interval multiplier 3

set protocols isis interface eth1 bfd profile mpls-core
set protocols isis interface eth2 bfd profile mpls-core

# MPLS
set protocols mpls interface eth1
set protocols mpls interface eth2

set protocols mpls ldp interface eth1
set protocols mpls ldp interface eth2
set protocols mpls ldp router-id 10.255.255.10

commit
save

PE1 Router (Provider Edge)

# Loopback
set interfaces loopback lo address 10.255.255.1/32

# Core link
set interfaces ethernet eth1 address 10.0.1.2/30
set interfaces ethernet eth1 description 'Link to P1'

# Customer link
set interfaces ethernet eth2 address 192.168.1.1/30
set interfaces ethernet eth2 description 'Customer A CE'

# IS-IS для IGP
set protocols isis net 49.0001.1025.5255.5001.00
set protocols isis level level-2
set protocols isis metric-style wide
set protocols isis dynamic-hostname

# Core interface
set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth1 network point-to-point
set protocols isis interface eth1 metric 10

set protocols isis interface lo passive

# Redistribute connected (только loopback, не customer links)
set protocols isis redistribute ipv4 connected route-map LOOPBACK-ONLY

# Route-map для selective redistribution
set policy route-map LOOPBACK-ONLY rule 10 action permit
set policy route-map LOOPBACK-ONLY rule 10 match ip address prefix-list LOOPBACKS

set policy prefix-list LOOPBACKS rule 10 action permit
set policy prefix-list LOOPBACKS rule 10 prefix 10.255.255.0/24 le 32

# Authentication
set protocols isis domain-password md5 'VKCloud-MPLS-Backbone-2025!'

# LDP-ISIS sync
set protocols isis interface eth1 ldp-sync

# BFD
set protocols isis interface eth1 bfd profile mpls-core

# MPLS
set protocols mpls interface eth1
set protocols mpls ldp interface eth1
set protocols mpls ldp router-id 10.255.255.1

# BGP для customer routes (MPLS VPN)
set protocols bgp system-as 65000
set protocols bgp neighbor 10.255.255.2 remote-as 65000
set protocols bgp neighbor 10.255.255.2 update-source lo
set protocols bgp neighbor 10.255.255.2 address-family ipv4-unicast

# Customer A BGP
set protocols bgp neighbor 192.168.1.2 remote-as 65001
set protocols bgp neighbor 192.168.1.2 address-family ipv4-unicast

commit
save

PE2 Router (Provider Edge)

# Loopback
set interfaces loopback lo address 10.255.255.2/32

# Core link
set interfaces ethernet eth1 address 10.0.2.2/30
set interfaces ethernet eth1 description 'Link to P1'

# Customer link
set interfaces ethernet eth2 address 192.168.2.1/30
set interfaces ethernet eth2 description 'Customer B CE'

# IS-IS для IGP
set protocols isis net 49.0001.1025.5255.5002.00
set protocols isis level level-2
set protocols isis metric-style wide
set protocols isis dynamic-hostname

# Core interface
set protocols isis interface eth1 circuit-type level-2-only
set protocols isis interface eth1 network point-to-point
set protocols isis interface eth1 metric 10

set protocols isis interface lo passive

# Redistribute connected (только loopback)
set protocols isis redistribute ipv4 connected route-map LOOPBACK-ONLY

# Route-map для selective redistribution
set policy route-map LOOPBACK-ONLY rule 10 action permit
set policy route-map LOOPBACK-ONLY rule 10 match ip address prefix-list LOOPBACKS

set policy prefix-list LOOPBACKS rule 10 action permit
set policy prefix-list LOOPBACKS rule 10 prefix 10.255.255.0/24 le 32

# Authentication
set protocols isis domain-password md5 'VKCloud-MPLS-Backbone-2025!'

# LDP-ISIS sync
set protocols isis interface eth1 ldp-sync

# BFD
set protocols isis interface eth1 bfd profile mpls-core

# MPLS
set protocols mpls interface eth1
set protocols mpls ldp interface eth1
set protocols mpls ldp router-id 10.255.255.2

# BGP для customer routes (MPLS VPN)
set protocols bgp system-as 65000
set protocols bgp neighbor 10.255.255.1 remote-as 65000
set protocols bgp neighbor 10.255.255.1 update-source lo
set protocols bgp neighbor 10.255.255.1 address-family ipv4-unicast

# Customer B BGP
set protocols bgp neighbor 192.168.2.2 remote-as 65002
set protocols bgp neighbor 192.168.2.2 address-family ipv4-unicast

commit
save

Проверка VK Cloud MPLS Backbone

IS-IS Neighbors:

show isis neighbor

IS-IS Database:

show isis database detail

MPLS LDP:

show mpls ldp neighbor
show mpls ldp binding

LDP-ISIS Sync Status:

show isis mpls ldp-sync

BGP Sessions:

show bgp summary

Трассировка MPLS:

traceroute mpls ipv4 10.255.255.2/32

Операционные команды

IS-IS Neighbors

Показать IS-IS adjacencies:

show isis neighbor

Вывод:

Area Circinus:
 System Id           Interface   L  State        Holdtime SNPA
 spine-1             eth1        2  Up            27       2020.2020.2020

Детали:

show isis neighbor detail

IS-IS Database

Link State Database:

show isis database

Вывод:

Area Circinus:
IS-IS Level-1 Link State Database:
LSP ID                  PduLen  SeqNumber   Chksum  Holdtime  ATT/P/OL
router-1.00-00            142   0x00000005  0x1234    1195    0/0/0
router-2.00-00            156   0x00000003  0x5678    1189    0/0/0

IS-IS Level-2 Link State Database:
LSP ID                  PduLen  SeqNumber   Chksum  Holdtime  ATT/P/OL
router-1.00-00            178   0x00000008  0xabcd    1195    0/0/0

Детали конкретного LSP:

show isis database detail router-1.00-00

Level-specific:

show isis database level-1
show isis database level-2

IS-IS Routes

IS-IS routing table:

show isis route

Вывод:

Area Circinus:
IS-IS paths to level-1 routers that speak IP
Vertex               Type         Metric Next-Hop             Interface Parent
192.168.255.2        IP internal  10     10.0.0.2             eth1      (null)

IPv4 routes:

show ip route isis

IPv6 routes:

show ipv6 route isis

IS-IS Interface

Показать IS-IS интерфейсы:

show isis interface

Вывод:

Interface   Circuit  Type    Level   Metric
eth1        0x1      p2p     L1L2    10
lo          0x0      loopback L1L2   0

Детали интерфейса:

show isis interface detail

Конкретный интерфейс:

show isis interface eth1

IS-IS Topology

Показать топологию:

show isis topology

Level-specific:

show isis topology level-1
show isis topology level-2

IS-IS Summary

Общая информация:

show isis summary

Вывод:

VRF : default
Process Id      : 1
System Id       : 1921.6825.5001
Instance        : 0
IS-IS VRF       : default
Router ID       : 192.168.255.1
Hostname        : router-1
  Level-1-2 LSP MTU               : 1497 bytes
  Area address(es) :
          49.0001

Clear ISIS

Restart IS-IS процесс:

restart isis

Clear neighbor adjacency (для re-forming):

clear isis neighbor

Troubleshooting

Neighbor не формируется

Проверьте:

  1. Layer 2 connectivity:

    ping <neighbor-ip>
  2. NET configuration:

    show isis summary

    Area ID должен совпадать для L1 neighbors.

  3. Circuit type совпадает:

    show isis interface eth1

    L1 router не формирует adjacency с L2-only router.

  4. Authentication совпадает:

    show isis interface detail

    Area password для L1, domain password для L2.

  5. Network type совпадает:

    show isis interface

    Broadcast vs point-to-point.

  6. MTU совпадает:

    show interfaces ethernet eth1

    IS-IS проверяет MTU в Hello PDU.

  7. Hello interval и multiplier:

    show isis interface detail

Neighbor в состоянии Init

Init означает роутер получает Hello, но не видит свой System ID в Hello от neighbor.

Проверьте:

  • Двусторонняя Layer 2 connectivity
  • Authentication правильная
  • IS-IS enabled на интерфейсе neighbor

Debug:

monitor log
# Затем на другой сессии:
configure
set protocols isis log-adjacency-changes
commit

Routes не появляются

Проверьте:

  1. Adjacency в состоянии Up:

    show isis neighbor
  2. LSP в database:

    show isis database
  3. Route в IS-IS RIB:

    show isis route
  4. Route в IP routing table:

    show ip route isis
  5. Level configuration:

    L1 router не видит routes из L2. Убедитесь что есть L1/L2 router анонсирующий default в L1.

  6. Overload bit не установлен:

    show isis database detail

    OL bit = 1 означает router в overload.

High CPU usage

IS-IS SPF calculation частая.

  1. Проверьте флapping интерфейсов:

    show interfaces
  2. Tune SPF timers:

    set protocols isis spf-delay-ietf init-delay 100
    set protocols isis spf-delay-ietf short-delay 500
    set protocols isis spf-delay-ietf long-delay 5000
    set protocols isis spf-delay-ietf holddown 10000
    commit
  3. Используйте BFD для fast failover вместо коротких hello intervals.

  4. Проверьте LSP flooding:

    show isis database

    Высокие sequence numbers указывают на частые LSP updates.

LSP Database не синхронизирован

  1. Проверьте MTU:

    show interfaces ethernet eth1

    Если MTU не совпадает, large LSP могут не передаваться.

  2. Проверьте timers:

    show isis summary

    LSP lifetime и refresh interval.

  3. Clear database и подождите re-sync:

    restart isis

Authentication errors

Log покажет authentication failures:

monitor log

Проверьте:

  • Area password для L1 (на всех L1 neighbors)
  • Domain password для L2 (на всех L2 neighbors)
  • Interface password (на обоих ends link)
  • Plaintext vs MD5 совпадает

Routing loops

  1. Проверьте attached bit:

    show isis database detail

    L1/L2 routers должны устанавливать ATT bit в L1 LSP.

  2. Проверьте metric configuration:

    show isis interface

    Asymmetric metrics могут вызвать suboptimal routing.

  3. Проверьте redistribution:

    show running-config protocols isis

    Mutual redistribution между IS-IS и другими протоколами может вызвать loops.

Лучшие практики

NET Design

  1. AFI 49 для private addressing
  2. System ID из loopback IP для простоты
  3. Уникальный System ID в пределах домена
  4. Area ID совпадает для L1 neighbors в одной area

Level Hierarchy

  1. L2 для backbone (core routers)
  2. L1 для access/distribution (edge routers)
  3. L1/L2 для boundaries (border routers)
  4. Minimize L1/L2 routers для упрощения

Area Design

  1. Одна area для small deployments (все L2)
  2. Multiple areas для large deployments:
    • Core = L2 only
    • Distribution = L1/L2
    • Access = L1 only
  3. Area 49.0001 для datacenter fabric (один L2 domain)

Interface Configuration

  1. Point-to-point для direct links и VPN
  2. Passive для loopback и server-facing интерфейсы
  3. Authentication на всех production интерфейсах
  4. Metric настраивать для traffic engineering

Timers

  1. Default timers достаточны для большинства deployments
  2. BFD для sub-second failover вместо aggressive hello timers
  3. SPF timers tune только при необходимости

Authentication

  1. MD5 для area и domain passwords
  2. Уникальные passwords для разных areas/domains
  3. Regular password rotation
  4. Interface passwords для дополнительной защиты

Scalability

  1. Metric style wide для modern deployments
  2. Summarization на L1/L2 boundaries
  3. Passive интерфейсы для non-transit networks
  4. Minimal redistribution - используйте BGP для external routes

Monitoring

  1. Log adjacency changes:

    set protocols isis log-adjacency-changes
  2. Monitor neighbors:

    show isis neighbor
  3. Monitor database size:

    show isis database
  4. Monitor BFD sessions:

    show bfd peers

Datacenter Fabric

  1. L2 only (single area)
  2. Point-to-point все links
  3. BFD enabled для fast failover
  4. ECMP для load balancing (автоматически с equal cost paths)
  5. Metric одинаковые на всех links для symmetric ECMP

Безопасность

Рекомендации

  1. MD5 Authentication:

    set protocols isis domain-password md5 'SecurePassword123!'
    set protocols isis area-password md5 'AreaPassword123!'
  2. Interface passwords:

    set protocols isis interface eth1 password plaintext-password 'HelloSecret'
  3. Passive интерфейсы:

    set protocols isis interface eth2 passive
  4. Firewall для IS-IS (multicast 01:80:C2:00:00:14, 01:80:C2:00:00:15):

    IS-IS работает на Layer 2, firewall должен разрешить:

    • All-IS multicast (L1): 01:80:C2:00:00:14
    • All-L2-IS multicast (L2): 01:80:C2:00:00:15
  5. Limit IS-IS interfaces к trusted links only:

    Не включайте IS-IS на untrusted/external интерфейсах.

  6. Log adjacency changes:

    set protocols isis log-adjacency-changes
  7. Overload bit при maintenance:

    set protocols isis overload-bit
    commit

Производительность

Optimization

  1. Metric style wide:

    set protocols isis metric-style wide
    commit
  2. SPF optimization для нестабильных сетей:

    set protocols isis spf-delay-ietf init-delay 100
    set protocols isis spf-delay-ietf short-delay 500
    set protocols isis spf-delay-ietf long-delay 5000
    commit
  3. BFD для fast failover:

    set protocols isis interface eth1 bfd
    commit
  4. Passive interfaces для уменьшения overhead:

    set protocols isis interface lo passive
    set protocols isis interface eth2 passive
    commit
  5. LSP refresh optimization:

    set protocols isis lsp-refresh-interval level-2 900
    commit

Сравнение с другими протоколами

IS-IS vs OSPF

ХарактеристикаIS-ISOSPF
Уровень работыLayer 2Layer 3 (IP)
ИерархияL1/L2 (flexible)Areas + mandatory Area 0
IPv4 и IPv6Один процессОтдельные процессы (OSPFv2/v3)
МетрикаArbitrary (default 10)Cost (bandwidth-based)
КонвергенцияБыстраяБыстрая
МасштабируемостьЛучшеХорошая
СложностьВыше (OSI терминология)Средняя
РаспространениеISP, DCEnterprise
Address overheadМеньшеБольше

IS-IS vs EIGRP

IS-IS - открытый стандарт, link-state. EIGRP - Cisco proprietary (теперь открыт), advanced distance-vector.

IS-IS предпочтительнее в multi-vendor средах.

Когда использовать IS-IS

Используйте IS-IS:

  • ISP backbone
  • Datacenter leaf-spine fabric
  • MPLS core
  • Large-scale networks
  • Dual-stack IPv4/IPv6
  • Multi-vendor environment

Используйте OSPF:

  • Enterprise campus
  • Small to medium networks
  • Legacy integrations
  • Проще для администраторов

Используйте BGP:

  • External routing (Internet)
  • Multi-homing
  • Policy-based routing

Часто IS-IS и BGP используются вместе: IS-IS для IGP, BGP для external/customer routes.

Следующие шаги

  • BGP - для external routing и customer routes
  • OSPF - альтернативный IGP
  • Static Routes - backup для IGP
  • MPLS - для MPLS VPN
  • BFD - быстрое обнаружение отказов

Дополнительные ресурсы

Проверено OpenNix LLC · Обновлено