Lezione 6: Routing Gerarchico

1 / 66

# Lezione 6: Routing Gerarchico - PowerPoint PPT Presentation

Lezione 6: Routing Gerarchico. Tabella di Routing. Operatività di un Router. Processo/i di Routing. Processo di Forwarding. L. A. N. W. A. N. Tabella di routing. Source. Next Hop. Metric. Age. Network #. Interface. 192.150.42.177. 02:03:50. D. 198.113.181.0/24. Ethernet0.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Lezione 6: Routing Gerarchico' - aisha

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Lezione 6: Routing Gerarchico

Tabella di Routing

Operatività di un Router

Processo/i di Routing

Processo di Forwarding

L

A

N

W

A

N

Tabella di routing

Source

Next Hop

Metric

Age

Network #

Interface

192.150.42.177

02:03:50

D

198.113.181.0/24

Ethernet0

[170/304793]

198.113.181.64/26

Ethernet0

192.150.42.11

[110/9936]

02:03:50

O

192.168.96.0

Ethernet0

192.150.42.177

[120/3]

00:00:20

R

192.150.42.0/24

Ethernet0

C

150.100.0.0/16

Ethernet0

192.150.42.177

[110/8506]

01:03:50

O

150.100.32.0/24

Ethernet0

192.150.42.11

[120/2]

00:00:15

R

0.0.0.0 / 0

Serial0

195.31.42.57

[1]

S

Algoritmi di routing
• Le tabelle possono essere costruite con algoritmi:
• Statico
• tabelle definite dal gestore
• il gestore ha un totale controllo dei flussi di traffico
• deve intervenire manualmente per riconfigurare la rete
• utilizzato ad es. nella parte non magliata di reti TCP/IP
• Dinamico
• tabelle calcolate con appositi algoritmi di routing ed aggiornate automaticamente ad ogni modifica della configurazione della rete
Routing statico e dinamico

Zona della rete in cui è utilizzato routing dinamico

Protocolli di Routing
• I protocolli di routing stabiliscono le regole per la comunicazione tra i vari router all’interno di una rete.
• I protocolli di routing distribuiscono dinamicamente le informazioni sulla topologia della rete necessarie per la scelta dei percorsi e le modificano quando avviene qualche cambiamento.
• Ogni protocollo di routing applica un algoritmo di routing per la scelta del percorso “più breve” sulla base delle informazioni sulla topologia della rete possedute

Distance Vector Protocol

OSPF IS-IS

RIP

Mappa dei Protocolli di Routing

IP Routing Protocols

Interior Gateway Protocol

( intra - Autonomous System)

Exterior Gateway Protocol

( inter - Autonomous Systems)

BGP

Autonomous system (AS) 1

IGP ed EGP

Internal Router

Internal Router

IGP

Internal Router

ASBorder Router

EGP

Autonomous system 2

Autonomous system 3

Struttura di Internet

INTERNET

Router

SUBNETS

Host

Gli “Autonomous Systems” o“Sistemi Autonomi”

AS 2

RIP

RIP

AS 1

BGP-4

AS 4

BGP-4

OSPF

BGP-4

BGP-4

IGRP

AS 3

IGP: RIP o OSPF?

• OSPF è un protocollo di tipo link state
• Utilizza l’algoritmo di Dijkstra
• Ogni router conosce lo stato di tutta la rete
• I cambiamenti sul routing vengono propagati istantaneamente (nel momento in cui avvengono) attraverso la tecnica del “flooding”
• Migliore convergenza rispetto al RIP
• OSPF utilizza una struttura gerarchica
• OSPF si adatta bene a reti di grandi dimensioni
• Rip è un protocollo di tipo Distance Vector
• Utilizza l’algoritmo di Bellmann-Ford
• Ogni router informa solamente i suoi vicini sulla propria tabella di routing
• I cambiamenti sul routing vengono propagati periodicamente causando un’occupazione di banda (circa ogni 30 sec.)
• Lenta convergenza
• RIP viene utilizzato in reti di piccoledimensioni
Altri protocolli di routing
• IGRP (Interior Gateway Routing Protocol) è stato sviluppato da CISCO per risolvere alcune limitazioni di RIP. Come RIP, è un protocollo “distance-vector”.
• IS-IS è molto simile ad OSFP (è un protocollo “link state”)
• EGP (Exterior Gateway Protocol) è stato il primo protocollo di routing inter-dominio utilizzato. Presenta molte limitazioni ed è stato quindi sostituito dal BGP
• BGP (Border Gateway Protocol) è il protocollo di routing inter-dominio attualmente utilizzato (nella versione BGP-4)

