Configurazione di OSPF
Nella sezione precedente hai imparato a conoscere OSPF e come funziona. Anche se in quella sezione è stata trattata molta teoria, questa riguarda la configurazione di OSPF. Per questa sezione verrà utilizzata la rete mostrata nella Figura 5-9.
Figura 5-9 Rete OSPF
Proprio come EIGRP, la configurazione OSPF è divisa in due parti: la configurazione globale e la configurazione a livello di interfaccia. A livello globale, la configurazione di OSPF include l’abilitazione del processo e l’aggiunta di reti da pubblicizzare. Per abilitare il processo OSPF utilizzare il comando di configurazione globale del router ospf process_id . In questo comando, process_idè un numero significativo a livello locale e non rappresenta l’AS. Poiché più processi OSPF possono essere eseguiti su un router, process_idviene utilizzato per mantenere separati i processi. L’ID del processo può essere diverso su ogni router. Inserendo il comando, arriverai alla modalità di configurazione del router quando la retecomando può essere utilizzato per specificare le reti che verranno annunciate. Rispetto a OSPF, il comando di rete identifica effettivamente le interfacce su cui OSPF verrà abilitato e verrà annunciata la rete a cui appartiene l’interfaccia. La sintassi del comando è:network network_number wildcard_mask area area_id
Nel comando precedente, network_number e wildcard_mask si combinano per identificare l’interfaccia su cui OSPF verrà abilitato. Mentre network_number è un indirizzo di rete (esempio 192.168.1.0), una wildcard_mask è l’inverso della subnet mask. In una subnet mask un 255 è un ottetto significa che l’ottetto corrispondente nel numero di rete dovrebbe corrispondere esattamente mentre uno 0 significa che può essere qualsiasi cosa. In una maschera con caratteri jolly un 255 significa che l’ottetto corrispondente in un numero di rete può essere qualsiasi cosa e 0 significa che l’ottetto corrispondente deve corrispondere esattamente. Confuso? La Tabella 5-3 mostra alcuni esempi. L’ultimo componente del comando precedente è l’ area_id a cui apparterrà l’interfaccia.
Tabella 5-3 Esempi di maschere con caratteri jolly
Rete | Carta jolly | Partite | Spiegazione |
192.168.1.1 | 0.0.0.0 | 192.168.1.1 | Poiché ogni ottetto della maschera con caratteri jolly è zero, verrà abbinata solo un’interfaccia con un indirizzo IP specificato dal numero di rete. |
192.168.1.0 | 0.0.0.255 | 192.168.1.0-192.168.1.255 | Poiché l’ultimo ottetto è 255, il valore dell’ultimo ottetto del numero di rete non ha importanza fintanto che i primi tre ottetti corrispondono al numero di rete specificato. |
10.1.0.0 | 0.255.255.255 | 10.0.0.0-10.255.255.255 | Una maschera con caratteri jolly di 0.255.255.255 significa che finché il primo ottetto corrisponde, il resto può essere qualsiasi cosa. |
Se si desidera abilitare OSPF su ciascuna interfaccia singolarmente, è possibile utilizzare una maschera con caratteri jolly di 0.0.0.0 con numeri di rete costituiti dall’indirizzo IP di ciascuna interfaccia. Questo è il modo più semplice e veloce per configurare OSPF, ma puoi anche usare la maschera jolly per coprire un intervallo di indirizzi. Ad esempio, nella Figura 5-9, RouterF ha due interfacce e OSPF può essere abilitato su di esse utilizzando due comandi di rete come:
network 192.168.6.0 0.0.0.255 area 2
network 192.168.7.0 0.0.0.255 area 2
Un altro modo per configurare OSPF su RouterF è utilizzare un singolo comando di rete come mostrato di seguito:
network 192.168.0.0 0.0.255.255 area 2Â
Mentre il primo metodo è preciso e sicuro, il secondo metodo può introdurre problemi poiché copre un’ampia gamma di reti. Un altro metodo per utilizzare le maschere con caratteri jolly consiste nello specificare i blocchi di rete. Le maschere Wilcard possono rappresentare blocchi di rete proprio come le maschere di rete. Si può ricordare che le maschere di rete possono rappresentare solo dimensioni specifiche di blocchi – 2, 4, 8, 16, 32, 64, 128 e 255. Per specificare un blocco con maschera jolly, sottrarre semplicemente uno dalla dimensione del blocco. Ad esempio, nelle reti RouterF 192.168.6.0 e 192.168.7.0 possono essere coperti utilizzando uno dei seguenti:
192.168.6.0 0.0.1.255 (a block size of 2 starting with 192.168.6.0)
192.168.4.0 0.0.3.255 (a block size of 4 starting with 192.168.4.0)
192.168.0.0 0.0.7.255 (a block size of 8 starting with 192.168.0.0)Â
Ora che hai compreso il comando di rete , configuriamo l’OSPF nella rete mostrata nella Figura 5-9. Userò un mix di tipi di maschere jolly discussi sopra per configurare ciascun router. Assicurati di prestare attenzione all’area a cui dovrebbe appartenere ciascuna interfaccia. Con OSPF, l’area 0 dovrebbe essere configurata per prima, quindi inizieremo con i router appartenenti all’area 0.
Area 0
RouterB ha un’interfaccia nell’area 0 mentre RouterC ha 2 interfacce nell’area 0. Il modo migliore per configurarle è usare una maschera jolly di 0.0.0.0 con gli indirizzi delle interfacce.
RouterB(config)#router ospf 1
RouterB(config-router)#network 192.168.3.2 0.0.0.0 area 0
RouterC(config)#router ospf 1
RouterC(config-router)#network 192.168.3.3 0.0.0.0 area 0
RouterC(config-router)#network 192.168.4.3 0.0.0.0 area 0
Nota che 192.168.3.0 e 192.168.4.0 non possono essere configurati come un blocco singolo poiché un blocco di 2 o 4 non li coprirà e un blocco di 8 coprirà 192.168.5.0, che si trova nell’area 2. Quindi abbiamo dovuto usarne due istruzioni con una maschera di 0.0.0.0.
Area 1
Ora che l’area 0 è stata configurata, è possibile configurare altre aree. RouterA ha due interfacce nell’area 1 e RouterB ha un’interfaccia in quell’area.
RouterA (config) #router ospf 1
RouterA (config-router) #network 0.0.0.0 255.255.255.255 area 1
RouterB (config) #router ospf 1
RouterB (config-router) #network 192.168.2.2 0.0.0.0 area 1
Si noti che sul RouterA vengono utilizzati un numero di rete 0.0.0.0 e una maschera jolly 255.255.255.255. Questa maschera significa essenzialmente tutte le reti e può essere utilizzata sul RouterA poiché entrambe le interfacce appartengono all’area 1.
Area 2
L’area finale si estende su quattro router. Tutte le interfacce di RouterD, RouterE e RouterF appartengono all’area 2.
RouterC (config) #router ospf 1
RouterC (config-router) #network 192.168.5.3 0.0.0.0 area 2
RouterD (config) #router ospf 1
RouterD (config-router) #network 0.0.0.0 255.255.255.255 area 2
RouterE (config) #router ospf 1
RouterE (config-router) #network 192.168.5.5 0.0.0.0 area 2
RouterE (config-router) #network 192.168.6.5 0.0.0.0 area 2
RouterF (config) #router ospf 1
RouterF (config-router) #network 192.168.6.0 0.0.1.255 area 2
Nella configurazione precedente, notare i tre diversi modi in cui il carattere jolly è stato utilizzato su RouterD, RouterE e RouterF.
Ora che la configurazione OSPF è completa, diamo un’occhiata alla tabella di instradamento su ogni router per verificare la configurazione.
RouterA#sh ip route
–output truncated–
Gateway of last resort is not set
O IA 192.168.4.0/24 [110/138] via 192.168.2.2, 00:04:35, Serial0/0
O IA 192.168.5.0/24 [110/138] via 192.168.2.2, 00:04:35, Serial0/0
O IA 192.168.6.0/24 [110/148] via 192.168.2.2, 00:03:50, Serial0/0
O IA 192.168.7.0/24 [110/158] via 192.168.2.2, 00:03:50, Serial0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, Serial0/0
O IA 192.168.3.0/24 [110/128] via 192.168.2.2, 00:04:35, Serial0/0
RouterB#sh ip route
–output truncated–
Gateway of last resort is not set
O 192.168.4.0/24 [110/74] via 192.168.3.3, 00:04:38, Serial0/1
O IA 192.168.5.0/24 [110/74] via 192.168.3.3, 00:04:38, Serial0/1
O IA 192.168.6.0/24 [110/84] via 192.168.3.3, 00:03:53, Serial0/1
O IA 192.168.7.0/24 [110/94] via 192.168.3.3, 00:03:53, Serial0/1
O 192.168.1.0/24 [110/74] via 192.168.2.1, 00:04:38, Serial0/0
C 192.168.2.0/24 is directly connected, Serial0/0
C 192.168.3.0/24 is directly connected, Serial0/1
RouterC#sh ip route
–output truncated–
Gateway of last resort is not set
C 192.168.4.0/24 is directly connected, FastEthernet0/0
C 192.168.5.0/24 is directly connected, FastEthernet0/1
O 192.168.6.0/24 [110/20] via 192.168.5.5, 00:03:55, FastEthernet0/1
[110/20] via 192.168.5.4, 00:03:55, FastEthernet0/1
O 192.168.7.0/24 [110/30] via 192.168.5.5, 00:03:55, FastEthernet0/1
[110/30] via 192.168.5.4, 00:03:55, FastEthernet0/1
O IA 192.168.1.0/24 [110/138] via 192.168.3.2, 00:04:40, Serial0/0
O IA 192.168.2.0/24 [110/128] via 192.168.3.2, 00:04:40, Serial0/0
C 192.168.3.0/24 is directly connected, Serial0/0
RouterD#sh ip route
–output truncated–
Gateway of last resort is not set
O IA 192.168.4.0/24 [110/20] via 192.168.5.3, 00:03:57, FastEthernet0/0
C 192.168.5.0/24 is directly connected, FastEthernet0/0
C 192.168.6.0/24 is directly connected, FastEthernet0/1
O 192.168.7.0/24 [110/20] via 192.168.6.6, 00:03:57, FastEthernet0/1
O IA 192.168.1.0/24 [110/148] via 192.168.5.3, 00:03:57, FastEthernet0/0
O IA 192.168.2.0/24 [110/138] via 192.168.5.3, 00:03:57, FastEthernet0/0
O IA 192.168.3.0/24 [110/74] via 192.168.5.3, 00:03:57, FastEthernet0/0
RouterE#sh ip route
–output truncated–
Gateway of last resort is not set
O IA 192.168.4.0/24 [110/20] via 192.168.5.3, 00:03:59, FastEthernet0/0
C 192.168.5.0/24 is directly connected, FastEthernet0/0
C 192.168.6.0/24 is directly connected, FastEthernet0/1
O 192.168.7.0/24 [110/20] via 192.168.6.6, 00:03:59, FastEthernet0/1
O IA 192.168.1.0/24 [110/148] via 192.168.5.3, 00:03:59, FastEthernet0/0
O IA 192.168.2.0/24 [110/138] via 192.168.5.3, 00:03:59, FastEthernet0/0
O IA 192.168.3.0/24 [110/74] via 192.168.5.3, 00:03:59, FastEthernet0/0
RouterF#sh ip route
–output truncated–
Gateway of last resort is not set
O IA 192.168.4.0/24 [110/30] via 192.168.6.5, 00:04:01, FastEthernet0/0
          [110/30] via 192.168.6.4, 00:03:51, FastEthernet0/0
