Prof. Giuseppe F. Rossi E-mail: giuseppe.rossi@unipv.it Homepage: http://www.unipv.it/retical/home.html UNIVERSITA' DEGLI STUDI DI PAVIA A.A. 2008/09 - II Semestre RETI DI CALCOLATORI Lucidi delle Lezioni Capitolo XIII Architettura TCP/IP Cenni ai protocolli di routing Struttura del capitolo Il problema della costruzione delle routing table nelle reti IP Gli Autonomous System Protocolli e EGP Protocolli distance-vector Protocolli link-state Capitolo XIII 1-2/18 Copyright Ing. Giuseppe F. Rossi 1995-2009
Come si risolve il problema? Nelle reti aventi topologia non magliata (= esiste un unico percorso che porta da un mittente ad un destinatario) si utilizza il routing statico L'utente definisce 'a mano' gli instradamenti (route statiche) Ha il pregio di non introdurre traffico di servizio sulla rete Nei restanti casi si usano algoritmi di routing dinamico distribuito normalmente secondo il seguente criterio Reti relativamente semplici Si descrive l'intera rete attraverso un grafo e cercano i percorsi a costo minimo Reti complesse (Internet) Si suddivide la rete in porzioni (vedasi prossime slide) : scambio delle informazioni di routing su reti complesse Si supponga, per esempio, di avere una rete complessa avente una struttura costituita dall'interconnessione di varie internetwork Buona parte dei router deve conoscere tutte le reti (IP_Prefix) configurate L'intera rete potrebbe essere amministrata da diverse Authority (si pensi al caso Internet) => Scelta di precise (e diverse) politiche di trasporto del traffico Rete Rete Rete Capitolo XIII 3-4/18 Copyright Ing. Giuseppe F. Rossi 1995-2009
Gli "Autonomous Systems" Per quanto riguarda il processo di gestione del routing, data una rete complessa, la porzione di rete gestita da un'unica Authority prende il nome di "Autonomous System" (AS) Si pone il problema dello scambio delle informazioni di routing tra router Interior Gateway Protocol () Termine con il quale si individuano i protocolli di scambio delle informazioni di routing tra router appartenenti allo stesso AS Exterior Gateway Protocol (EGP) Termine con il quale si individuano i protocolli di scambio delle informazioni di routing tra router appartenenti a diversi AS E' anche il nome di uno specifico protocollo (RFC904) ora non più utilizzato Gli "Autonomous Systems" Applicazione del concetto di "Autonomous System": rete formata da 2 AS Gli "Interior " gestiscono solo il proprio AS I "Border " devono annunciare le reti interne al proprio AS, nonché apprendere dagli altri "Border " ciò che appartiene ad altri AS AS1 AS2 EGP Border Interior Capitolo XIII 5-6/18 Copyright Ing. Giuseppe F. Rossi 1995-2009
Protocolli di tipo "distance-vector" Costituiscono un'implementazione "distribuita" di un algoritmo di ricerca del percorso minimo Ogni router inizia conoscendo solo le reti cui é direttamente connesso Periodicamente ogni router invia ai router adiacenti l'informazione (Net_Addr, D) circa tutte le destinazioni (Net_Addr) conosciute D = Distance = distanza per raggiungere la rete destinataria (p. es. numero di "hop") Ogni router, alla ricezione di (Net_Addr, D), se necessario, aggiorna la propria routing table 1 2 3 4 Destination Distance Net1 0 Net2 0...... Net-N 0 Routing Table iniziale Protocolli di tipo "distance-vector" Un router K riceve la coppia (Net_1, D) da J. K aggiorna la propria tabella con la riga (Net_1, D+1) Next_Hop=J se si verifica una di queste condizioni K non conosce alcuna altra strada verso Net_1 La entry (Net_1, D+1) é strettamente migliore di quanto conosce già K K raggiunge già Net_1 via J ma la distanza é cambiata (in meglio o in peggio) I router non possiedono alcuna informazione circa la topologia della intera rete (Net_1, D) J K Destination Distance Next-Hop............ Net_1 D+1 J...... routing table del router K Capitolo XIII 7-8/18 Copyright Ing. Giuseppe F. Rossi 1995-2009
Algoritmi di tipo "link-state" Si basano sul presupposto che ogni router si costruisca internamente una mappa di tutta la rete (di tutto l'as) Principio di funzionamento (é duale rispetto agli algoritmi distance-vector) Periodicamente ogni router della rete (di un AS) invia a tutti gli altri router (dell'as) le informazioni sulla raggiungibilità dei suoi "neighbor gateway" (= router adiacenti cui sono direttamente connessi) Ogni router si costruisce lo stesso database nel quale é codificato il grafo della rete e lo stato (con eventuali costi) di tutti i link che collegano i router 4 1 2 3 Grafo della rete presente sul router 3 Algoritmi di tipo "link-state" Ogni router calcola, mediante un algoritmo, i percorsi a costo minimo per andare da sé stesso verso tutte le possibili destinazioni: in tal modo si possono determinare le regole nelle routing table L'algoritmo viene ricalcolato ogni volta che cambia lo stato del grafo (attivazione/caduta di link, aggiunta/cancellazione di destinazioni,... ) Grafo della rete presente su un router Destination Distance Next-Hop Net1 x A Net2 y B Net3 z C...... Routing Table del router Capitolo XIII 9-10/18 Copyright Ing. Giuseppe F. Rossi 1995-2009
Protocollo di tipo Distance-Vector derivato da una vecchia idea sviluppata presso il PARC (Palo Alto Research Center) della Xerox Corp. RIP V.1 é documentato in RFC 1058: Routing Information Protocol. C.L. Hedrick. Jun-01-1988 (Status: HISTORIC) Ha avuto una grande diffusione soprattutto dovuta alla implementazione nel BSD UNIX (programma routed) RIP v.1 trasferisce i propri messaggi utilizzando la trasmissione verso indirizzi broadcast e il trasporto UDP RIP v.1 viene implementato sia sugli host che sui router e può lavorare in 2 modalità ACTIVE MODE Il nodo può sia inviare che ricevere le informazioni (Net_Addr, D) Modalità usata di norma sui router IP PASSIVE MODE Il nodo può solo ricevere le informazioni (Net_Addr, D) Modalità usata di norma sugli host Le macchine funzionanti in ACTIVE MODE inviano ogni 30-60 sec. via broadcast alle macchine adiacenti le informazioni (Net_Addr, D) relative a tutte le reti conosciute Capitolo XIII 11-12/18 Copyright Ing. Giuseppe F. Rossi 1995-2009
I processi (daemon) RIP v.1 Port = 520 RIP daemon RIP daemon RIP daemon Port = 520 Port = 520 UDP UDP UDP Dest_IP_Addr = 255.255.255.255 Dest_IP_Addr = 255.255.255.255 Tutte le macchine (ACTIVE e PASSIVE) che ricevono un messaggio RIP aggiornano le proprie tabelle di instradamento secondo l'algoritmo di Bellman-Ford RIP v.1 usa una metrica molto semplice: gli "hop" I nodi connessi alla stesso link del router IP distano 1 "hop" (questa é una cosa insolita, tipica del RIP) Esiste un numero massimo di hop: 15 (hop=16 significa "infinito" o "non raggiungibile") Ad ogni entry in tabella é associato un timer di 180 sec, scaduto il quale la riga viene cancellata (a meno che nel frattempo non venga riconfermata) La propagazione delle informazioni é lenta e vi possono essere periodi abbastanza lunghi nei quali alcuni instradamenti non sono consistenti RIP v.1 può essere utilizzato solo su reti semplici Capitolo XIII 13-14/18 Copyright Ing. Giuseppe F. Rossi 1995-2009
L'algoritmo Distance-Vector presenta alcuni problemi intrinsechi che si riflettono nei protocolli che lo implementano Non é possibile effettuare una diagnosi esplicita circa la presenza di loop di instradamento Al fine di prevenire fenomeni di instabilità RIP v.1 stabilisce Max-Hop=15 Non é possibile utilizzare RIP su grosse reti Esiste un problema di convergenza lenta della rete a fronte di certe condizioni che viene mitigata (ma non risolta) dalla scelta Max-Hop=15 Problema della "slow convergence" (o "counting to infinity") Il problema del "counting to infinity" Il router C raggiunge Net1 in 3 "hop" via router B Il router A si guasta => Net1 non é più raggiungibile Dopo 3 min. (ageing time delle regole apprese tramire RIP) B cancella dalla propria tabella Net1 via router A C propaga (anche verso B) l'informazione di instradamento (Net1, 3) B inserisce in tabella Net1 via C con 4 "hop", inviando (Net1, 4) a C C aggiorna l'instradamento verso Net1 via B con 5 "hop"... L'instradamento circolare (errato) permane fino al raggiungimento di Hop=16 (Net1 diventa irraggiungibile) A B C Net1 Net2 Net3 Capitolo XIII 15-16/18 Copyright Ing. Giuseppe F. Rossi 1995-2009
Cenni al protocollo OSPF (Open( Shortest Path First) Protocollo di tipo Link-State proposto dall'ietf (Internet Engineering Task Force) nel 1989 La prima versione di OSPF é stata formalizzata nel documento RFC 1131: OSPF specification. J. Moy. Oct-01-1989 (Status: PROPOSED STANDARD, ora obsoleto) La attuale versione (2) di OSPF é documentata in RFC 2328: OSPF Version 2. J. Moy. April 1998 (Status: STANDARD) Ogni router verifica periodicamente la raggiungibilità dei propri adiacenti, costruendo al proprio interno la mappa completa della rete sulla quale poi calcolare gli instradamenti a costo minimo utilizzando l'algoritmo di Dijkstra Diversamente da RIP, OSPF trasferisce i propri messaggi tramite incapsulamento diretto in senza alcun protocollo di trasporto intermedio Cenni al protocollo BGP (Border( Gateway Protocol) Protocollo EGP utilizzato tra router appartenenti a diversi AS BGP é un protocollo di tipo path-vector Un router scambia informazioni di routing con ogni altro router (appartenente ad un altro AS) che gli é stato configurato come peer (o neighbor) Diversamente dai protocolli distance-vector le informazioni di instradamento (verso una certa rete destinazione) comprendono la sequenza (path) degli AS da attraversare per raggiungere tale destinazione L'informazione di instradamento scambiata dai router BGP é incrementale, per cui si scambiano solo le differenze: i messaggi pertanto possono essere di 2 tipi Announcements (nuova regola) Withdrawals (cancellazione di una regola non più valida) Capitolo XIII 17-18/18 Copyright Ing. Giuseppe F. Rossi 1995-2009