Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Convenzioni

Problema

Perché Si Verifica Questo Problema?

Soluzioni

Soluzione 1

Soluzione 2

Informazioni correlate

Introduzione

In questo documento viene illustrato il problema di routing non ottimale durante la riduzione della distribuzione tra i processi Open Shortest Path First (OSPF) e vengono offerte soluzioni.

Prerequisiti

Requisiti

Nessun requisito specifico previsto per questo documento.

Componenti usati

Il documento può essere consultato per tutte le versioni software o hardware.

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Convenzioni

Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.

Problema

Quando si esegue la ridistribuzione tra diversi processi OSPF in più punti della rete, è possibile trovarsi in situazioni di routing subspaziale o, peggio ancora, in un loop di routing.

Nella topologia riportata di seguito sono inclusi i processi OSPF 1 e OSPF 2. Il router 1 (R1) e il router 2 (R2) vengono ridistribuiti da OSPF 1 a OSPF 2.

Le configurazioni per i router R1 e R2 sono mostrate di seguito.

R1

hostname r1

!

ip subnet-zero

!

interface Loopback0

ip address 10.255.255.1 255.255.255.255

!

interface Loopback1

ip address 192.168.255.1 255.255.255.255

!

interface Ethernet0/0

ip address 10.0.0.1 255.255.255.0

!

interface Ethernet1/0

ip address 192.168.0.1 255.255.255.0

!

router ospf 1

router-id 10.255.255.1

log-adjacency-changes

passive-interface Loopback0

network 10.0.0.0 0.0.0.255 area 0

network 10.255.255.1 0.0.0.0 area 0

!

router ospf 2

router-id 192.168.255.1

log-adjacency-changes

redistribute ospf 1 subnets match internal

!--- Redistributing OSPF 1 into OSPF 2.

passive-interface Loopback1

network 192.168.0.0 0.0.0.255 area 0

network 192.168.255.1 0.0.0.0 area 0

!

ip classless

!

end

R2

hostname r2

!

ip subnet-zero

!

interface Loopback0

ip address 10.255.255.2 255.255.255.255

!

interface Loopback1

ip address 192.168.255.2 255.255.255.255

!

interface Ethernet0/0

ip address 10.0.0.2 255.255.255.0

!

interface Ethernet1/0

ip address 192.168.0.2 255.255.255.0

!

router ospf 1

router-id 10.255.255.2

log-adjacency-changes

passive-interface Loopback0

network 10.0.0.0 0.0.0.255 area 0

network 10.255.255.2 0.0.0.0 area 0

!

router ospf 2

router-id 192.168.255.2

log-adjacency-changes

redistribute ospf 1 subnets match internal

!--- Redistributing OSPF 1 into OSPF 2.

passive-interface Loopback1

network 192.168.0.0 0.0.0.255 area 0

network 192.168.255.2 0.0.0.0 area 0

!

ip classless

end

Nella topologia precedente, R4 E1/0 si trova nell'Area 1 e E0/0 nell'Area 0. Pertanto, R4 è un router di confine area (ABR) che annuncia la rete 10.0.1.0/24 come percorso tra aree (IA) verso R1 e R2. R1 e R2 ridistribuiscono queste informazioni in OSPF 2. I comandi di configurazione redistribuisci sono evidenziati nelle configurazioni precedenti di R1 e R2. Pertanto, sia R1 che R2 verranno informati su 10.0.1.0/24 come IA tramite OSPF 1 e come tipo esterno 2 E2) tramite OSPF 2 poiché gli annunci LSA (Link State Adapements) esterni vengono propagati in tutto il dominio OSPF 2.

Poiché le route IA sono sempre preferite rispetto alle route E1 o E2, ci si aspetta che, nella tabella di routing di R1 e R2, 10.0.1.0/24 sia una route IA con l'hop successivo R4. Tuttavia, quando si visualizzano le tabelle di routing, si nota una differenza: in R1, 10.0.1.0/24 è una route IA con l'hop successivo R4, mentre in R2, 10.0.1.0/24 è una route E2 con l'hop successivo R1.

Questo è l'output del comando show ip route per R1.

r1#show ip route

Codes: C - connected, S - static, I - IGRP, 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, E - EGP

i - IS-IS, 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

!--- The gateway of the last resort is not set.

10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks

O E2    10.255.255.2/32 [110/1] via 192.168.0.2, 00:24:21, Ethernet1/0

C       10.0.0.0/24 is directly connected, Ethernet0/0

O IA    10.0.1.0/24 [110/20] via 10.0.0.4, 00:23:49, Ethernet0/0

C       10.255.255.1/32 is directly connected, Loopback0

