routing dinamico

Download Routing dinamico

If you can't read please download the document

Upload: marcello-missiroli

Post on 16-Apr-2017

1.707 views

Category:

Technology


3 download

TRANSCRIPT

Slide 1

Routing Dinamico

Di cosa parlemo?

Caratteristiche del routing

Differenze tra IGP e EGP

Algoritmi base di routing

Implementazioni

Caratteristiche del routing

OttimizzazioneDeve a scegliere la strada migliore. La strada dipende dalla metrica (unit di misura per calcolare la lunghezza del percorso).

SemplicitMinimizzare uso delle risorse hw e sw.

Robustezza a fronte di guasti hardware, alto traffico, l'algoritmo deve continuare a lavorare.

Rapidita' di convergenza

Flessibilit

Imparziailt *

Classificazioni del routing

Statico o Dinamico

Percorso singolo o multiplo

Gerarchici (divisione in zone, dominii o AS9

Tipo di algoritmo

Tipo di Metrica (Hops o Cost)

Il routing statico

Richiede intervento umano

Accettabile solo in reti elementari

No fault tolerance

Il routing dinamico usa protocolli che gli permette di scambiare dati aggiornati sullo stato della rete

Sulla base di questi dati, calcola la strada migliore per raggiungere la destinazione

Permette ai routers di adattarsi rapidamente alle modifiche della topologia della rete

Molto scalabile (al contrario del routing statico)

Il routing dinamico

P

I protocolli di routing dinamico usano vari meccanismi per distribuire le informazioni sullo stato della rete.

Fatto questo, possibile calcolare I percorsi tra due punti qualunque della rete.

Gli algoritmi fanno riferimento ad una branca della matematica nota come Teoria dei Grafi.

Non semplice.

Proprio no.

Protocolli di routing

P

Le varie reti e nodi che fanno parte di una organizzazione sono raggruppate in entit chiamate Sistemi Autonomi

Definizione formale: un sistema autonomo (Autonomous System, AS), in riferimento ai protocolli di routing, un gruppo di router e reti sotto il controllo di una singola e ben definita autorit amministrativa

I protocolli usati all'interno di un dato AS vengono definiti IGP (Interior Gateway Protocols)

I protocolli che collegano diversi AS (si dicono invece EGP (Exterior Gateway Protocols)

Protocolli di routing

P

Gli IGP distribuiscono solo dati relativi all'organizzazione, nulla dell'ambiente esterno

Devono adattarsi rapidamente agli errori e alle modifiche della rete

Tipicamente calcolano il percorso pi breve tra due punti (di solito utilizzando la somma dei costi di ogni percorso)

Esempi: RIP, IS-IS, OSPF

IGP

P

Per I protocolli IGP si usano di solito due tipi di algoritmi: Distance vector e Link State

Distance vectorMetafora: Chiamate un amico e gli chiedete di passare il messaggio a un altro amico.

Chiamato anche Routing per pettegolezzo!

Basato sull'algoritmo di Bellman-Ford

Poco overhead

Soggetto a incertezze e variabilit

Non vedono l'intera rete, ma si basano sulle informazioni ricevute dai vicini.

Soggetto a routing loops e count to infinity

IGP Distance Vector

Manda a me I pacchetti per raggiungere C e D

A

B

C

D

TABELLA DI A

DESTNEXTC

CB2

DB2

IGP Distance Vector

P

Link StateMetafora: Chiamate tutti gli amici che conoscete e date a tutti lo stesso messaggio.

Rimuove l'incertezza, al prezzo di elevato Overhead

Ogni router ha una visione completa della rete

Converge rapidamente a uno stato stabile

IGP Link State

Esempio

Io sono connesso a C e D

A

B

C

D

DATABASE

AB

BA

BC

BD

CB

DB

DB

IGP Link State

Io sono connesso a B

Io sono connesso a B

Esempi

Vediamo ora due simulazioni di Routing

Una piccola rete di soli 4 router. Si suppone che il costo da un router all'altro sia 1 (molto spesso non cos, e non neppure un costo simmetrico)

Simuliamo di accendere I router, per cui all'inizio non hanno alcuna idea di come sia strutturata la rete.

Esempi

v

A

B

D

C

1

4

3

2

Cold Start Distance Vector

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

DESTLINKC

ALoc0

DESTLINKC

BLoc0

DESTLINKC

CLoc0

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

DESTLINKC

ALoc0

DESTLINKC

BLoc0

DESTLINKC

CLoc0

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

DESTLINKC

ALoc0

DESTLINKC

BLoc0

A11

DESTLINKC

CLoc0

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

DESTLINKC

ALoc0

DESTLINKC

BLoc0

A11

DESTLINKC

CLoc0

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

DESTLINKC

ALoc0

D31

DESTLINKC

BLoc0

A11

DESTLINKC

CLoc0

D41

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

DESTLINKC

ALoc0

D31

DESTLINKC

BLoc0

A11

DESTLINKC

CLoc0

D41

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

DESTLINKC

ALoc0

D31

B11

DESTLINKC

BLoc0

A11

DESTLINKC

CLoc0

D41

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

DESTLINKC

ALoc0

D31

B11

DESTLINKC

BLoc0

A11

DESTLINKC

CLoc0

D41

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C41

B42

DESTLINKC

ALoc0

D31

B11

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D41

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C41

B42

DESTLINKC

ALoc0

D31

B11

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D41

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C41

B42

DESTLINKC

ALoc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D41

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C41

B42

DESTLINKC

ALoc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D41

B21

A22

Ora la rete ha assunto una configurazione stabile

Vediamo che accade se un nodo diventa indisponibile

Gestire i problemi

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C41

B42

DESTLINKC

ALoc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D41

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C4

B42

DESTLINKC

ALoc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C4

B42

DESTLINKC

ALoc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C4

B42

DESTLINKC

ALoc0

D31

B11

C3

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C4

B42

DESTLINKC

ALoc0

D31

B11

C3

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C4

B42

DESTLINKC

ALoc0

D31

B11

C3

DESTLINKC

BLoc0

A11

C21

D2

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C4

B42

DESTLINKC

ALoc0

D31

B11

C3

DESTLINKC

BLoc0

A11

C21

D2

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C4

B42

DESTLINKC

A*Loc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D2

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C4

B42

DESTLINKC

A*Loc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D2

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C43

B42

DESTLINKC

ALoc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C43

B42

DESTLINKC

ALoc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D4

B21

A22

v

A

B

D

C

1

4

3

2

DESTLINKC

DLoc0

A31

C43

B42

DESTLINKC

ALoc0

D31

B11

C32

DESTLINKC

BLoc0

A11

C21

D22

DESTLINKC

CLoc0

D43

B21

A22

Esempi

In questo caso mostreremo solo il database presente in un nodo (gli altri sono una replica di quello)

Link State

A

B

D

C

1

4

3

2

DaALinkCosto

A

B

D

C

1

4

3

2

DaALinkCosto

AB11

AD31

A

B

D

C

1

4

3

2

DaALinkCosto

AB11

AD31

A

B

D

C

1

4

3

2

DaALinkCosto

AB11

AD31

BA11

BC21

A

B

D

C

1

4

3

2

DaALinkCosto

AB11

AD31

BA11

BC21

A

B

D

C

1

4

3

2

DaALinkCosto

AB11

AD31

BA11

BC21

CB21

CD41

A

B

D

C

1

4

3

2

DaALinkCosto

AB11

AD31

BA11

BC21

CB21

CD41

A

B

D

C

1

4

3

2

DaALinkCosto

AB11

AD31

BA11

BC21

CB21

CD41

DA31

DC41

Per gestire I problemi come la caduta di una connessione necessario un campo in pi, solitamente un timestamp o un contatore progressivo.

Quando il router riceve un messaggiose il timestamp del database e' minore del timestamp del messaggio, rimpiazza il record con il nuovo valore e diffonde il messaggio.

se il timestamp del database e' maggiore trasmette il valore del database in un nuovo messaggio, attraverso l'interfaccia di arrivo.

se sono uguali, non fa nulla

Gestire i problemi

A

B

D

C

1

4

3

2

DaALinkCostoCount

AB111

AD311

BA111

BC211

CB211

CD411

DA311

DC411

A

B

D

C

1

4

3

2

DaALinkCostoCount

AB111

AD311

BA111

BC211

CB211

CD411

DA311

DC411

count=2

A

B

D

C

1

4

3

2

DaALinkCostoCount

AB111

AD311

BA111

BC211

CB211

CD411

DA311

DC42

A

B

D

C

1

4

3

2

DaALinkCostoCount

AB111

AD311

BA111

BC211

CB211

CD411

DA311

DC42

count=1

A

B

D

C

1

4

3

2

DaALinkCostoCount

AB111

AD311

BA111

BC211

CB211

CD411

DA311

DC42

Obsoleto,Invia aggiornamento

A

B

D

C

1

4

3

2

DaALinkCostoCount

AB111

AD311

BA111

BC211

CB211

CD411

DA311

DC42

count=2

E' il protocollo pi semplice e diffuso

Usa l'algoritmo Distance Vector

Esite in due versioni: RIP-1 (classful) e RIP-2 (classless)

La metrica numero dei salti (15 salti il massimo, 16 considerato infinito)

I pacchetti RIP sono impacchettati dentro normali pacchetti IP e UDP (porta 520)

Aggiornato via broadcast ogni 30 secondi. 3 minuti di inattivit la distanza fissata all'infinito

Protocolli reali: RIP

Acronimo di Open Shortest Path First

Basato su Link Statedatabase distribuito

procedura di flooding

definizione di adjacency

records speciali per routes esterne.

Protocolli reali: OSPF

Utilizza il concetto di gerarchia

Garantisce un basso utilizzo di CPU e memoria.

Utilizzato su Internet.

Raccomandato dalla IAB in sostituzione di RIP.

Progettato per : Separare hosts e routers

Utilizzo su reti broadcast (Ethernet, Token Ring o FDDI)

Utilizzo su reti non broadcast X.25 o ATM

Suddividere grandi reti in aree

Protocolli reali: OSPF(2)

In questo caso, la politica di routing permette di riunire le informazioni

Permette una maggiore scalabilit, perch le tabelle di routing risultano ridotte.

Permette inoltre di scegliere la strada migliore basandosi su molti aspetti (spesso non del tutto imparziali)

Protocolli Esterni

Il primo protocollo usato in questo aspetto fu Exterior Gateway Protocol (EGP) v3, ideato nell'1982

Permetteva il controllo polucy-based, ma Soggetto a routing loop

Non supportava CIDR

ORA E' CONSIDERATO OBSOLETO

Protocolli Reali: EGP

Successore di EGP

Connessione affidabilei router adiacenti comunicano attraverso una connessione di livello trasporto (TCP), che ne garantisce l'affidabilita'.

Protocollo Path Vector Variante del Distance vector: per ogni destinazione IP fornita la sequenza di (AS) da attraversare; inoltre, elimona il proil problema del conteggio a infinito.

Protocolli Reali: BGP

Destinazioni IP sono espresse tramite prefissi di indirizzo (CIDR) I router possono aggregare le informazioni di routing ricevute prima di propagarle

diminuzione del traffico di routing

diminuzione delle dimensioni delle basi dati nei router.

Decision ProcessOgni router ha un algoritmo per fare una classifica dei percorsi alternativi.

Protocolli Reali: BGP (2)

Riferimenti

http://netgroup-serv.polito.it/nettuno/ di Stefano Barberis ([email protected])

http://www.slideshare.net/sfouant/ip-routing-tutorial-2495478 (IP Routing Tutorial, di Stefan Fouant)

Reti di Calcolatori (A. Tanenbaum)

Licenza

Prof. Marcello Missiroli ([email protected])

You are free: to Share to copy, distribute and transmit the work

to Remix to adapt the work

to make commercial use of the work

Under the following conditions: Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Share Alike If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Prof. Marcello Missiroli