IS-IS Routing Protocol

(Integrated) IS-IS

IS-IS un protocollo di routing interno (IGP), standardizzato da OSI negli anni 80 e basato sull’algoritmo di Djkstra SPF. Nonostante il protocollo sia effettivamente vecchiotto, la sua struttura basata su TLV permette di scalare ottimamente e di adattarsi a nuovi protocolli, in particolare, il suo rinnovato interesse dato dalla disponibilit? di adattare IS-IS al routing su IPv6.

D’altro canto, i concetti connessi all’utilizzo di IS-IS sono tra i pi complessi, in quanto viene introdotta una terminologia differente dai protocolli usati fin ora, anche se le similitudini con OSPF aiutano non poco.

Terminologia

IS-IS nato come protocollo per connettere Intermediate Systems (da cui il termine IS-IS, ossia da router a router) sulla pila OSI. Il protocollo del network layer in OSI chiamato ConnectionLess Network Protocol (CLNP) e viene usato per offrire il ConnectionLess Network Service (CLNS). IS-IS usa l’indirizzamento poco familiare CLNS a livello amministrativo.

OSI supporta 4 livelli di routing:

  • Livello 0: routing utilizzato per trovare End Systems (ES) ed usa ES-IS
  • Livello 1: routing utilizzato per scambiare routes all’interno della stessa area (Local IS-IS)
  • Livello 2: backbone inter-area (Inter area IS-IS)
  • Livello 3: routing tra AS differenti (Inter AS IS-IS)

IS-IS tratta il routing OSI di livello 1 e 2. I routers IS-IS possono quindi essere appartenenti al livello 2 (Backbone routers), al livello 1 (Area Routers) oppure ad entrambi (similmente agli ABR di OSPF) permettendo di scambiare routes tra i routers di livello 1 e 2.

Concetti di base

IS-IS incapsulato direttamente su un header L2, seguito da otto ottetti che identificano il sistema univocamente e da una serie di campi composti da Type, Length, Value o TLVs, che contengono le informazioni di routing.

Grazie ad un formato cos? malleabile (TLVs inviati su Iso Layer 2), possibile adattare IS-IS affinch effettui routing tra nuovi protocolli (IPv6, ad esempio), con la semplice introduzione di un nuovo tipo TLV, mantenendo intatti gli algoritmi interni per la selezione della best route e delle adiacenze.

IS-IS utilizza il concetto di DIS (Designated Intermediate System) che ha lo scopo del DR in OSPF (non avendo per un Backup DIS9 e delle Aree, supportandone per solo due tipi (L1 e L2), con databases differenti. Un IS L2 avr? un unico database L2, similmente ad un IS L1 che manterr? un unico database con i links L1, mentre un IS L1/2 manterr? due databases differenti, uno contenente i links L1 ed un altro con i links L2, occupandosi della comunicazione tra i due livelli. I routers di livello 2 sono i backbone router, quelli di livello 1 sono paragonabili alle Totally Stub Area di Ospf e sono connessi al livello 2 mediante i routers di livello 1-2. I routers L1 hanno rotte L1 pi una default route che punta al router L1/2.

Il DIS esiste separatamente a livello 1 e 2, non esiste un Backup DIS e, differentemente da OSPF, un DIS con priorit? migliore dell’attuale, ne usurpa il ruolo (PREEMPTION).

Gli “advertise” di IS-IS sono chiamati SNP o Sequence number packets e comprendono i LSP del singolo router raggruppati in forma compatta. Non vengono mai floodati e sono scambiati tra vicini. Possono essere parziali (PSNP) o completi (CSNP). Gli LSP sconosciuti vengono ignorati dal router ricevente ma floodati nel dominio IS-IS.

Adiacenza

Le adiacenze vengono instaurate tramite lo scambio di Hello packets, ne esistono 3:

  • End System Hellos (ESH) gli end systems usano questi hello per collegarsi al router (ma siccome gli end system non mandano ESH, IS-IS si collega alla subnet locale)
  • Intermediate System Hellos (ISH) i routers li usano per annunciarsi agli End Systems
  • Intermediate-to-intermediate Hellos (IIH) i routers li usano per comunicare tra di loro, vengono spediti separatamente a livello 1 e 2.

Affinch due routers instaurino un rapporto di vicinato, devono essere verificate le seguenti condizioni in entrambi:

  • MTU dell’interfaccia
  • Entrambi dello stesso livello (1 o 2) oppure uno dei due deve essere livello 1-2
  • Il System ID deve essere univoco
  • L’autenticazione, se configurata, deve essere identica
  • Hello e Hold timers devono essere identici

Indirizzamento ISO

Cos? come OSPF utilizza un indirizzo IP come router-id, IS-IS utilizza un clns per identificare il singolo router. ISO 10589 definisce tre parti separate per definire un indirizzo:

  • Area, definisce un gruppo
  • ID, identifica un particolare membro del gruppo
  • Sel, identifica il singolo processo sull’host.

Un indirizzo viene separato logicamente in due parti, l’IDP (o Inter Domain Part) che contiene AFI e IDI ed il DSP, che comprende High Order DSP (HODSP), System ID, NSEL.

L’AFI identifica con il primo ottetto dell’indirizzo, l’autorit? che definisce il formato dell’indirizzo e li rilascia. Solitamente equivale a 39 (Country Code), 47 (International Code) o 49 (Private).

IDI una sotto agenzia dell’AFI, utilizzabile per il routing interAS (che IS-IS non f?) e quindi si pu lasciar bianco.

HODSP identifica banalmente l’area all’interno dell’AS.

System ID identifica il sistema come 6 o 8 ottetti , ma Cisco implementa soltanto come 6 ottetti. Deve essere unico ed avere la stessa dimensione in tutto l’AS. Viene spesso derivato dall’espansione di un IPv4 o dal MAC.

NSEL un byte ed identifica il servizio al livello network che si occuper? del pacchetto. 0×00 identifica il router ed chiamato NET (Network Entity Title).