19: 19: network layer: network layer: protocolli di...

21
1 19: 19: Network layer: Network layer: protocolli di routing in IP protocolli di routing in IP 1 R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing in IP, Maggio 2010 Routing in TCP/IP Routing in TCP/IP Una rete TCP/IP (come Internet) è costituita da un insieme di Autonomous Systems (ASs) interconnessi Ogni AS adotta un algoritmo di routing indipendente da quello adottato negli altri AS Gli algoritmi di routing degli AS sono indicati generalmente col nome di IGP (Interior Gateway Protocol) La comunicazione tra gli AS è governata da un algoritmo di routing differente, indipendente dai protocolli IGP utilizzati internamente, indicato con il nome generico di EGP (Exterior Gateway Protocol) R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing in IP, Maggio 2010 2

Upload: others

Post on 25-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

1

19: 19: Network layer:Network layer:

protocolli di routing in IPprotocolli di routing in IP

1

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

Routing in TCP/IPRouting in TCP/IP

� Una rete TCP/IP (come Internet) è costituita da un insieme di Autonomous

Systems (ASs) interconnessi

� Ogni AS adotta un algoritmo di routing indipendente da quello adottato negli

altri AS

� Gli algoritmi di routing degli AS sono indicati generalmente col nome di IGP

(Interior Gateway Protocol)

� La comunicazione tra gli AS è governata da un algoritmo di routing differente,

indipendente dai protocolli IGP utilizzati internamente, indicato con il nome

generico di EGP (Exterior Gateway Protocol)

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

2

Page 2: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

2

Fondamenti dell’instradamento in IPFondamenti dell’instradamento in IP

� Ogni datagramma IP attraversa un cammino composto da routers e da sotto-reti

� Quando un router consegna un datagramma ad una sotto-rete questo diventa l’unità di dati di servizio propria di questa sotto-rete

