Parte 4: Livello Network

Documenti analoghi
Il Livello Network. Panoramica: Obiettivi:

Strato di rete. Argomenti: Obiettivi:

Routing. Forwarding e routing

Reti di Calcolatori:

Routing IP. IP routing

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

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

Networking e Reti IP Multiservizio

Protocolli Data Link: tipo punto-a-punto

RETI DI CALCOLATORI - Instradamento

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

RETI DI CALCOLATORI - Instradamento

RETI DI CALCOLATORI II

Programmazione in Rete

Routing. Parte prima

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

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

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

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

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

Fondamenti di Internet e Reti

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

4c. Esercizi sul livello di Rete Instradamento in Internet

Dr. S. Greco Polito, Instradamento

Formato del datagramma IP

28/05/2015 Laura Ricci

Livello di Rete. Gaia Maselli

Reti di calcolatori. Lezione del 10 giugno 2004

Livello rete strato di Rete

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

Reti a commutazione di pacchetto

R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing in IP, Maggio 2010

Il modello TCP/IP. Sommario

Parte terza. Routing & forwarding

Risorse riservate al circuito Se ci sono troppi circuiti le risorse si esauriscono Non è possibile stabilire una nuova connessione

Funzionalità e servizi del livello Rete

Introduzione alla rete Internet

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Parte terza. Routing & forwarding. Routing: due diverse attività. come un router processa un datagram IP D. Gerarchia in Internet

Algoritmi e protocolli di Routing

Protocolli di Routing

RETI DI CALCOLATORI Lucidi delle Lezioni Capitolo XIII

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

Laboratorio di Reti di Comunicazione ed Internet Mod. 2

8. IP: Instradamento dei datagrammi

Corso di Laurea in Informatica Esame di Reti Prof. Panzieri frame con source address uguale a MAC_UNI X X X X X

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

ROUTER NOTE. Dispositivo attivo di rete che lavora a livello 3 della pila ISO-OSI, si occupa di instradare pacchetti di dati tra reti eterogenee

Formato del datagram IP

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

Commutazione di pacchetto

Appello Esempio d esame. Es1 (6 pt) Es2 (6 pt) Es3 (6 pt) Ques (9 pt) Lab (6pt)

Il Sistema di Routing. Routing nell Interrete. Routing con Informazioni Parziali. Propagazione delle Rotte

Routers e LAN aggregati in regioni prendono il nome di Autonomous System quando sono controllati dalla stessa amministrazione; in un AS:

Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

IL LIVELLO RETE IN INTERNET Protocollo IP

Parte I. Ibrido MPLS. Figura 1.1

I protocolli di routing dell architettura TCP/IP

Dal livello di linea al livello di rete: il problema dell instradamento nel livello di rete

I protocolli di routing dell architettura TCP/IP

Reti di Calcolatori. Il software

Il livello Network in Internet

Reti di calcolatori l e Internet: Un approccio top-down. 4 a edizione Jim Kurose, Keith Ross 4-1

Routing IP A.A. 2006/2007. Walter Cerroni. Routing gerarchico in Internet

Internet (- working). Le basi.

Collegamento dati per accesso ad Internet. Informatica Generale (CdL in E&C), A.A Informatica Generale (CdL in E&C), A.A.

Internet protocol stack

Evoluzione del livello di rete

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto

Reti di Telecomunicazione Lezione 8

Capitolo 4 Livello di rete

Capitolo 4 Livello di rete

Reti Informatiche Edizione N

Reti di Calcolatori IL LIVELLO RETE

Le reti e Internet. Struttura e protocolli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

PROTOCOLLI DI ROUTING. Vittorio Prisco

ATM Asynchronous Transfer Mode

Livello Rete. Servizi

Indirizzi Internet. Indirizzi Internet (2)

Corso di Alfabetizzazione Informatica

Architetture di router IP

MODELLI ISO/OSI e TCP/IP

Laboratorio di Reti di Comunicazione ed Internet Mod. 2

Un caso estremo per gli algoritmi di routing: Reti Mobili Ad Hoc (MANET)

Reti di Telecomunicazione Esempio di esame

Architetture di rete. 4. Le applicazioni di rete

II prova in itinere - Rete Internet (ing. Giovanni Neglia)

Reti di Calcolatori. IL LIVELLO RETE IN INTERNET Protocollo IP

Parte II: Reti di calcolatori Lezione 18

Tipi di comunicazione

Elementi di Reti per Telecomunicazioni

Parte II: Reti di calcolatori Lezione 14

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Introduzione alla rete Internet

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 20 Luglio 2005

Algoritmi di Routing

