Open Shortest Path First (OSPF) - Networking Group | DIET...
Transcript of Open Shortest Path First (OSPF) - Networking Group | DIET...
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Antonio Cianfrani
Open Shortest Path First (OSPF)
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Il protocollo OSPF
OSPF è un protocollo di routing interno (IGP)
OSPF è un protocollo di routing link-state: ogni router conosce l’esatta topologia della rete.
I pacchetti OSPF sono incapsulati direttamente in datagrammi IP, in cui il campo protocol è impostato a 89
La distanza amministrativa del protocollo OSPF è pari a 110
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Principi di funzionamento
Ciascun router OSPF emette periodicamente (default: 10 s) dei pacchetti Hello, per valutare possibili modifiche topologiche
Ogni router OSPF descrive la propria topologia (interfacce attive) tramite dei pacchetti denominati Link State Advertisement (LSA)
Le LSA vengono propagate in tutta la rete tramite la tecnica del flooding: ogni router che riceve una LSA la invia su tutte le interfacce ad eccezione di quella da cui l’ha ricevuta
Ogni router ha una visione completa della rete (database delle LSA) e calcola l’insieme dei cammini a costo minimo (Shortest PathTree: SPT) tramite l’algoritmo di Dijkstra.
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Gli elementi che costituiscono il Sistema Autonomo sono:
• i Router: si occupano di eseguire il protocollo OSPF
• le Network: collegano tra loro i Router e si dividono in TransitNetwork e StubNetwork (collegate ad un solo Router)
N1 R1
N3 R4 R5
N2 R2
R3
R6
R7
N5R10
R8
N6
N7R11N8
R9
N10
R12 N9
3
3
1
1
1 8
87
6
6
6
1
N4
2
8
6
7
5
1
1
4
2
1
3
1
1
2
1
3
Router e network
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Link State Advertisment (LSA)
Un LSA si compone di un Link State Header e un Link State Data
Tutti i tipi di LSA hanno la stessa Header
• Un campo Type identifica il particolare tipo di LSA:
Router_Lsa (type 1)
Network_Lsa (type 2)
………………………………….
Link State Header
LSA Type
Link State Data
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Flooding
Gli LSA sono inviati a tutti gli altri Router dell’AS mediante una tecnica di flooding
• un LSA è rilanciato da un router su tutte le sue interfacce tranne quella da cui è stato ricevuto
• gli LSA trasportano un numero di sequenza
Evita il rilancio di pacchetti già rilanciati Consente un corretto riscontro dal ricevente
R2
N
R3
R1 R4LSA LSA LSA
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Calcolo dello Shortest Path Tree (SPT)
Ogni router mantiene un database che riflette i dati aggiornati sulla topologia della rete.
La topologia della rete è rappresentata come un grafo orientato
– I nodi rappresentano router e network
– I rami rappresentano
• collegamenti diretti tra nodi di tipo router
• collegamenti tra nodi di tipo router e nodi di tipo network
Ogni router calcola lo Shortest Path Tree (insieme dei cammini ottimi) mediante l’algoritmo di Dijkstra e costruisce la propria tabella di routing.
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
OSPF: Esempio (1/2)
N1 R1
N3 R4 R5
N2 R2
R3
R6
R7
N5R10
R8
N6
N7R11N8
R9
N10
R12 N9
3
3
1
1
1 8
87
6
6
6
1
N4
2
8
6
7
5
1
1
4
2
1
3
1
1
2
1
3
N1R1
N3 R4 R5
3
N2R2
3
0
1
0
1
R7
N5
R8
1
0
8
8
6 6
0 1
1 0
N6
4
R3
10
R6
7
66
8
5 7
R10
0
1
N7
3 0
R11 2
0
N8
R9
0
1
01
N10
3
10
R12 N92
N4
2
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Ogni router calcola il proprio SPT mediante l’algoritmo di Dijkstra
Shortest Path Tree e Routing Table in R6
Destin. N.H. Cost
N1
N2
N3
N4
R3
R3
R3
R3
10
10
7
8
N5
N6
N7
N8
N9
N10
R10
R10
R10
R10
R10
R10
8
12
10
11
13
14
N1R1
N3 R4 R5
3
N2R2
3
0
0
R7
N5
R8
N6
0
0
0
4
R3
1
R6
6
6
7
R101
N7
3
R11
0N8
R9
1
0
N10
3
0
R12 N92
N4
2
OSPF: Esempio (2/2)
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Configurazione di un router OSPF
Il comando per abilitare il protocollo OSPF è:
R(config)# router ospf id
Il campo id rappresenta un numero compreso tra 1 e 65535 ed ha validità locale
In seguito bisogna definire le sottoreti (e di conseguenza le interfacce) su cui è abilitato il protocollo:
R(config-router)# network network-address wildcard mask area area-number
• La wildcard mask è il reciproco della maschera di sottorete
• Area: un AS può essere diviso in aree per risolvere problemi discalabilità. L’area 0 c’è sempre.
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Identificativo (ID) di un router OSPF
L’identificativo di un router OSPF è uno dei suoi indirizzi IP con il quale viene identificato all’interno del database topologico.
Viene configurato con il comando:
R(config-router)# router-id ip-address
Se manca il comando router-id si utilizza:
• Il più alto tra gli indirizzi loopback del router
• Se non ci sono indirizzi loopback configurati si utilizza il più alto tra i rimanenti indirizzi IP
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Metrica OSPF
La metrica di un link OSPF può essere impostata liberamente, entrando nella configurazione della relativa interfaccia
R(config)# interface FastEthernet 0/0
R(config-if)# ip ospf cost costo
Se non viene impostata manualmente viene scelta in funzione della banda del link
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Verifica configurazione OSPF
R# show ip ospf neighbor
R# show ip protocols
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Antonio Cianfrani
Multi-area OSPF
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Problemi di scalabilità dell’OSPF
Il protocollo OSPF presenta problemi di scalabilità:
– Ogni router mantiene un database contenente tutte le LSA dell’AS
– Le LSA di tutti i router e di tutte le network sono inviate all’interno dell’AS
– Il calcolo dello Shortest Path Tree dipende dal numero di router e network: complessità O(NlogN), dove N è il numero di router e network nella rete
Il problema viene risolto suddividendo un AS in aree
All’interno di ciascuna area i router “interni” si scambiano le informazioni relative alla propria area di appartenenza:
– Database separati
– Flooding indipendente
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Multi-area OSPF (1/2)
AS 4 AS 4
AS 23 AS 23
Area 0
Area 1Area 2
Laboratorio di Applicazioni Telematiche– Antonio Cianfrani -- A.A. 2015/2016
Multi-area OSPF (2/2)
AS 4
AS 23
Backbone area– Ogni area è
connessa almeno all’area di backbone
– SEMPRE presente
Area 0
Area 1Area 2
ASBR (AS Border Router)– Identificato da un
particolare bit (e bit) nella router LSA
ABR (Area Border Router)– Contiene i database delle
aree cui appartiene
– Identificato da un particolare bit (b bit) nella router LSA
ABR