� La rete individuale consegna tale unità dati al prossimo router o a destinazione (se la destinazione è all'interno della rete stessa) con le stesse modalità con cui tratta le unità dati ad essa "appartenenti"

1

23

0111

Valore nell’intestazionedel pacchetto in arrivo

Algoritmo d’instradamento

Tabella di inoltro localeValore

d’intestazioneCollegamento

d’uscita

0100010101111001

3221

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

3

Fondamenti dell’instradamento in IP (cont.)Fondamenti dell’instradamento in IP (cont.)

Bridge

host mittente

router X

router Y

sub-rete A (X25)

sub-rete B (?)

host destinatario

LAN 1

LAN 2

INTERNET

PCIPCItramapacchet.

PCI ?

MACLLC

Net_id Data

Net_id Data

Net_id Data

Net_id Data

Net_id Data

Net_id Data

Net_id Data

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

4

Page 3: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

3

Instradamento direttoInstradamento diretto

� L'instradamento in Internet può essere diviso in due classi: diretto e indiretto

� L’instradamento diretto è possibile solo se l’host mittente e l’host destinatario sono connessi alla stessa sub-rete fisica (ed omogenea).

� Lo scambio di datagrammi tra hosts connessi alla stessa rete non coinvolge i routers e, previa un’operazione di traduzione di indirizzi ed incapsulamento, la risultante unità dati viene inviata direttamente a destinazione.

� L'instradamento all'interno delle sub-reti può essere qualunque e non significativo globalmente.

� Utilizza i meccanismi propri della rete in questione per inviare il datagramma.

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

5

Instradamento indirettoInstradamento indiretto

� L’instradamento indiretto si applica quando l’host destinatario è connesso ad una sub-rete diversa da quella relativa all’host mittente

� Il mittente deve identificare un router a cui inviare il datagramma; il router deve inviare il datagramma verso la rete di destinazione.

⇒ Il mittente invia il datagramma al router più vicino utilizzando la sotto-rete fisica a cui è connesso.

⇒ Il router esamina il datagramma ricevuto e decide verso quale altro router indirizzarlo.

� Il processo si ripete di router in router finché si arriva alla rete di destinazione; qui tramite un indirizzamento diretto il datagramma viene inviato allo specifico host di destinazione

� I routers formano una struttura inter-connessa e cooperativa

� I datagrammi passano di router in router finché ne raggiungono uno che può consegnare il datagramma direttamente (cioè tramite un indirizzamento diretto)

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

6

Page 4: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

4

Tabelle di instradamentoTabelle di instradamento

� Il meccanismo per l’instradamento in IP è basato su una tabella che ogni host o router mantiene allo scopo di conoscere le possibili destinazioni e le modalità per raggiungerle.

� Una tabella di instradamento contiene delle coppie (R,I) dove R è l’indirizzo della rete di destinazione e I è l’indirizzo del prossimo router lungo la strada che porta alla rete di destinazione.

� La tabella di instradamento specifica quindi solo un passo lungo il cammino verso la destinazione; un router non conosce quindi il cammino completo che il datagramma dovrà compiere

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

7

Tabelle di instradamentoTabelle di instradamento

20.0.0.5

20.0.0.6

30.0.0.6 40.0.0.7

30.0.0.7

Rete10.0.0.0

Rete20.0.0.0

Rete30.0.0.0

Rete40.0.0.0R1 R2 R3

10.0.0.5

Tabella di instradamento di R2

Per raggiungere hosts

indirizzati alla rete:

Indirizzare i datagrammi

verso questa strada (o router):

20.0.0.0 inoltrare direttamente

30.0.0.0 inoltrare direttamente

10.0.0.0 20.0.0.5

40.0.0.0 30.0.0.7

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

8

Page 5: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

5

Tabelle di instradamento (cont.)Tabelle di instradamento (cont.)

� le tabelle contengono solo informazioni sulle reti di destinazione e non sui singoli nodi, al fine di:

⇒ nascondere il più possibile i dettagli inerenti la rete⇒ mantenere piccole le tabelle di instradamento⇒ consentire un instradamento efficiente

� Se un router non trova una strada nella sua tabella allora indirizza i suoi datagrammi verso un “router di default” (generalmente una macchina più potente, destinata principalmente ad operazioni di instradamento)

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

9

Router di defaultRouter di default

� Il meccanismo del router di default è usato:

⇒ da piccoli hosts, che possono anche non avere per nulla una tabella, ed inviare tutti i datagrammi non diretti alla rete cui sono collegati al router di default

⇒ da routers o hosts con una tabella di discrete dimensioni ma che tuttavia non copre tutte le possibili destinazioni; quando arriva un datagramma destinato ad una destinazione non contemplata dalla tabella, essi si rivolgono ad un router di default.

⇒ nelle reti stub

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

10

Page 6: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

6

Aggregazione delle rotteAggregazione delle rotte

� L’indirizzamento gerarchico permette di pubblicizzare efficientemente le informazioni di routing:

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Piscali-ISP

Organizzazione 0

Organizzazione 3Internet

Organizzazione 1

ISP-Pippo “Manda a me qualunque pacchetto il cui indirizzo

inizia con 199.31.0.0/16”

200.23.20.0/23Organizzazione 2

.

.

.

.

.

.

“Manda a me qualunque pacchetto il cui indirizzo

inizia con 200.23.16.0/20”

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

11

Rotte specificheRotte specifiche

ISP-Pippo annuncia una rotta specifica per l’organizzazione 1

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Piscali-ISP

Organization 0

Organization 7Internet

Organization 1

ISP-Pippo “Manda a me qualunque pacchetto il cui indirizzo

inizia con 199.31.0.0/16

o 200.23.18.0/23”

200.23.20.0/23Organization 2

.

.

.

.

.

.

“Manda a me qualunque pacchetto il cui indirizzo

inizia con 200.23.16.0/20”

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

12

Page 7: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

7

Sistemi autonomi interconnessiSistemi autonomi interconnessi

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

13

Ciascun sistema autonomo sa come inoltrare pacchetti lungo il percorso ottimo verso qualsiasi destinazione interna al gruppo

1d

1c

AS11a 1b

Algoritmod’instradamento

(intra-AS)

Algoritmod’instradamento

(inter-AS)

Tabellad’inoltro

3b3a

AS3

3c 2a

AS2

2c2b

⇒AS2 e AS3 hanno tre router ciascuno

⇒ I protocolli d’instradamento dei tre sistemi AS non sono necessariamente gli stessi

⇒ I router 1b, 1c, 2a e 3a sono gateway

⇒Ogni AS deve affidare in modo specifico ad uno o più dei suoi routers il compito di informare il mondo esterno della sua topologia

R3

SubNet 1.2

SubNet 1.3 SubNet 1.1

SubNet 1.4

R2

R4 R1

R5

R6

R8

R7

SubNet 2.2

SubNet 2.1

SubNet 2.3

SubNet 2.4

IGP

EGP

AS 1

AS 2EG

EGEGP

Interior e Exterior Gateway ProtocolsInterior e Exterior Gateway Protocols

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

14

Page 8: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

8

Protocolli IGP: RIPProtocolli IGP: RIP

� Il primo protocollo di routing interno utilizzato in Internet è il RIP (Routing

Information Protocol), ereditato da Arpanet

� RIP è un protocollo basato sull’algoritmo distance vector

⇒ Metrica basata sul numero di hop, con infinito a costo 15

⇒ Tabelle di routing scambiate ogni 30s, con timeout a 180s

⇒ Utiliza UDP (protocollo di trasporto) per scambiare i messaggi

• è un protocollo di livello 3 che usa un protocollo di livello 4 !

� Adatto a reti di dimensioni limitate, ha iniziato a mostrare i suoi limiti già alla

fine degli anni ’70

⇒ Attualmente ancora utilizzato come protocollo di routing in piccole reti

private

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

15

RIPRIP

� E’ richiesto che ogni nodo scambi informazioni con i nodi adiacenti

⇒ due nodi sono adiacenti se sono direttamente connessi mediante la stessa rete

� E’ molto semplice, tuttavia:

⇒ la convergenza è lenta⇒ lo stato di equilibrio può essere un sub-ottimo

� Applica l’algoritmo di Bellman-Ford distribuito

� Ogni nodo x mantiene al suo interno tre vettori:

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

16

====)M,x(w

)1,x(w

Wx M

====)N,x(L

)1,x(L

Lx M

====)N,x(R

)1,x(R

Rx M

Vettore dei costi dei ramiuscenti dal nodo

Vettore delle distanzeminime verso le altre reti

Vettore dei routernext hop verso

le altre reti

Page 9: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

9

RIPRIP

� Periodicamente (circa ogni 30 s) i router adiacenti si scambiano i vettori L

⇒ un router conosce quindi l’ultima versione dei vettori L inviata dai router adiacenti

� Un nodo x aggiorna i suoi vettori nel seguente modo

⇒ M : insieme dei nodi adiacenti al nodo x⇒ Nxy : sotto-rete che interconnette i nodi x e y

xyy ML(x,n) min w(x,N ) L(y,n)

R(x,n) y∈∈∈∈

= += += += +

====

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

17

RIP: esempio RIP: esempio

Sottorete destin. Router successivo Numero di hop verso la dest.w A 2y B 2z B 7x -- 1…. …. ....

Tabella d’instradamento nel router D

w x y

z

A

C

D B

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

18

Page 10: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

10

RIP: esempioRIP: esempio

Tabella d’instradamento nel router D

Sottorete destin. Router successivo Numero di hop verso la dest.w A 2y B 2z B A 7 5x -- 1

…. …. ....

w x y

z

A

C

D B

Dest Next hopw - 1x - 1z C 4…. … ...

Notifica dalrouter A.

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

19

Messaggi RIPMessaggi RIP

� Un messaggio RIP è incapsulato in una unità dati UDP

� Pacchetto Response (“annuncio RIP” o “RIP advertisement”).

⇒ è emesso per inviare tutta o una parte della distance vector table⇒ è emesso

• ogni 30 secondi• in risposta ad un pacchetto Request• quando la “routing table” cambia (Triggered updates)

� Pacchetto Request

⇒ è emesso da un router per chiedere ad un nodo vicino l’invio della “distance vector table” o di una parte di essa

� Il formato massimo di un messaggio RIP è di 512 byte

• massimo 25 blocchi per messaggio • in caso di un numero maggiore di 25 indirizzi da aggiornare si

utilizzano messaggi RIP multipli

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

20

Page 11: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

11

Protocolli IGP: OSPFProtocolli IGP: OSPF

� Nel 1979 il routing di Internet è migrato verso un protocollo di tipo link state

⇒ ciascun router utilizza il flooding per propagare lo stato delle sue

connessioni agli altri router della rete

⇒ ciascun router conosce la topologia completa della rete

� Alla fine del 1988 ne è stato sviluppato un successore, chiamato OSPF (Open

Short Path First), definito nell’RFC 2328

� OSPF è oggi il più diffuso protocollo IGP utilizzato in Internet

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

21

Caratteristiche di OSPFCaratteristiche di OSPF

� OSPF è stato progettato cercando di soddisfare diversi requisiti

� nessun vincolo di brevetto (O = Open)

� supporto di diverse metriche per la distanza (distanza fisica, hop, ritardo,

costo della linea, …)

� reazione dinamica e rapida a modifiche di topologia (link state)

� instradamento basato sul tipo di servizio (sfruttando i campi esistenti

nell’header di IP, ad esempio); questo è stato incluso in OSPF, ma

implementazioni ed applicativi per molto tempo lo hanno ignorato

� capacità di bilanciare il carico su diversi cammini

� supporto per sistemi gerarchici (quindi routing gerarchico anche all’interno

dello stesso AS) suddividendo l’AS in aree

� implementazione di sicurezza

� supporto per il tunneling

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

22

Page 12: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

12

OSPFOSPF

� I router

⇒ hanno la responsabilità di contattare i router adiacenti e di acquisire la loro identità (pacchetti Hello);

⇒ formano i Link State Advertisement (LSA) che contengono una lista delle reti adiacenti con i relativi costi di raggiungimento gli LSA sono trasmessi a tutti gli altri router.

� Tutti i router della rete hanno lo stesso insieme di dati e quindi possono costruire lo stesso grafo pesato della rete; il grafo di rete è utilizzato per determinare i cammini ottimi.

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

23

OSPFOSPF

� Gli LSP sono emessi

⇒ quando un router contatta un nuovo router vicino⇒ quando un ramo si guasta⇒ quando il costo di un ramo varia⇒ periodicamente ogni fissato intervallo di tempo

� La rete trasporta gli LSA mediante la modalità a “inondazione” (flooding)

⇒ un LSA è rilanciato da un router su tutte le sue interfacce tranne quella da cui è stato ricevuto

⇒ gli LSA trasportano dei riferimenti temporali (time stamp) o numeri di sequenza per

• evitare il rilancio di pacchetti già rilanciati• consentire un corretto riscontro dal ricevente

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

24

Page 13: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

13

OSPFOSPF

� La modalità a “inondazione” ha i seguenti vantaggi

⇒ esplora tutti i possibili cammini tra origine e destinazione⇒ è estremamente affidabile e robusta

� Il traffico generato dipende dalle dimensioni della rete e può essere molto elevato

� Caratteristiche di OSPF:

⇒ Sicurezza: gli scambi tra router sono autenticati.⇒ Multipath: quando più percorsi verso una destinazione hanno lo stesso

costo, OSPF consente di usarli senza doverne scegliere uno, come invece avveniva in RIP

⇒ Più metriche di costo per differenti TOS⇒ Supporto integrato per l’instradamento unicast e multicast.⇒ Supporto alle gerarchie in un dominio d’instradamento.

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

25

OSPF: topologia della reteOSPF: topologia della rete

� Ogni router mantiene un database che riflette i dati aggiornati sulla topologia della rete (Link state database o Database topologico)

� La topologia di rete è rappresentata come un grafo orientato

⇒ I nodi rappresentano• router• Network

– reti di transito: non contengono host (sorgenti e/o destinazioni)– reti stub: reti non di transito

⇒ I rami rappresentano• collegamenti diretti tra nodi di tipo router• collegamenti tra nodi di tipo router e nodi di tipo network

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

26

Page 14: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

14

N11

N3

N4

N6

N7

N8

N9

N1

N2

N10

R2 R3

R1

R6

R4 R5

R7

R10R9

R11 R8

H1 R12

31

31 1

1 88

7

6

27

5

6

6

1

1

41

21

3

21

6

8

10

N12 N13 N14

N12

N15

Rete

8 88

2

9

N6

R1

R2

R4

R3 R6

R5

R7

R10

R8R11

R9

R12

N1

N2

N3

N4

N7

N8

N11

N9

N10

3

3 1

11 8

67

6

6

1

5

7

8

6

1

3

1

1

41

2

3

1

1

10 2 Grafo

8

H1

2

OSPF: topologia della reteOSPF: topologia della rete

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

27

OSPF: costruzione del grafoOSPF: costruzione del grafo

� Nel grafo rappresentativo della rete:

⇒ due router collegati da una linea punto-punto sono connessi da due rami orientati (uno per ogni verso)

⇒ più router connessi alla stessa rete sono rappresentati da nodi (router node) connessi ciascuno da due rami orientati (uno per ogni verso) al nodo rappresentativo della rete (network node)

⇒ una rete connessa ad un singolo router è rappresentata da un nodo di tipo stub

⇒ un host direttamente connesso ad un router è rappresentato con un ramo⇒ sistemi autonomi esterni sono rappresentati da nodi stub ed il costo dei

rami è determinato dal protocollo EGP

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

28

Page 15: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

15

Spanning tree e tabelle di routingSpanning tree e tabelle di routing

Ogni router calcola lo spanning tree a partire dal grafo rappresentativo della rete mediante l’algoritmo di Dijkstra

R1

R2

R4

R3 R6

R5

R7

R10

R8R11

R9

R12

N1

N2

N3

N4

N6

N7

N8

N11

N9

N10

3

3

6 8

7

2

61

3

1

4

1

3

10 2

8

8

9

2

N12

N13

N14

N12N15

H1

Destin. N. H. Dist.N1 R3 10N2 R3 10N3 R3 7N4 R3 8R1 R3 7N6 R10 8N7 R10 12N8 R10 10

Destin. N.H. Dist.

N9 R10 11

N10 R10 13

R5 R5 6R7 R10 8N12 R10 10N13 R5 14N14 R5 14N15 R10 17

N11 R10 14H1 R10 21

Spanning Tree e Routing Table in R6

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

29

Esempio di costruzione del grafoEsempio di costruzione del grafo

R1

R2

R3

R4

N1

N2

N3

N4

N5

0

0

0 0

0

00

00

1

4

3

1

2

4

3

35

Topologia di Rete Grafo

191.8.12.1

191.8.16.2

191.8.4.2

191.8.4.1

N1

191.8.4.0/10

R1

N2

191.8.8.0/10

R2

R3

N3

191.8.12.0/10

N4

191.8.16.0/10N5

191.8.20.0/10

R4

191.8.20.1 191.8.16.1 191.8.12.2

191.8.8.1

191.8.8.2

5 3

3

4

2

1

34

1

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

30

Page 16: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

16

R1

R2

R3

R4

N1

N2

N3

N4

N5

0

0

0 0

0

00

00

1

4

3

1

2

4

3

35

Grafo

R2

N1

4

N2

3

N23

R3

3

R3

0

N3

5

N1 4

R1

4

N4

7

N5

9

R1

0

N3

2

R4

5

R4

0

N4

8

N4

3

N5

5

Lista candidati

Spanning Tree

Esempio: costruzione spanning treeEsempio: costruzione spanning tree

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

31

R2

3N1 4

R1

0

R4

N2

R3

0

N3

2

0N4

3

N5

5

eth2eth1

Esempio: costruzione della tabella di instradamentoEsempio: costruzione della tabella di instradamento

Spanning tree

Network Next-HopRouter

Interfaccia Costo

N1 diretto eth1 4

N2 diretto eth2 3

N3 R3 eth2 5

N4 R1 eth1 7

N5 R1 eth1 9

Routing table

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

32

Page 17: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

17

Esempio OSPFEsempio OSPF

A B C

D E

3

2

5

1

6

4 ADestinazione

DistanzaA B C D E0 1 2 1 2

Link local 1 1 3 1

BDestinazione

DistanzaA B C D E1 0 1 2 1

Link 1 local 2 1 4

CDestinazione

DistanzaA B C D E2 1 0 2 1

Link 2 2 local 5 5

DDestinazione

DistanzaA B C D E1 2 2 0 1

Link 3 3 6 local 6

EDestinazione

DistanzaA B C D E2 1 1 1 0

Link 4 4 5 6 local

Routing Table

Database Topologico(link bidirezionali)

Da A link

A B 1

A D 3

B C 2

B E 4

D E 6

E C 5

Dist

1

1

1

1

1

1

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

33

Esempio: guasto di un ramoEsempio: guasto di un ramo

Guasto del ramo AB

A B C

D E

3

2

5

xxxx

6

4

ADestinazione

DistanzaA B C D E0 inf inf 1 inf

Link local 1 1 3 1

BDestinazione

DistanzaA B C D Einf 0 1 inf 1

Link 1 local 2 1 4

CDestinazione

DistanzaA B C D E2 1 0 2 1

Link 2 2 local 5 5

DDestinazione

DistanzaA B C D E1 2 2 0 1

Link 3 3 6 local 6

EDestinazione

DistanzaA B C D E2 1 1 1 0

Link 4 4 5 6 local

Routing Table

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

34

Page 18: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

18

A B C

D E

3

2

5

xxxx

6

4

A LinkMetric

1Inf B Link

Metric1Inf

DatabaseTopologico

Da A link

A B 1

A D 3

B C 2

B E 4

D E 6

E C 5

Dist

Inf

1

1

1

1

1

ADestinazione

DistanzaA B C D E0 3 3 1 2

Link local 3 3 3 3

BDestinazione

DistanzaA B C D E3 0 1 2 1

Link 4 local 2 4 4

CDestinazione

DistanzaA B C D E3 1 0 2 1

Link 5 2 local 5 5

DDestinazione

DistanzaA B C D E1 2 2 0 1

Link 3 6 6 local 6

EDestinazione

DistanzaA B C D E2 1 1 1 0

Link 6 4 5 6 local

Routing Table

Esempio: guasto di un ramoEsempio: guasto di un ramo

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

35

OSPF strutturato gerarchicamenteOSPF strutturato gerarchicamente

� Gerarchia su due livelli: area locale, dorsale.

⇒ Messaggio di link-state solo all’interno dell’area ⇒ Ciascun nodo ha una sua area; conosce solo la direzione (shortest path)

verso le reti nelle altre aree

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

36

Router di confine d’area: appartengono sia a un’area generica sia alla dorsale

Router di dorsale: effettuano l’instradamento all’interno della dorsale, ma non sono router di confine.

Router di confine: scambiano informazioni con i router di altri sistemi autonomi.

Page 19: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

19

3b

1d

3a

1c

2aAS3

AS1

AS21a

2c

2b

1b

3c

Instradamento tra sistemi autonomiInstradamento tra sistemi autonomi

• Supponiamo che un router in AS1 riceva un datagramma la cui destinazione ricade al di fuori di AS1⇒ Il router dovrebbe

inoltrare il pacchetto verso uno dei due gateway. Ma quale??

AS1 deve:

Sapere quali destinazioni sono raggiungibili attraverso AS2 e quali attraverso AS3

Informare tutti i router all’interno del sistema in modo che ciascuno possa configurare la propria tabella d’inoltro per gestire destinazioni esterne

→ instradamento inter-AS!

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

37

Esempio: tabella d’inoltro nel router 1dEsempio: tabella d’inoltro nel router 1d

� Supponiamo che AS1 apprenda dal proprio protocollo d’instradamento inter-AS

che la sottorete x è raggiungibile da AS3 (gateway 1c), ma non da AS2.

⇒ Il protocollo inter-AS propaga questa informazione a tutti i propri router.

⇒ Il router 1d determina, partendo dall’informazione fornita dal protocollo intra-

AS, l’interfaccia I del router sul percorso a costo minimo dal router 1d al

gateway 1c.

⇒ Il router 1d può inserire la riga (x,I) nella propria tabella d’inoltro.

3b

1d

3a

1c2a

AS3

AS1

AS21a

2c

2b

1b

3c

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

38

Page 20: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

20

Dal protocollo inter-AS si apprende

che la sottorete xè raggiungibile

attraversopiù gateway.

Si usa l’informazioned’instradamentoproveniente dal

protocollo intra-ASper determinare i costi

dei percorsi a costo minimo verso i

gateway.

Instradamento a “patata bollente”: si

sceglie il gateway che ha il costo minimo

inferiore.

Della tabella d’inoltro si determina

l’interfaccia I che conduce al gateway

a costo minimo.Si scrive (x,I)

nella tabella d’inoltro.

Esempio: scegliere fra più ASEsempio: scegliere fra più AS

� Supponiamo inoltre che AS1 apprenda dal protocollo d’instradamento tra sistemi autonomi che la sottorete x è raggiungibile da AS2 e da AS3.

⇒ Al fine di configurare la propria tabella d’inoltro, il router 1D dovrebbe determinare a quale gateway, 1b o 1c, indirizzare i pacchetti destinati alla sottorete x.

⇒ Anche questo compito spetta al protocollo d’instradamento inter-AS!⇒ Instradamento a patata bollente: il sistema autonomo si sbarazza del pacchetto

(patata bollente) non appena possibile.

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

39

BGP (protocollo di tipo EGP)BGP (protocollo di tipo EGP)

� Gli AS sono generalmente gestiti da una stessa organizzazione, e spesso

sono racchiusi entro i confini nazionali

� La connessione tra diversi AS deve essere regolata da un protocollo che

tenga conto di parametri aggiuntivi, che OSPF o altri protocolli IGP non

possono considerare

⇒ ad esempio, un AS può voler accettare pacchetti provenienti da un altro

AS solo se destinati al suo interno, ma non come transito

⇒ un AS potrebbe accettare di fare da transito per alcuni (che magari

hanno pagato per il servizio) e non per altri

� Per soddisfare queste esigenze è stato realizzato il protocollo BGP (Border

Gateway Protocol)

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

40

Page 21: 19: 19: Network layer: Network layer: protocolli di ...infocom.uniroma1.it/~inzerilli/tlc2010/lucidi/Tlc10_19_NetworkLayer... · La tabella di instradamento specifica quindi solo

21

Caratteristiche del Border Gateway ProtocolCaratteristiche del Border Gateway Protocol

� Tiene conto di vincoli indipendenti dalla logica del cammino più breve

� BGP considera la rete (costituita dai boundary router) come un grafico a maglia,

dove gli AS sono punti e le connessioni tra AS linee

� I costi delle linee ed eventuali vincoli vengono generalmente configurati

manualmente sui router

� BGP è un protocollo adattivo di tipo distance vector modificato

⇒ ogni router scambia con i vicini la propria tabella di routing

� Rispetto al distance vector: le informazioni scambiate contengono anche i

cammini completi verso le destinazioni (algoritmo path vector) � un router sa

che, per una certa strada, attraverserà determinati AS

⇒ in questo modo possono essere applicati i vincoli sul routing

� Ciò permette di risolvere il problema del conto all’infinito: ogni router sa se un

percorso scelto dal vicino passa per se stesso, e lo scarta

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

41