OSPF e' l'acronimo di Open Shortest Path First. Questo protocollo di routing si basa sulla tecnologia Link State, a differenza di RIP che è invece basato sull'algoritmo distance vector . Il suo progetto ha seguito la teoria Link State: esistono infatti un database distribuito, una procedura di flooding e una definizione di adjacency. OSPF appartiene alla classe IGP e pertanto opera internamente a ciascun Autonomous System (AS). Il protocollo scambia i messaggi LSA con tutti quei router che appartengono al medesimo AS, ed essendo di tipo link state, utilizza l'algoritmo SPF per calcolare il percorso più breve verso ciascuna route. Inoltre essendo Internet costituita da molti AS, talvolta abbastanza grandi e non facilmente gestibili, OSPF offre la possibilità di suddividere gli AS in Aree numerate, (denominate aree OSPF e identificate da un numero di 32 bit detto area-id) ciascuna delle quali è formata da una o più reti. Ciò comporta che la topologia ed i dettagli interni ad una certa area, non siano visibili all'esterno di essa.
Cerchiamo di capire la figura sopra. Ciascun AS ha un area backbone (spina dorsale) chiamata Area 0, la quale ha lo scopo di far comunicare le diverse aree appartenenti al medesimo AS. All'interno di ogni area, ciascun router, mantiene lo stesso database realizzato con lo scambio di messaggi LSA, calcola il cammino minimo da sé, verso ogni altro router appartenete alla medesima area, incluso il router che è connesso alla backbone ("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.
Possiamo inoltre suddividere i percorsi in tre tipologie:
Intra-area: in questo caso il router sorgente conosce il percorso minimo verso il router di destinazione, grazie al database che si è costruito;
Inter-Area: il percorso totale può essere suddiviso in tre stadi, il primo verte alla ricerca di una route dalla sorgente verso la backbone, il secondo dalla backbone verso l'area di destinazione, e il terzo verso il router di destinazione all'interno dell'area precedentemente individuata.
Inter-Autonomous system: in questo caso saranno designati dei router di confine Border router, i quali permettono di realizzare connessioni fra AS diversi, usando un protocollo di tipo EGP.
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. Grazie alla suddivisione gerarchica è possibile sia ridurre il traffico di routing scambiato fra i nodi della rete OSPF, sia ridurre le dimensioni delle tabelle d’instradamento dei router all’interno di ogni singola area. Inoltre, si riduce il tempo di convergenza del protocollo OSPF dato che i router dovranno applicare l’algoritmo di Dijkstra su un grafo più piccolo e quindi con un impiego di CPU minore e, di conseguenza, in minor tempo. I router dell’ AS inviano periodicamente ai propri vicini (ogni 10 secondi nel caso di reti locali), o in corrispondenza a variazioni topologiche nella rete, dei pacchetti di "Hello", che hanno il compito di verificare quale, fra i router direttamente connessi, sia attivo. In questa fase, ciascun router acquisirà una conoscenza dei propri vicini e si costruirà una mappa "parziale" della rete contenente le informazioni topologiche. I routers OSPF comunicano tramite il protocollo OSPF, che viene direttamente imbustato in IP (protocol type = 89) ed e', a sua volta, composto da 3 sotto-protocolli:
Tutti i pacchetti condividono un unico header comune.
Version: Indica la corrente versione di OSPF, attualmente 2
Type: il tipo di pacchetto OSPF trasportato (Hello, Exchange, Flooding)
Packet Lenght: numero di bytes del pacchetto
Router_ID: indirizzo IP del router di origine
Area_ID: numero che identifica univocamente l’area all’interno del dominio OSPF; spesso viene scelto un indirizzo IP. Un valore 0 identifica il backbone.
Checksum: Viene calcolato sull'intero pacchetto OSPF, con l'esclusione degli 8 bytes del campo Authentication.
Authentication Type: Identifica l'algoritmo di identificazione; ne sono definiti 3 tipi:
0: No authentication
1: Simple authentication
2: Cryptographic authentication
Nel caso del "simple authentication", il campo Authentication prevede una password di 8 caratteri. L'amministratore di rete puo' definire una password diversa per ciascuna connessione punto-punto o per ciascuna rete. Nonostante non sia un ottimo metodo di autenticazione, questa e' comunque una buona garanzia contro possibili errori, ad esempio di configurazione.
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.