Distance Vector

• Ogni nodo mantiene un database con le distanze minime tra sé stesso e tutte le possibili destinazioni
• Noto anche come algoritmo di Bellman-Ford
• Ogni nodo, quando modifica le proprie tabelle di instradamento, invia ai nodi adiacenti un distance vector
• Il distance vector è un insieme di coppie
• [indirizzo - distanza]
• La distanza è espressa tramite metriche classiche quali numero di hop e costo
• Un router ricalcola le sue tabelle se:
• riceve un distance vector da un nodo adiacente diverso da quello memorizzato (più recente)
• Il calcolo consiste nella fusione di tutti i distance vector delle linee attive
• Se le tabelle risultano diverse da quelle precedenti, invia ai nodi adiacenti un nuovo distance vector

R2

R1

costo = 15

costo = 10

D

C

R

D

C

R

2

5

Ra

R3

1

0

Ra

4

10

Rb

3

10

Rb

6

30

Rc

4

60

Rb

D

C

R

7

15

Rd

5

30

Rc

1

15

R2

7

15

Rd

costo = 5

2

15

R1

8

10

Rd

3

15

R4

4

20

R1

5

45

R2

6

25

R4

D

C

R

7

25

R1

R4

2

15

Ra

8

25

R2

3

10

Rb

6

20

Rc

Distance Vector

Distance Vector: caratteristiche

Vantaggi:

Molto semplice da implementare

Svantaggi:

Possono innescarsi dei loop a causa di particolari variazioni della topologia

Converge alla velocità del link più lento e del router più lento

Difficile capirne e prevederne il comportamento su reti grandi: nessun nodo ha una mappa della rete!

L’implementazione di meccanismi migliorativi appesantisce notevolmente il protocollo

Routing Information Protocol (RIP)
• RIP appartiene alla categoria dei Distance Vector Routing Protocols
• Applica l’algoritmo di Bellman-Ford per la determinazione delle tabelle di instradamento
• E’ richiesto che ogni nodo scambi informazioni con i nodi vicini
• due nodi sono vicini se sono direttamente connessi mediante la stessa rete
• RIP è utilizzato in reti di piccole dimensioni
• E’ molto semplice, tuttavia
• la convergenza è lenta
• lo stato di equilibrio può essere un sub-ottimo
RIP: tabelle di stato
• Ogni router ha una tabelladi stato in cui compare una riga (colonna) per ciascuna rete di cui il router sia a conoscenza
• Ogni riga (colonna) contiene le seguenti informazioni:
• indirizzo identificativo della rete
• indirizzo del primo router del percorso (next hop)
• distanza dalla rete (numero minimo di reti da attraversare se metriche unitarie)

Routing Table

1

2

A

B

C

3

4

5

E

A

B

C

D

Destinazione

Destinazione

Destinazione

Destinazione

Destinazione

A

A

A

A

A

B

B

B

B

B

C

C

C

C

C

D

D

D

D

D

E

E

E

E

E

D

E

6

Distanza

Distanza

Distanza

Distanza

Distanza

?

?

?

0

?

?

0

?

?

?

0

?

?

?

?

?

0

?

?

?

?

?

?

0

?

?

?

?

local

?

?

?

?

?

local

?

local

?

?

?

?

?

?

local

?

?

local

?

?

?

Esempio RIP: Inizializzazione
• Condizione iniziale
• Routing table vuote
• Metrica
• Distanza

1

A

B

1

1

C

1

10

D

Rete Destinazione

1

Esempio RIP : Conteggio all’infinito (1)
• Uno dei problemi di RIP è il cosiddetto “conteggio all’infinito” che accade quando
• una rete diviene irrangiugibile (guasto di un link)
• le metriche non sono unitarie
• Metriche per la rete di destinazione
• Nodo D  Metrica 1 Diretto
• Nodo B  Metrica 2 Router D
• Nodo C  Metrica 3 Router B
• Nodo A  Metrica 3 Router B
Esempio RIP : Conteggio all’infinito (2)
• Se il link BD si guasta (metrica infinita):
• tutte i cammini transiteranno attraverso il nodo C
• la convergenza sarà molto lenta
• il tempo di convergenza dipende dal valore della metrica del ramo CD
• Il meccanismo è il seguente:
• Il nodo B si accorge immediatamente del guasto
• I nodi A e C mandano messaggi RIP di aggiornamento della via verso D indicando implicitamente il transito da B
• Il nodo B crede erroneamente che esista una via verso D attraverso A o C
• L’instradamento converge solo dopo che il conteggio ha raggiunto il valore del peso del link CD
• RIP usa la metrica massima uguale a 16

