corso reti ed applicazioni mauro campanellacmp/corsoreti/slides05/cap4-1.pdf · 2005. 5. 17. · m....
TRANSCRIPT
Capitolo 4 - parte 1
Corso Reti ed ApplicazioniMauro Campanella
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 2
Lo strato di rete
Lo scopo è di trasportare ipacchetti dalla sorgente alladestinazione utilizzando unoschema di indirizzamento.Lo strato esiste in ogni nododella rete (host o router)La funzione principale è diindividuare un percorso,possibilmente ottimizzando alcuniparametri. Creazione di
protocolli (e algoritmi) di “routing”
retedata link
fisico
retedata link
fisico
retedata link
fisico
retedata link
fisico
retedata link
fisico
retedata link
fisico
retedata link
fisico
retedata link
fisico
applicazionetrasporto
retedata link
fisico
applicazionetrasporto
retedata link
fisico
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 3
Modelli di servizio di rete
Lo strato di rete offre allo stratodi trasporto un servizio diconsegna dei segmenti.Le caratteristiche del serviziopossono variare fra due estremi:- servizio orientato alla
connessione con garanzia diqualità (es: circuito telefonico)
- multiplexing statistico dipacchetti senza connessione esenza garanzie di qualità (es:Internet Best Effort)
? ??su circuiti virtuali
o senza ?
Ed inoltre, il servizio èofferto :
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 4
Memento: Parametri per QoS
I principali parametri per quantificare la qualità del servizioofferto da una rete basata su switching di pacchetto sono :
- ritardo in una direzione (one-way delay)- la variazione del ritardo (one-way IP packet delay variation o ipdv);- capacità;- perdita di pacchetti in una direzione (non dati) (packet loss).
L’insieme è comune a IETF e ITU-T.Nomenclatura e definizioni seguono la RFC 2330 (Frameworkfor IP Performance metrics) and sono modificate secondol’evoluzione decisa dal gruppo di lavoro IPPM di IETF.
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 5
FDM
Parziale tassonomia delle retiReti di
telecomunicazione
Reti a commutazionedi circuito
TDM
Reti a commutazionedi pacchetto
Reti a CircuitiVirtuali (VC)
Reti adatagrammi
• Il multiplexing statistico di datagrammi funziona su entrambe.• Le reti a commutazione di circuito possono offrire maggiori
garanzie di Qualità del Servizio (QoS)
WDM
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 6
Modelli opposti di rete per dati
Internet– richiesta base alla rete di
puro instradamento, senzagaranzie di QoS (Best Effort)
– intelligenza solo negli end-node, ai “bordi” della rete
– gestione errori e controllonel protocollo di trasportonegli end-node
– “agnostico” sul tipo di datalink, permettendo lacomplessità e la variabilità
Asynchronous Transfer Modeevoluzione ai dati del modellotelefonico e quindi:– richieste di sincronia e
affidabilità– servizi con garanzie di QoS– end node “stupidi”– complessità solo all’interno
della rete– basato su circuiti virtuali– rete omogenea (solo ATM)
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 7
Il modello Internet- nessuna chiamata all’inizio della connessione- router: nessun stato per connessione (flusso) cioè la gestione è pacchetto per pacchetto, senza “storia”- pacchetti smistati usando l’indirizzo di destinazione- pacchetti fra la stessa sorgente e destinazione possono
percorrere percorsi diversi- il percorso inverso può seguire un cammino differente
applicazionetrasporto
retedata link
fisico
applicazionetrasporto
retedata link
fisico
1. Invio dati 2. Ricezione dati
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 8
⇒ E’ in grado di crescere bene
Il servizio standard di rete di Internet:Best Effort
⇒ Complessità nei sistemi, rete semplice (modello end-to-end)
⇒ Degrada bene, il service non è mai rifiutato anche se le risorse sono congestionate (capacità, sistemi…)
Basato sulmultiplexing statistico
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 9
Confronto modelli di rete
Architettura
di rete
Internet
Modello diServizio
best effort
CBR
VBR
ABR
UBR
Capacità
no
costante
garantitavalore medio
minimogarantito nessunagaranzia
Perdita
no
si
si
no
no
Ordine
no
si
si
si
si
ipdv
no
si
si
no
no
SegnalazioneCongestione
no (inferitadalle perdite)
no
no
si
no
Garanzie ?
ATM suppone un traffico predicibile per poter funzionare bene,che non è possibile con traffico dati con multiplexing statistico
ATM
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 10
I circuiti virtuali (VC)
– Il circuito deve essere creato prima che i dati possano passare– un pacchetto può portare un identificatore di circuito– ogni router lungo il canale deve mantenere “stato” per ogni
circuito virtuale che lo attraversa– ulteriori risorse del router e del canale possono essere
dedicate al VC per ottenere QoS
Stabilire un canale “logico” dalla sorgente alladestinazione che si comporti come un circuito telefonico– permetta anche di avere garanzie di QoS– la rete sia parte “attiva” nella gestione del canale
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 11
I circuiti virtuali (VC)
Il circuito virtuale può essere creato manualmente, in anticipo,(circuito virtuale permanente o statico) includendo o menogaranzie di QoS. Vi è il problema della complessità di gestionemanuale dei VC il cui numero cresce almeno come N(N-1)/2,dove N è il numero di nodi coinvolti.Oppure si può usare un protocollo di segnalazione per lacreazione dinamica del VC.
In entrambi i casi vi sono problemi di– tempo per la creazione del circuito– autenticazione ed autorizzazione fra router e domini diversi– quantità di stato da memorizzare– creazione di ciruiti di backup
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 12
applicazionetrasporto
retedata link
fisico
applicazionetrasporto
retedata link
fisico
Protocollo di segnalazione
In pratica: solo ReSource reserVation Protocol (RSVP)– usato per creare, mantenere, cancellare VC di cui può
specificare caratteristiche– usato da data link quali ATM, frame-relay, X.25– usato oggi in Internet dalla tecnica a circuiti virtuali a
pacchetti chiamata Multi Protocol Label Switching (MPLS)
1. inizio chiamata 2. arrivo chiamata
3. accettazione4. connessione5. inizio flusso dati 6. ricezione dati
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 13
Algoritmi di routing
Per gli algoritmi di routing siastrae la rete fisica in grafi:- i nodi del grafo sono router- i lati del grafo sono linee fisiche- “costo” delle linee: ritardo, costo monetario, livello di congestione o di saturazione
Scopo: determinare un “buon”percorso (serie di router ecircuiti) dalla sorgente alla
destinazione.
Protocollo di Routing
A
ED
CB
F2
21
3
1
1
2
53
5
Un “buon” percorso:– tipicamente minimizza il
costo totale– altre definizioni possibili…
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 14
Classificazione degli algoritmi di routing
Informazione globale o localeglobale: tutti i router conosconol’intera topologia ed i costi:
algoritmi di “link state”decentralizzato:– i router conoscono solo i vicini
direttamente connessi ed i costirelativi
– processo iterativo di calcolo conscambio di informazione con ivicinialgoritmi di “distance vector”
Statico or dinamicoStatico:le “rotte” cambianolentamente nel tempoDinamico:“rotte” cambiano piùrapidamente– aggiornamenti periodici– reazioni a cambiamenti di
costo
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 15
Un algoritmo di routing Link-State
L’algoritmo di DijkstraLa topologia della rete e i costidelle linee noti a tutti i nodi– realizzato attraverso “link
state broadcast”– tutti i nodi hanno la stessa
informazioneCalcola il percorso con costominore da un nodo (sorgente) atutti gli altri– fornisce routing table– iterativo: dopo k iterazioni,
coverge al percorso di costominore verso k destinazioni
Notazione:c(i,j): costo della linea dalnodo i a j. Il costo è infinitose non sono primi viciniD(v): valore corrente delcosto del cammino dallasorgente alla destinazione Vp(v): nodo che precede v (edè collegato a v) nel percorsodalla sorgente a vN: insieme dei nodi di cui ilcammino di costo minore ènoto
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 16
Algoritmo di Dijsktra
1 Initializzazione: 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 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 /* il nuovo costo per v è o il vecchio costo per v oppure il 14 percorso (a costo minore) da A a w più il costo da w a v */ 15 until all nodes in N
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 17
Algoritmo di Dijsktra: esempio per A
Passo012345
N inizialeA
ADADE
ADEBADEBC
ADEBCF
D(B),p(B)2,A2,A2,A
D(C),p(C)5,A4,D3,E3,E
D(D),p(D)1,A
D(E),p(E)∞ 2,D
D(F),p(F)∞∞
4,E4,E4,E
A
ED
CB
F2
21
3
1
1
2
53
5
c(x,y) =
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 18
Algoritmo di Dijsktra: discussione
Complessità dell’algoritmo : n nodi– ogni iterazione: controllo di tutti i nodi, w, non in N e quindi
sono necessari n*(n+1)/2 confronti: O(n2)– La più efficente implementazione è dell’ordine di O( n·log(n) )
Possibili oscillazioni in funzione dei parametri di costo: per esempiose il costo del percorso è funzione della quantità di traffico.
Lentezza in caso di reti di grandi dimensioni magliate.
AD
C
B1 1+e
e0
e1 1
0 0
iniziale
AD
C
B2+e 0
001+e 1
… ricalcolo
AD
C
B0 2+e
1+e10 0
… ricalcolo
AD
C
B2+e 0
e01+e 1
… ricalcolo
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 19
Algoritmo di distance vector
Iterativo:continua fino a quandonessun nodo scambia altreinformazioniauto-terminante:nessun “segnale” di fineasincrono:l’iterazione non dipende datutti i nodi in cicli chiusidistributo (locale):ciascun nodo comunica solocon i nodi vicini
Tabella delle distanzeogni nodo ha la sua- riga per ogni possibile destinazione- colonna per ogni vicino direttamente connessoesempio: nel nodo X, destinazione Yattraverso il vicino Z:
D (Y,Z)X
distanza da X a Yvia Z come “next hop”
c(X,Z) + min {D (Y,w)}Zw
=
=
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 20
Tabella di distanze : esempio
A
E D
CB7
81
2
1
2D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
E
costo per la destinazione via
dest
inaz
ione
D (C,D)E
c(E,D) + min {D (C,w)}Dw=
= 2+2 = 4
D (A,D)E
c(E,D) + min {D (A,w)}Dw=
= 2+3 = 5
D (A,B)E
c(E,B) + min {D (A,w)}Bw=
= 8+6 = 14
loop!
loop!
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 21
Dalla tabella delle distanze a quella di routing
D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecosto alla destin. via
dest
inaz
ione
DE()
A
B
C
D
A,1
D,5
D,4
D,2
next hop (linea) in uscita da usare, costo
dest
inaz
ione
Tabella delle distanze Tabella di routing
A
E D
CB7
81
2
1
2
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 22
Routing con algoritmo di Distance Vector
Iterativo, asincrono: ogniiterazione locale è causata da:- cambio costo link locale- messaggio da un vicino: cambio del suo percorso di costo minimo verso un vicinoDistribuito (locale):ogni nodo notifica i vicini soloquando vi è un cambio dicosto di un suo percorso aduna qualsiasi destinazione– i vicini quindi notificano i
loro vicini se necessario
attende (cambio nei costilocali o messaggio dal unvicino
ricalcola la tabella distanze
se un percorso di costominimo qualsiasi è cambiato,notifica i vicini
Ogni nodo:
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 23
Confronto degli algoritmi di LS e DV
Complessità del messaggio:LS: con n nodi, E linee, O(nE)messaggi ciascun nodoDV: scambio solo fra vicini– tempo variabile
Velocità di convergenzaLS: algoritmo O(n2) cherichiede O(nE) messaggi– può oscillare
DV: tempo variabile– possibilità di loop– aumento all’infinito
Robustezza: (malfunzionamenti)LS:– nodo può segnalare un costo
errato della linea– ciascun nodo calcola solo la
sua propria tabellaDV:– nodo può segnalare un costo
di percorso errato– la tabella di ogni nodo è
usata dagli altri e l’errore sipropaga nella rete
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 24
Scalabilità del routing
scalabilità: centinaia dimilioni di destinazioni:– impossibile avere tabelle
di routing che lecontengano tutte
– tabelle troppo grandi peressere scambiate
autonomia amministrativa– Internet = rete delle reti– ciascun dominio (rete)
desidera avere la libertà didecidere il routing alproprio interno
I modelli presentati sono un’astrazione:– tutti i router identici– rete “piatta”
… la realtà è diversa
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 25
Quindi: gerarchia nel routing
Aggregare blocchi di indirizzi(e quindi router) in aree dette“autonomous systems” (AS)I router nello stesso ASutilizzano il medesimoprotocollo di routing
routing “intra-AS”Router in AS differenti possonousare protocolli di routingintra-AS differenti.
In ogni AS router speciali che :- utilizzano un protocollo intra-AS con gli altri router dell’AS- sono responsabili delle comunicazioni con altri AS
routing “inter-AS”
Il protocollo di routing fra AS èdiverso da quello interno
Gateway routers
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 26
Routing Intra-AS ed Inter-AS
Gateways:• calcolano routing
inter-AS fra di loro• calcolano routing
intra-AS con altrirouter dello stessoAS
routing intra-ASe
routing inter-ASnel gateway A.c
strato di rete
strato di data linkstrato fisico
a
b
b
aaC
A
Bd
A.aA.c
C.bB.a
cb
c
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 27
Host h2a
b
b
aaC
A
Bd c
A.aA.c
C.bB.a
cb
Hosth1
Routing intra-AS all’interno dell’AS A
Routinginter-ASfra A e B
Routing intra-ASall’interno dell’AS B
Routing Intra-AS ed Inter-AS
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 28
Lo strato di rete di Internet
tabella diinstradamento
Protocolli di routing •selezione percorso•RIP, OSPF, BGP
Protocollo IP • specifica indirizzamento• formato del datagramma • gestione dei pacchetti
Protocollo ICMP• segnalazione errori• “scoperta e segnalazione” fra router
Trasporto: TCP, UDP, …
Data Link
Fisico
Stratodi rete
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 29
Indirizzamento IP : introduzione
Indirizzo IPv4 : identificatoreintero a 32-bit senza segnoper l’interfaccia del nodo.Interfaccia: punto diconnessione fra il nodo e lalinea fisicaI router hanno tipicamentepiù di un’interfaccia, ma– anche gli host possono
avere più interfacce– uno o più indirizzi IP
possono essere associatiad un’unica interfaccia
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
notazione decimale puntata
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 30
Indirizzamento IPUn indirizzo IP è diviso in dueparti:– rete (bit più significativi)– nodo (bit meno significativi)
attraverso una maschera direte (network mask) a 32 bit(messi ad 1 per la parte di reteed a 0 per la parte di nodo).Deve essere specificato quindinon solo l’indirizzo, ma anchela maschera di rete.Tutti i nodi con identica partedi rete possono parlarsi fra lorosenza l’aiuto di un router.
222.1.1.1
222.1.1.2
222.1.1.3
222.1.1.4 333.1.2.9
333.1.2.2
333.1.2.1
111.1.3.2111.1.3.1
111.1.3.27
Rete composta di 3 “reti” IP, in cuivariano i primi tre byte per la parte direte e l’ultimo (meno significativo) per laparte di nodo. Maschera di rete:255.255.255.0
LAN
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 31
Scalabilità e semplicità:Attraverso la maschera di rete,si creano “reti” autonome e chepossono parlare con le altre retiIP solo attraverso un router.Il router deve avere unindirizzo in ogni rete.
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2223.1.2.1
223.1.2.6223.1.3.2
223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
Indirizzamento IP
Tre “reti locali” ciascunacon maschera di rete:
255.255.255.0più tre “reti estese” con
maschera 255.255.255.252
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 32
Indirizzamento IP
0 rete nodo
10 rete nodo
110 rete nodo
1110 indirizzi multicast
A
B
C
D
classeda 1.0.0.0 a127.255.255.255
da 128.0.0.0 a191.255.255.255
da 192.0.0.0 a223.255.255.255
da 224.0.0.0 a239.255.255.255
32 bit
La classificazione originale degli indirizzi in “reti”:
(Indirizzamento di tipo “class-full”)
1111 riservatiE da 244.0.0.0 a255.255.255.255
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 33
Indirizzamento IP: CIDR
Oggi usato un indirizzamenrto class-less :– per ottimizzare l’uso degli indirizzi– per esempio una rete di classe B blocca indirizzi per 65535
nodi, anche se l’ente ne possiede solo 2000CIDR: Classless InterDomain Routing– la parte di rete può avere un numero arbitrario di bit– descritto come : a.b.c.d/x, dove x è il numero di bit della
parte di rete (più significativi)
11001000 00010111 01000000 00000001rete nodo
200.23.64.1/22 : maschera di rete 255.255.252.0
M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 4 - 1 pag. 34
Indirizzamento IP: CIDR
11001000 00010111 010000 00 00000001 = 3 356 966 913
200 23 16 1
maschera di rete: 11111111 11111111 11111100=255.255.(128+64+32+16+8+4) = 255.255.252 =
255.255.(255-1-2) = 255.255.252
11001000 00010111 01000000 00000001rete nodo
200.23.64.1/22 : maschera di rete 255.255.252.0