Protokół IS-IS (Intermediate System to Intermediate System) jest kluczowym protokołem sieciowym wykorzystywanym w dużych sieciach korporacyjnych i u dostawców usług internetowych.
W tym artykule poznasz podstawowe koncepcje IS-IS, jego działanie oraz praktyczne zastosowania. Nauczysz się, jak skonfigurować IS-IS w swojej sieci i zrozumiesz jego główne zalety w porównaniu z innymi protokołami routingu.
Czym jest protokół IS-IS?
Intermediate System to Intermediate System (IS-IS) został stworzony przez firmę DEC jako część DECnet, a w 1992 roku został ustandaryzowany przez ISO dla frameworku sieciowego Open Systems Interconnection (OSI).
IS-IS jest hybrydowym protokołem stanu łącza, który działa jako protokół stanu łącza w obrębie obszaru oraz jako protokół wektora odległości pomiędzy obszarami. W przeciwieństwie do OSPF, IS-IS funkcjonuje na warstwie łącza danych, co może prowadzić do nieporozumień. Jak to możliwe?
IS-IS pierwotnie zaprojektowano dla OSI, a nie dla TCP/IP, i jest bezpośrednio osadzony w ramkach warstwy drugiej.
Adresacja w IS-IS
Pomimo że IS-IS został zmodyfikowany do współpracy ze stosem TCP/IP, nadal zawiera wiele elementów charakterystycznych dla OSI. Dla przykładu,RouterID, który w protokołach routingu odpowiada za jednoznaczne określenie urządzenia, tutaj nazywa się NET (Network Entity Title).
Spójrzmy na adres NET: 49.0001.0000.0000.0001.00.
- Identyfikator rodziny adresów (AFI): Pierwsze 8 bitów (49) oznacza lokalny format adresowania. Większość firm używa 49.
- Obszar: Następne 16 bitów (0001) to obszar, który można zostawić pusty (49.0000.0000.0001.00) lub przypisać mu konkretny numer, jak 0001 lub 501.
- Identyfikator systemu: Kolejne 48 bitów to identyfikator systemu w formacie 12 cyfr szesnastkowych z dwoma kropkami. Popularną praktyką jest konwersja adresu IP, który w innym przypadku stanowił router ID.
- Pole SEL: Ostatnie pole o długości 8 bitów identyfikuje usługę na węźle docelowym, która przetwarza dane.
Obszary IS-IS
IS-IS, podobnie jak OSPF, pozwala na podzielenie jednego systemu autonomicznego na mniejsze obszary. Jednak w przeciwieństwie do OSPF nie ma tu koncepcji gwiazdy, z centralnym obszarem 0 oraz przylegającymi do niego obszarami.
W IS-IS wyróżniamy dwa typy poziomów:
- Level 1 -router wewnątrz obszaru. Może komunikować się wyłącznie z innymirouteramiLevel 1.
- Level 2 -router należący do obszaru backbone. Komunikuje się wyłącznie zrouteramiLevel 2.
W IS-IS router (lub w terminologii OSI Intermediate System) może należeć wyłącznie do jednego typu poziomu. Dlatego istnieje jeszcze trzeci typ, który pełni rolę ABR:
- Level 1/Level 2 - router, który może komunikować się z routerami Level 1 oraz Level 2.
Dzięki temu możemy tworzyć różne obszary, w których umieścimy routery L1 lub L2. Warunkiem jest, aby na granicy znajdował się router L1/L2, który umożliwi wymianę informacji.
Nawiązywanie sąsiedztwa IS-IS
IS-IS obsługuje sieci broadcast oraz punkt-punkt. Dla każdej sieci rozgłoszeniowej IS-IS wybiera jeden Designated Intermediate System (DIS). W IS-IS nie ma koncepcji zapasowego DIS, a jego obecność nie jest konieczna. Wybór DIS opiera się na następujących kryteriach:
- Routerz najwyższym priorytetem interfejsu.
- W przypadku remisurouterz najwyższym Subnetwork Point of Attachment (SNPA; adres MAC warstwy łącza danych interfejsu podłączonego do podsieci) ma pierwszeństwo.
- Jeśli SNPAs nie mogą być porównane,routerz najwyższym identyfikatorem systemu zostaje ogłoszony zwycięzcą.
DIS ma dwie ważne funkcje:
- Pomaga routerom w segmencie rozgłoszeniowym synchronizować ich bazę topologii sieci.
- Przyjmuje rolę samodzielnego obiektu—pseudonoda (wirtualnego routera), aby reprezentować segment rozgłoszeniowy w bazie danych stanu łącza.
W przypadku interfejsu punkt-punkt, w którym IS-IS oczekuje pojedynczego sąsiada, ustanawia sąsiedztwo poprzez proces three-way handshake, a następnie synchronizuje bazy danych stanu łączy.
IS-IS ma trzy możliwe stany sąsiedztwa:
- Down: To jest początkowy stan, w którym nie otrzymano żadnych komunikatów IS-IS Hello (IIH) od sąsiada.
- Initializing: Otrzymano IIH od sąsiada, ale istnieje niepewność co do tego, czy sąsiad prawidłowo odbiera IIH tegoroutera.
- Up: Otrzymano IIH od sąsiada, co potwierdza, że sąsiad prawidłowo odbiera IIH tegoroutera.
Rodzaje Pakietów w Protokole IS-IS
Protokół IS-IS (Intermediate System to Intermediate System) wykorzystuje różne typy pakietów PDU (Protocol Data Units) do wymiany informacji.
IS-IS Hello PDU (IIH)
IS-IS Hello PDU służy do wykrywania i utrzymywania relacji z sąsiadującymirouterami. Jest to odpowiednik Hello pakietów w OSPF, ale z kilkoma istotnymi różnicami:
- Występują dwa rodzaje Hello PDU:
- Point-to-Point Hello PDU - używany na łączach punkt-punkt
- LAN Hello PDU - stosowany w sieciach rozgłoszeniowych, z podziałem na Level 1 i Level 2
- LAN Hello PDU wykorzystuje dedykowane adresy multicast:
- Level 1: 01-80-C2-00-00-14
- Level 2: 01-80-C2-00-00-15
- Każdy Hello PDU zawiera parametr Hold Time, określający maksymalny czas oczekiwania na kolejny pakiet Hello przed oznaczeniem sąsiada jako niedostępnego
Link-State PDU (LSP)
LSP to pakiety zawierające informacje o stanie łączy i topologii sieci.
- Zawierają numer sekwencyjny, który jest zwiększany przy każdej zmianie stanu
- Posiadają pole Remaining Lifetime określające czas życia informacji
- Są generowane niezależnie dla Level 1 i Level 2
- Wysyłane są zarówno periodycznie, jak i w przypadku zmian w topologii:
- Pojawienie się nowego sąsiada
- Utrata połączenia z sąsiadem
- Zmiana kosztu łącza
Complete Sequence Number PDU (CSNP)
CSNP pełni rolę mechanizmu synchronizacji baz danych międzyrouterami:
- Zawiera kompletną listę wszystkich LSP znajdujących się w bazie danychroutera
- Jest wysyłany periodycznie przez Designated IS (DIS) w sieciach rozgłoszeniowych
- Generowany jest oddzielnie dla każdego poziomu (Level 1/Level 2)
- Służy do wykrywania różnic w bazach danych między sąsiadami
Partial Sequence Number PDU (PSNP)
PSNP to mechanizm służący do zarządzania aktualizacjami LSP:
- Działa podobnie do mechanizmu NACK (Negative Acknowledgment)
- Używany jest do żądania retransmisji brakujących lub nieaktualnych LSP
- Potwierdza otrzymanie zaktualizowanych LSP
- Pomaga w efektywnej synchronizacji baz danych międzyrouterami
Type/Length/Values (TLV)
TLV to elastyczna struktura danych wykorzystywana przez wszystkie typy PDU do przekazywania informacji:
- Pozwala na przekazywanie różnorodnych informacji:
- Nazwy hostówrouterów
- Informacji związanych z MPLS-TE
- Metryk łączy
- Adresów IP
- Parametrów routingu
- Umożliwia rozszerzanie funkcjonalności protokołu bez modyfikacji jego podstawowej struktury
Podstawowa konfiguracja IS-IS
Do podstawowego działania potrzebujemy dwóch rzeczy: włączyć proces IS-IS poleceniem router isis
i zdefiniować NET. W kolejnym kroku należy dołączyć interfejsy poleceniem ip router isis
.
Przykładowa topologia:
R1
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip router isis
!
interface Ethernet0/0
ip address 10.1.2.0 255.255.255.254
ip router isis
isis network point-to-point
!
router isis
net 49.0000.0010.0100.1001.00
is-type level-1
R2
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ip router isis
!
interface Ethernet0/0
ip address 10.1.2.1 255.255.255.254
ip router isis
isis network point-to-point
!
interface Ethernet0/1
ip address 10.2.3.0 255.255.255.254
ip router isis
isis network point-to-point
!
router isis
net 49.0000.0020.0200.2002.00
R3
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ip router isis
!
interface Ethernet0/1
ip address 10.2.3.1 255.255.255.254
ip router isis
isis network point-to-point
!
router isis
net 49.0000.0030.0300.3003.00
is-type level-1
Weryfikacja konfiguracji
Sprawdzanie sąsiadów IS-IS
R2#show isis neighbors
System Id Type Interface IP Address State Holdtime Circuit Id
R1 L1 Et0/0 10.1.2.0 UP 27 01
R3 L1 Et0/1 10.2.3.1 UP 28 02
Sprawdzanie bazy danych topologii
R2#show isis database
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R1.00-00 0x00000002 0x374B 617/1200 0/0/0
R2.00-00 * 0x00000004 0x183C 622/* 0/0/0
R3.00-00 0x00000002 0x52D7 621/1200 0/0/0
IS-IS Level-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R2.00-00 * 0x00000004 0x7244 622/* 0/0/0
R2#show isis database R1.00-00 detail
IS-IS Level-1 LSP R1.00-00
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R1.00-00 0x00000002 0x374B 544/1200 0/0/0
Area Address: 49.0000
NLPID: 0xCC
Hostname: R1
Metric: 10 IS R2.00
IP Address: 1.1.1.1
Metric: 10 IP 1.1.1.1 255.255.255.255
Metric: 10 IP 10.1.2.0 255.255.255.254
Przykładowa konfiguracja w CML
Przedstawioną topologię możesz pobrać i uruchomić za darmo w CML.
Jeśli jeszcze nie masz lub nie wiesz, jak zainstalować darmową wersję CML-a, ten tutorial może Cię zainteresować.