Link State Advertisement

Introduzione

Abbiamo in precedenza avuto modo di discutere dell'organizzazione topologica di un Autonomous System; questa organizzazione e' resa possibile grazie ai Link State Advertisement che provvedono l'informazione necessaria per ricostruire la struttura dei collegamenti all'interno dell'AS. Gli LSA vengono generati da ciascun router dell'AS a seconda delle competenze ad esso assegnate, esistono quattro tipi di LSA e sono rispettivamente:

Router LSA
Network LSA
Summary LSA
AS External LSA


Ciascuna di queste categorie di LSA apporta un contributo di informazione ad un livello di dettaglio diverso della rete, i Router LSA descrivono per ogni Router le reti cui esso e' connesso direttamente, i Network LSA descrivono ciascuna rete multiaccesso presente all'interno dell'AS elencando tutti i routers ad essa connessi, i Summary LSA sono generati dai routers di frontiera delle aree ed indicano ai routers presenti nelle stesse la capacita' di inoltrare pacchetti alla destinazione indicata nell'LSA, infine gli External LSA sono generati dai routers di frontiera degli AS ed indicano ai routers interni quale percorso scegliere nell'inoltro dei pacchetti verso l'esterno dell'AS.

Link State Database

Prima di andare a descrivere in dettaglio i singoli LSA vediamo sotto quali condizioni essi vengono generati e sotto quale forma vengono memorizzati. Ogni router mantiene in memoria un link state database per ciascun area sulla quale e' operativo, il link state database altro non e' che la descrizione topologica dell'area a cui il router e' attaccato e quindi contiene l'insieme dei Router LSA e dei Network LSA generati all'interno di un AS. Il link state database deve inoltre contenere le informazioni necessarie per realizzare il routing inter-area sotto forma di Summary LSA e quelle necessarie per operarare il routing inter-as rappresentate dagli External LSA. Il link state database puo' essere accesso attraverso delle funzioni di lookup, che consentono di reperire tutte le entry del database che si riferiscono ad un dato range di indirizzi oppure generate da un determinato router; si suppone inoltre che tutte le entries del database siano sempre aggiornate in tempo utile e rispecchino l'attuale situazione della rete.

Originamento Link State Advertisement

Una nuova entry all'interno del database viene a formarsi ogni qual volta il router riceve un LSA dalla rete o e' lui stesso a generarla; gli stessi LSA vengono cancellati dal link state database ogni qual volta il router genera o riceve una nuova istanza dello stesso LSA oppure un'entry del database diventa troppo vecchia e quindi inaffidabile. A questo proposito e' bene chiarire come, secondo OSPF, qualunque evento, che non modifichi comunque le informazioni contentute nei LSA, non debba portarne alla generazione di nuove istanze.
Le seguenti condizioni portano alla creazione di nuove istanze di LSA.

I prossimi quattro eventi riguardano solo i routers di frontiera delle aree.

Questi ultimi due eventi riguardano esclusivamente i routers di frontiera degli AS.

TOS

Il protocollo OSPF come gia' detto puo' supportare i types of services, i LSA possono quindi riportare queste informazioni andando ad elencare nel campo che indica il costo di un interfaccia, piuttosto che un unico costo, una lista dei services disponibili con i relativi costi. Si assume comunque che esista sempre un costo di default che corrisponde al servizio 0.

Link State Advertisement Header