OÂ Â Â 192.168.5.0/24 [110/20] via 192.168.6.5, 00:04:01, FastEthernet0/0
          [110/20] via 192.168.6.4, 00:03:51, FastEthernet0/0
CÂ Â Â 192.168.6.0/24 is directly connected, FastEthernet0/0
CÂ Â Â 192.168.7.0/24 is directly connected, FastEthernet0/1
O IA 192.168.1.0/24 [110/158] via 192.168.6.5, 00:04:01, FastEthernet0/0
          [110/158] via 192.168.6.4, 00:03:51, FastEthernet0/0
O IA 192.168.2.0/24 [110/148] via 192.168.6.5, 00:04:01, FastEthernet0/0
          [110/148] via 192.168.6.4, 00:03:51, FastEthernet0/0
O IA 192.168.3.0/24 [110/84] via 192.168.6.5, 00:04:01, FastEthernet0/0
          [110/84] via 192.168.6.4, 00:03:51, FastEthernet0/0
I risultati di cui sopra mostrano che tutte le reti sono note in tutta la rete. Dovresti anche notare quanto segue:
- Mentre una O precede le rotte OSPF, anche le rotte inter-area sono precedute da una IA.
- Negli output di RouterC e RouterF si nota che OSPF sta bilanciando il carico su percorsi di costo uguale.
Influenzare la selezione del percorso
Come discusso nella sezione precedente, Cisco utilizza la larghezza di banda dell’interfaccia come metrica per il costo e la somma del costo dell’intero percorso viene utilizzata per selezionare il percorso migliore verso una destinazione. Il costo di un’interfaccia può essere modificato manualmente utilizzando il comando ip ospf cost nella modalità di configurazione dell’interfaccia.
Ad esempio, nella rete mostrata nella Figura 5-9, il traffico che va da RouterF a 192.168.4.0/24 viene bilanciato tra i percorsi che passano attraverso RouterD e RouterE. RouterF può essere fatto per instradare il traffico solo attraverso RouterD e utilizzare RouterE ha un percorso di backup aumentando il costo associato all’interfaccia fa0 / 0 su RouterE. Ciò farà aumentare il costo dell’intero percorso, impedendo a RouterF di utilizzare quel percorso insieme all’altro percorso. I seguenti comandi aumenteranno il costo su RouterE:
RouterE(config)#int fa0/0
RouterE(config-if)#ip ospf cost 20Â
L’effetto di questa modifica sarà quasi immediatamente visibile sulla tabella di routing di RouterF:
RouterF#sh ip route
–output truncated–
Gateway of last resort is not set
O IA 192.168.4.0/24 [110/30] via 192.168.6.4, 00:04:15, FastEthernet0/0
OÂ Â Â 192.168.5.0/24 [110/20] via 192.168.6.4, 00:03:04, FastEthernet0/0
CÂ Â Â 192.168.6.0/24 is directly connected, FastEthernet0/0
CÂ Â Â 192.168.7.0/24 is directly connected, FastEthernet0/1
O IA 192.168.1.0/24 [110/158] via 192.168.6.4, 00:04:15, FastEthernet0/0
O IA 192.168.2.0/24 [110/148] via 192.168.6.4, 00:04:15, FastEthernet0/0
O IA 192.168.3.0/24 [110/84] via 192.168.6.4, 00:04:15, FastEthernet0/0
Nell’output sopra, si noti che RouterF non sta più bilanciando il carico del traffico tra i due percorsi.
Influenzare le elezioni DR / BDR
Nella sezione precedente hai appreso che le rotte OSPF non formano adiacenze con tutti i vicini in una rete ad accesso multiplo. Vengono eletti un DR e un BDR e tutti gli altri router formano adiacenze con loro. Questa scelta prende in considerazione la priorità OSPF e, in caso di parità , il Router ID.
Ad esempio, nella rete mostrata nella Figura 5-9, RouterE sarà il DR e RouterD sarà il BDR nella rete Ethernet 192.168.5.0/24 perché RouterE ha l’ID router più alto (192.168.6.5) e RouterD ha il secondo ID router più alto (192.168.6.4). RouterC ha un ID router 192.168.6.3. Se si desidera che RouterC sia sempre il DR, è necessario aumentare la priorità o l’ID router. Il modo più semplice per farlo è aumentare la priorità sull’interfaccia fa0 / 1 di RouterC come mostrato di seguito:
RouterC(config)#int fa0/1
RouterC(config-if)#ip ospf priority 10Â
Il comando show ip ospf interface interface può essere utilizzato come mostrato di seguito:
RouterC#sh ip ospf interface fa0/1
FastEthernet0/1 is up, line protocol is up
Internet Address 192.168.5.3/24, Area 2
Process ID 1, Router ID 192.168.5.3, Network Type BROADCAST, Cost: 10
Transmit Delay is 1 sec, State DROTHER, Priority 10
 Designated Router (ID) 192.168.6.5, Interface address 192.168.5.5