O IA    10.255.255.4/32 [110/11] via 10.0.0.4, 00:23:49, Ethernet0/0

192.168.255.0/32 is subnetted, 3 subnets

O       192.168.255.3 [110/11] via 192.168.0.3, 00:26:09, Ethernet1/0

O       192.168.255.2 [110/11] via 192.168.0.2, 00:26:09, Ethernet1/0

C       192.168.255.1 is directly connected, Loopback1

C    192.168.0.0/24 is directly connected, Ethernet1/0

O    192.168.1.0/24 [110/20] via 192.168.0.3, 00:26:09, Ethernet1/0

Questo è l'output del comando show ip route per R2.

r2#show ip route

Codes: C - connected, S - static, I - IGRP, 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, E - EGP

i - IS-IS, 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

!--- The gateway of last resort is not set.

10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks

C       10.255.255.2/32 is directly connected, Loopback0

C       10.0.0.0/24 is directly connected, Ethernet0/0

O E2    10.0.1.0/24 [110/20] via 192.168.0.1, 00:25:34, Ethernet1/0

O E2    10.255.255.1/32 [110/1] via 192.168.0.1, 00:25:34, Ethernet1/0

O E2    10.255.255.4/32 [110/11] via 192.168.0.1, 00:25:34, Ethernet1/0

192.168.255.0/32 is subnetted, 3 subnets

O       192.168.255.3 [110/11] via 192.168.0.3, 00:26:45, Ethernet1/0

C       192.168.255.2 is directly connected, Loopback1

O       192.168.255.1 [110/11] via 192.168.0.1, 00:26:45, Ethernet1/0

C    192.168.0.0/24 is directly connected, Ethernet1/0

O    192.168.1.0/24 [110/20] via 192.168.0.3, 00:26:45, Ethernet1/0

Perché Si Verifica Questo Problema?

Quando si abilitano più processi OSPF su un router, dal punto di vista software, i processi sono indipendenti. Il protocollo OSPF, all'interno di un processo OSPF, preferisce sempre la route interna alla route esterna. Tuttavia, OSPF non esegue alcuna selezione di route OSPF tra i processi (ad esempio, le metriche OSPF e i tipi di route non vengono presi in considerazione quando si decide la route di cui installare il processo nella tabella di routing).

Non vi è alcuna interazione tra diversi processi OSPF e il time-breaker è la distanza amministrativa. Pertanto, poiché entrambi i processi OSPF hanno una distanza amministrativa predefinita di 110, il primo processo che tenta di installare tale route la inserisce nella tabella di routing. Pertanto, è necessario configurare la distanza amministrativa per le route provenienti da processi OSPF diversi, in modo che le route di alcuni processi OSPF siano preferite rispetto alle route di un altro processo per volontà umana, e non per caso.

Per ulteriori informazioni sulla distanza amministrativa, vedere Che cos'è la distanza amministrativa. Per ulteriori informazioni su come un router Cisco seleziona i percorsi da inserire nella tabella di routing, fare riferimento a Selezione percorsi nei router Cisco.

Soluzioni

Soluzione 1

Poiché nel caso precedente i router selezionano la route migliore in base alla distanza amministrativa, il modo logico per evitare questo comportamento è aumentare la distanza amministrativa delle route esterne in OSPF 2. In questo modo, le route apprese tramite OSPF 1 verranno sempre preferite rispetto alle route esterne ridistribuite da OSPF 1 in OSPF 2. A tale scopo, utilizzare il comando di configurazione subrouter distance ospf external <value>, come mostrato nelle configurazioni riportate di seguito.

R1

hostname r1

!

ip subnet-zero

!

interface Loopback0

ip address 10.255.255.1 255.255.255.255

!

interface Loopback1

ip address 192.168.255.1 255.255.255.255

!

interface Ethernet0/0

ip address 10.0.0.1 255.255.255.0

!

interface Ethernet1/0

ip address 192.168.0.1 255.255.255.0

!

router ospf 1

router-id 10.255.255.1

log-adjacency-changes

passive-interface Loopback0

network 10.0.0.0 0.0.0.255 area 0

network 10.255.255.1 0.0.0.0 area 0

!

router ospf 2

router-id 192.168.255.1

log-adjacency-changes

redistribute ospf 1 subnets match internal

passive-interface Loopback1

network 192.168.0.0 0.0.0.255 area 0

network 192.168.255.1 0.0.0.0 area 0

distance ospf external 115

!--- Increases the administrative distance of external !--- routes to 115.

!

ip classless

!

end

R2

hostname r2

!

ip subnet-zero

!

interface Loopback0