Autonomous System. I protocolli di routing usati all'interno di un AS sono denominati IGP (Interior Gateway Protocol) Esempio:

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 2

Transcript:

Parte 4: Livello Network Obiettivi: comprendere i principi dei servizi a livello network: routing (instradamento, selezione del cammino) problema dello scale come funziona un router realizzazione in Internet Sommario: servizi del livello rete principi del routing: selezione del cammino routing gerarchico IP protocolli di routing usati in Internet intra-dominio inter-dominio com è fatto un router? 4: Livello Network 4-

Funzioni del livello Network trasportare pacchetti dall host mittente all host destinazione i protocolli a livello network sono presenti in ogni host ed ogni router tre funzioni importanti: determinazione del cammino: strada che i pacchetti seguono dalla sorgente alla destinazione Algoritmi di Routing commutazione (switching): spostare pacchetti dagli ingressi del router alla giusta uscita del router call setup: non in Internet application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical 4: Livello Network 4-2

Modello di servizio Network astrazione del servizio Domanda: Quale modello di servizio per il canale che trasporta i pacchetti dal mittente alla destinazione? banda garantita? conservazione del tempo tra pacchetti (no jitter)? recapito senza perdite? recapito in ordine? feedback sulla congestione inviato al mittente? La astrazione più importante offerta dal livello network:??? circuito virtuale o datagram? 4: Livello Network 4-3

Circuiti virtuali il cammino sorgente-destinatario ricorda il circuito telefonico prestazioni la rete compie azioni sul cammino sorgente-destinatario call setup, teardown per ogni connessione prima dei dati ogni pacchetto ha memorizzato un identificatore di circuito virtuale (non l indirizzo dell host destinazione) ogni router sul cammino sorgente-destinazione mantiene lo stato per ogni connessione che lo attraversa il livello transport richiedeva solo i due host canali, risorse dei router (banda, buffer) sono allocati a VC per ottenere performance 4: Livello Network 4-4

Circuiti virtuali: protocolli si segnalazione usati per stabilire, mantenere, rilasciare VC usati in ATM, frame-relay, X.25 non usati in Internet application transport network data link physical 5. Data flow begins 6. Receive data 4. Call connected 3. Accept call. Initiate call 2. incoming call application transport network data link physical 4: Livello Network 4-5

Reti Datagram: il modello Internet senza call setup al livello network router: senza stato delle connessioni end-to-end non c è il concetto di connessione al livello network i pacchetti instradati usando l identificatore (indirizzo) dell host destinazione pacchetti tra una coppia sorgente-destinatario possono percorrere cammini diversi tra loro application transport network data link physical. Spedizione dati 2. Ricezione dati application transport network data link physical 4: Livello Network 4-6

Modelli di servizio del livello Network: Network Architecture Service Model Bandwidth Guarantees? Loss Order Timing Congestion feedback Internet ATM ATM ATM ATM best effort CBR VBR ABR UBR none constant rate guaranteed rate guaranteed minimum none no yes yes no no no yes yes yes yes no yes yes no no no (inferred via loss) no congestion no congestion yes no 4: Livello Network 4-7

Datagram o VC: perché? Internet scambio dati tra computer servizio elastico, senza forti requisiti temporali host intelligenti (computer) possono adattarsi, effettuare controlli, riprendersi dagli errori semplici nella rete, la complessità rimane ai bordi ( edge ) molti tipi di canali caratteristiche differenti difficile un servizio uniforme ATM evoluto nel mondo della telefonia conversazione umana: requisiti temporali e di affidabilità stringenti bisogno di servizi garantiti host stupidi telefoni complessità nella rete 4: Livello Network 4-8

Routing Protocollo di Routing Obiettivo: determinare un buon cammino (sequenza di router) attraverso la rete dalla sorgente alla destinazione Astrazione con Grafo per gli algoritmi di routing: i nodi del grafo sono i router gli archi del grafo sono i canali fisici costo: ritardo, costo in denaro, o livello di congestione A 2 5 B D 2 3 3 C E buon cammino: 5 2 F di solito, cammino a costo minimo altre definizioni sono possibili 4: Livello Network 4-9

Classificazione degli algoritmi di Routing Informazione Globale o decentralizzata? Globale: tutti i router hanno informazioni sulla completa topologia e sui costi di tutti i canali algoritmi link state Decentralizzata: i router conoscono i vicini fisicamente connessi e i costi dei canali verso i vicini processo iterativo di calcolo con scambio di informazioni con i vicini algoritmi distance vector Statico o dinamico? Statico: i cammini cambiano lentamente nel tempo Dinamico: i cammini cambiano più velocemente aggiornamento periodico in risposta a modifica dei costi dei canali 4: Livello Network 4-0