Step 10

Step 2

Step 4

Step 1

Step 3

Nodo

Nodo

Nodo

Nodo

Nodo

Next hop

Next hop

Next hop

Next hop

Next hop

Metr.

Metr.

Metr.

Metr.

Metr.

D

D

D

D

D

Diretto

Diretto

Diretto

Diretto

Diretto

1

1

1

1

1

B

B

B

B

B

----

C

C

C

C

5

12

4

6

C

C

C

C

C

A

B

A

A

D

5

3

6

4

11

A

A

A

A

A

B

C

C

C

C

5

3

6

4

12

Esempio RIP : Conteggio all’infinito (3)
RIP (Versione 1)
• Un messaggio RIP, come vedremo in seguito, viene incapsulato nel protocollo UDP
• Il pacchetto RIP può essere di due tipi:
• Pacchetto Request

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

• Pacchetto Response

- è 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)
RIP (Versione 1)
• Il formato massimo di un messaggio RIP è di 512 bytes
• massimo 25 blocchi per messaggio
• in caso di un numero maggiore di 25 indirizzi da aggiornare si utilizzano messaggi RIP multipli
• Non supporta la tecnica della subnet mask
• un router deve conoscere la struttura degli indirizzi
• La metrica usata è la distanza (intero compreso da 1 a 16)
• il valore 16 indica infinito
• Se un router non riceve notizie da uno dei suoi vicini per più di 180 secondi la metrica del vicino nella propria tabella viene posta a ∞ (16) e l’informazione viene propagata ai router vicini che la diffonderanno su tutta la rete
• In caso di variazioni consecutive dello stato dei link i messaggi RIP sono emessi con intervallo da 1 a 5 secondi

Command

Version

0

0

0

0

distance

0

0

0

0

0

0

distance

Fino a 25

Formato pacchetto RIP (Versione 1)
• Command
• request
• response
• Version
• Block
• rete, sottorete o host
• Metric
• distanza dalla rete indicata nell’IP address
RIP (Versione 2)
• Estende le funzionalità di RIP-1
• può essere utilizzato in reti di media dimensione
• supporta la tecnica di subnetting variabile o supernetting (CIDR)
• è compatibile con RIP-1
• router di diverso tipo possono coesistere in una stessa rete
• Le metrica utilizzata è identica a quella di RIP-1
• distanza (intero da 1 a 16)
• il valore 16 indica infinito
• RIP-2 utilizza i byte inutilizzati nel formato dei pacchetti RIP-1

Command

Version

Routing Domain

Route Tag

distance

Next Hop

Route Tag

distance

Next Hop

Route Tag

Fino a 25

Next Hop