Ciascun LSA e' dotato di un header che serve ad identificarne il contenuto oltre che a provvedere altre funzionalita' quali il controllo degli errori e la gestione delle duplicazioni degli LSA.
Ls age
riporta l'eta' di un LSA espressa in secondi, nel momento in cui questa quantita' raggiunge il valore MaxAge si provvede ad eliminare la rispettiva entry dal link state database.
options
Questo campo ha lo scopo di indicare se l'area cui appartiene il router originante l'LSA supporta rispettivamente i Type Of Services e l'External Routing Capability (vedi <<< paragrafo dedicato >>> per maggiori spiegazioni)
Ls type
indica il tipo di LSA
Link State ID
individua il range di indirizzi IP descritti all'interno del LSA
Advertising router
riporta il Router ID associato al router originante l'LSA
Ls sequence number
e' un numero progressivo associato a ciascun LSA. Viene rappresentato attraverso un intero a 32 bit, la prima istanza di un LSA e' caratterizzata da un valore 1 - 2**31, ciascun'istanza successiva riportera' un incremento di 1. L'importanza del sequence number si riscontra nei casi di conflitto di piu' istanze di LSA, in questo caso infatti l'esame dei rispettivi sequence number indica quale delle due informazioni e' la piu' recente. Nel momento in cui si raggiunge il massimo valore rappresentabile con 32 bit si riazzera il valore; questa tecnica presenta dei pericoli poiche' la nuova istanza dell'LSA si trova ad avere un sequence number minore rispetto a quello presente nella rete, pertanto si propaga all'interno della rete un LSA con sequence number non ancora aggiornato e con il campo age settato a MaxAge. Questo fa si che tutti i routers che ricevono questa informazione la vadano ad inserire nel link state database (eliminando la vecchia entry) e quindi la cancellino in quanto obsoleta.
Ls checksum
Quest'ultimo campo dell'LSA header opera un relativo controllo sugli errori, lo schema di codifica e' lo stesso usato nel protocollo udp, dal calcolo della checksum viene escluso il parametro age in quanto soggetto a frequenti cambiamenti.

Router link state advertisement

I Router LSA sono generati da ciascun router all'interno dell'AS e per ciascun area a cui il router e' attaccato, essi servono a descrivere lo stato e l'identita' delle connessioni di un router all'interno di un area. I tipi di connesione di cui puo' disporre un router sono sostanzialmente 4 e sono rispettivamente : Point-to-Point, connessione ad una transit network, connessione ad una stub network ed infine Virtual link. All'interno del'LSA dovranno essere pertanto elencate tutte le connessioni con le indicazioni sul tipo oltre a dei dati aggiuntivi che serviranno ad individuare ed indirizzare queste interfacce. Questo compito e' assolto dai campi LinkID e Link Data il cui significato e' sotto elencato:

Link Type Description Link ID Link Data
1 Point-to-point link ID number del router all'altra estremità indirizzo IP (o MIB II) dell'interfaccia
2 Transit network link Indirizzo IP dell'interfaccia del DR indirizzo IP dell'interfaccia
3 Stub network link Indirizzo IP della rete maschera degli indirizzi IP per la rete
4 Virtual link ID number del router all'altra estremità indirizzo IP (o MIB II) dell'interfaccia


Il processo di generazione dei Router LSA per una data area e' ora descritto. Ciascuna interfaccia viene esaminata secondo il seguente algoritmo:

  1. Se la rete cui e' attaccata l'interfaccia non appartiene all'area presa in considerazione si passa alla prossima interfaccia.
  2. Se l'interfaccia e' inoperativa si considera la prossima interfaccia.
  3. Se l'interfaccia e' operativa e si trova nello stato Point-to-Point viene generato un Router LSA con i campi LinkID e LinkDATA settati opportunamente secondo il tipo di connessione.
  4. Se lo stato dell'interfaccia e' Loopback si genera un Router LSA di tipo 3 (Stub Network) caratterizzato da costo zero. Il Link ID riportera' l'indirizzo IP dell'interfaccia.
  5. Se lo stato dell'interfaccia e' Waiting con il Link ID settato all'indirizzo IP della rete cui e' collegata l'interfaccia.
  6. Ultima ipotesi l'interfaccia e' collegata ad una rete multiaccesso per la quale esistera' un DR, questo comporta la generazione di un router LSA che avra' compe campo Link ID l'indirizzo IP del DR.

Infine il router indica se esso e' o meno un router di frontiera di un area, un router di frontiera di un AS e una delle due estremita' di un virtual link.

Network link state advertisement

