Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Problème

Pourquoi Ce Problème Se Produit-Il ?

Solutions

Solution 1

Solution 2

Informations connexes

Introduction

Ce document décrit les problèmes de routage sous-optimal liés à la redistribution entre les processus Open Shortest Path First (OSPF) et y fournit des solutions.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Components Used

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Problème

Lors de la redistribution entre différents processus OSPF en plusieurs points sur le réseau, il est possible de se retrouver dans des situations de routage subtemporel ou pire encore, dans une boucle de routage.

Dans la topologie ci-dessous, nous avons les processus OSPF 1 et OSPF 2. Le routeur 1 (R1) et le routeur 2 (R2) redistribuent d’OSPF 1 vers OSPF 2.

Les configurations des routeurs R1 et R2 sont indiquées ci-dessous.

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

Dans la topologie ci-dessus, l'E1/0 de R4 se trouve dans la zone 1 et l'E0/0 dans la zone 0. Par conséquent, R4 est un routeur ABR (Area Border Router) qui annonce le réseau 10.0.1.0/24 comme route inter-zone (IA) vers R1 et R2. R1 et R2 redistribuent ces informations dans OSPF 2. Les commandes de configuration redistribute sont mises en surbrillance dans les configurations ci-dessus de R1 et R2. Par conséquent, R1 et R2 apprendront tous deux 10.0.1.0/24 en tant qu’IA via OSPF 1 et en tant que type externe 2 (E2) via OSPF 2, car les LSA (Link-State Advertisement) externes sont propagées dans le domaine OSPF 2.

Puisque les routes IA sont toujours préférées aux routes E1 ou E2, l’attente est de voir, dans la table de routage de R1 et R2, que 10.0.1.0/24 est une route IA avec le tronçon suivant R4. Cependant, lors de l’affichage de leurs tables de routage, quelque chose de différent s’affiche : sur R1, 10.0.1.0/24 est une route IA avec le tronçon suivant R4, mais sur R2, 10.0.1.0/24 est une route E2 avec le tronçon suivant R1.

Il s'agit du résultat de la commande show ip route pour 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

Il s'agit du résultat de la commande show ip route pour 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

Pourquoi Ce Problème Se Produit-Il ?

Lorsque vous activez plusieurs processus OSPF sur un routeur, du point de vue logiciel, les processus sont indépendants. Le protocole OSPF, dans un processus OSPF, préfère toujours la route interne à la route externe. Cependant, le protocole OSPF ne sélectionne pas de route OSPF entre les processus (par exemple, les métriques et les types de route OSPF ne sont pas pris en compte lors de la détermination de la route du processus à installer dans la table de routage).

Il n'y a pas d'interaction entre différents processus OSPF, et la distance administrative est le séparateur de liaison. Par conséquent, puisque les deux processus OSPF ont une distance administrative par défaut de 110, le premier processus essayant d’installer cette route l’intègre dans la table de routage. Par conséquent, la distance administrative pour les routes de différents processus OSPF doit être configurée, de sorte que les routes de certains processus OSPF soient préférées aux routes d'un autre processus par intention humaine, et non par hasard.

Pour plus d'informations sur la distance administrative, référez-vous à Qu'est-ce que la distance administrative. Pour plus d'informations sur la manière dont un routeur Cisco sélectionne les routes à placer dans la table de routage, référez-vous à Sélection de route dans les routeurs Cisco.

Solutions

Solution 1

Comme nous savons que dans le cas ci-dessus, les routeurs sélectionnent la meilleure route en fonction de la distance administrative, la façon logique d’empêcher ce comportement est d’augmenter la distance administrative des routes externes dans OSPF 2. De cette manière, les routes apprises via OSPF 1 seront toujours préférées aux routes externes redistribuées d'OSPF 1 vers OSPF 2. Pour ce faire, utilisez la commande de configuration de sous-routeur distance ospf external <value> comme indiqué dans les configurations ci-dessous.

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 table de routage résultante lors de la modification de la distance administrative des routes externes dans OSPF 2 est présentée ci-dessous.

Il s'agit du résultat de la commande show ip route pour 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

Il s'agit du résultat de la commande show ip route pour 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

Il est important de noter que dans certains cas, lorsqu’il y a également une redistribution d’OSPF 2 vers OSPF 1 et qu’il y a d’autres protocoles de routage redistribués dans OSPF 2 (RIP [Routing Information Protocol], statique EIGRP (Enhanced Interior Gateway Routing Protocol), etc.), cela peut conduire au routage subtemporel dans OSPF 2 pour ces routes externes.

Solution 2

Si la raison ultime de l'implémentation de deux processus OSPF différents est de filtrer certaines routes, il existe une nouvelle fonctionnalité dans le logiciel Cisco IOS® Version 12.2(4)T appelée OSPF ABR Type 3 LSA Filtering qui vous permet d'effectuer le filtrage de route dans l'ABR.

Au lieu de configurer un deuxième processus OSPF, les liaisons qui font partie d’OSPF 2, dans l’exemple ci-dessus, pourraient être configurées comme une autre zone à l’intérieur d’OSPF 1. Ensuite, vous pouvez implémenter le filtrage de route requis dans R1 et R2 avec cette nouvelle fonctionnalité. Pour plus d'informations sur cette fonctionnalité, référez-vous à Filtrage LSA OSPF ABR de type 3.

Informations connexes

- Page de support OSPF

- Page d'assistance pour les protocoles de routage IP

- Page de support pour le routage IP

- Support technique - Cisco Systems