Formato pacchetto RIP (Versione 2)
• Route Tag
• gestisce l’interoperabilità con altri protocolli di routing (es. EGP)
• rete, sottorete o host
• specifica come interpretare i bit dell’indirizzo
• Next Hop
• indica quale è il next hop router a cui il router emittente il messaggio RIP invierà i pacchetti diretti all’indirizzo specificato
• Metric
• distanza della rete indicata nell’IP address dal router emittente
• I protocolli “Link State” sono adatti a reti di grandi dimensioni
• Principi base:
• i router hanno la responsabilità di contattare i router vicini e acquisire la loro identità (pacchetti Hello)
• i router emettono i link statepackets (LSP) che contengono la lista delle reti connesse al router (vicini) ed i loro costi associati
• gli LSP sono trasmessi a tutti gli altri router (flooding)
• tutti i router hanno lo stesso insieme di dati e quindi possono costruire la stessa mappa della rete (database topologico)
• le mappe di rete sono utilizzate per determinare i cammini migliori e quindi l’instradamento
• Gli LSP sono emessi
• quando un router contatta un nuovo router vicino
• quando un link si guasta
• quando il costo di un link varia
• periodicamente ogni fissato intervallo di tempo
• La rete trasporta gli LSP mediante la tecnica del flooding
• un LSP è rilanciato da un router su tutte le sue interfacce tranne quella da cui è stato ricevuto
• gli LSP trasportano dei riferimenti temporali (time stamp) o numeri di sequenza per
• evitare il rilancio di pacchetti già rilanciati
• consentire un corretto riscontro dal ricevente
Tecnica del “Flooding”
• Assicura che tutti i router di una rete
• riescano a costruire un database contenente lo stato della rete
• abbiano le stesse informazioni sullo stato dei link
• Alla ricezione di un LSP:
• un router esamina i campi di un LSP: link identifier, metrica, età e numero di sequenza
• se il dato non è contenuto nel database, viene memorizzato e l’LSP è rilanciato su tutte le interfacce del router tranne quella di ricezione
• se il dato ricevuto è più recente di quello contenuto nel database, il suo valore è memorizzato e l’LSP è rilanciato su tutte le interfacce del router tranne quella di ricezione
• se il dato ricevuto è più vecchio di quello contenuto nel database, viene rilanciato un LSP con il valore contenuto nel database esclusivamente sull’interfaccia di arrivo dell’LSP
• se i due dati sono della stessa età non viene eseguita alcuna operazione

a

Costo

1

b

G

D

C

B

A

E

F

2

1

5

4

2

6

1

c

7

3

2

1

d

1

e

Esempio di LSP database

LSP Database

A B/2 D/5 a/1

B A/2 C/2 b/1

C B/2 D/4 E/3

D A/5 F/6 G/7 C/4

E C/3 G/2

F D/6 c/1

G D/7 E/2 d/1 e/1

(replicato su ogni router)

a

b

1

E

G

B

C

D

F

2

1

A

5

2

6

1

c

3

2

1

d

1

e

Tabella di routing

Ogni router calcola inizialmente le sue tabelle di routing applicando alla mappa della rete l'algoritmo di Dijkstra o SPF (Shortest Path First)

Tabella di routing di A

Dest via costo

a diretto 1

b B 3

c D 12

d B 10

e B 10

B diretto 2

C B 4

D diretto 5

E B 7

F D 11

G B 9

• Vantaggi:
• Può gestire reti di grandi dimensioni
• Ha una convergenza rapida
• Difficilmente genera loop, e comunque è in grado di identificarli e interromperli facilmente
• Facile da capire: ogni nodo ha la mappa della rete
• Svantaggi:
• Molto complesso da realizzare (la prima implementazione ha richiesto a Digital 5 anni)
Open Shorthest Path First (OSPF)
• E’ un protocollo di tipo link-state che supera le limitazioni del protocollo RIP
• Consente una maggiore velocità di convergenza
• Algoritmo:
• inizialmente ogni router determina il costo dei rami uscenti (Hello)
• invia questi dati a tutti i router della rete (tecnica flooding)
• continua a monitorare il costo dei propri rami
• in caso di variazione del costo di un ramo, il router invia il nuovo valore del costo di quel ramo a tutti i router
• Ogni nodo conosce quindi lo stato dell’intera rete e può usare localmente l’algoritmo di Dijkstra

OSPF e i domini di instradamento 1/4

Il formato del database, la durata del calcolo delle distanze ed il volume dei messaggi aumenta con l'aumentare della rete. Se questa diventa molto grande, tutti questi fattori diventano eccessivi; la memoria richiesta e' troppa, i calcoli richiedono lunghi tempi ed il carico della rete non e' più sopportabile. La risposta a questo problema e' il "routing gerarchico" ossia la suddivisione della rete in un set di parti indipendenti connesse attraverso un "backbone".

In OSPF le parti indipendenti sono chiamate areee la parte superiore e' chiamata "Backbone area".

Allo scopo di connettere l'intera rete, alcuni routers appartengono a piu' aree - tipicamente a un'area a basso livello e all'area di backbone. Questi routers sono chiamati "area-border routers" (ABR): ci deve essere perlomeno un ABR in ciascun area, per connetterla al backbone. Gli ABR mantengono numerosi database, uno per ciascuna area alla quale appartengono ed ogni area include un set di sottoreti IP.

35

OSPF e i domini di instradamento 2/4

