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
saveRouter 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 isisNET 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.00Hostname 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
commitCircuit 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
commitL2 only для backbone роутеров:
set protocols isis interface eth1 circuit-type level-2-only
commitL1-2 для border роутеров:
set protocols isis interface eth1 circuit-type level-1-2
commitNetwork 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
commitWide 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
commitHello multiplier (для dead interval):
set protocols isis interface eth1 hello-multiplier 3
commitDead 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'
commitMD5:
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'
commitMD5:
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 на конкретном интерфейсе.
Рекомендации:
- Используйте MD5 для area/domain password
- Используйте interface password для дополнительной защиты
- Не используйте plaintext в production
- 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
saveLevel 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
saveLevel-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
saveLevel-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
saveAttached Bit
L1/L2 роутер устанавливает attached bit в L1 LSP, указывая L1 роутерам путь к L2 backbone.
По умолчанию enabled. Для отключения:
set protocols isis no-attached-bit send
commitRoute Redistribution
Импорт маршрутов из других источников в IS-IS.
Redistribution Sources
Connected routes:
set protocols isis redistribute ipv4 connected
commitStatic routes:
set protocols isis redistribute ipv4 static
commitOSPF:
set protocols isis redistribute ipv4 ospf
commitBGP:
set protocols isis redistribute ipv4 bgp
commitKernel:
set protocols isis redistribute ipv4 kernel
commitRedistribution с метрикой
Установить метрику:
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
commitRoute-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
commitIPv6 Redistribution
IS-IS поддерживает IPv6 в том же процессе:
set protocols isis redistribute ipv6 connected
set protocols isis redistribute ipv6 static
commitDefault Route
Анонс default route в IS-IS.
Default Information Originate
IPv4 default:
set protocols isis default-information originate ipv4
commitIPv6 default:
set protocols isis default-information originate ipv6
commitПо уровням:
IPv4 в Level-1:
set protocols isis default-information originate ipv4 level-1
commitIPv4 в 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
commitSummarization
Суммирование 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
commitset protocols isis summary-address ipv4 10.0.0.0/8 level-2
commitIPv6 Summary
set protocols isis summary-address ipv6 2001:db8::/32
commitПо уровням:
set protocols isis summary-address ipv6 2001:db8::/32 level-2
commitAdvanced 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
commitIPv6 Support
IS-IS нативно поддерживает IPv4 и IPv6 в одном процессе.
IPv6 Configuration
Включить IPv6:
set protocols isis address-family ipv6
commitIPv6 на интерфейсе включается автоматически при наличии 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 isisBFD 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
commitBFD обнаруживает отказ 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
commitIS-IS не использует link пока LDP session не установлен.
Holddown time:
set protocols isis ldp-sync holddown 300
commitSegment 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
commitPrefix SID:
set protocols isis segment-routing prefix 192.168.255.1/32 index 1
commitNote: 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
saveRouter 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
saveMulti-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
saveL1/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
saveL2 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
saveIS-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
saveIS-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
saveSite 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
saveIS-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
saveDatacenter 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
saveLeaf 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
saveIS-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
saveYandex 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/24Spine-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
saveLeaf-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
saveLeaf-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 peersVK 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 65002P1 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
savePE1 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
savePE2 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 neighborIS-IS Database:
show isis database detailMPLS LDP:
show mpls ldp neighbor
show mpls ldp bindingLDP-ISIS Sync Status:
show isis mpls ldp-syncBGP 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 detailIS-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-00Level-specific:
show isis database level-1
show isis database level-2IS-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 isisIPv6 routes:
show ipv6 route isisIS-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 eth1IS-IS Topology
Показать топологию:
show isis topologyLevel-specific:
show isis topology level-1
show isis topology level-2IS-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.0001Clear ISIS
Restart IS-IS процесс:
restart isisClear neighbor adjacency (для re-forming):
clear isis neighborTroubleshooting
Neighbor не формируется
Проверьте:
Layer 2 connectivity:
ping <neighbor-ip>NET configuration:
show isis summaryArea ID должен совпадать для L1 neighbors.
Circuit type совпадает:
show isis interface eth1L1 router не формирует adjacency с L2-only router.
Authentication совпадает:
show isis interface detailArea password для L1, domain password для L2.
Network type совпадает:
show isis interfaceBroadcast vs point-to-point.
MTU совпадает:
show interfaces ethernet eth1IS-IS проверяет MTU в Hello PDU.
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
commitRoutes не появляются
Проверьте:
Adjacency в состоянии Up:
show isis neighborLSP в database:
show isis databaseRoute в IS-IS RIB:
show isis routeRoute в IP routing table:
show ip route isisLevel configuration:
L1 router не видит routes из L2. Убедитесь что есть L1/L2 router анонсирующий default в L1.
Overload bit не установлен:
show isis database detailOL bit = 1 означает router в overload.
High CPU usage
IS-IS SPF calculation частая.
Проверьте флapping интерфейсов:
show interfacesTune 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Используйте BFD для fast failover вместо коротких hello intervals.
Проверьте LSP flooding:
show isis databaseВысокие sequence numbers указывают на частые LSP updates.
LSP Database не синхронизирован
Проверьте MTU:
show interfaces ethernet eth1Если MTU не совпадает, large LSP могут не передаваться.
Проверьте timers:
show isis summaryLSP lifetime и refresh interval.
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
Проверьте attached bit:
show isis database detailL1/L2 routers должны устанавливать ATT bit в L1 LSP.
Проверьте metric configuration:
show isis interfaceAsymmetric metrics могут вызвать suboptimal routing.
Проверьте redistribution:
show running-config protocols isisMutual redistribution между IS-IS и другими протоколами может вызвать loops.
Лучшие практики
NET Design
- AFI 49 для private addressing
- System ID из loopback IP для простоты
- Уникальный System ID в пределах домена
- Area ID совпадает для L1 neighbors в одной area
Level Hierarchy
- L2 для backbone (core routers)
- L1 для access/distribution (edge routers)
- L1/L2 для boundaries (border routers)
- Minimize L1/L2 routers для упрощения
Area Design
- Одна area для small deployments (все L2)
- Multiple areas для large deployments:
- Core = L2 only
- Distribution = L1/L2
- Access = L1 only
- Area 49.0001 для datacenter fabric (один L2 domain)
Interface Configuration
- Point-to-point для direct links и VPN
- Passive для loopback и server-facing интерфейсы
- Authentication на всех production интерфейсах
- Metric настраивать для traffic engineering
Timers
- Default timers достаточны для большинства deployments
- BFD для sub-second failover вместо aggressive hello timers
- SPF timers tune только при необходимости
Authentication
- MD5 для area и domain passwords
- Уникальные passwords для разных areas/domains
- Regular password rotation
- Interface passwords для дополнительной защиты
Scalability
- Metric style wide для modern deployments
- Summarization на L1/L2 boundaries
- Passive интерфейсы для non-transit networks
- Minimal redistribution - используйте BGP для external routes
Monitoring
Log adjacency changes:
set protocols isis log-adjacency-changesMonitor neighbors:
show isis neighborMonitor database size:
show isis databaseMonitor BFD sessions:
show bfd peers
Datacenter Fabric
- L2 only (single area)
- Point-to-point все links
- BFD enabled для fast failover
- ECMP для load balancing (автоматически с equal cost paths)
- Metric одинаковые на всех links для symmetric ECMP
Безопасность
Рекомендации
MD5 Authentication:
set protocols isis domain-password md5 'SecurePassword123!' set protocols isis area-password md5 'AreaPassword123!'Interface passwords:
set protocols isis interface eth1 password plaintext-password 'HelloSecret'Passive интерфейсы:
set protocols isis interface eth2 passiveFirewall для 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
Limit IS-IS interfaces к trusted links only:
Не включайте IS-IS на untrusted/external интерфейсах.
Log adjacency changes:
set protocols isis log-adjacency-changesOverload bit при maintenance:
set protocols isis overload-bit commit
Производительность
Optimization
Metric style wide:
set protocols isis metric-style wide commitSPF 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 commitBFD для fast failover:
set protocols isis interface eth1 bfd commitPassive interfaces для уменьшения overhead:
set protocols isis interface lo passive set protocols isis interface eth2 passive commitLSP refresh optimization:
set protocols isis lsp-refresh-interval level-2 900 commit
Сравнение с другими протоколами
IS-IS vs OSPF
| Характеристика | IS-IS | OSPF |
|---|---|---|
| Уровень работы | Layer 2 | Layer 3 (IP) |
| Иерархия | L1/L2 (flexible) | Areas + mandatory Area 0 |
| IPv4 и IPv6 | Один процесс | Отдельные процессы (OSPFv2/v3) |
| Метрика | Arbitrary (default 10) | Cost (bandwidth-based) |
| Конвергенция | Быстрая | Быстрая |
| Масштабируемость | Лучше | Хорошая |
| Сложность | Выше (OSI терминология) | Средняя |
| Распространение | ISP, DC | Enterprise |
| 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 - быстрое обнаружение отказов