Programmazione in Rete

Documenti analoghi
Routing. Parte seconda: algoritmi Distance Vector e Link State

Parte 4: Livello Network

Routing. Forwarding e routing

Routing: approccio tradizionale. Routing: approccio SDN

Protocolli strato 3. Strato 3: Instradamento. Gruppo Reti TLC. Funzioni strato rete. Funzioni strato rete. Instradamento. Costo

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

RETI DI CALCOLATORI - Instradamento

Capitolo 4 - parte 1. Corso Reti ed Applicazioni Mauro Campanella Como 2003

Algoritmo di Dijkstra

RETI DI CALCOLATORI - Instradamento

Routing IP. IP routing

INTERNET e RETI di CALCOLATORI A.A. 2015/2016 Capitolo 4 Instradamento e Algoritmi di instradamento Fausto Marcantoni

Strato di rete. Argomenti: Obiettivi:

Il Livello Network. Panoramica: Obiettivi:

Networking e Reti IP Multiservizio

RETI DI CALCOLATORI II

Reti di Calcolatori:

Livello di Rete: IPv6, Algoritmi di instradamento

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Parte II: Reti di calcolatori Lezione 18 (42)

Routing Distance Vector

Parte II: Reti di calcolatori Lezione 17

Dr. S. Greco Polito, Instradamento

Marco Listanti. Strato di rete. INFOCOM Dept. Telecomunicazioni e Telerilevamento - Prof. Marco Listanti - A.A. 2010/2011

Strato di rete (parte 3) Funzione di instradamento: generalità

Routing dinamico: : RIP

Argomenti: ! Servizi dello strato di rete! Routing: selezione del cammino. ! Routing gerarchico! IP! Protocolli di routing in Internet

(parte 3) Telecomunicazioni (Canale 2) - Prof. Marco Listanti - A.A. 2016/2017. DIET Dept

4c. Esercizi sul livello di Rete Instradamento in Internet

Routing. Parte prima

Protocolli Data Link: tipo punto-a-punto

28/05/2015 Laura Ricci

Livello di Rete: Routing, protocollo RIP

Programmazione in Rete

Livello di Rete: algoritmi di routing: DV Protocollo di routing RIP

Lezione 4. Servizi di rete. Gianluca Reali

Fondamenti di Internet e Reti

Definizione. Introduzione alle MANET. Host Mobili (2) Host Mobili (1)

La gestione del routing

Routing statico nelle reti IP

Antonio Cianfrani. I protocolli di Routing

Parte II: Reti di calcolatori Lezione 18 (42)

Chapter 4 Network Layer

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Parte II: Reti di calcolatori Lezione 18 (42)

Homework assignment Ipv6 e protocolli di routing

Routing gerarchico. Perchè diversi routing Intra- e Inter-AS?

Livello di Rete: protocollo OSPF, protocollo BGP

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Algoritmi di Routing. a.a. 2009/2010 Ing.Veronica Palma

Routing. Slides partly based on L. Peterson s course slides. Obiettivi

Reti: modello LAN- WAN. Approfondimento: algoritmi di forwarding e routing

INFOCOM Dept. - Laboratorio di Servizi di Telecomunicazioni

Esercizi: Telecomunicazioni parte Reti

Routing statico. Routing statico. Tolleranza ai guasti. Routing statico. Fase di progetto. 09CDUdc Reti di Calcolatori.

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

INFOCOM Dept. Il routing

Fondamenti di Internet e Reti

Per ognuno dei seguenti sottografi dire se è uno spanning tree o se no perché.

Algoritmi di Routing Distance Vector Fulvio Risso fulvio.risso[at]polito.it Mario Baldi

Open walk: Nodo di partenza diverso da quello di arrivo Close walk: Nodo di partenza coincidente con quello di arrivo

Instradamento per servizi di tipo circuito virtuale. Dr. S. Greco Polito,

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

CORSO DI RETI DI CALCOLATORI II (Docente Luca Becchetti) Esercizi su instradamento e tabelle di routing 1

Routing nelle reti a commutazione di pacchetto Routing Link State: introduzione

Reti a commutazione di pacchetto

Homework assignment Ipv6 e protocolli di routing TUNNEL

Algoritmi e protocolli di Routing

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

Routing dinamico: IGRP e OSPF

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2011/12)

Instradamento (Routing) Tecniche di Routing. Routing Statico. Routing in Reti a Commutazione di Circuito

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Appello 13 Febbraio Tempo complessivo a disposizione per lo svolgimento: 2h Usare lo spazio dopo ogni Esercizio/Quesito per la risposta.

Antonio Cianfrani. Open Shortest Path First (OSPF)

Livello di Rete: NAT, Forwarding, ICMP, algoritmo a stato del collegamento (Dijsktra) Protocollo OSPF

Strato rete in Internet

Protocolli di Routing

Marco Listanti. Routing IP. DIET Dept. Tecniche e Modelli di Rete - Prof. Marco Listanti - A.A. 2017/2018

Algoritmi e protocolli di Routing

Laboratorio di Reti di Comunicazione ed Internet Mod. 2

Formato del datagramma IP

Reti di calcolatori. Lezione del 10 giugno 2004

TFA 2014/15 SISTEMI E RETI DI CALCOLATORI PER L'INSEGNAMENTO UNITA' DIDATTICA: ALGORITMI DI ROUTING

13. Routing: Nuclei, Paritari, e Algoritmi

Parte II: Reti di calcolatori Lezione 19 (43)

Livello di Rete: Protocolli di instradamento: RIP, OSPF, BGP

Corso di laurea triennale in Informatica Turno A

Reti di Calcolatori:

Transcript:

Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 0-2

Sommario della lezione di oggi: Lo strato di rete (3bis/3) Servizi e protocolli dello strato di rete Reti a circuito virtuale vs reti a datagramma Struttura di un router Inoltro e indirizzamento in Internet: il protocollo IP Instradamento in Internet pprofondimento sugli algoritmi di instradamento dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 2

lgoritmi di instradamento: una classificazione Globale o decentralizzato? Globale: tutti i router hanno completa info su topologia e costi dei link algoritmi link state Decentralizzato: ogni router conosce i vicini connessi fisicamente e costi di link ai vicini processo iterativo di calcolo, scambio di info con i vicini algoritmi distance vector Statico o dinamico? Statico: le rotte cambiano lentamente nel tempo Dinamico: le rotte cambiano più rapidamente aggiornamento periodico in risposta ai cambiamenti nei costi dei link dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 3

pproccio link-state : lgoritmo di Dijkstra topologia di rete e costi dei link noti a tutti i nodi eseguito mediante link state broadcast tutti i nodi hanno stessa info calcola percorsi a costo minimo da un nodo ( sorgente ) a tutti i nodi fornisce tabella di instradamento per quel nodo iterativo: dopo k iterazioni, conosce cammini a costo minimo verso k destinazioni Notazione: c(i,j): costo del link da i a j; costoinfinitose i e j non sono adiacenti D(v): costo del percorso attualmente a costo minimo da sorgente a v p(v): nodo predecessore di v nel percorso attualmente a costo minimo da sorgente a v N: insieme di nodi il cui percorso a costo minimo è definitivamente noto dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 4

lgoritmo di Dijkstra: pseudo-codice Initialization: 2 N = {} 3 for all nodes v 4 if v adjacent to 5 then D(v) = c(,v) 6 else D(v) = infty 7 8 Loop 9 find w not in N such that D(w) is a minimum 0 add w to N update D(v) for all v adjacent to w and not in N: 2 D(v) = min( D(v), D(w) + c(w,v) ) 3 /* new cost to v is either old cost to v or known 4 shortest path cost to w plus cost from w to v */ 5 until all nodes in N dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 5

lgoritmo di Dijkstra: un esempio Step 0 2 3 4 5 start N D DE DEB DEBC DEBCF D(B),p(B) 2, 2, 2, D(C),p(C) 5, 4,D 3,E 3,E D(D),p(D), D(E),p(E) infinity 2,D D(F),p(F) infinity infinity 4,E 4,E 4,E 5 2 B D 2 3 3 C E 5 2 F dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 6

lgoritmo di Dijkstra: discussione Complessità dell algoritmo: n nodi ad ogni iterazione, bisogna controllare tutti i nodi, w, non contenuti in N -> n*(n+)/2 confronti: O(n 2 ) implementazioni + efficienti: O(nlogn) Oscillazioni possibili, p.es. costo del link = carico di traffico smaltito +e D 0 0 B 0 e C e inizialmente 2+e 0 0 2+e 2+e 0 D B 0 +e D 0 0 B D B 0 +e 0 +e e C C C ricalcola instradamento ricalcola ricalcola dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 7

pproccio distance vector : lgoritmo di Bellman-Ford iterativo: continua finchè nodi scambiano info. auto-terminante: nessun segnale di fermata asincrono: i nodi non devono scambiare info/iterare in passo di lock! distribuito: ogni nodo comunica solo con vicini direttamente collegati Tabella delle distanze ogni nodo ha sua propria tabella riga per ogni possibile destinazione colonna per ogni vicino direttamente collegato al nodo es.: nel nodo X, per la destinazione Y via vicino Z: X D (Y,Z) = = distance from X to Y, via Z as next hop Z c(x,z) + min {D (Y,w)} w dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 8

lgoritmo di Bellman-Ford: esempio di tabella delle distanze 7 B E 8 2 C D 2 D () costo alla destinazione via E B 4 D 5 E D (C,D) E D (,D) E D (,B) D = c(e,d) + min {D (C,w)} w = 2+2 = 4 D = c(e,d) + min {D (,w)} w = 2+3 = 5 loop! B c(e,b) + min {D (,w)} w = = 8+6 = 4 loop! dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 9 destinazione B C D 7 6 4 8 9 5 4 2

lgoritmo di Bellman-Ford: dalle distanze all instradamento Costo per destinazione via E D () B D Link in uscita da usare, costo associato 4 5, destinazione B C D 7 6 4 8 9 5 4 2 destinazione B C D D,5 D,4 D,4 Tabella delle distanze Tabella di instradamento dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 0

lgoritmo di Bellman-Ford: panoramica Iterativo, asincrono: ogni iterazione locale causata da: modifica di costo di un link messaggio da un vicino riguardo modifica di suo percorso a costo minimo Distribuito: ogni nodo notifica ai vicini solo se suopercorsoa costo minimo cambia i vicini a loro volta notificano ai propri vicini se necessario, e così via Cosa accade in ogni nodo? wait for (change in local link cost or msg from neighbor) recompute distance table if least cost path to any dest has changed, notify neighbors dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3)

lgoritmo di Bellman-Ford: pseudo-codice per ogni nodo X for all adjacent nodes v: 2 D X (*,v) = infty /* the * operator means "for all rows" */ 3 D X (v,v) = c(x,v) 4 for all destinations y: 5 send min w D X (y,w) to each neighbor /* w over all X's neighbors */ 6 loop 7 wait (until I see a link cost change to neighbor V 8 or until I receive update from neighbor V) 9 if (c(x,v) changes by d) 0 /* change cost to all dest's via neighbor v by d (pos or neg value) */ for all destinations y: D X (y,v) = D X (y,v) + d 2 else if (update received from V wrt destination Y) 3 /* shortest path from V to some Y has changed */ 4 /* V has sent a new value "newval" for its min w DV(Y,w) */ 5 for the single destination y: D X (Y,V) = c(x,v) + newval 6 if we have a new min w D X (Y,w) for any destination Y 7 then send new value of min w D X (Y,w) to all neighbors 8 forever dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 2

lgoritmo di Bellman-Ford: un esempio di esecuzione X 2 Y 7 Z dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 3

lgoritmo di Bellman-Ford: un esempio di esecuzione (cont.) X 2 Y 7 Z X D (Y,Z) Z = c(x,z) + min {D (Y,w)} w = 7+ = 8 X D (Z,Y) Y = c(x,y) + min {D (Z,w)} w = 2+ = 3 dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 4

lgoritmo di Bellman-Ford: variazioni dei costi dei link bbassamento costi: un nodo rileva localmente variazione di costo di link aggiorna tabella delle distanze (r.5) se costo cambia nel cammino a costo minimo, lo notiifca ai vicini (r. 23,24) X 4 Y 50 Z le buone notizie vaggiano in fretta L algoritmo termina dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 5

lgoritmo di Bellman-Ford: variazioni dei costi dei link (cont.) Innalzamento costi: le cattive notizie viaggiano lentamente problema di conteggio all infinito 60 X 4 Y 50 Z algoritmo prosegue! dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 6

lgoritmo di Bellman-Ford: aggiunta del poisoned reverse Se Z instrada attraverso Y per raggiungere X : Z dice a Y che la propria distanza da X è infinita (in modo che Y non instraderà ad X via Z) Risolto problema di conteggio all infinito? 60 X 4 Y 50 Z algoritmo termina dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 7

Confronto fra algoritmi LS e DV Complessità del messaggio LS: con n nodi, E link, ciascun nodo invia O(nE) msg DV: scambio msg solo fra vicini Velocità di convergenza LS: algoritmo di complessità O(n 2 ) richiede O(nE) msg può avere oscillazioni DV: tempo variabile di convergenza possibili percorsi ciclici problema di conteggio all infinito Robustezza: che accade se un router funziona male? LS: il nodo può comunicare costo errato di link ogni nodo calcola solo la propria tabella DV: nodo può comunicare costo errato di percorso tabella di ogni nodo usata dagli altri errore si propaga attraverso la rete dott.ssa F.. Lisi - Programmazione in Rete Livello di rete (3bis/3) 8