• Oltre agli ABR (router di bordo area), possiamo distinguere ancora 3 tipologie di router:
• Internal router (router interni all’area): sono i router che gestiscono il traffico all'interno della stessa area
• Backbone Router : sono i router della backbone area
• Autonomous System Boundary Router (ASBR – router di confine) : sono gateway per il traffico esterno e convertono i percorsi nel dominio OSPF appresi da altri protocolli come BGP e EIGRP.

OSPF e i domini di instradamento 3/4

Nella seguente figura, viene illustrato un esempio di rete composta da 4 aree (delle quali una e' l'area di backbone) e da una serie di router interni, ABR e ASBR:

OSPF e i domini di instradamento 4/4

• Vengono inoltre definiti due router con incarichi particolari:
• il Designated Router (DR)
• il Backup Designated Router (DR)
• Il DR è un router eletto dagli altri router appartenenti alla sua area per ridurre il traffico di rete. Il DR memorizza una tabella completa sulla topologia della rete e manda gli aggiornamenti agli altri router.
• In questo modo tutti i router non devono costantemente aggiornarsi l'un l'altro ma ricevono tutti gli aggiornamenti da una singola sorgente.
• Un backup designated router (BDR, router di backup predefinito) è un router che diventa il principale se il router principale in uso ha un problema o si guasta.

I sotto-protocolli di OSPF

• Il protocollo OSPF è composto da tre sotto-protocolli:
• Hello
•   Exchange
•   Flooding
• tutti i pacchetti condividono un unico header comune.

• Version: Indica la corrente versione di OSPF, attualmente 2
• Type: il tipo di pacchetto OSPF trasportato
• Packet Lenght : numero di bytes del pacchetto
• Router_ID: indirizzo IP scelto per identificare il router
• Area_ID: numero che identifica univocamente l’area all’interno del dominio OSPF; spesso viene scelto un indirizzo IP. Un valore 0 identifica il backbone.
• Checksum: Viene calcolato sull'intero pacchetto OSPF, con l'esclusione degli 8 bytes del campo Authentication.
• Authentication Type: Identifica l'algoritmo di identificazione; ne sono definiti tre tipi:
• 0: No authentication
•  1: Simple authentication
• 2: Cryptographic authentication

I sotto-protocolli di OSPF

Il sotto-protocollo HELLO

• Il sotto-protocollo "Hello" viene utilizzato per due scopi ben precisi:
• Elezione del "Designed Router" e del "Backup Designed Router“.
• I pacchetti "Hello" vengono trasmessi solo tra nodi vicini e mai propagati. Il campo "Type" dell‘ header comune vale 1 per questo protocollo.

I sotto-protocolli di OSPF

Il sotto-protocollo HELLO

• Network Mask: netmask associata all’interfaccia da cui viene emesso il pacchetto
• Hello Interval: comunica ogni quanti secondi viene emesso un pacchetto di Hello
• Options: vengono definiti solo gli ultimi 2 bit
• E: se il router è in grado di inviare e ricevere route esterne; è pari a 0 se l’interfaccia appartiene ad una stub area
• T: se il router è in grado di gestire il routing TOS
• Priority: serve per l’elezione del Designed Router e viene settato da management. Ciascun router e' configurato con una priorita', che puo' variare tra 0 e 255. Viene eletto DR il router che ha la priorità più alta.
• Dead_Interval: intervallo di tempo di validità dei pacchetti di Hello ricevuti.
• DR, BDR: indirizzo del Designated Router - BDR (0 se non sono ancora stati definiti)
• Neighbor: lista di router_ID da cui è stato ricevuto il pacchetto di Hello negli ultimi Dead_Interval secondi

I sotto-protocolli di OSPF

Il sotto-protocollo EXCHANGE

Quando due routers OSPF stabiliscono la connessione su di un link punto a punto, devono sincronizzare i propri database; sui link di una rete questo accade tra i routers ed il DR o il BDR.

La sincronizzazione iniziale avviene tramite il protocollo "exchange"; di seguito sara' il protocollo flooding ad occuparsi di mantenere sincronizzati i database.

Il protocollo utilizza un record, il "Database Description Packet", riconosciuto dal valore 2 presente nel campo "Type" dell'header.

I sotto-protocolli di OSPF

Il sotto-protocollo EXCHANGE

• Options: e' equivalente al pacchetto Hello
• E: se il router è in grado di inviare e ricevere route esterne; è pari a 0 se l’interfaccia appartiene ad una stub area
• T: se il router è in grado di gestire il routing TOS
• I: Initialize
• M: More
• MS: Master - Slave (1= Master)
• DD SN: numero di sequenza del pacchetto DD

