OSPF

9 / 100

OSPF

Introduzione alla configurazione del Protocollo OSPF
Configurazione del protocollo OSPF

È il turno di introdurre alla Configurazione OSPF. Nello sviluppo di questo laboratorio, impareremo la configurazione base di OSPF. Configureremo il processo OSPF, e analizzeremo le tabelle di routing per convalidarne il funzionamento. Ottimizzeremo poi OSPF intervenendo su alcuni parametri:

Configurare OSPF Cisco


Di seguito lo schema degli indirizzi che caratterizzano la topologia oggetto del laboratorio:

Configuriamo OSPF sia sui router R2 ed R3 che sulle interfacce. Usiamo il processo 2 e 3 su R2 ed R3 rispettivamente.
Per abilitare il processo OSPF sul router, usiamo il comando router ospf process-id. Il numero “process ID” non deve essere uguale sui router che sono sui differenti lati del link dove faranno neighborship OSPF. Il numero “process ID” è internamente usato per identificare il processo di routing OSPF e ha significato locale. Si potrebbero specificare più processi OSPF sullo stesso router. Per definire le interfacce sulle quali OSPF è attivo e per definire l’area ID per quelle interfacce, usiamo il comando network ip-address wildcard-mask area area-id. La combinazione
ip-address e wildcard-mask permette di definire una o più interfacce associate ad una specifica area OSPF usando un comando singolo.
Per stabilire l’adiacenza piena in OSPF, I due router devono essere nella stessa area. Ogni interfaccia può appartenere sono ad una singola area:

R2# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)# router ospf 2
R2(config-router)# network 172.16.12.0 0.0.0.3 area 1
R2(config-router)# network 192.168.2.0 0.0.0.255 area 1
R3# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)# router ospf 3
R3(config-router)# network 172.16.13.0 0.0.0.3 area 2
R3(config-router)# network 192.168.3.0 0.0.0.255 area 2

Su R2 ed R3, configuriamo il router ID OSPF usando il comando router-id. Usiamo come router-id 2.2.2.2 su R2 e 3.3.3.3 su R3.
Il router ID è un parametro fondamentale quando vuoi attivare il processo OSPF.
Per far partire il processo OSPF, il router deve essere in grado di indentificare un unico router ID.

Sul router deve esserci almeno una interfaccia nello stato up/up per far sì che il router scelga il router ID, altrimenti ci sarà un messaggio di errore e il processo OSPF non può partire.
Per scegliere il router ID di OSPF, il router usa i seguenti criteri:

1 Usa il router ID specificato nel comando router-id ip-address

2 Usa il più alto indirizzo IP di tutte le interfacce loopback attive sul router.

3 Usa il più alto indirizzo IP tra le interfacce attive nonloopback.
Se al termine dei 3 step OSPF non riesce a selezionare il router ID, apparirà un errore:

R2(config-router)# router-id 2.2.2.2
% OSPF: Reload or use “clear ip ospf process” command, for this to take effect
R3(config-router)# router-id 3.3.3.3
% OSPF: Reload or use “clear ip ospf process” command, for this to take effect

Riavviamo il processo di routing OSPF su R2 e R3 per far sì che il router ID configurato manualmente abbia effetto.
Una volta che il router ha scelto il router ID, esso non cambia anche se l’interfaccia scelta per selezionarlo cambia il suo stato o il suo indirizzo IP. Per cambiare il router ID, bisogna resettare il processo OSPF con il comando clear ip ospf process oppure riavviando il router:

R2# clear ip ospf process
Reset ALL OSPF processes? [no]: yes
R2#
*Nov 24 08:37:24.679: %OSPF-5-ADJCHG: Process 2, Nbr 1.1.1.1 on Serial0/0 from
FULL to DOWN, Neighbor Down: Interface down or detached
R2#
*Nov 24 08:39:24.734: %OSPF-5-ADJCHG: Process 2, Nbr 1.1.1.1 on Serial0/0 from
LOADING to FULL, Loading Done
R3# clear ip ospf 3 process
Reset OSPF process 3? [no]: yes
R3#
*Nov 24 09:06:00.275: %OSPF-5-ADJCHG: Process 3, Nbr 1.1.1.1 on Ethernet0/0 from
FULL to DOWN, Neighbor Down: Interface down or detached
R3#
*Nov 24 09:06:40.284: %OSPF-5-ADJCHG: Process 3, Nbr 1.1.1.1 on Ethernet0/0 from
LOADING to FULL, Loading Done

Verifichiamo il nuovo router ID configurato su R2 e R3 usando il comando show ip protocols:

R2# show ip protocols
*** IP Routing is NSF aware ***
Routing Protocol is “ospf 2”
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 2.2.2.2
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
172.16.12.0 0.0.0.3 area 1
192.168.2.0 0.0.0.255 area 1
Routing Information Sources:
Gateway Distance Last Update
1.1.1.1 110 00:02:55
Distance: (default is 110)
R3# show ip protocols | include ID
Router ID 3.3.3.3

