OSPF
Home ]

 

Introduzione
Separazione di host e routers
Utilizzo su reti broadcast
Utilizzo su reti non broadcast
Suddivisione in aree multiple
Il Database Link State
I protocolli in OSPF
Catture di esempio
 

INTRODUZIONE

OSPF e' l'acronimo di Open Shortest Path First; questo protocollo di routing si basa sulla tecnologia Link State, a differenza di RIP che e' invece basato sull'algoritmo distance vector ed il suo progetto ha seguito la teoria di questa tecnologia: esistono infatti un database distribuito, una procedura di flooding, una definizione di adjacency e records speciali per routes esterne.

OSPF utilizza il concetto di gerarchia, per cui permette di gestire reti di dimensioni notevoli. Un AS viene suddiviso in aree, le quali contengono un gruppo di reti contigue. Questo garantisce un basso utilizzo di CPU e memoria.

OSPF e' un protocollo sviluppato dalla IETF, e' utilizzato su Internet ed e' il protocollo raccomandato dalla IAB in sostituzione di RIP.

OSPF e' stato progettato per :

  Separare hosts e routers

  Utilizzo su reti broadcast, quali Ethernet, Token Ring o FDDI

  Utilizzo su reti non broadcast, quali X.25 o ATM

  Suddividere grandi reti in aree

Vediamo di estendere con maggior dettaglio questi concetti:

 

SEPARAZIONE DI HOST E ROUTERS

Molto spesso, nelle reti moderne, gli host IP sono connessi a reti locali, ad esempio una rete Ethernet. Se si applica strettamente il modello Link State, dovremmo descrivere, attraverso un record di link state la relazione tra ciascun host ed il router. OSPF permette una semplificazione, basata sul modello "subnet" di IP. Poiche' tutti gli hosts della rete appartengono ad una singola sottorete IP, e' sufficiente inviare un messaggio sul link tra il router e la sottorete. Nella terminologia OSPF, questa e' una speciale variante di "router link" chiamata "link to a stub network". Il link verso un vicino e' identificato dall'indirizzo IP del vicino stesso, mentre quello verso una "stub network" e' identificato dal suo numero di rete o sottorete.

Torna all'inizio

 

 

RETI BROADCAST

Le reti locali, come Ethernet o Token Ring, offrono 2 tipi di servizi:

  Piena connettivita' - ogni stazione puo' inviare un pacchetto a qualsiasi altra stazione

Capacita' broadcast - una stazione puo' inviare un pacchetto a tutte le altre stazioni (broadcast) o a tutte le stazioni facenti parte di un gruppo (multicast)

Il problema da risolvere e' il seguente: dati N routers su una rete locale, e' possibile stabilire che esistono N*(N-1)/2 adiacenze, tali che ogni router deve quindi inviare N-1 messaggi verso gli altri routers vicini piu' uno verso la rete (stub network) per un totale di N*N messaggi.

OSPF prova a ridurre a solo N adiacenze designando uno dei router (Designed Router o DR) in modo tale che i rimanenti routers stabiliscano adiacenze solo con il router designato.

 

Il primo passo e' eleggere il router designato. Questa elezione e' incorporata nella procedura "Hello". Dopo l'elezione, gli altri routers porteranno le proprie adiacenze verso il router designato o sincronizzeranno il proprio database. 

La presenza del router designato serve inoltre per :

  Ridurre il numero dei record di link state nel database, in quanto la rete broadcast potra' essere rappresentata da un set di links tra i routers ed un nodo virtuale.

  Semplificare la procedura di flooding; quando un router deve inviare una LSA (Link State Advertisment, e' l'equivalente OSPF del Link State Packet), la trasmette solo al router designato, utilizzando l'indirizzo multicast 224.0.0.6. Se si tratta di una nuova LSA, il router designato diffondera' il link state a tutte le proprie interfacce e alla rete utilizzando l'indirizzo multicast 224.0.0.5.     

Tuttavia, se il DR cade, tutti i routers apparirebbero disconnessi dalla rete, sebbene questa sia, a tutti gli effetti, ancora operativa. Risulta quindi indispensabile eleggere al piu' presto un nuovo DR. OSPF ovvia questo problema, con l'elezione di un "Backup Designed Router o BPR", contemporaneamente all'elezione del DR.

Tutti i routers creeranno quindi le proprie adiacenze con entrambi i routers DR e BDR; se il DR cade, l'anomalia verra' immediatamente rilevata dal protocollo Hello, il BDR diventera' immediatamente DR ed un nuovo BDR verra' eletto. Tutti i routers stabiliranno un adiacenza con il nuovo BDR.   