I sotto-protocolli di OSPF

Il sotto-protocollo EXCHANGE: La procedura

• Il router che vuole iniziare la procedura emette un pacchetto vuoto "Database Description" con I, M e MS settati ed il numero di sequenza settato ad un valore arbitrario.
• L’altro router risponde emettendo un pacchetto DD di "Acknowledgment", con lo stesso numero di sequenza ed i bit I ed M settati a 1 e MS a 0 (slave).
• Il primo router può quindi iniziare ad inviare le descrizioni da lui possedute ed emette pacchetti DD con I settato a 0, M ed MS settati ad 1 (eccetto M per l’ultimo pacchetto). I pacchetti saranno numerati in sequenza ed inviati uno alla volta.
• Lo slave risponde ad ogni pacchetto con un DD Acknowledgment che riporta la sua descrizione del database, caratterizzato dallo stesso numero di sequenza ma con il bit MS settato a 0.
• Se il master non riceve l’Ack entro un certo intervallo ri-invia il pacchetto originale DD.
• Se viceversa e' lo slave che non ha finito di trasmettere le sue descrizioni:
• In corrispondenza del pacchetto del Sender con M=0 emette un pacchetto DD con M = 1
• Il master continua ad inviare pacchetti vuoti con M = 0, ed accettare gli Ack (pieni) che gli arrivano dallo slave
• La procedura di sincronizzazione termina quando anche lo Slave invia un pacchetto con M = 0

I sotto-protocolli di OSPF

Il sotto-protocollo FLOODING

• Il protocollo flooding viene utilizzato per diffondere (processo di forwarding) a tutta la rete il nuovo stato di un link.
• Questi aggiornamenti vengono inviati, attraverso il pacchetto di "Link State Update", nel caso di:
• un cambiamento di stato del link
• allo scadere di un timer (normalmente 60 min)
• Il pacchetto "Link State Update", che caratterizza il campo "Type" dell‘header comune con il valore 4, e' di seguito riportato:
• Number of Advertisement:  è il numero di LSA che vengono trasportati dal pacchetto in esame in quanto e' possibile trasportare più LSA
• LSA: è il Link State vero e proprio

I sotto-protocolli di OSPF

Gli LSA del pacchetto Link State Update vengono normalmente riconosciuti, attraverso una conferma dell'avvenuta ricezione, con il pacchetto di Link State Acknowledgment, che caratterizza il campo "Type" dell‘ header comune con il valore 5, e che e' di seguito riportato:

Ciascun pacchetto di acknowledgment contiene una serie di campi con lo stesso formato del pacchetto di "database description" del protocollo di exchange.

A tutti gli effetti, il Link State Advertisment (LSA) e' l'effettiva struttura dati che trasporta le informazioni ed e' la corrispondente del LSP visto per l'algoritmo teorico Link State.

Gli LSA vengono propagati in tutta la rete tramite la tecnica del flooding: ogni router che riceve un LSA lo invia su tutte le interfacce tranne quella da cui lo ha ricevuto.

OSPF : Topologia della Rete (1/2)
• 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 (contengono host)
• I rami rappresentano
• collegamenti diretti tra nodi di tipo router
• collegamenti tra nodi di tipo router e nodi di tipo network

Rete

R1

N13

N12

N14

3

1

N1

8

R5

N3

R4

N1

8

R1

1

8

8

3

1

8

3

1

N3

N2

8

R4

8

R5

1

6

7

6

1

6

R2

1

1

8

7

3

N2

R3

6

R6

R2

R3

8

6

6

N12

R6

2

6

2

6

2

5

R7

7

N11

N4

R7

N4

7

1

9

1

N11

5

N15

3

1

N6

R10

3

R9

N6

R10

R9

1

1

1

3

2

N8

1

R11

R8

1

N9

R8

2

N9

4

R11

1

N8

1

4

N7

1

H1

N10

10

2

N7

N10

H1

R12

10

2

Grafo

R12

OSPF: Topologia della Rete (2/2)

N12

8

R1

3

N13

N1

N3

R4

R5

8

3

N2

8

6

1

N14

R2

6

R3

N12

R6

N15

2

2

R7

9

N11

N4

7

Destin.

N. H.

Dist.

Destin.