Un algoritmo di routing Link-State Algoritmo di Dijkstra topologia della rete, costi dei canali conosciuti da tutti i nodi si ottiene con un broadcast dello stato dei canali tutti i nodi hanno le stesse informazioni calcola il cammino di costo minore da un nodo ( sorgente ) a tutti gli altri fornisce la tabella di routing per quel nodo iterativo: dopo k iterazioni si conosce il cammino di costo minore verso k destinazioni Notazione: c(i,j): costo del canale dal nodo i al nodo j; costo infinito se non sono adiacenti D(v): costo attuale del cammino dalla sorgente alla destinazione V p(v): nodo predecessore lungo il cammino dalla sorgente a v N: insieme di nodi il cui cammino di costo minore è definitivamente conosciuto 4: Livello Network 4-

Algoritmo di Dijsktra 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) = infinity 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 4: Livello Network 4-2

Algoritmo di Dijkstra: esempio Passo 0 2 3 4 5 A 2 start N A AD ADE ADEB ADEBC ADEBCF 5 B D 2 3 3 C E D(B),p(B) 2,A 2,A 2,A 5 2 F D(C),p(C) 5,A 4,D 3,E 3,E D(D),p(D),A D(E),p(E) infinity 2,D D(F),p(F) infinity infinity 4,E 4,E 4,E. 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 4: Livello Network 4-3

Algoritmo di Dijkstra, discussione Complessità Algoritmo: n nodi ogni iterazione: controllo di tutti i nodi, w, non in N n*(n+)/2 confronti: O(n**2) implementazione efficiente : O(nlogn) Possibili Oscillazioni: e.g., costo canali = quantità di traffico trasportato D A +e 0 0 0 e C inizio e B D A 2+e 0 0 +e C 0 B ricalcolo routing D A 0 2+e 0 0 +e C ricalcolo B D A 2+e 0 0 +e C e ricalcolo B 4: Livello Network 4-4

Algoritmi di Routing Distance Vector iterativi: continua fino a quando nessun nodo scambia informazioni. auto-terminante: nessun segnale di fine asincroni: i nodi non devono scambiarsi informazioni o iterare in maniera sincronizzata distribuiti: ogni nodo comunica solo con i vicini direttamente connessi Struttura dati Distance Table ogni nodo ha la sua una riga per ogni possibile destinazione una colonna per ogni vicino direttamente connesso al nodo esempio: nel nodo X, per destinazione Y, via il 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 4: Livello Network 4-5

Distance Table: esempio A 7 E D (C,D) E D (A,D) E D (A,B) B E 8 2 C D D = c(e,d) + min {D (C,w)} w = 2+2 = 4 D = c(e,d) + min {D (A,w)} w = 2+3 = 5 2 loop! = c(e,b) + min {D (A,w)} w = 8+6 = 4 loop! B costo per la destinazione via E destinazione D () A B C D A 7 6 4 B 4 8 9 D 5 5 4 2 4: Livello Network 4-6

Distance table forniscono la tabella di routing costo per la destinazione via E D () A B D Canale in uscita da usare, costo A 4 5 A A, destinazione B C 7 6 8 9 5 4 destination B C D,5 D,4 D 4 2 D D,4 Distance table Tabella di Routing 4: Livello Network 4-7

Routing Distance Vector: panoramica Iterativi, asincroni: ogni iterazione locale causata da: modifica dei costi dei canali locali messaggio da un vicino: il suo cammino di costo minore è cambiato Distribuiti: ogni nodo notifica solo ai vicini e solo quando il suo cammino di costo minore verso una qualunque destinazione è cambiato i vicini, a loro volta, notificano ai propri vicini questo cambiamento se necessario Ogni nodo: attesa o (cambio in costo di un canale locale o messaggio da un vicino) ricalcola la distance table se il cammino di costo minore verso una qualunque destinazione è cambiato, notificalo ai vicini 4: Livello Network 4-8

Algoritmo Distance Vector: Ad ogni nodo, X: Initialization: 2 for all adjacent nodes v: 3 D X(*,v) = infinity /* the * operator means "for all rows" */ X 4 D (v,v) = c(x,v) 5 for all destinations, y X 6 send min D (y,w) to each neighbor /* w over all X's neighbors */ w 4: Livello Network 4-9