Torna all'inizio

 

RETI NON BROADCAST

Reti come X.25, Frame Relay e ATM, sebbene con profonde differenze, in termini di velocita' e servizi, sono accumunate da un aspetto: sono tutte quante reti non broadcast.

Ci sono 2 modi di utilizzare questi tipi di reti: 

  Utilizzare un set di circuiti virtuali, usati come molti link point-to-point. Questo e' piuttosto semplice da progettare, ma difficile da mantenere. Ogni circuito virtuale e' visto come una sottorete indipendente e quindi un indirizzo differente viene assegnato alla fine di ciascuno di questi circuiti. Se vogliamo la piena connettivita', dobbiamo installare N*(N-1)/2 circuiti; le informazioni di routing vengono diffuse su tutti i circuiti, con un aggravio dei costi per le reti "pay-per-volume" come ATM o X.25. In effetti, nel caso si verifica l'effetto N*N messaggi descritto precedentemente.

  Applicare la stessa gestione utilizzata per le reti broadcast e quindi eleggere un router designato ed un backup.

OSPF utilizza questa seconda scelta e quindi le informazioni di routing verranno inviate solo attraverso tali routers. Il fatto di avere un DR non modifica di fatto il routing; i circuiti virtuali saranno stabiliti tra qualsiasi coppia di router ed i pacchetti IP saranno inviati direttamente su questi circuiti virtuali. Tuttavia, questi circuiti verranno stabiliti solo "su domanda". I soli circuiti che verranno utilizzati quasi permanentemente dagli aggiornamenti sono quelli che collegano i routers ordinari al DR e al BDR.

La differenza principale tra reti broadcast e non-broadcast deriva dall'assenza di qualsiasi facility multicast nelle reti non-broadcast. Tutti i pacchetti di advertisment dovranno essere inviati in modalita' point-to-point. I pacchetti Hello, utilizzati per il processo di elezione prevederanno una lista di tutti i router sulla rete non-broadcast. Il DR invia a tutti una LSA spedendo una copia separata del pacchetto a ciascun router. Quando un router diffonde una LSA, lo fa inviando una copia al DR ed un'altra al BDR.

Torna all'inizio

 

SUDDIVISIONE IN AREE MULTIPLE

Il formato del database, la durata del calcolo della route ed il volume dei messaggi aumenta con l'aumentare della rete. Se questa diventa molto grande, tutti questi fattori diventano eccessivi; la memoria richiesta e' troppa, i calcoli richiedono lunghi tempi ed il carico della rete non e' piu' sopportabile. La risposta a questo problema e' il "routing gerarchico" ossia la suddivisione della rete in un set di parti indipendenti connesse attraverso un "backbone". In OSPF le parti indipendenti sono chiamate aree e la parte superiore e' chiamata "Backbone area".

Ciascuna area si comporta come una rete indipendente; il database include solo lo stato dei link dell'area, il protocollo di flooding si ferma ai confini dell'area ed i routers calcolano solo le routes all'interno dell'area. Il costo del protocollo di routing e' cosi' proporzionale al formato dell'area e non a quello della rete.

Allo scopo di connettere l'intera rete, alcuni routers appartengono a piu' aree - tipicamente a un'area a basso livello e all'area di backbone. Questi routers sono chiamati "area-border routers" (ABR): ci deve essere perlomeno un ABR in ciascun area, per connetterla al backbone. Gli ABR mantengono numerosi database, uno per ciascuna area alla quale appartengono ed ogni area include un set di sottoreti IP. 

Oltre agli ABR, possiamo distinguere ancora 2 tipologie di router:

  Internal router : sono i router che gestiscono il traffico all'interno della stessa area

  Autonomous System Boundary Router (ASBR) : sono gateway per il traffico esterno e convertono i percorsi nel dominio OSPF appresi da altri protocolli come BGP e EIGRP.

Cosi' come per i router, anche per le aree ed in funzione della destinazione del traffico, oltre alla gia' citata backbone area, possiamo distinguere ulteriori tre tipologie:

  Intra-area : i pacchetti vengono scambiati tra router appartenenti alla stessa area

  Inter-area : i pacchetti vengono scambiati tra router appartenenti ad aree diverse

  Stub-area : i pacchetti contenenti informazioni che provengono dall'esterno dell'Autonomous System non vengono trasmessi in queste aree.

Nella seguente figura, viene illustrato un esempio di rete composta da 3 aree (delle quali una e' l'area di backbone) e da una serie di router interni, ABR e ASBR:

 

 

Torna all'inizio