N.H.

Dist.

N1

R3

10

N10

R10

13

3

1

N2

R3

10

N11

R10

14

R10

R9

N6

N3

R3

7

H1

R10

21

N4

R3

8

R5

R5

6

3

R1

R3

7

R7

R10

8

1

N9

R8

N6

R10

8

N12

R10

10

R11

N7

R10

12

N13

R5

14

N8

4

H1

N8

R10

10

N14

R5

14

N10

N9

R10

11

N15

R10

17

N7

10

2

R12

Spanning Tree e Tabelle di Routing
• Ogni router calcola lo spanning tree a partire dal grafo rappresentativo della rete mediante l’algoritmo di Dijkstra

Spanning Tree e Routing Table in R6

OSPF: Costruzione delleTabelle di Routing
• Nodi vicini si riconoscono attraverso messaggi di “Hello”
• Una volta riconosciutisi, instaurano rapporti di adiacenza
• Nodi adiacenti si scambiano le informazioni sulla topologia dell’intera rete in loro possesso (flooding)
• A regime tutti i nodi hanno una visione completa (ed uguale) della topologia di tutta la rete (Database Topologico)
• A partire dal database topologico ogni router costruisce la propria tabella di routing

B

4(5)

1(15)

3(15)

D

Database Topologico

A

2(25)

5(10)

C

Ogni router

calcola i percorsi a

costo più basso

Routing Table for A

Algoritmo SPF

(Dijkstra)

OSPF: Costruzione delleTabelle di Routing

Routing Table

1

2

A

B

C

3

4

5

E

C

A

D

B

Destinazione

Destinazione

Destinazione

Destinazione

Destinazione

A

A

A

A

A

B

B

B

B

B

C

C

C

C

C

D

D

D

D

D

E

E

E

E

E

D

E

6

Distanza

Distanza

Distanza

Distanza

Distanza

2

1

1

0

2

2

1

1

1

0

2

1

1

0

2

1

2

0

2

1

2

0

1

1

1

1

local

2

3

4

local

2

3

4

1

6

local

1

5

2

3

1

6

local

5

5

1

4

local

6

Da

A

Dist

A

B

1

1

A

D

3

1

B

C

2

1

B

E

4

1

D

E

6

1

E

C

5

1

Esempio OSPF (1/3)

Routing Table

xxxx

2

A

B

C

3

4

5

E

A

B

C

D

Destinazione

Destinazione

Destinazione

Destinazione

Destinazione

A

A

A

A

A

B

B

B

B

B

C

C

C

C

C

D

D

D

D

D

E

E

E

E

E

D

E

6

Distanza

Distanza

Distanza

Distanza

Distanza

2

2

1

0

inf

1

0

2

1

inf

0

1

1

2

inf

2

0

1

inf

1

1

1

1

0

inf

3

4

2

local

1

3

4

1

2

local

6

local

2

5

1

1

3

5

local

6

5

local

1

6

4

Esempio OSPF (2/3)
• Guasto del ramo AB

Routing Table

xxxx

2

A

B

C

3

4

5

E

D

C

B

A

Destinazione

Destinazione

Destinazione

Destinazione

Destinazione

A

A

A

A

A

B

B

B

B

B

C

C

C

C

C

D

D

D

D

D

E

E

E

E

E

D

E

6

Distanza

Distanza

Distanza

Distanza

Distanza

0

1

3

3

2

1

0

1

2

3

2

1

0

1

3

0

2

1

1

2

0

2

1

1

1

local

6

4

5

3

2

local

6

4

3

3

6

2

5

local

local

5

3

4

6

4

6

3

local

5

A

1

1

B

Inf

Inf

Metric

Metric

Da

A

Dist

A

B

1

Inf

A

D

3

1

Database

Topologico

B

C

2

1

B

E

4

1

D

E

6

1

E

C

5

1

Esempio OSPF (3/3)
Exterior Gateway Protocol (EGP)

Gli EGP sono i protocolli che vengono utilizzati nella comunicazione tra i

router di confine tra AS.

Devono eseguire quindi sia protocolli di routing intra-AS che inter-AS

Limiti degli IGP come EGP

Come già detto, gli algoritmi d’instradamento e i relativi IGP non sono adatti per essere applicati come EGP, in quanto:

i protocolli del tipo RIP

Si assume che tutti i router utilizzino la stessa metrica; questa condizione non è garantita tra AS diversi;