Investighiamo la neighborship su R2 ed R3 usando il comando show ip ospf neighbor:

R2# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/DR 00:01:57 172.16.12.1 Serial0/0
R3# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/DR 00:00:39 172.16.13.1 Ethernet0/0

Verifichiamo le interfacce abilitate su R2 ed R3 usando il comando show ip ospf interface.
L’output del comando show ip ospf interface mostra tutte le interfacce abilitate nel processo OSPF.
Per ogni interfaccia abilitata, possiamo vedere le informazioni dettagliate come l’area ID, il process ID e come le interfacce sono state incluse nel processo OSPF. Possiamo vedere che entrambe le interfacce su entrambi i router sono state incluse tramite il comando network:

R2# show ip ospf interface
Loopback0 is up, line protocol is up
Internet Address 192.168.2.1/24, Area 1, Attached via Network Statement
Process ID 2, Router ID 2.2.2.2, Network Type LOOPBACK, Cost: 1
<…output omitted…>
Serial0/0 is up, line protocol is up
Internet Address 172.16.12.2/30, Area 1, Attached via Network Statement
Process ID 2, Router ID 2.2.2.2, Network Type NON_BROADCAST, Cost: 64
<…output omitted…>
R3# show ip ospf interface
Loopback0 is up, line protocol is up
Internet Address 192.168.3.1/24, Area 2, Attached via Network Statement
Process ID 3, Router ID 3.3.3.3, Network Type LOOPBACK, Cost: 1
<…output omitted…>
Ethernet0/0 is up, line protocol is up
Internet Address 172.16.13.2/30, Area 2, Attached via Network Statement
Process ID 3, Router ID 3.3.3.3, Network Type BROADCAST, Cost: 10
<…output omitted…>

Verifichiamo le rotte in tabella di routing su R5 con il comando show ip route ospf.
Tra le rotte che sono originate nell’autonomous system OSPF, OSPF distingue 2 tipi di rotte: rotte intra-area e rotte inter-area. Le rotte intra-area sono quelle originate ed imparate nella stessa area locale. La lettera “O” identifica le rotte intra-area in tabella di routing. Le rotte inter-area, sono originate in altre aree e sono pubblicizzate dentro l’area nella quale il router risiede. Le lettere “O IA” identificano le rotte inter-area nella tabella di routing. Le rotte inter-area sono pubblicizzate nelle altre aree dagli ABR.
Il prefisso 192.168.4.0/24 è un esempio di rotta intra-area dal punto di vista di R5. È originato dal router R4, che fa parte dell’area 0, la stessa area di R5.
I prefissi di R2 ed R3, che fannno parte dell’area 1 e dell’area 2, sono mostrati nella tabella di routing di R5 come rotte inter-area. I prefissi sono pubblicizzati nell’area 0 come rotte inter-area da R1, che gioca il ruolo di ABR.
I prefissi 192.168.2.0/24 e 192.168.3.0/24 configurati sulle interfacce Loopback di R2 e R3 sono visualizzati nella tabella di routing come rotte host 192.168.2.1/32 e 192.168.3.1/32. Di default, OSPF ciascuna subnet che è configurata sulle interfacce di loopback come rotte host /32.
Per cambiare questa caratteristica di default, tu puoi cambiare il network type OSPF su una interfaccia loopback dal default che è LOOPBACK in POINT-TO-POINT, con il comando di interfaccia ip ospf network point-to-point:

R5# show ip route ospf
Codes: L – local, C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route, H – NHRP, l – LISP– replicated route, % – next hop override
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 4 subnets, 3 masks
O IA 172.16.12.0/30 [110/74] via 172.16.145.1, 00:39:00, Ethernet0/0
O IA 172.16.13.0/30 [110/20] via 172.16.145.1, 00:19:29, Ethernet0/0
192.168.2.0/32 is subnetted, 1 subnets
O IA 192.168.2.1 [110/75] via 172.16.145.1, 00:07:27, Ethernet0/0
192.168.3.0/32 is subnetted, 1 subnets
O IA 192.168.3.1 [110/21] via 172.16.145.1, 00:08:30, Ethernet0/0
O 192.168.4.0/24 [110/11] via 172.16.145.4, 00:39:10, Ethernet0/0

Osserviamo le rotte OSPF su R5 dando il comando show ip ospf route.
Il comando show ip ospf route ci dà chiaramente liste separate di rotte intra-area e inter-area.
In più, l’output del comando ci mostra le informazioni essenziali sugli ABR, includendo il router ID, gli indirizzi IP nella area corrente, l’interfaccia che avvisa le rotte nell’area, e l’area ID. Per le rotte inter-area ci mostra la metrica per le rotte (costo), l’area in cui la rotta è distribuita, e l’interfaccia sulla quale la rotta è inserita:

R5# show ip ospf route
OSPF Router with ID (5.5.5.5) (Process ID 1)
Base Topology (MTID 0)
Area BACKBONE(0)
Intra-area Route List172.16.145.0/29, Intra, cost 10, area 0, Connected
via 172.16.145.5, Ethernet0/0
*> 192.168.4.0/24, Intra, cost 11, area 0
via 172.16.145.4, Ethernet0/0
Intra-area Router Path List
i 1.1.1.1 [10] via 172.16.145.1, Ethernet0/0, ABR, Area 0, SPF 2
Interarea Route List
*> 192.168.2.1/32, Inter, cost 75, area 0
via 172.16.145.1, Ethernet0/0
*> 192.168.3.1/32, Inter, cost 21, area 0
via 172.16.145.1, Ethernet0/0
*> 172.16.12.0/30, Inter, cost 74, area 0
via 172.16.145.1, Ethernet0/0
*> 172.16.13.0/30, Inter, cost 20, area 0
via 172.16.145.1, Ethernet0/0

Su R1, investighiamo i differenti valori di hello e dead timer sulla Ethernet 0/1 e sulla Seriale 2/0, usando il comando show ip ospf interface.
Il valore di default dell’hello time sulle reti broadcast multiaccess (Ethernet) e sui link point-to-point è di 10 secondi, mentre il valore di default del dead interval è di 40 secondi (pari a 4 volte l’hello timer).
I valori di default dei timer hello e dead sugli altri OSPF network type, comprese le reti nonbroadcast (NBMA) come il Frame Relay sull’interfaccia Seriale 2/0 sono rispettivamente 30 secondi e 120 secondi:

R1# show ip ospf interface ethernet 0/1
Ethernet0/1 is up, line protocol is up
Internet Address 172.16.145.1/29, Area 0, Attached via Network Statement
Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 10
Topology-MTID Cost Disabled Shutdown Topology Name
0 10 no no Base
Transmit Delay is 1 sec, State DROTHER, Priority 1
Designated Router (ID) 5.5.5.5, Interface address 172.16.145.5
Backup Designated router (ID) 4.4.4.4, Interface address 172.16.145.4
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
<…output omitted…>
R1# show ip ospf interface serial 2/0
Serial2/0 is up, line protocol is up
Internet Address 172.16.12.1/30, Area 1, Attached via Network Statement
Process ID 1, Router ID 1.1.1.1, Network Type NON_BROADCAST, Cost: 64
Topology-MTID Cost Disabled Shutdown Topology Name
0 64 no no Base
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 2.2.2.2, Interface address 172.16.12.2
Backup Designated router (ID) 1.1.1.1, Interface address 172.16.12.1
Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
<…output omitted…>

Su R1, abbassiamo i valori dei timer sull’interfaccia Seriale 2/0.
I timer possono essere cambiati con i comandi ip ospf hello-interval e ip ospf dead-interval
Una volta cambiati i valori di default dei timer hello e dead sul link Frame Relay, entrambi i router individueranno un mismatch dei timer. Il risultato è che il dead time non viene resettato, scade, e la neighborship va down.
Nota: quando cambiamo solo l’hello interval, automaticamente OSPF cambia il dead interval, impostandolo a 4 volte l’hello interval:

R1(config)# interface serial 2/0
R1(config-if)# ip ospf hello-interval 8
R1(config-if)# ip ospf dead-interval 30
*Jan 20 13:17:34.441: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial2/0 from
FULL to DOWN, Neighbor Down: Dead timer expired

Su R2, abbassiamo i valori dei timer sull’interfaccia Seriale 2/0, in modo da renderlo uguale ai valori configurati su R1.
Una volta allineati i timer su R2 ed R1, entrambi i router ristabiliranno l’adiacenza FULL e sincronizzeranno il database:

R2(config)# interface serial 0/0
R2(config-if)# ip ospf hello-interval 8
R2(config-if)# ip ospf dead-interval 30
*Jan 20 13:38:58.976: %OSPF-5-ADJCHG: Process 2, Nbr 1.1.1.1 on Serial0/0 from
LOADING to FULL, Loading Done

Su R2, verifichiamo l’adiacenza con il comando show ip ospf neighbor detail
L’output del comando show ip ospf neighbor detail conferma che con R1 è stata stabilita una adiacenza FULL. L’output mostra anche informazioni addizionali come il router ID, i ruoli DR/BDR, e da quanto tempo i router hanno fatto neighborship:

R2# show ip ospf neighbor detail
Neighbor 1.1.1.1, interface address 172.16.12.1
In the area 1 via interface Serial0/0
Neighbor priority is 1, State is FULL, 6 state changes
DR is 172.16.12.2 BDR is 172.16.12.1
Poll interval 120
Options is 0x12 in Hello (E-bit, L-bit)
Options is 0x52 in DBD (E-bit, L-bit, O-bit)
LLS Options is 0x1 (LR)
Dead timer due in 00:00:26
Neighbor is up for 00:14:57
Index 1/1, retransmission queue length 0, number of retransmission 0
First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)
Last retransmission scan length is 0, maximum is 0
Last retransmission scan time is 0 msec, maximum is 0 msec