Algoritmo Distance Vector (continua): 8 loop 9 wait (until I see a link cost change to neighbor V 0 or until I receive update from neighbor V) 2 if (c(x,v) changes by d) 3 /* change cost to all dest's via neighbor v by d */ 4 /* note: d could be positive or negative */ 5 for all destinations y: D X(y,V) = D X(y,V) + d 6 7 else if (update received from V wrt destination Y) 8 /* shortest path from V to some Y has changed */ 9 /* V has sent a new value for its min wdv(y,w) */ 20 /* call this received new value is "newval" */ 2 for the single destination y: D X (Y,V) = c(x,v) + newval 22 X 23 if we have a new min w D (Y,w)for any destination Y X 24 send new value of min D (Y,w) to all neighbors w 25 26 forever 4: Livello Network 4-20

Algoritmo Distance Vector: esempio X 2 Y 7 Z 4: Livello Network 4-2

Algoritmo Distance Vector: esempio X 2 Y 7 Z X D (Y,Z) = c(x,z) + min {D (Y,w)} w = 7+ = 8 Z Y X D (Z,Y) = c(x,y) + min {D (Z,w)} w = 2+ = 3 4: Livello Network 4-22

Distance Vector: cambio costi canale Cambio costi canale: un nodo di accorge del cambio del costo di canale locale aggiorna la sua distance table (linea 5) se il costo cambia nel cammino di costo minore, notifica il cambio ai vicini (linee 23,24) buone notizie corrono veloci X 4 Y 50 Z terminazione algoritmo 4: Livello Network 4-23

Distance Vector: cambio costi canale Cambio costi canale: le buone notizie corrono veloci le brutte molto lentamente problema del count to infinity 60 X 4 Y 50 Z l algoritmo continua 4: Livello Network 4-24

Distance Vector: poisoned reverse Se Z instrada attraverso Y per arrivare ad X: Z dice ad Y che la sua (di Z) distanza da X è infinita (così Y non instraderà verso X via Z) 60 X 4 Y 50 Z non risolve completamente il problema del count to infinity terminazione algoritmo 4: Livello Network 4-25

Confronto tra LS e DV Complessità messaggi LS: con n nodi, E canali, O(nE) messaggi spediti ognuno DV: scambio solo tra vicini il tempo di convergenza è variabile Velocità di Convergenza LS: O(n**2) l algoritmo richiede O(nE) messaggi ci possono essere oscillazioni DV: tempo di convergenza varia ci possono essere cicli di routing problema del count-toinfinity Robustezza: che succede se un router non funziona? LS: un nodo può dichiarare un costo di canale non corretto ogni nodo calcola solo la propria tabella di routing DV: un nodo può dichiarare un costo di cammino non corretto la tabella di ogni nodo è usata dagli altri nodi errori si propagano attraverso la rete 4: Livello Network 4-26

Routing gerarchico Studio del routing fino ad ora - idealizzando tutti i router identici rete piatta (flat) NON vero in pratica scaling: con 50 milioni di destinazioni: non si possono memorizzare tutte le destinazione nelle tabelle di routing! lo scambio di tabelle di routing congestionerebbe i canali! autonomia amministrativa internet = rete di reti ogni amministratore di rete potrebbe voler controllare il routing nella propria rete 4: Livello Network 4-27

Routing gerarchico aggregare routers in regioni, autonomous systems (AS) routers nello stesso AS eseguono lo stesso protocollo di routing protocollo di routing intra-as router in AS differenti possono eseguire protocolli di routing intra-as differenti gateway routers router speciali in AS eseguono protocolli di routing intra-as con tutti gli altri router nel AS anche responsabili per il routing verso destinazioni al di fuori del AS eseguono protocolli di routing inter-as con altri gateway routers 4: Livello Network 4-28

Routing Intra-AS e Inter-AS a C C.b b d A A.a a b A.c c B.a a B c Gateway: eseguono il routing inter-as tra di loro b eseguono il routing intra-as con altri router nel proprio AS routing inter-as e intra-as nel gateway A.c livello rete livello link livello fisico 4: Livello Network 4-29

Routing Intra-AS e Inter-AS a Host h C C.b b A.a Routing Inter-AS tra A e B A.c a d A b c Routing Intra-AS all interno dell AS A B.a a B c b Host h2 Routing Intra-AS all interno dell AS B Esamineremo in breve protocolli di routing inter-as e intra-as in Internet 4: Livello Network 4-30

Il livello Network in Internet Funzioni del livello Network negli host e router: Livello Transport: TCP, UDP Livello Network Protocolli di Routing selezione percorso RIP, OSPF, BGP tabella di routing protocollo IP convenzioni indirizzamento formato datagram convenzioni gestione pacchetto protocollo ICMP notifica errori segnalazione tra router Livello Link Livello fisico 4: Livello Network 4-3