In un instradamento di tipo link state, ogni nodo conosce la topologia di rete, ovvero ogni nodo conoscere le distanze tra sé stesso e tutti gli altri nodi della rete. Link state utilizza l'algoritmo di Dijkstra.
I router sono raggruppati in sistemi autonomi. Alcuni ISP hanno un singolo sistema autonomo composto da moltissimi router, altri invece hanno diversi sistemi autonomi. Router che fanno parte dello stesso sistema autonomo eseguono lo stesso algoritmo di instradamento (intra-AS).
OSPF è un protocollo link state che utilizza l'inondazione (flooding) di informazioni riguardo lo stato dei collegamenti.
In OSPF ogni nodo ha un grafo della topologia del sistema autonomo e manda in esecuzione locale Dijkstra per determinare il percorso migliore verso tutte le sotto-reti.
I costi dei collegamenti vengono fissati dall'amministratore di rete. OSPF non impone una politica particolare per l'assegnazione di essi.
In OSPF ogni volta che si verifica un cambiamento nella rete (variazione di peso, cambiamento di disponibilità), il router lo comunica in broadcast a tutti gli altri router del sistema autonomo.
Inoltre, anche se non si sono verificate variazioni, periodicamente un router invia informazioni sullo stato dei collegamenti
Gli annunci OSPF (contenuti in messaggi OSPF) vengono trasportati da IP.
Lo scambio di informazioni può essere autenticato in due modi:
Quando più percorsi hanno lo stesso costo, OSPF consente di utilizzarli tutti per la trasmissione.
Con OSPF è possibile struttura i sistemi autonomi in modo gerarchico. In sistema autonomo può essere suddiviso in più aree. Ad ogni area fa capo un router di confine dell'area. Una zona di interconnessione tra tutte le aree è detta dorsale di cui fanno parte i router di dorsale (che interconnettono i le aree del sistema autonomo) alla dorsale fa capo un router di confine (di tutto il sistema autonomo)
Distance vector a differenza di link state non usa informazioni globali.
Distance vector è:
DV usa l'algoritmo di Bellman-Ford.
Con OSPF vengono determinati percorsi ottimali per coppie di router all'interno di un sistema autonomo.
Con BGP vengono determinati percorsi ottimali tra coppie di sistemi autonomi.
In BGP i pacchetti vengono instradati verso sotto-reti e non verso dispositivi di rete specifici.
BGP consente a ogni router:
Scenario:
ogni router in un AS è un router interno o di bordo.
In 3d vi è una sotto-rete X.
All'interno di ogni sistema autonomo vi sono connessi TCP per lo scambio di informazioni relative all'AS stesso.
Il router di bordo si scambia sia informazioni con gli altri router dell'AS, sia con gli altri AS (per esempio 1c comunica esternamente con 2a).
3a invia messaggio BGP esterno (eBGP) a 2c comunicando: "AS3 x".
2c inoltra il messaggio BGP all'interno (iBGP) a tutti gli altri nodi di AS2, compreso 2a.
Questo invia messaggio eBGP a 1c comunicando:
"AS2 AS3 x".
1c invia messaggi iBGP a tutti gli altri router di AS1.
Quando un router annuncia una sottorete, include alcuni attributi: AS-PATH e NEXT-HOP.
AS-PATH: elenca i sistemai autonomi attraverso i quali è passato l'annuncio.
NEXT-HOP è l'interfaccia del router che consente l'accesso all'AS-PATH.
Viene scelto il percorso il cui NEXT-HOP è più vicino.
Ovvero non si tiene conto di quanto sia lungo l'AS-PATH, viene scelto il NEXT-HOP che immette i pacchetti nell'AS-PATH con minimo percorso.
Alle rotte viene assegnato un attributo di preferenza locale.
A parità di questo attributo, viene scelto l'AS-PATH più breve.
A parità di preferenza locale e AS-PATH, si sceglie quello con NEXT-HOP più breve.
Anycast è utilizzato dai server DNS per fornire il root DNS più vicino all'utente che invia una query DNS.
La CDN (di server DNS in questo caso) assegna lo stesso IP a diversi server, ognuno di questi utilizza BGP per annunciare tale indirizzo. Quando un router BGP riceve l'annuncio di più percorsi per tale IP, lo tratta come se fossero diversi percorsi verso la stessa area fisica, anche se nella realtà sono percorsi diversi verso luoghi diversi. Ogni router per costruire la tabella di inoltro, utilizza BGP internamente per scegliere il percorso migliore (il più vicino in base al conteggio degli hop AS per esempio) per quell'IP, quindi in automatico viene assegnato il server della CDN più vicino al router in questione.
In figura si vede che le tabelle di instradamento correnti dei router indicati fanno percorre gli instradamenti in senso antiorario.
Nell'iterazione successiva a quella che ha prodotto i risultati in figura,
Le soluzioni sono:
Quando il costo di un collegamento diminuisce non si verificano particolari problemi.
Quando il costo di un collegamento aumenta, per esempio in questo caso:
Prima del cambiamento sono note queste distanza:
Se