Backup Designated router (ID) 192.168.6.4, Interface address 192.168.5.4
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:05
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 1/3, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 2, Adjacent neighbor count is 2
Adjacent with neighbor 192.168.6.4Â (Backup Designated Router)
Adjacent with neighbor 192.168.6.5Â (Designated Router)
Suppress hello for 0 neighbor(s)Â
Mentre l’intero output è discusso nella sezione successiva, notare che la terza riga mostra lo stato come DOTHER. DOTHER significa che il router non è un DR o BDR. Allora perché la nuova priorità non ha fatto sì che RouterC diventasse DR o BDR?
Questo perché un’elezione DR / BDR non ha luogo fino a quando il DR / BDR esistente non lascia la rete. Un modo per forzare una rielezione è riavviare il processo OSPF sul DR e BDR correnti. Un ripristino causerà il riavvio del processo OSPF e la rete penserà che il DR e il BDR siano persi e forzerà un’elezione. È possibile interrompere il processo utilizzando il comando clear ip ospf process . Per forzare un’elezione nella rete, ripristiniamo il processo OSPF su RouterD e RouterE come mostrato di seguito:
RouterE#clear ip ospf process
Reset ALL OSPF processes? [no]: yes
RouterD#clear ip ospf process
Reset ALL OSPF processes? [no]: yes
Una volta ristabilite le adiacenze, l’output dell’interfaccia show ip ospf su RouterC avrà il seguente aspetto:
RouterC#show ip ospf interface fa0/1
FastEthernet0/1 is up, line protocol is up
Internet Address 192.168.5.3/24, Area 2
Process ID 1, Router ID 192.168.5.3, Network Type BROADCAST, Cost: 10
Transmit Delay is 1 sec, State DR, Priority 10
 Designated Router (ID) 192.168.5.3, Interface address 192.168.5.3
Backup Designated router (ID) 192.168.6.5, Interface address 192.168.5.5
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:04
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 1/3, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 0, maximum is 2
Last flood scan time is 0 msec, maximum is 4 msec
Neighbor Count is 2, Adjacent neighbor count is 2
Adjacent with neighbor 192.168.6.4
Adjacent with neighbor 192.168.6.5Â (Backup Designated Router)
Suppress hello for 0 neighbor(s)Â
Si noti che RouterC è ora il DR. Un altro modo per influenzare l’elezione sarebbe stato creare un’interfaccia di loopback su RouterC con un indirizzo IP alto come mostrato di seguito:
RouterC(config)#interface loopback 0
RouterC(config)#ip address 192.168.100.1 255.255.255.0Â