Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

Problema

¿Por qué ocurre este problema?

Soluciones

Solución 1

Solución 2

Información Relacionada

Introducción

Este documento demuestra el problema de ruteo subóptimo al realizar redistribuciones entre procesos OSPF y ofrece soluciones.

Prerequisites

Requirements

No hay requisitos específicos para este documento.

Componentes Utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

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.

Convenciones

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

Problema

Al redistribuir entre diferentes procesos OSPF en múltiples puntos en la red, es posible encontrarse con situaciones de ruteo inferior al óptimo o, peor aun, un loop de ruteo.

En la siguiente topología tenemos los procesos OSPF 1 y OSPF 2. El router 1 (R1) y el router 2 (R2) se redistribuyen de OSPF 1 a OSPF 2.

Las configuraciones para los routers R1 y R2 se muestran a continuación.

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

En la topología anterior, el E1/0 de R4 está en el Área 1 y el E0/0 está en el Área 0. Por consiguiente, R4 es un Router de borde de área (ABR) que anuncia la red 10.0.1.0/24 como la ruta entre áreas (IA) hacia R1 y R2. R1 y R2 están redistribuyendo esta información en OSPF 2. Los comandos de configuración redistribute se resaltan en las configuraciones anteriores de R1 y R2. Por lo tanto, tanto R1 como R2 aprenderán acerca de 10.0.1.0/24 como IA a través de OSPF 1 y como tipo externo 2 (E2) a través de OSPF 2 porque los anuncios de estado de link externo (LSA) se propagan a través del dominio OSPF 2.

Dado que siempre se prefieren las rutas IA sobre las rutas E1 o E2, se espera ver, en la tabla de ruteo de R1 y R2, que 10.0.1.0/24 es una ruta IA con R4 de salto siguiente. Sin embargo, al ver sus tablas de ruteo, se observa algo diferente: en R1, 10.0.1.0/24 es una ruta IA con R4 de salto siguiente, pero en R2, 10.0.1.0/24 es una ruta E2 con R1 de salto siguiente.

Este es el resultado del comando show ip route para 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

Este es el resultado del comando show ip route para 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

¿Por qué ocurre este problema?

Al habilitar múltiples procesos OSPF en un router, desde la perspectiva del software, los procesos son independientes. El protocolo OSPF, dentro de un proceso OSPF, siempre prefiere la ruta interna a la ruta externa. Sin embargo, OSPF no realiza ninguna selección de ruta OSPF entre los procesos (por ejemplo, no se tienen en cuenta las métricas OSPF y los tipos de ruta al decidir la ruta de qué proceso debe instalarse en la tabla de ruteo).

No hay interacción entre diferentes procesos OSPF y el desempate es la distancia administrativa. Por lo tanto, dado que ambos procesos OSPF tienen una distancia administrativa predeterminada de 110, el primer proceso que intenta instalar esa ruta la convierte en la tabla de ruteo. Por lo tanto, se debe configurar la distancia administrativa para las rutas de diferentes procesos OSPF, de modo que las rutas de ciertos procesos OSPF sean preferidas a las rutas de otro proceso por intención humana y no por casualidad.

Para obtener más información sobre la distancia administrativa, refiérase a Qué es la Distancia Administrativa. Para obtener más información sobre cómo un router Cisco selecciona las rutas que se colocarán en la tabla de ruteo, consulte Selección de ruta en routers Cisco.

Soluciones

Solución 1

Como sabemos que en el caso anterior, los routers están seleccionando la mejor ruta basada en la distancia administrativa, la manera lógica de evitar este comportamiento es aumentar la distancia administrativa de las rutas externas en OSPF 2. De esta manera, las rutas aprendidas a través de OSPF 1 siempre serán preferidas sobre las rutas externas redistribuidas de OSPF 1 a OSPF 2. Esto se realiza usando el comando de configuración del subrouter distance ospf external <value> como se muestra en las siguientes configuraciones.

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

A continuación se muestra la tabla de ruteo resultante cuando se cambia la distancia administrativa de las rutas externas en OSPF 2.

Este es el resultado del comando show ip route para 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

Este es el resultado del comando show ip route para 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

Es importante tener en cuenta que en algunos casos, cuando también hay redistribución de OSPF 2 a OSPF 1 y hay otros protocolos de ruteo que se redistribuyen en OSPF 2 (protocolo de información de ruteo [RIP], estática del protocolo de ruteo de gateway interior mejorado (EIGRP), etc.), esto puede conducir a un ruteo subóptimo en OSPF 2 para esas rutas externas.

Solución 2

Si la razón final para implementar dos procesos OSPF diferentes es filtrar ciertas rutas, hay una nueva función en Cisco IOS® Software Release 12.2(4)T llamada OSPF ABR Type 3 LSA Filtering que le permite realizar el filtrado de rutas en el ABR.

En lugar de configurar un segundo proceso OSPF, los links que forman parte de OSPF 2, en el ejemplo anterior, podrían configurarse como otro área dentro de OSPF 1. A continuación, puede implementar el filtrado de rutas necesario en R1 y R2 con esta nueva función. Para obtener más información acerca de esta función, consulte el Filtrado LSA Tipo 3 OSPF ABR.

Información Relacionada

- Página de Soporte OSPF

- Página de Soporte de IP Routed Protocols

- Página de Soporte de IP Routing

- Soporte Técnico - Cisco Systems