non ci sono indicazioni dei router intermedi lungo il cammino; in un ambiente inter-AS ci possono essere dei transiti privilegiati e dei transiti proibiti;

nei protocolli del tipo OSPF

AS diversi possono utilizzare metriche diverse;

la modalità a “inondazione” è inapplicabile tra AS diversi.

protocollo EGP

EGP è stato il primo protocollo di tipo EGP (da cui prende il nome) nato negli anni 80. Oggi non è più utilizzato per la sua lentezza e perché non supporta cammini alternativi.

È stato completamente sostituito da BGP, nel 1989, che è diventato lo standard degli EGP

BGP (1/3)

Nei protocolli EGP, come è BGP (Border Gateway Protocol), si usa l’instradamento a “Vettore di percorso” (path-vector routing).

La tecnica PATH VECTOR è una variante del Distance Vector che permette la memorizzazione dell'intero percorso tra gli AS e non obbliga tutti gli AS ad usare la stessa metrica.

Nel path vector i nodi si scambiano informazioni sui percorsi anziché sui costi:

– il vettore che ogni router manda ai vicini contiene l’intero cammino che il pacchetto deve seguire

– Ogni nodo applica le proprie regole

Ogni entry nella routing table contiene: la rete di destinazione, il

prossimo router e il percorso per arrivare a destinazione

BGP (2/3)

• Esempio: Vediamo un esempio di applicazione dell’algoritmo “Path vector”.

Obiettivo è trovare il percorso migliore per raggiungere l’AS D. Ogni AS segnala il suo percorso preferenziale per raggiungere D (le freccie indicano il percorso della segnalazione). Ad esempio quando il nodo B riceve le due segnalazioni CD ed ED seleziona tra queste quella che reputa migliore (ad esempio CD) e informa i ruoter successivi sul suo percorso preferenziale verso D (ovvero BCD). La selezione del percorso avviene sulla base di regole locali definite su ogni AS (esempio evitare il nodo E perchè lento ed inaffidabile, dare percedenza ai percorsi più brevi, etc.).

BGP (3/3)

Si utilizzano quindi solo informazioni di raggiungibilità: si determina la lista degli AS che devono essere attraversati per raggiungere una particolare rete lungo un particolare cammino;

l’instradamento terrà conto di eventuali preferenze per alcuni AS rispetto ad altri (accordi commerciali, prestazioni, ecc.).

Permette ai router di bordo di un AS (BGP Speaker) di scambiarsi informazioni di raggiungibilità tra AS diversi.

Supporta il meccanismo di indirizzamento CIDR.

Lo scambio di messaggi BGP è supportato da connessioni TCP.

La versione più recente è BGP-4.

Esempio di applicazione BGP (1/3)

SubNet 3.3

SubNet 3.2

R11

AS 3

R10

SubNet 3.1

SubNet 1.2

SubNet 2.1

SubNet 2.4

R9

R3

R2

R6

R7

SubNet 1.3

SubNet 1.1

SubNet 2.2

R5

R4

R1

AS 2

BGP

relationship

R8

SubNet 1.4

SubNet 2.3

AS 1

Esempio di applicazione BGP (2/3)

I router R1, R5 e R9 sono rispettivamente i BGP speaker degli AS1, AS2 e AS3.

I router R1, R5 e R9 implementano anche un protocollo IGP (es. OSPF) e quindi conoscono la struttura interna dei propri AS.

Il router R1 emette un messaggio BGP verso R5 con:

l’identità di AS1;

l’indirizzo IP di R1;

la lista delle sottoreti di AS1.

R5 memorizza che le reti di AS1 sono raggiungibili tramite R1.

Esempio di applicazione BGP (3/3)

R5 emette un messaggio BGP verso R9 contenente:

le identità di AS1 e AS2;

l’indirizzo IP di R5;

la lista delle sottoreti di AS1.

Il messaggio avverte R9 che le reti di AS1 sono raggiungibili tramite il router R5 e che nel cammino sono attraversati sia AS2 che AS1.

A sua volta R9 invia, verso i router appartenenti a AS adiacenti, un messaggio BGP contenente:

le identità di AS1, AS2 e AS3;

l’indirizzo IP di R9;

la lista delle sottoreti di AS1.

In questo modo le informazioni di raggiungibilità si propagheranno di router in router attraverso tutta la rete.