I network link state advertisement sono generati per ciascuna rete multi accesso dal router designato della rete stessa e sono propagati solo all'interno dell'area cui appartiene. Essi hanno lo scopo di descrivere lo stato delle connessioni per quella rete, questo obiettivo e' raggiunto elencando tutti i routers pienamente adiacenti al router designato su quella rete. Se un router designato perde questa prerogativa, dovra' rimuovere dal suo link state database tutti i Network LSA da esso generati, per poter far questo gli stessi vengono "invecchiati precocemente" modificando il campo Age e causandone cosi' la rimozione dal link state database. Nello stesso tempo il router che verra' designato generera' i Network LSA del caso. I livelli piu' bassi del protocollo ci garantiscono che questi cambiamenti verranno riportati in un tempo minimale anche dei link state database degli altri routers dell'area.

Summary link state advertisement

I Summary link state advertisement descrivono un percorso ad una singola destinazione, vengono generati dai routers di frontiera delle aree e propagati all'interno di una sola area per volta. Le destinazioni descritte appartengono comunque allo stesso AS seppure ad un'area diversa rispetto a quella nella quale viene propagata l'informazione. I Summary LSA indicano la disponibilita' da parte del router originante ad inoltrare pacchetti aventi per destinazione gli indirizzi segnati nel link state stesso ad un costo anch'esso riportato nell'LSA. Da questo si capisce come i Summary LSA siano alla base del routing inter-area, a questo proposito bisogna chiarire che all'interno della backbone non vengono propagati Summary link che indicano percorsi inter-area, il motivo di questa scelta e' facilmente comprensibile se si pensa al backbone come una semplice rete di interconnessione di aree, pertanto il suo scopo e' solo mettere in contatto coppie di router al suo interno e quindi operare un routing intra-area. Ciascun router di frontiera di area genera un Summary LSA in funzione del contenuto delle sue routing tables e in accordo con il seguente algoritmo. Per ciascun'entry delle routing table:

  1. Solo le entry che hanno per oggetto reti e router di frontiera di AS sono prese in considerazione, se l'entry corrente non rientra in questa categoria si passa alla prossima.
  2. Se l'entry corrente si riferisce ad un indirizzo esterno all'AS si considera la prossima entry.
  3. Se l'entry corrente si riferisce ad un router di frontiera per l'AS viene generato un Summary LSA di tipo 4 con Link ID pari all'identificativo del router di frontiera e metrica pari al costo segnato nella routing table per raggiungere quella destinazione.
  4. Se l'entry corrente si riferisce ad una rete raggiungibile con un percorso di tipo inter-area, viene generato un Summary LSA di tipo 3 con Link ID pari all'indirizzo della rete in considerazione.
  5. In questo caso l'entry si riferisce ad una destinazione raggiungibile con un percorso intra-area, questo implica che il router e' direttamente connesso all'area cui appartiene la destinazione. Prima di generare il LSA si controlla il flag DoNotAdvertise, se e' settato non verra' generato alcun LSA altrimenti si procedera' alla generazione di un Summary LSA di tipo 3 che riportera' l'indirizzo della rete interessata.

Cosi' come gia' accadeva con i Network LSA se un qualunque evento dovesse invalidare il contenuto di uno dei Summary LSA, quest'ultimo viene rimosso dal Link state database con la tecnica dell'aging descritta nel prossimo capitolo Per le stub areas il discorso dei Summary LSA si semplifica, poiche' a tutti gli effetti esiste un unico router in grado di inoltrare pacchetti, viene generato un unico Summary LSA che indica a tutti i routers all'interno dell'area la disponibilita' di quell'unico router per realizzare il routing inter-area.

AS external links

Gli AS LSA sono generati dai routers di frontiera degli AS ed indicano all'interno di ciascun AS il range di indirizzi che il router originante e' in grado di raggiungere. La destinazione riportata e' accompagnata da un indicazione del costo del routing inter-AS, questo costo puo' essere espresso attraverso una metrica di tipo 1 o 2 (vedi Introduzione per approfondimenti) Il router puo', opzionalmente, riportare un forwarding address, puo' cioe'


[prev][index][next]