Instradamento Dr. S. Greco Polito, Servizi: datagramma(DG) e circuito virtuale(CV) q DG -> connectionless -> non si ha garanzia che i pacchetti immessi in rete possano essere trasferiti con successo q CV -> connection-oriented ->le risorse vengono riservate nella fase di instaurazione del circuito Domanda: Come viene viene scelto il ramo di uscita per ogni pacchetto arrivato nel nodo (instradamento)? Dr. S. Greco Polito, Servizio datagramma(DG): tabella di instradamento q Ogni nodo contiene una tabella di intradamento q La tabella contiene per ogni destinazione il collegamento uscente da selezionare per raggiungere la destinazione q Normalmente l’instradamento viene scelto in modo da minimizzare le risorse di rete necessarie. Es: percorso piu’ breve. q Il contenuto delle tabelle di instradamento puo’ essere cambiato per migliorare le prestazioni ->algoritmi di instradamento dinamici Dr. S. Greco Polito, Esempio: tabella di instradamento del nodo A Dest A B C D E F Dr. S. Greco Polito, costo 1 4 5 4 2 Next-hop B B B B B Come valutare un percorso? Le metriche di costo La scelta del percorso sorgente destinazione dipende da una valutazione del costo del percorso Il costo puo’ essere valutato usando diverse metriche: § § § § Numero di salti Traffico smaltito lungo il percorso Livello di riempimento dei buffer nei nodi attraversati Ritardo totale di trasferimento sorgente-destinazione q OSS: per la metrica basata sul numero dei salti il costo è unitario per ogni ramo. Nelle altre il costo varia per collegamento e direzione Dr. S. Greco Polito, Instradamento dinamico a distanza minima ….è il tipo di instradamento usato nella rete Internet Aspetti principali: 1. Dinamicità: Aggiornamento periodico tabelle 2. Scelta del percorso in funzione della distanza minima che tiene conto delle variazioni di prestazione della rete dovuti a: § Traffico offerto § Guasti Metriche usate: § Riempimento del buffer § Ritardo end-to-end Dr. S. Greco Polito, Esempio instradamento con tabella dinamico q A) tabella iniziale del nodo B q B) tabella successiva q Ha emette pacchetti per Hb Oss: I pacchetti possono arrivare fuori sequenza Dr. S. Greco Polito, Esempio: tabella di instradamento del nodo A Dest A B C D E F costo 1 4 5 4 2 Next-hop B B B B B -l’uomo, noti i costi di ogni link, riesce facilmente a ricavare la tabella per reti piccole -Domande: (a) i nodi della rete come fanno a ricavare la tabella in modo automatico?; (b) come scoprono i costi dei link? ….algoritmi di Distance Vector e Link State Dr. S. Greco Polito, Algoritmo Distance Vector q Tabella di instradamento in ogni nodo q La tabella contiene per ogni destinazione il link di uscita e il costo stimato (fino alla destinazione) q L’insieme dei costi stimati verso tutte le destinazioni costituisce un Distance Vector(DV) q Ogni nodo comunica periodicamente il DV a tutti i nodi adiacenti q Ogni nodo stima il costo del link verso i nodi adiacente e somma a questa stima il costo letto nel vettore DV ricevuto q Proprietà: Algortmo distribuito Dr. S. Greco Polito, --Ipotesi dell’esempio: tutti i nodi hanno tabelle vuote all’istante t=0; aggiornameto con passo T --Al tempo 4T (dopo 4 aggiornamenti) la tabella è completa. 4 è la profondità del cammino piu’ lungo Dr. S. Greco Polito, Algoritmo di Bellman-Ford q L’agoritmo di Distance Vector è un’implemtazione dell’algoritmo di BellmanFord per la costruzione dell’albero dei cammini minimi Dr. S. Greco Polito, Algoritmo di Bellman-Ford Algoritmo: Si compone di diversi passi. Ci si ferma quando non si verificano piu’ riduzioni di costo Siano: § Djh= costo della via a costo minimo dalla sorgente s al nodo j con un numero massimo di salti pari a h § dij= costo collegamento diretto fra i e j § dij=∞ se non esiste percorso fra i e j q Passi: § 1. h=0, Djh= ∞ ∀ j≠ s § 2. h=h+1, Djh= mini {Dih-1+dij, Djh-1 } § 3. If Djh=Djh-1 ∀ j≠ s allora hmax=h-1 else go to 2. stop Dr. S. Greco Polito, § Djh= costo della via a costo minimo dalla sorgente s al nodo j con un numero massimo di salti pari a h § dij= costo collegamento diretto fra i e j § dij=∞ se non esiste percorso fra i e j q Passi: § 1. h=0, D jh= ∞ ∀ j≠ s § 2.h=h+1, Djh= mini {Dih-1+dij, Djh-1 } § 3.If Djh=Djh-1 ∀ j≠ s allora hmax=h-1 else go to 2. stop Dr. S. Greco Polito, Dest costo A - B 1 C Nexthop Dest costo A - B 1 B ∞ C 4 B D ∞ D 9 F E ∞ E 5 F F 3 F 2 B Dest costo Nexthop A - B F Nexthop Nexthop Dest costo A - B 1 B B 1 B C 4 B C 4 B D 6 F D 5 B E 4 B E 4 B F 2 B F 2 B L’applicazione dell’algoritmo produce l’albero dei cammini minimi con radice la sorgente Dr. S. Greco Polito, Dest costo A - B 1 C Nexthop Dest costo A - B 1 B ∞ C 4 B D ∞ D 9 F E ∞ E 5 F F 3 F 2 B Dest costo Nexthop A - B F Nexthop Nexthop Dest costo A - B 1 B B 1 B C 4 B C 4 B D 6 F D 5 B E 4 B E 4 B F 2 B F 2 B Algoritmo distance vector q Convegenza lenta q Usato per la rete Arpanet con: § Aggiornamenti O(100 ms) § Metrica di costo basata su misure di riempimento del buffer Dr. S. Greco Polito, Algoritmo link state q Ogni nodo misura la distanza dai propri vicini q Ogni nodo comunica tale distanza a tutti gli altri nodi q Ogni nodo sorgente riceve info sulle distanze da tutti gli altri nodi e puo’ individuare i percorsi a minima distanza Dr. S. Greco Polito, Algoritmo link state q Link State Packet (LSP): unità informativa per la notifica delle distanze. q Instradamento LSP di tipo flooding con riconiscimento pacchetti duplicati q Proprietà: § Puo’ essere implementato usando l’algoritmo di Dijkstra per la ricerca degli alberi dei cammini minimi Un nodo, ricevuti gli LSP da tutti gli altri nodi, puo’ ricavare la topologia della rete Dr. S. Greco Polito, Esempio (i) LSP recevuti Scoperta del network 2 B C 4 6 B a c f Router A 4 2 6 A F C 4 b 2 d 3 e 1 3 7 6 4 B A 3 1 E E Dr. S. Greco Polito, C A D c f 2 B D F 2 6 C 3 1 D F 7 Esempio (ii) LSP recevuti Scoperta del network E a c f Router A Dr. S. Greco Polito, 5 1 8 4 A 5 B E 2 6 8 C 1 D F F b 6 d 7 e 8 3 Conferma 7 Algoritmo di Dijkstra Siano: § Dj= costo della via a costo minimo dalla sorgente s al nodo j § dij= costo collegamento diretto fra i e j , dij=∞ se non esiste percorso fra i e j § N= insieme nodi della rete § M= insieme nodi dell’albero corrente § V(M)=insime dei nodi raggiungibili con un solo salto dai uno dei nodi ∈ M. q Passi: § 1. M={s} Dj= dsj ∀ j ∈ V(s) Dj= ∞ otherwise § 2. Select k ∈ V(M) | Dk= mini ∈ V(M) {Di} M=M+ {k} Dj= min{Dk+dkj,, Dj } ∀ j ∈ V(s) § 3. If M=N stop else go to 2 Dr. S. Greco Polito, Dj= costo della via a costo minimo dalla sorgente s al nodo j dij= costo collegamento diretto fra i e j , dij=∞ se non esiste percorso fra i e j N= insieme nodi della rete M= insieme nodi dell’albero corrente V(M)=insime dei nodi raggiungibili con un solo salto dai uno dei nodi ∈ M. Passi: 1. M={s}; Dj= dsj ∀ j ∈ V(s); Dj= ∞ otherwise 2. Select k ∈ V(M) | Dk= mini ∈ V(M) {Di} M=M+ {k} Dj= min{Dk+dkj,, Dj } ∀ j ∈ V(M) 3. If M=N stop else go to 2 Dest M= {A} V(M)={B,F} M= {A,B} V(M)={F,E,C} M= {A,B,F} V(M)={E,D,C} M= {A,B,E,F} V(M)={C,D} M= {A,B,C,E,F} V(M)={D} M= {A, B,C,D,E,F} Costo Cost Cost Cost Cost Cost Next hop A - - B 1 1 C ∞ Next hop Next hop B 1 4 4 Next hop B 1 B 1 4 D ∞ ∞ 8 5 E ∞ 6 4 4 B 4 F 3 2 2 2 B 2 Dr. S. Greco Polito, B B 1 4 B B 5 B B 4 B B 2 B 5 Tabella instaradamento del nodo A Next hop - - 4 B Next hop Algoritmo di Dijkstra q Proprietà: Possibile implementazione sia centralizzata che distribuita Utilizzato nella rete Internet con tempi di aggiornamento pari a 10 sec. Dr. S. Greco Polito, Confronto: Algoritmo di Dijkstra e di Bellman-Ford q Convergono sempre alla stessa soluzione in assenza di variazione dei costi q In presenza di variazione dei costi è possibile instabilità: § Variano i costi -> varia la distribuzione del carico in rete -> variano i costi Dr. S. Greco Polito, Instradamento gerarchico q Problema: reti grandi richiedono tabelle di instradamento molto grandi -> § Richiesta memoria nei nodi § Alto carico di segnalazione per aggiornamento tabelle q Soluzione: organizzazione gerarchica delle reti: § Divisione della rete in aree § Ogni nodo conosce: • il percorso verso ogni altro nodo della propria area • I nodi che fanno da tramite verso le altre reti Dr. S. Greco Polito, Totale voci= numero nodi della rete + (numero reti -1) Dr. S. Greco Polito,Tabella Instradamento nodo A4: metrica del numero minimo dei salti