Il livello Network in Internet - di.unito.itrossano/DIDATTICA/reti/lezione9.pdf · 4: Livello...
Transcript of Il livello Network in Internet - di.unito.itrossano/DIDATTICA/reti/lezione9.pdf · 4: Livello...
4: Livello Network 4-31
Il livello Network in Internet
tabelladi routing
Funzioni del livello Network negli host e router:
Protocolli di Routing•selezione percorso•RIP, OSPF, BGP
protocollo IP•convenzioni indirizzamento•formato datagram•convenzioni gestione pacchetto
protocollo ICMP•notifica errori•“segnalazione” tra router
Livello Transport: TCP, UDP
Livello Link
Livello fisico
LivelloNetwork
4: Livello Network 4-32
Indirizzi IP: introduzione❒ indirizzo IP:
identificatore di 32-bit per l’interfaccia di rete di host e router
❒ interfaccia di rete:connessione tra host, router ed il canale fisico
❍ i router, tipicamente hanno interfacce multiple
❍ gli host possono avere interfacce multiple
❍ gli indirizzi IP sono associati alle interfacce e NON agli host o ai router
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
4: Livello Network 4-33
Indirizzi IP❒ indirizzo IP:
❍ parte rete (bit più a sinistra)
❍ parte host (bit più a destra)
❒ Cos’è una rete ? (dal punto di vista dell’indirizzo IP)
❍ dispositivi d’interfaccia con la stessa parte rete dell’indirizzo IP
❍ possono fisicamente raggiungere l’un l’altra senza l’intervento di router
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
rete di 3 reti IP(per gli indirizzi IP che iniziano con 223, i primi 24 bit sono l’indirizzo della rete)
LAN
4: Livello Network 4-34
Indirizzi IPCome trovare le reti?❒ Distaccare ogni
interfaccia dagli host, router
❒ Creare “isole” di reti isolate
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2223.1.2.1
223.1.2.6
223.1.3.2223.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
Sistema interconnesso composto da sei reti
4: Livello Network 4-35
Indirizzi IP
0network host
10 network host
110 network host
1110 multicast address
A
B
C
D
classe1.0.0.0 a127.255.255.255128.0.0.0 a191.255.255.255192.0.0.0 a223.255.255.255
224.0.0.0 a239.255.255.255
32 bit
data la nozione di “rete” riesaminiamo gli indirizzi IP:
indirizzamento “classful”:
4: Livello Network 4-36
Indirizzi IP: CIDR❒ indirizzamento classful:
❍ uso inefficiente dello spazio degli indirizzi, esaurimento dello spazio di indirizzamento
❍ e.g., una rete di classe B ha la possibilità di allocare indirizzi per 65K host anche se solo 2K host sono presenti nella rete
❒ CIDR: Classless InterDomain Routing❍ la porzione rete dell’indirizzo di lunghezza arbitraria❍ formato indirizzo: a.b.c.d/x, dove x è il numero di bit nella
porzione rete dell’indirizzo
11001000 00010111 00010000 00000000
parterete
partehost
200.23.16.0/23
4: Livello Network 4-37
Indirizzi IP: come averne uno?
Host (porzione host dell’indirizzo):❒ codificato dall’amministratore del sistema in un file❒ DHCP: Dynamic Host Configuration Protocol: ottiene
dinamicamente un indirizzo:❍ l’host manda un messaggio broadcast “DHCP discover”❍ il server DHCP risponde con un messaggio “DHCP offer”❍ l’host richiede un indirizzo IP con un “DHCP request”❍ il server DHCP spedisce un indirizzo IP con un “DHCP ack”
4: Livello Network 4-38
Indirizzi IP: come averne uno?Rete (porzione rete dell’indirizzo):❒ si ottiene una porzione allocata dello spazio
di indirizzi del ISP:blocco ISP 11001000 00010111 00010000 00000000 200.23.16.0/20
Organizzaz. 0 11001000 00010111 00010000 00000000 200.23.16.0/23
Organizzaz. 1 11001000 00010111 00010010 00000000 200.23.18.0/23
Organizzaz. 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….
Organizzaz. 7 11001000 00010111 00011110 00000000 200.23.30.0/23
4: Livello Network 4-39
Indirizzamento gerarchico: aggregazione di cammini
“Spediscimi qualunque informazionecon indirizzo cheinizia con200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organizzazione 0
Organizzazione 7Internet
Organizzazione 1
ISPs-R-Us
“Spediscimi qualunque informazionecon indirizzo cheinizia con199.31.0.0/16”
200.23.20.0/23Organizzazione 2
...
...
L’indirizzamento gerarchico permette un’efficiente advertisingdelle informazioni di routing:
4: Livello Network 4-40
Indirizzamento gerarchico: cammini più specifici
ISPs-R-Us ha un cammino più specifico verso Organizzazione 1
““Spediscimi qualunque informazionecon indirizzo cheinizia con200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organizzazione 0
Organizzazione 7Internet
Organizzazione 1
ISPs-R-Us “Spediscimi qualunque informazionecon indirizzo cheinizia con199.31.0.0/16o 200.23.18.0/23”
200.23.20.0/23Organizzazione 2
...
...
4: Livello Network 4-41
Indirizzi IP: l’ultimo pezzo...
Domanda: Come ottiene un ISP un blocco d’indirizzi?
Risposta: ICANN: Internet Corporation for Assigned Names and Numbers❍ alloca gli indirizzi❍ gestisce il DNS❍ assegna i nomi dei domini, risolve le dispute
4: Livello Network 4-42
Portare un datagram da sorgente a destinazione
datagram IP:
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
A
BE
campivari
ind. IPsorg.
ind. IPdest dati
❒ il datagram rimane intatto mentre viaggia da sorgente a destinazione
❒ ci interessano i campi indirizzo
Rete Dest. pros.router Nhops223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
tabella di routing in A
4: Livello Network 4-43
Portare un datagram da sorgente a destinazione
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
A
BE
Inizio in A dato un datagramindirizzato a B:
❒ ricerca l’indirizzo di rete di B❒ trova che B è sulla stessa rete
di A❒ il livello link spedirà il datagram
direttamente a B all’interno di un’unità dati (frame) del livello link
❍ B ed A sono connessi direttamente
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
campivari 223.1.1.1 223.1.1.3 dati Rete Dest. pros.router Nhops
4: Livello Network 4-44
Portare un datagram da sorgente a destinazione
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
A
BE
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Inizio in A, destinazione E:❒ ricerca l’indirizzo di rete di E❒ E su una rete differente
❍ A, E non connessi direttamente
❒ tabella di routing: il prossimo router verso E è 223.1.1.4
❒ il livello link spedisce il datagram al router 223.1.1.4 dentro un frame
❒ il datagram arriva a 223.1.1.4 ❒ continua……
campivari 223.1.1.1 223.1.2.3 dati Rete Dest. pros.router Nhops
4: Livello Network 4-45
Portare un datagram da sorgente a destinazione
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
A
BE
Arrivo a 223.1.4, destinato a 223.1.2.2
❒ ricerca l’indirizzo di rete di E❒ E sulla stessa rete
dell’interfaccia 223.1.2.9❍ router ed E direttamente
connessi❒ il livello link spedisce il
datagram a 223.1.2.2 in un frame attraverso l’interfaccia 223.1.2.9
❒ il datagram arriva a 223.1.2.2
campivari 223.1.1.1 223.1.2.3 dati destinaz router Nhops interfaccia
223.1.1 - 1 223.1.1.4223.1.2 - 1 223.1.2.9223.1.3 - 1 223.1.3.27
Rete Pross.
4: Livello Network 4-46
Formato del datagram IP
ver length
32 bits
dati(lunghezza variabile,
tipicamente un segmento TCP o UDP)
16-bit identifierInternetchecksum
time tolive
32 bit source IP address
numero versione protocollo IP
lunghezza header(byte)
max numerodi hop rimanenti
(decrementato ad ogni router)
perframmentazione/ricostruzione
lunghezza totaledel datagram (byte)
protocollo di livello superiore al quale recapitare i dati
e.g., TCP=6, UDP=17.Lista completa
in RFC 1700
head.len
type ofservice
“tipo” di dati flgs fragmentoffset
upperlayer
32 bit destination IP address
Options (if any) E.g. timestamp,memorizza il camminosvolto,specifica lalista dei routerda visitare.
4: Livello Network 4-47
Frammentazione & Ricostruzione IP❒ i canali della rete hanno un
MTU (maximum transfer size) – il più grande possibile frame a livello link.
❍ tipi di canali differenti, MTU differenti
❒ un grande datagram IP diviso (“frammentato”) all’interno della rete
❍ un datagram diventa alcuni datagram
❍ “ricostruito” solo alla destinazione finale
❍ i bit dell’header IP usati per identificare ed ordinare frammenti correlati
frammentazione: in: un grande datagramout: 3 datagram più piccoli
ricostruzione
4: Livello Network 4-48
Frammentazione & Ricostruzione IPID=x
offset=0
frag flag=0
lungh.=4000
ID=x
offset=0
fragflag=1
length=1500
ID=x
offset=1480
fragflag=1
length=1500
ID=x
offset=2960
fragflag=0
length=1040
Un grande datagram diventaalcuni datagram più piccoli
4: Livello Network 4-49
ICMP: Internet Control Message Protocol
❒ usato da host, router e gateway per comunicarsi informazioni a livello rete
❍ notifica errori: unreachable host, network, port, protocol
❍ echo request/reply (usato da ping)
❒ livello rete “sopra” IP:❍ i messaggi ICMP sono
trasportati in datagrammi IP
❒ messaggio ICMP: tipo, codice più i primi 8 byte di un datagram IP che causa un errore
Tipo Codice Description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion
control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header
4: Livello Network 4-50
Instradamento in Internet
❒ L’Internet Globale consiste di Autonomous Systems(AS) interconnessi tra loro:
❍ Stub AS: piccola azienda❍ Multihomed AS: grande azienda (no transit)❍ Transit AS: provider
❒ Instradamento a due livelli: ❍ Intra-AS: l’amministratore è responsabile della scelta❍ Inter-AS: standard unico
4: Livello Network 4-51
Gerarchia di AS in InternetIntra-AS border (exterior gateway) routers
Inter-AS interior (gateway) routers
4: Livello Network 4-52
Instradamento Intra-AS
❒ Noto anche come Interior Gateway Protocols (IGP)❒ IGP più comuni:
❍ RIP: Routing Information Protocol
❍ OSPF: Open Shortest Path First
❍ IGRP: Interior Gateway Routing Protocol (Cisco)
4: Livello Network 4-53
RIP ( Routing Information Protocol)
❒ Algoritmo di tipo Distance vector❒ Incluso nella distribuzione BSD-UNIX nel 1982❒ Metrica di distanza: # di hops (max = 15 hop)❒ Distance vector: scambiati ogni 30 secondi attraverso
un Response Message (detto anche advertisement)❒ Ogni advertisement: cammino per fino a 25 reti
destinazione
4: Livello Network 4-54
RIP (Routing Information Protocol)
Rete destinazione Prossimo router Num.di hop per dest.w A 2y B 2z B 7x -- 1…. …. ....
w x y
z
A
C
D B
Tabella di routing in D
4: Livello Network 4-55
RIP: guasto di un canale e recupero
Se non si riceve un advertisement dopo 180 sec --> il canale vicino viene dichiarato “morto”❍ i cammini attraverso il vicino sono invalidati❍ nuovi advertisement spediti ai vicini❍ i vicini, a loro volta, spediscono nuovi advertisement
(se le tabelle sono cambiate)❍ l’informazione sul guasto di un canale si propaga
velocemente a tutta la rete❍ poison reverse usato per impedire i cicli ping-pong
(distanza infinita = 16 hop)
4: Livello Network 4-56
Elaborazione della tabella in RIP
❒ le tabelle di routing RIP gestite da processi a livello application chiamato routed (demone)
❒ gli advertisements spediti in pacchetti UDP (porta 520), ripetuti periodicamente
4: Livello Network 4-57
Esempio di tabelle RIP
Router: giroflee.eurocom.fr (comando netstat –rn)
❒ Tre reti di classe C (LAN) connesse❒ Il router conosce solo la strada per le LAN connesse❒ Il router default usato per le altre destinazioni❒ Indirizzo di instradamento multicast: 224.0.0.0❒ Interfaccia loopback (per debugging)
Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ ---------127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2. 192.168.2.5 U 2 13 fa0 193.55.114. 193.55.114.6 U 3 58503 le0 192.168.3. 192.168.3.5 U 2 25 qaa0 224.0.0.0 193.55.114.6 U 3 0 le0 default 193.55.114.129 UG 0 143454
4: Livello Network 4-58
OSPF (Open Shortest Path First)
❒ “open”: pubblicamente disponibile❒ Usa un algoritmo di tipo Link State
❍ disseminazione di pacchetti LS❍ Mappa della topologia ad ogni nodo❍ Calcolo del cammino usando l’algoritmo di Dijkstra
❒ l’ advertisement OSPF contiene informazioni per ogni router connesso
❒ Gli advertisements vengono disseminati all’intero AS (attraverso il flooding)
4: Livello Network 4-59
Aspetti “avanzati” di OSPF (non in RIP)
❒ Sicurezza: tutti i messaggi OSPF sono autenticati (per impedire intrusioni); si usano connessioni TCP
❒ Cammini con lo stesso costo multipli sono consentiti (solo un cammino in RIP)
❒ Per ogni canale,metriche di costo multiple per TOS differenti (e.g., costo di canale satellitare basso per best effort; alto per real time)
❒ Supporto per unicast e multicast integrato: ❍ Multicast OSPF (MOSPF) usa lo stesso database per la
topologia di OSPF❒ OSPF gerarchico in domini grandi.
4: Livello Network 4-60
OSPF gerarchico
4: Livello Network 4-61
OSPF gerarchico
❒ Gerarchia a due livelli: area locale, backbone.❍ advertisement sullo stato dei canali solo nell’area ❍ ogni nodo ha una topologia dell’area dettagliata;
consoce solo la direzione (cammino più breve) verso reti in altre aree.
❒ Area border routers: “riassumono” le distanze verso reti nella propria area, pubblicizzano ad altri Area Border routers.
❒ Backbone routers: eseguono il routing OSPF limitatamente al backbone.
❒ Boundary routers: si connettono ad altri AS.
4: Livello Network 4-62
IGRP (Interior Gateway Routing Protocol)
❒ proprietario CISCO; successore di RIP (metà 80)❒ Distance Vector, come RIP❒ diverse metriche di costo (ritardo, banda,
affidabilità, carico ecc.)❒ usa TCP per scambiare informazioni di
aggiornamento sul routing❒ Routing privo di cicli (loop-free) usando
Distributed Updating Algorithm (DUAL)
4: Livello Network 4-63
Inter-AS routing
4: Livello Network 4-64
Routing inter-AS in Internet : BGP
❒ BGP (Border Gateway Protocol): lo standard de facto
❒ Protocollo Path Vector:❍ simile ai protocolli Distance Vector❍ ogni Border Gateway trasmette in broadcast ai
vicini (pari) un intero cammino (i.e, sequenza di AS) verso la destinazione
❍ e.g., Gateway X può spedire il suo cammino verso la destinazione Z:
Path (X,Z) = X,Y1,Y2,Y3,…,Z
4: Livello Network 4-65
Routing inter-AS in Internet : BGP
Supponiamo: gateway X spedisce il suo cammino al gateway pari W
❒ W può, o meno, selezionare il cammino offero da X❍ costo, politica (non instradare attraverso AS
concorrenti), motivi legati alla prevenzione di cicli.❒ Se W selezione il cammino offerto da X, allora:
Path (W,Z) = w, Path (X,Z)❒ Nota: X può controllare il traffico in ingresso
controllando i propri advertisement ai pari:❍ e.g., non si vuole instradare traffico verso Z -> non
pubblicizzare alcun cammino verso Z
4: Livello Network 4-66
Routing inter-AS in Internet : BGP
❒ messaggi BGP scambiati usando TCP.❒ messaggi BGP:
❍ OPEN: apre una connessione TCP con un pari ed autentica il mittente
❍ UPDATE: pubblicizza un nuovo cammino (o ne ritira uno vecchio)
❍ KEEPALIVE mantiene una connessione viva in assenza di UPDATE; inoltre, fornisce un ACK a richieste di OPEN
❍ NOTIFICATION: notifica errori in messaggi preceenti; usato anche per chiudere una connessione
4: Livello Network 4-67
Perché diversi Intra-AS e Inter-AS routing ?
Politica:❒ Inter-AS: l’amministratore vuole il controllo su come
il suo traffico viene instradato e su chi instrada attraverso la sua rete.
❒ Intra-AS: amministratore unico, nessuna decisione politica è necessaria
Scaling:❒ il routing gerrachico fa risparmiare sulle dimensioni
delle tabelle di routing, il traffico per l’aggiornamento si riduce
Prestazioni:❒ Intra-AS: può focalizzarsi sulle prestazioni❒ Inter-AS: la politica può prevalere sulle prestazioni
4: Livello Network 4-68
Panoramica Architettura di un RouterDue funzioni chiave del router:❒ eseguire gli algoritmi/protocolli di routing (RIP,
OSPF, BGP)❒ commutare i datagrams dai canali in ingresso ai canali
d’uscita
4: Livello Network 4-69
Funzioni delle porte d’ingresso
Commutazione Decentralizzata:❒ data la destinazione del datagram,
ricerca della porta d’uscita usando la tabella di routing nella memoria della porta d’ingresso
❒ obiettivo: completare l’elaborazione della porta d’ingresso alla “velocità del canale”
❒ accodamento: se i datagram arrivano più rapidamente della velocità di instradamento nella switch fabric
livello fisico:ricezione di bit
livello link:e.g., Ethernet
4: Livello Network 4-70
Accodamento nelle porte d’ingresso❒ La switch fabric è più lenta della combinazione delle
porte d’ingresso -> l’accodamento può avvenire nelle code d‘ingresso
❒ Blocco Head-of-the-Line (HOL) : datagram accodati in testa ad una coda impediscono agli altri di passare avanti
❒ ritardo di accodamento e perdite a causa dell’overflow delle code d’ingresso
4: Livello Network 4-71
Tre tipi di switching fabric
4: Livello Network 4-72
Switching attraverso la MemoriaRouter della prima generazione:❒ pacchetto copiato dall’unica CPU del sistema❒ velocità limitata dalla banda della memoria (due attraversamenti del bus per ogni datagram)
InputPort
OutputPort
Memory
System Bus
Router Moderni:❒ un processore della porta d’ingresso effettua la ricerca e copia in memoria
❒ Cisco Catalyst 8500
4: Livello Network 4-73
Switching attraverso Bus
❒ datagram dalla memoria della porta d’ingresso verso la memoria della porta d’uscita attraverso un bus condiviso
❒ contesa del bus: velocità di commutazione limitata dalla banda del bus
❒ bus a 1 Gbps, Cisco 1900: velocità sufficiente per router d’accesso o di aziende (non per reti regionali o backbone)
4: Livello Network 4-74
Switching attraverso una rete d’interconnessione
❒ superare le limitazioni della banda del bus❒ reti di Banyan, altre reti d’interconnessione
inizialmente sviluppate per connettere i processori di un sistema multiprocessore
❒ Progetto avanzato: frammentazione di datagram in celle di lunghezza fissa, commutazione delle celle attraverso la switching fabric.
❒ Cisco 12000: commuta Gbps attraverso la rete d’interconnessione
4: Livello Network 4-75
Porte d’uscita
❒ Bufferizzazione necessaria quando i datagram arrivano dalla switching fabric più velocemente di quanto si possa trasmetterli
❒ Disciplina di Scheduling selezione tra i datagram in coda quello da trasmettere
4: Livello Network 4-76
Accodamento alle porte d’uscita
❒ bufferizzazione quando la velocità d’arrivo attraverso la switching fabric eccede la velocità del canale in uscita
❒ ritardo d’accodamento e perdite dovute all’overflow dei buffer delle porte d’uscita