Dipartimento Politecnico di Ingegneria e Architettura...

58
RETI DI CALCOLATORI II Facoltà di Ingegneria Università degli Studi di Udine Ing. DANIELE DE CANEVA RETI DI CALCOLATORI II Facoltà di Ingegneria Università degli Studi di Udine a.a. 2009/2010

Transcript of Dipartimento Politecnico di Ingegneria e Architettura...

RETI DI CALCOLATORI IIFacoltà di Ingegneria

Università degli Studi di Udine

Ing. DANIELE DE CANEVA

RETI DI CALCOLATORI IIFacoltà di Ingegneria

Università degli Studi di Udine

a.a. 2009/2010

AR

GO

MEN

TI DELLA

LEZION

E

ROUTING DINAMICO

oOSPF

oBGP

ROUTING BROADCAST

o N VIE

o FLOODING

o RPF

o ALBERO DI COPERTURA

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

Sviluppato nel 1959 da Dijkstra

1. a tutti i percorsi associato un costo infinito2. si definisce come working node il nodo di origine

3. ciclo che termina quando tutti i nodi hanno etichetta permanente:I. aggiorna il costo dei nodi adiacenti al working node

II. tra tutti i nodi con etichetta non permanente si definisce come working node quello con costo minore e si contrassegna la sua etichetta come permanente

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

w

z

y

5

2

v

u

x

2

1

5

23

1

1

3

w(5,u)

y(∞)

v(2,u)

u

x(1,u)

2

1

5

z(∞)

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

w(4,x)

y(2,u)

v(2,u)

u

x(1,u)

z(∞)3

1

2

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

w(3,y)

y(2,u)

v(2,u)

u

x(1,u)

z(4,y)

2

1

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

w(3,y)

y(2,u)

v(2,u)

u

x(1,u)

z(4,y)

3

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

w(3,y)

y(2,u)

v(2,u)

u

x(1,u)

z(4,y)

5

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

w(3,y)

y(2,u)

v(2,u)

u

x(1,u)

z(4,y)

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

A

B C

D

E F

G H

7

2

6

1

2

4

2

3

2

3

2

A

B(2,A) C(∞)

D(∞)

E(∞) F(∞)

G(6,A) H(∞)

2

6

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

A

B(2,A) C(9,B)

D(∞)

E(4,B) F(∞)

G(6,A) H(∞)

7

2

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

A

B(2,A) C(9,B)

D(∞)

E(4,B) F(6,E)

G(5,E) H(∞)

1 2

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

A

B(2,A) C(9,B)

D(∞)

E(4,B) F(6,E)

G(5,E) H(9,G)4

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

A

B(2,A) C(9,B)

D(∞)

E(4,B) F(6,E)

G(5,E) H(8,F)

3

2

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

D(10,H)A

B(2,A) C(9,B)

E(4,B) F(6,E)

G(5,E) H(8,F)

2

2

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

A

B(2,A) C(9,B)

D(10,H)

E(4,B) F(6,E)

G(5,E) H(8,F)

7

2

6

1

2

4

2

3

2

3

2

RO

UTIN

G D

INA

MIC

O

ALGORITMO SHORTEST PATH FIRST

RO

UTIN

G D

INA

MIC

O

OSPF

Sviluppato per dare risposta ai grossi problemi discalabilità e velocità di convergenza del protocollo RIP

1988 l’IETF iniziò a lavorare su OSPF (Open Shortest PathFirst), standardizzato nel 1990 con RFC 2338

Attualmente alla versione 2, è utilizzato dagli ISP di livellosuperiore

RO

UTIN

G D

INA

MIC

O -

OSP

F

OBIETTIVI PERSEGUITI DALL’IETF:

basato su standard aperto

diverse metriche

dinamico e rapido

routing basato su tipo del servizio (type of service IP) funzionalità rimossa in seguito

supporto per sistemi gerarchici

sicurezza

RO

UTIN

G D

INA

MIC

O -

OSP

F

CARATTERISTICHE

triggered updates incrementali anche periodico (30 min) per robustezza

classless

metrica: non viene imposta una politica dei pesi, costi definiti dall’amministratore hop capacità del link = inverso della banda dell’interfaccia

sicurezza: possibile autenticazione password in chiaro firma MD5 con numeri di sequenza per protezione da

attacchi ripetuti

RO

UTIN

G D

INA

MIC

O -

OSP

F

CARATTERISTICHE

multipath load balancing: fino a 16 equal-cost route perogni destinazione (utilizzati 4 di def)

supporto multicast: MOSPF

instradamento gerarchico riconosce aree e AS

RO

UTIN

G D

INA

MIC

O -

OSP

F

SVANTAGGI

memoria: più memoria per contenere topologia e tabella routing

carico computazionale: richiede extra CPU (specialmente all’accensione)

design: più complesso per gestire la divisione della gerarchica in aree

configurazione e troubleshooting

RO

UTIN

G D

INA

MIC

O -

OSP

F

GERARCHIA

gerarchia a 2 livelli: backbone + aree