ip address 10.255.255.2 255.255.255.255

!

interface Loopback1

ip address 192.168.255.2 255.255.255.255

!

interface Ethernet0/0

ip address 10.0.0.2 255.255.255.0

!

interface Ethernet1/0

ip address 192.168.0.2 255.255.255.0

!

router ospf 1

router-id 10.255.255.2

log-adjacency-changes

passive-interface Loopback0

network 10.0.0.0 0.0.0.255 area 0

network 10.255.255.2 0.0.0.0 area 0

!

router ospf 2

router-id 192.168.255.2

log-adjacency-changes

redistribute ospf 1 subnets match internal

passive-interface Loopback1

network 192.168.0.0 0.0.0.255 area 0

network 192.168.255.2 0.0.0.0 area 0

distance ospf external 115

!--- Increases the administrative distance of !--- external routes to 115.

!

ip classless

!

end

La tabella di routing risultante quando si modifica la distanza amministrativa delle route esterne in OSPF 2 è illustrata di seguito.

Questo è l'output del comando show ip route per R1.

r1#show ip route

Codes: C - connected, S - static, I - IGRP, 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, E - EGP

i - IS-IS, 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

!--- The gateway of the last resort is not set.

10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks

O       10.255.255.2/32 [110/11] via 10.0.0.2, 00:00:35, Ethernet0/0

C       10.0.0.0/24 is directly connected, Ethernet0/0

O IA    10.0.1.0/24 [110/20] via 10.0.0.4, 00:00:35, Ethernet0/0

C       10.255.255.1/32 is directly connected, Loopback0

O       10.255.255.4/32 [110/11] via 10.0.0.4, 00:00:35, Ethernet0/0

192.168.255.0/32 is subnetted, 3 subnets

O       192.168.255.3 [110/11] via 192.168.0.3, 00:00:35, Ethernet1/0

O       192.168.255.2 [110/11] via 192.168.0.2, 00:00:35, Ethernet1/0

C       192.168.255.1 is directly connected, Loopback1

C    192.168.0.0/24 is directly connected, Ethernet1/0

O    192.168.1.0/24 [110/20] via 192.168.0.3, 00:00:35, Ethernet1/0

Questo è l'output del comando show ip route per R2.

r2#show ip route

Codes: C - connected, S - static, I - IGRP, 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, E - EGP

i - IS-IS, 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

!--- The gateway of the last resort is not set.

10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks

C       10.255.255.2/32 is directly connected, Loopback0

C       10.0.0.0/24 is directly connected, Ethernet0/0

O       10.255.255.1/32 [110/11] via 10.0.0.1, 00:01:28, Ethernet0/0

O IA    10.0.1.0/24 [110/20] via 10.0.0.4, 00:01:28, Ethernet0/0

O       10.255.255.4/32 [110/11] via 10.0.0.4, 00:01:28, Ethernet0/0

192.168.255.0/32 is subnetted, 3 subnets

O       192.168.255.3 [110/11] via 192.168.0.3, 00:01:28, Ethernet1/0

C       192.168.255.2 is directly connected, Loopback1

O       192.168.255.1 [110/11] via 192.168.0.1, 00:01:28, Ethernet1/0

C    192.168.0.0/24 is directly connected, Ethernet1/0

O    192.168.1.0/24 [110/20] via 192.168.0.3, 00:01:28, Ethernet1/0

È importante notare che in alcuni casi, quando è presente anche la ridistribuzione da OSPF 2 a OSPF 1 e ci sono altri protocolli di routing ridistribuiti in OSPF 2 (Routing Information Protocol [RIP], statistiche Enhanced Interior Gateway Routing Protocol (EIGRP) e così via), ciò può portare al routing subobtimale in OSPF 2 per quelle route esterne.

Soluzione 2

Se il motivo ultimo per implementare due diversi processi OSPF è filtrare determinate route, nel software Cisco IOS® versione 12.2(4)T è disponibile una nuova funzionalità denominata filtro LSA OSPF ABR tipo 3 che consente di eseguire il filtro delle route in ABR.

Anziché configurare un secondo processo OSPF, è possibile configurare i collegamenti che fanno parte di OSPF 2 come un'altra area all'interno di OSPF 1. Sarà quindi possibile implementare il filtro delle route richiesto in R1 e R2 con questa nuova funzionalità. Per ulteriori informazioni su questa funzione, fare riferimento al filtro LSA OSPF ABR tipo 3.

Informazioni correlate

- Pagina di supporto del protocollo OSPF

- Pagina di supporto per i protocolli di routing IP

- Pagina di supporto per il routing IP

- Supporto tecnico – Cisco Systems