Lezione 2 – Instradamento intradominio Sistemi di elaborazione dell’informazione Modulo 2 - Protocolli di rete TCP/IP Unità didattica 7 - Instradamento dinamico Ernesto Damiani Protocolli di instradamento intradominio Interior Gateway Protocols (IGP): • Routing Information Protocol (RIP). – Presente in molti sistemi Unix, daemon routed. • Intermediate System to Intermediate System (IS-IS). • Open Shortest Path First (OSPF). Base di RIP: il routing distance vector Informazioni limitate sui cammini presenti presso i singoli nodi: • hop successivo; • costo. A D Indirizzo Hop succ.vo Costo Indirizzo Hop succ.vo Costo A A 0 A A 1 B B 1 B B 1 C C 1 C A 2 D D 1 D D 0 E B 2 E B 2 F D 2 F F 1 G B 2 G B 2 H B 3 H B 3 A D F C B G E H Routing distance vector • Supponiamo che un nuovo nodo arrivi sulla rete. I I A D F C B G E H Indirizzo Hop succ.vo Costo A ? ∞ B ? ∞ C ? ∞ D ? ∞ E ? ∞ F ? ∞ G ? ∞ H ? ∞ I I 0 (1) Routing distance vector (2) • Supponiamo che un nuovo nodo arrivi sulla rete. • Supponiamo che I parli per primo con A. A I A D F C B G E H I Indirizzo Hop succ.vo Costo 0 A A 1 B 1 B A 2 C C 1 C A 2 D D 1 D A 2 E E 2 E A 3 F D 2 F A 3 G B 2 G A 2 H B 3 H A 2 I I 0 Indirizzo Hop succ.vo Costo A A B Routing distance vector (3) • Supponiamo che un nuovo nodo arrivi sulla rete. • Supponiamo che I parli per primo con A. • Successivamente I parla con D. A D F C B G E I D I H Indirizzo Hop succ.vo Costo Indirizzo Hop succ.vo Costo A A 1 A A 1 B B 1 B A 2 C A 2 C A 2 D D 0 D D 1 E B 2 E A 3 F F 1 F D 2 G B 2 G A 2 H B 3 H A 2 I I 0 Algoritmo Distance Vector • Inizia con tutte le destinazioni a distanza infinita, tranne che per il nodo stesso, la cui distanza è 0. • Ogni 30 secondi, o quando si verifica un cambiamento nella tabella, ogni nodo invia la tabella ai vicini. • Se un nodo j riceve da un nodo i la distanza dip verso un prefisso di rete P e questa distanza (più la distanza dji fino a i) risulta inferiore alla distanza djp (già nota fino a P ), ossia: djp >= dji + dip, si aggiorna la distanza verso P e si inviano al nodo i i pacchetti diretti a P. Problema del count-to-infinity A B C D E Iniziale 1 1 iterazione 1 2 2 iterazioni 1 2 3 3 iterazioni 1 2 3 4 4 iterazioni (1) 1. Il tratto da B a A si interrompe e B cerca un nuovo cammino per A. 2. C annuncia a B che A risulta raggiungibile tramite lui stesso e la distanza è 2, ma non dice che il cammino comprende proprio il tratto B-A interrotto. 3. Il cammino non è accettabile, ma al round successivo D annuncia a B che A risulta raggiungibile tramite lui stesso e la distanza è 3. Ancora, il cammino comprende il tratto B-A interrotto.. E cosi’ via! A B C D E 1 2 3 4 Iniziale 3 2 3 4 1 iterazione 3 4 3 4 2 iterazioni 5 3 5 4 3 iterazioni 5 6 5 6 4 iterazioni Problema count-to-infinity Il count-to-infinity è un problema: • genera moltissimi aggiornamenti di instradamento, quindi causa troppo traffico; • la rete dovrebbe rilevare che una destinazione è irraggiungibile. Una possibile soluzione: • Limitare superiormente il diametro della rete. Cosa fare se la rete cresce? (2) Problema count-to-infinity (3) Tecniche per ridurre il problema: • Split horizon: un router non comunica una distanza al vicino da cui ha appreso la distanza. • Split horizon con poison reverse: se A annuncia a B la distanza minima verso un nodo E, B comunica ad A una distanza infinita verso E. Queste tecniche funzionano solo per cicli che coinvolgono due nodi. Con cicli più lunghi, riducono solo la velocità di convergenza. L’unica vera soluzione è usare l’instradamento di tipo link state: OSPF! FINE