vuoi
o PayPal
tutte le volte che vuoi
Livello di rete – parte 5
Routing in internet
Distance Vector e Link State non possono essere applicati a tutta l’internet: vi sono,
infatti, problemi di scalabilità riguardanti la convergenza degli algoritmi e problemi
politici dovuti al voler mantenere le strutture interne degli Autonomous Systems degli
ISP private.
Autonomous systems:
Interior Gateways: utilizzati per la comunicazione all’interno di uno stesso AS,
utilizzano per comunicare tra di loro un Interior Gateway Protocol (IGP – basati
su Distance Vector e Link State); talvolta possono essere utilizzati anche
protocolli differenti, suddividendo l’AS in Routing Domain (RD – porzioni in cui
viene utilizzato lo stesso protocollo). Un unico router può implementare su
interfacce differenti IGP differenti, nel caso in cui sia condiviso con più RD e si
occupi della ridistribuzione delle informazioni tra domini differenti (le
informazioni topologiche sono completamente condivise tra IG): quando questo
è necessario, il router condiviso si occupa anche della traduzione delle
informazioni tra un protocollo e un altro (eventualmente questo può succedere
anche tra un IGP e un EGP).
Exterior Gateways: utilizzati per la comunicazione tra più AS, utilizzano per
comunicare un Exterior Gateway Protocol (EGP – basato su Path Vector).
Protocolli di routing IGP
RIP (Routing Information Protocol):
Versione 1: utilizza un approccio Distance Vector basato su Bellman-Ford per il
calcolo dei cammini minimi, adottando come metrica il numero di hop (limitato a 16). I
pacchetti RIP vengono incapsulati in pacchetti UDP 520::255.255.255.255
(Nota: i campi network address e distance sono, di fatto, un’implementazione di un
Distance Vector)
Le richieste RIP possono essere eseguite o da un router appena attivato (inviando la
richiesta in broadcast può scoprire tutti i router adiacenti) oppure da un router con
delle destinazioni che stanno per diventare non valide; le richieste possono riguardare
tutte le destinazioni oppure una sola.
Tempistiche dei messaggi:
invio dei DV (routing update timer): 30s
invalidità di una route, dopo il quale la stessa viene dichiarata con distanza 16
(route invalid timer): 180s
cancellazione di una route non valida (route flush timer || garbage collection
timer): 60-120s
cambiamento metrica di un route (triggered update): 0s
Il RIP v1 presenta però delle limitazioni: la metrica è infatti troppo semplice (per
alcune applicazioni si vorrebbero considerare aspetti più complessi), il funzionamento
è garantito solo in reti con al massimo 15 hop e ha una convergenza dell’algoritmo
lunga dovuta ai timer presenti.
Versione 2: rispetto alla prima versione, aggiunge nei pacchetti delle informazioni
sulla connettività (next hop e route tag dipendente dalla provenienza del pacchetto),
l’autenticazione, la possibilità di utilizzare indirizzi classless e il multicasting (un
pacchetto può essere mandato a più host insieme senza, però, mandarlo
necessariamente a tutta la rete). Per quest’ultima funzione viene utilizzato come
indirizzo il 224.0.0.9
Le tabelle di routing vengono gestite da un processo a livello applicativo chiamata
route-d (deamon)
OSPF (Open Shortest Path First)
Utilizza un approccio di tipo Link State basato sull’esecuzione dell’algoritmo di Dijkstra
in modo distribuito; supporta il routing gerarchico (ovvero domini di routing organizzati
in diverse aree, di routing e backbone) e presenta una metrica generica configurabile
dall’amministratore. Per monitorare lo stato di connessione dei vicini viene utilizzato il
protocollo Hello.
Utilizza il protocollo IP porta 89 e, per tanto, deve implementare le funzioni di controllo
e recupero di errore; può scambiare tipologie diverse di messaggi, supportando
l’autenticazione e l’utilizzo di percorsi multipli verso la destinazione: questo permette
di bilanciare il carico della rete utilizzando rotte con la medesima lunghezza.
I pacchetti (messaggi) supportati sono: