Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© 1996-2003 All Rights Reserved)

Slides:



Advertisements
Presentazioni simili
Indirizzamento LAN e ARP
Advertisements

Flusso Massimo Applicazione di algoritmi
Algoritmi e Strutture Dati
Strutture dati per insiemi disgiunti
Process synchronization
Corso di laurea in INFORMATICA
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
Grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e strutture dati 2/ed 2 Copyright © The McGraw.
Algoritmi e Strutture Dati
Ant colony optimization (ACO)
5-1 Protocolli ad accesso multiplo Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
5-1 Interconnessione di LAN Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
4-1 Mobilità in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
4-1 Il Livello di Rete Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Ethernet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Routing in Internet Crediti
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
4-1 Multicast Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
Cammini minimi con sorgente singola
Esercizio 1 Due collegamenti in cascata, AB e BC hanno una velocità rispettivamente di 100 Mb/s e 50 Mb/s e tempi di propagazione pari a 1 ms e 1.2 ms.
Reti di Calcolatori Domande di riepilogo Quinta Esercitazione
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 29/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
1 Capitolo 2: Semplificazione, Ottimizzazione e Implicazione.
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
Algoritmo di Ford-Fulkerson
Flusso Massimo Applicazione di algoritmi
Flusso Massimo Applicazione Algoritmi Esercizio 1 Sia dato la seguente rete di flusso, in cui la sorgente è il nodo 1 e la destinazione è il nodo 6. I.
Trovare il percorso minimo da b ad ogni altro vertice
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi KoordeNeighbor of Neighbor routing (NON)
Domande Consideriamo un grafo di de bruijn con base k, ed N = k^b nodi, quale delle seguenti affermazioni è vera (giustificare la risposta) Il grado di.
I numeri relativi by iprof.
Introduzione MANET1 Introduzione alle MANET. Introduzione MANET2 Definizione MANET (Mobile Ad-hoc NETwork) indica una tipologia di reti wireless che possono.
Concetti introduttivi
Reti di Calcolatori IL LIVELLO RETE.
Intelligenza Artificiale
Presentazione del progetto di: Reti di calcolatori L-S Matteo Corbelli.
Elementi di Informatica di base
Reti di Telecomunicazione Lezione 16 Corso di reti per le telecomunicazioni.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Metodi di soluzione guasti nel volo in formazione di velivoli autonomi Candidato: Simone Di Nisio Relatori: Prof. M.Innocenti Prof. A. Balestrino.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
PARTE PRIMA: Reti Cablate
IP ROUTING Milhouse Nelson Homer.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
1 G RUPPO 12 Luca Druda Francesco Flor Daniele Palossi P ARALLEL D ISTRIBUTED P ROCESSING OF C ONSTRAINED S KYLINE Q UERIES BY F ILTERING Bin Cui, Hua.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases
Pippo.
Cammini minimi da un sorgente
Chapter 5 - Part 2 1 Procedura di sintesi  Specifiche  Formulazione – Ricavare un diagramma o una tabella di stato  Assegnazione della codifica di stato.
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
Seminario di Reti e Sicurezza algoritmi di instradamento Star: Davide Ferrone Prof. Stefano bistarelli.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 3 – Da.
PROTOCOLLI DI INSTRADAMENTO: INTRA-AS e INTER-AS
Routing Overview Routing Protocol: protocollo di costruzione delle tavole di routing nei router. Routed Protocol: protocollo di instradamento dei messaggi,
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 2 – Instradamento.
Laureando: Enrico Sperindio Relatore: Prof. GIORGIO ROMANIN JACUR
Sistemi e Tecnologie della Comunicazione
1 Sistemi e Tecnologie della Comunicazione Lezione 18: network layer: introduzione, algoritmi di routing.
R-AR-B R-CR-D R-E R-F H-A H-B H-CH-D H-E H-FH-G Rete di Riferimento Grafo Equivalente OSPF - RIP BGP.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi di routing statici (pag.72) UdA2L4 Questi algoritmi, sono eseguiti solamente all'avvio della rete, e le decisioni di routing a cui essi pervengono.
Transcript della presentazione:

Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© 1996-2003 All Rights Reserved)

da sorgente a destinazione Routing Routing protocol Obiettivo: determinare un “buon” percorso (sequenza di router) attraverso la rete da sorgente a destinazione 5 3 B C 2 5 A 2 1 F 3 Teoria dei grafi usata per gli algoritmi di routing i nodi del grafo sono i router gli archi del grafo sono i link fisici costo del link: distanza, costo economico, livello di congestione, … 1 2 D E 1 “buon” percorso: tipicamente significa a costo minimo possibili altre definizioni

Classificazione algoritmi di routing Informazione globale o decentralizzata Globale tutti i router hanno informazione completa su topologia e costi dei link “link state” algorithms Decentralizzata i router conoscono i costi dei link dei vicini fisicamente connessi processo di calcolo interattivo, scambio di informazioni con i vicini “distance vector” algorithms Statico o dinamico Statico i percorsi cambiano lentamente nel tempo Dinamico i percorsi cambiano più velocemente aggiornamento periodico in risposta ai cambi di costo dei link

Algoritmo di routing Link-State Algoritmo di Dijkstra topologia della rete e costi dei link conosciuti per tutti i nodi realizzato attraverso “link state broadcast” tutti i nodi hanno le stesse informazioni calcola i percorsi a costo minore da un nodo (sorgente) a tutti gli altri nodi fornisce la routing table per quel nodo iterativo: dopo k iterazioni, determina i percorsi a costo minore per k destinazioni Notazioni: c(i,j): costo link dal nodo i al nodo j. Costo infinito se i e j non direttamente connessi D(v): valore corrente del costo del percorso (a minor costo) dalla sorgente al nodo v p(v): nodo precedente lungo il percorso a minor costo dalla sorgente a v N: insieme di nodi il cui percorso a costo minore è definitivamente conosciuto

Algoritmo di Dijsktra 1 Initialization: 2 N = {A} 3 for all nodes v 4 if v adjacent to A 5 then D(v) = c(A,v) 6 else D(v) = ∞ 7 8 Loop 9 find w not in N such that D(w) is a minimum 10 add w to N 11 update D(v) for all v adjacent to w and not in N: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N

Algoritmo di Dijkstra: esempio Step 1 2 3 4 5 start N A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) ∞ 2,D D(F),p(F) ∞ 4,E 5 3 B C 2 5 A 2 1 F 3 1 2 D E 1

Algoritmo di Dijkstra: considerazioni Complessità algoritmo: n nodi ogni iterazione: controlla tutti i nodi w non in N n*(n+1)/2 controlli: O(n2) possibile un’implementazione più efficiente: O(nlogn) Possibili oscillazioni: es. costo link = traffico trasportato A A A 1 A 1+e 2+e 2+e 2+e D B D B D B D 1+e 1 B 1+e 1 e 1 e C 1+e C C C 1 1 e … ricalcola routing … ricalcola … ricalcola inizialmente

Algoritmo Distance Vector Iterativo: continua finchè nessun nodo scambia più informazioni auto-terminante: nessun “segnale” di stop Asincrono: i nodi non devono scambiare info o procedere in sincronismo! Distribuito: ogni nodo comunica solo con i vicini direttamente collegati Tabella delle distanze ogni nodo ha la sua una riga per ogni possibile destinazione una colonna per ogni nodo vicino direttamente collegato esempio: nel nodo X, per dest. Y attraverso il vicino Z: D (Y,Z) X distanza da X a Y, via Z come next hop c(X,Z) + min {D (Y,w)} Z w =

Tabella distanze: esempio C D 1 7 6 4 14 8 9 11 5 2 E cost to destination via destination 1 B C 7 A 8 2 1 E D 2 D (C,D) E c(E,D) + min {D (C,w)} D w = 2+2 = 4 D (A,D) E c(E,D) + min {D (A,w)} D w = 2+3 = 5 loop! D (A,B) E c(E,B) + min {D (A,w)} B w = 8+6 = 14 loop!

Distance table fornisce routing table 1 7 6 4 14 8 9 11 5 2 E cost to destination via destination Outgoing link to use, cost A B C D A,1 D,5 D,4 D,2 destination Distance table Routing table

Distance Vector Routing: generalità Iterativo, asincrono: ogni iterazione locale causata da: modifica costo link locale messaggio dal vicino: il suo percorso a costo minore è cambiato Distribuito: ogni nodo notifica i vicini solo quando cambia il suo percorso a costo minore verso una qualunque destinazione i vicini notificano i loro vicini solo se necessario Ad 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

Algoritmo Distance Vector: Bellman-Ford Per tutti i nodi X: 1 Initialization: 2 for all adjacent nodes v: 3 D (*,v) = ∞ /* the * operator means "for all rows" */ 4 D (v,v) = c(X,v) 5 for all destinations, y 6 send min D (y,w) to each neighbor /* w over all X's neighbors */ X X X w

Distance Vector Algorithm (cont.): 8 loop 9 wait (until I see a link cost change to neighbor V 10 or until I receive update from neighbor V) 11 12 if (c(X,V) changes by d) 13 /* change cost to all dest's via neighbor V by d */ 14 /* note: d could be positive or negative */ 15 for all destinations y: D (y,V) = D (y,V) + d 16 17 else if (update received from V wrt destination Y) 18 /* shortest path from V to some Y has changed */ 19 /* V has sent a new value for its min DV(Y,w) */ 20 /* call this received new value "newval" */ 21 for the single destination y: D (Y,V) = c(X,V) + newval 22 23 if we have a new min D (Y,w) for any destination Y 24 send new value of min D (Y,w) to all neighbors 25 26 forever X X w X X w X w

Distance Vector Algorithm: esempio X Z 1 2 7 Y D (Y,Z) X c(X,Z) + min {D (Y,w)} w = 7+1 = 8 Z D (Z,Y) X c(X,Y) + min {D (Z,w)} w = 2+1 = 3 Y

Distance Vector Algorithm: esempio (cont.) X Z 1 2 7 Y

Distance Vector: variazione costi nei link Costo del link diminuisce: nodo rileva variaz. costo link locale aggiorna distance table se il costo cambia nel percorso a costo minore, informa i vicini 1 Y 4 1 X Z 50 algoritmo termina “solo” due iterazioni

Distance Vector: variazione costi nei link Costo del link aumenta: Percorso ciclico, per raggiungere X: Y passa attraverso Z Z passa attraverso Y conteggio all’infinito 60 Y 4 1 X Z 50 algoritmo continua!

Distance Vector: poisoned reverse Se Z instrada attraverso Y per raggiungere X: Z informa Y che la distanza da Z a X è infinita (così Y non instrada verso X via Z) non risolve completamente il problema del conteggio all’infinito 60 Y 4 1 X Z 50 algoritmo termina

Confronto tra gli algoritmi LS e DV Complessità del messaggio LS: con n nodi ed E link, inviati O(nE) messaggi DV: scambio solo tra vicini tempo di convergenza varia Velocità di convergenza LS: Algoritmo O(n2) richiede O(nE) messaggi può avere oscillazioni DV: tempo di convergenza varia può avere percorsi ciclici problema di conteggio all’infinito Robustezza: cosa accade se il router non funziona? LS: un nodo può trasmettere un costo del link incorretto ogni nodo calcola la sua tabella DV: un nodo può trasmettere un costo di percorso incorretto tabella di ogni nodo usata da altri iterativamente errore si propaga attraverso la rete