area 0 area: gruppo di reti contigue usate perconfinare il propagarsi delle informazionidi routing bene per flapping routes

RO

UTIN

G D

INA

MIC

O -

OSP

F

AREE

CARATTERISTICHE:

• non si sovrappongono

• la topologia di un’area è invisibile all’esterno

• tutte le aree sono collegate alla dorsale

RO

UTIN

G D

INA

MIC

O -

OSP

F

backbone

Area 1

Area 2

Area 3

boundary

router

backbone

router

border

router

altro ASaltro AS

internal

router

RO

UTIN

G D

INA

MIC

O -

OSP

F

4 CLASSI DI ROUTER

• internal router: completamente interno a un’area

• border router: collegamento tra 2 o più aree

• backbone router: appartiene alla dorsale

• boundary router: router di confine con altri AS

le classi possono sovrapporsi! es. router di confine sono anche di dorsale

RO

UTIN

G D

INA

MIC

O -

OSP

F

3 TIPI DI PERCORSO

• intra-area: il router sorgente conosce già il percorso più breve

• inter-area: dalla sorgente alla dorsale, attraverso alla dorsale, fino alla destinazione

• inter-AS

RO

UTIN

G D

INA

MIC

O -

OSP

F

ROUTER ID

• ID univoco su tutta la rete

• criteri di scelta dell’ID:

1. l’indirizzo IP più alto sulle interfacce di loopback del router interfaccia logica e non fisica

1. in assenza di interfacce di loopback viene utilizzato l’IP più elevato sulle interfacce attive al momento dell’accensione

RO

UTIN

G D

INA

MIC

O -

OSP

F

SCAMBIO LSA

• lo scambio di LSA avviene tra nodi adiacenti

non equivale a dire vicini

una coppia di router devono creare un’adiacenza per essere considerati “neighbors” e scambiare LSA

• i vicini vengono contattati con messaggi di HELLO

poi inviati ogni 10 secondi come keepalive

se keepalive mancanti, dopo 40 sec considerato guasto

RO

UTIN

G D

INA

MIC

O -

OSP

F

SCAMBIO LSA

Per ottenere adiacenza:

• numero area

• tempi di hello e dead sulle interfacce connesse

• password preconfigurata (se presente)

• area stub flag che indica il tipo di area

• dimensione massima MTU sulle interfacce

RO

UTIN

G D

INA

MIC

O -

OSP

F

SCAMBIO LSA

raggiunto il two-way state si verifica un processo di elezione

router A router B

HELLO (values)

LSACKif match

RO

UTIN

G D

INA

MIC

O -

OSP

F

SCAMBIO LSA

Per evitare inefficienza viene creato un design client/server per ogni segmento di broadcast

fanno eccezione i point to point WAN

Designated router: nodo che mantiene le informazioni aggiornate di topologia e le propaga in tutto il segmento di broadcast

Backup designated router: per fault tollerance in caso di guasto del designated router

se DR cade viene sostituito e si elegge un nuovo BDR

Drothers: tutti gli altri nodi

RO

UTIN

G D

INA

MIC

O -

OSP

F

ELEZIONE DEL DR

• il router con più alta priorità (su 8 bit da 0 a 255, def 1)

se uguale a zero il router viene escluso dall’elezione

• a parità di priorità si sceglie il router con ID più alto

ID = 10.37.82.1

Priority = 1

A

ID = 10.37.83.37

Priority = 1

B

ID = 10.37.82.40

Priority = 1

C

BDR

ID = 10.37.81.25

Priority = 1

D

ID = 10.37.83.39

Priority = 1

E

DR

RO

UTIN

G D

INA

MIC

O -

OSP

F

POST-ELEZIONE DEL DR

! un router può fare capo a più DR/BDR se si affaccia su diversi segmenti broadcast

• si formano coppie master-slave che portano alla sincronizzazione tra DR e router (FULL STATE)

master quello con ID più alto, non necessariamente il DR

utilizzati speciali pacchetti che consentono di scambiarsi info temporali e fare query

RO

UTIN

G D

INA

MIC

O -

OSP

F

POST-ELEZIONE DEL DR

In caso di caduta di un collegamento:

1. il router avvisa il DR (multicast 224.0.0.6)

2. il DR propaga l’info agli altri router del segmento (multicast 224.0.0.5)

anche se trasmissione multicast il DR si aspetta un acknowledge da ogni altro router per conferma ricezione

! per robustezza i DR manda in flooding il suo database dei collegamenti ogni 30 minuti

RO

UTIN

G D

INA

MIC

O -

OSP

F

POST-ELEZIONE DEL DR

A B C

BDR

D E

DR

C invia un messaggio a

DR/BDR su

224.0.0.6

DR inoltra

l’informazione a

tutti su 224.0.0.5

AS1

AS2

AS3

IGP

BGP

IGP

IGP

BGP

RO

UTIN

G D

INA

MIC

O -

BG

P

ROUTING TRA AS

Protocolli diversi per ragioni:

• politico-amministrative

• scalabilità

• prestazioni

RO

UTIN

G D

INA

MIC

O -

BG

P

