il livello network in internet - di.unito.itrossano/didattica/reti/lezione9.pdf · 4: livello...

Post on 14-Feb-2019

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related