Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Conventions

Problema

Por que ocorre este problema?

Soluções

Solução 1

Solução 2

Informações Relacionadas

Introduction

Este documento demonstra o problema de roteamento abaixo do ideal na redistribuição entre processos de Open Shortest Path First (OSPF) e oferece soluções.

Prerequisites

Requirements

Não existem requisitos específicos para este documento.

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

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.

Problema

Ao redistribuir entre diferentes processos de OSPF em vários pontos da rede, é possível colocar um circuito de roteamento em situações de roteamento subobtimal ou até pior, um circuito de roteamento.

Na topologia abaixo temos os processos OSPF 1 e OSPF 2. O roteador 1 (R1) e o roteador 2 (R2) estão redistribuindo do OSPF 1 para o OSPF 2.

As configurações para os roteadores R1 e R2 são mostradas abaixo.

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

Na topologia acima, R4's E1/0 está na área 1 e E0/0 está na área 0. Portanto, o R4 é um Roteador de borda de área (ABR) anunciando a rede 10.0.1.0/24 como a rota interárea (IA) para o R1 e o R2. R1 e R2 estão redistribuindo essas informações no OSPF 2. Os comandos de configuração redistribute estão destacados nas configurações acima de R1 e R2. Portanto, R1 e R2 aprenderão sobre 10.0.1.0/24 como IA via OSPF 1 e como externo tipo 2 (E2) via OSPF 2 porque os anúncios de estado de link externo (LSAs) são propagados pelo domínio OSPF 2.

Como as rotas IA são sempre preferidas em relação às rotas E1 ou E2, a expectativa é ver, na tabela de roteamento de R1 e R2, que 10.0.1.0/24 é uma rota IA com próximo salto R4. No entanto, ao visualizar suas tabelas de roteamento, algo diferente é visto - em R1, 10.0.1.0/24 é uma rota IA com o próximo salto R4, mas em R2, 10.0.1.0/24 é uma rota E2 com o próximo salto R1.

Esta é a saída do 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

Esta é a saída do 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 que ocorre este problema?

Ao habilitar vários processos OSPF em um roteador, do ponto de vista do software, os processos são independentes. O protocolo OSPF, dentro de um processo OSPF, sempre prefere a rota interna sobre a rota externa. No entanto, o OSPF não faz nenhuma seleção de rota OSPF entre processos (por exemplo, as métricas do OSPF e os tipos de rota não são levados em conta ao decidir a rota do processo que deve ser instalado na tabela de roteamento).

Não há interação entre diferentes processos OSPF, e o disjuntor é a distância administrativa. Assim, como ambos os processos OSPF têm uma distância administrativa padrão de 110, o primeiro processo tentando instalar essa rota a transforma na tabela de roteamento. Portanto, a distância administrativa para rotas de diferentes processos OSPF deve ser configurada, de modo que as rotas de certos processos OSPF sejam preferidas em relação às rotas de outro processo por intenção humana, e não por acaso.

Para obter mais informações sobre a distância administrativa, consulte O que é distância administrativa. Para obter mais informações sobre como um roteador Cisco seleciona quais rotas colocar na tabela de roteamento, consulte Seleção de rota em Cisco Routers.

Soluções

Solução 1

Como sabemos que, no caso acima, os roteadores estão selecionando a melhor rota com base na distância administrativa, a maneira lógica de evitar esse comportamento é aumentar a distância administrativa das rotas externas no OSPF 2. Dessa forma, as rotas aprendidas via OSPF 1 sempre terão preferência sobre rotas externas redistribuídas do OSPF 1 para OSPF 2. Isso é feito usando o comando de configuração do sub-roteador distance ospf external <value>, como mostrado nas configurações abaixo.

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 tabela de roteamento resultante ao alterar a distância administrativa das rotas externas no OSPF 2 é mostrada abaixo.

Esta é a saída do 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

Esta é a saída do 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

É importante observar que em alguns casos, quando também há redistribuição do OSPF 2 para OSPF 1 e há outros protocolos de roteamento sendo redistribuídos no OSPF 2 (Routing Information Protocol [RIP], Enhanced Interior Gateway Routing Protocol (EIGRP) e assim por diante), isso pode levar ao roteamento subobtimal no OSPF 2 para essas rotas externas.

Solução 2

Se o motivo final para implementar dois processos OSPF diferentes é filtrar certas rotas, há um novo recurso no Cisco IOS® Software Release 12.2(4)T chamado OSPF ABR Tipo 3 LSA Filtering que permite que você faça a filtragem de rotas no ABR.

Em vez de configurar um segundo processo OSPF, os links que fazem parte do OSPF 2, no exemplo acima, podem ser configurados como outra área dentro do OSPF 1. Em seguida, você pode implementar a filtragem de rota necessária em R1 e R2 com esse novo recurso. Para obter mais informações sobre esse recurso, consulte a Filtragem LSA OSPF ABR Tipo 3.

Informações Relacionadas

- Página de suporte de OSPF

- Página de suporte aos protocolos de roteamento IP

- Página de Suporte do IP Routing

- Suporte Técnico - Cisco Systems