BGP

Attualmente utilizzata la versione 4

definita nelle RFC da 1771 a 1774

std de facto per il routing tra AS

Scopi:

• ottenere info raggiungibilità dagli AS confinanti

• propagare tali info all’interno della propria rete

• determinare i precorsi più brevi verso tali destinazioni

RO

UTIN

G D

INA

MIC

O -

BG

P

BGP

Caratteristiche:

• utilizza sessioni TCP semipermanenti sulla porta 173

le connessioni tra i router non corrispondono necessariamente a collegamenti fisici

• le destinazioni non sono host ma prefissi CIDR

• eBGP per scambio dei prefissi

• iBGP per inoltro delle info dentro l’AS

RO

UTIN

G D

INA

MIC

O -

BG

P

BGP

AS1

AS2

AS3

iBGP

eBGP

iBGP

iBGP

eBGP

RO

UTIN

G D

INA

MIC

O -

BG

P

BGP

“route BGP”: prefisso + attributi

tra cui:

• AS_PATH: elenco degli AS attraversati dall’annuncio

ottenuto per accodamento ASN

possibilità di rilevare annunci reiterati

possibilità di scelta tra diversi path

• NEXT_HOP: l’indirizzo IP dell’interfaccia utilizzata per inoltrare l’annuncio

RO

UTIN

G D

INA

MIC

O -

BG

P

BGP

Scelta tra percorsi alternativi:

• attributo di preferenza locale: assegnato dall’amministratore, si sceglie valore preferenza più alto

• AS_PATH più breve: hop come metrica

• next hop più vicino

hot potato routing

• identificatori BGP

! Nella realtà è più complesso di così

RO

UTIN

G D

INA

MIC

O -

BG

P

BGP

Politiche di instradamento:

• solo il traffico che ha origine e/o destinazione in una rete cliente

• accordi di peering: negoziati privati tra ISP

B

CA

Z

X

Y

RO

UTIN

G D

INA

MIC

O -

BG

P

MULTIPATH ROUTING?

DST

A

B C

D

Host

SRC

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

Scopo: inviare pacchetto a tutti i nodi

Tecniche:

• UNICAST a N VIE: semplice ma inefficiente, certi segmenti della rete verranno attraversati più volte

es. origine connessa con singolo segmento questo vedrà N pacchetti, uno per destinazione

! richiede conoscenza dell’indirizzo di tutti i destinatari (propagato in broadcast?)

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

• FLOODING CONTROLLATO: ogni nodo invia copia ai propri vicini tranne a quello dal quale ha ottenuto il pacchetto

! in caso di cicli si ottiene broadcast storm

E

B

CA D

E

B

CA D

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

• FLOODING CONTROLLATO: ogni nodo invia copia ai propri vicini tranne a quello dal quale ha ottenuto il pacchetto

! in caso di cicli si ottiene broadcast storm

E

B

CA D

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

• FLOODING CONTROLLATO: ogni nodo invia copia ai propri vicini tranne a quello dal quale ha ottenuto il pacchetto

! in caso di cicli si ottiene broadcast storm

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

• FLOODING CONTROLLATO

o NUMERO DI SEQUENZA: il nodo origine inserisce un identificatore e un numero di sequenza

i destinatari possono discriminare se è pacchetto ripetuto e quindi se devono inoltrarlo o meno

! deve mantenere una lista dei pacchetti visti

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

• FLOODING CONTROLLATO

o REVERSE PATH FORWARDING (RPF) (detto anche RPB Reverse Path Broadcast):

1. pacchetto inoltrato su tutte le uscite tranne quella dalla quale ho ricevuto il pacchetto

2. l’inoltro avviene solo se il pacchetto è pervenuto dal percorso più breve che collega origine al nodo

non è necessario conoscere tutto il percorso da sorgente a nodo, è sufficiente sapere quale interfaccia fa parte del percorso più breve

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

Con flooding controllato evitati i broadcast storm ma permane l’inefficienza legata a pacchetti ripetuti

! consumo di banda e CPU

• BROADCAST CON ALBERO DI COPERTURA

• assenza di cicli

albero di copertura minimo: albero per il quale la somma dei costi associati ai lati è minima

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

• BROADCAST CON ALBERO DI COPERTURA

tutti i pacchetti di broadcast seguono sempre l’albero, indipendentemente dalla sorgente

E

B D

CA F G

E

B D

CA F G

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

• BROADCAST CON ALBERO DI COPERTURA

tutti i pacchetti di broadcast seguono sempre l’albero, indipendentemente dalla sorgente

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

• BROADCAST CON ALBERO DI COPERTURA

! il problema si sposta sulla creazione dell’albero e sul suo mantenimento/aggiornamento

o APPROCCIO BASATO SUL CENTRO

1. viene stabilito un nodo che sarà la radice dell’albero

2. ogni nodo invia alla radice un messaggio di adesione

si procede per innesti

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

E

BD

CA

F

G

E

BD

CA

F

G

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING

E

BD

CA

F

G

BR

OA

DC

AST R

OU

TING

BROADCAST ROUTING