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.
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.
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.
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.
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:
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.
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.
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:
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.
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'