Para parceiros
Esta Nota Técnica explica o comportamento do Open Shortest Path First (OSPF) para redistribuição do Border Gateway Protocol (BGP) em roteadores Cisco. O comportamento do OSPF à redistribuição do BGP é destacada na RFC 1403.
Há vários tipos de rotas OSPF:
Intra-área—Em uma rede OSPF multiárea, as rotas, originadas em uma área, são conhecidas pelos roteadores na mesma área que as rotas intra-área. Essas rotas são sinalizadas como O na saída do comando show ip route.
Inter-Area—Quando uma rota atravessa um roteador de borda de área (ABR - Area Border Router) OSPF, a rota é conhecida como uma rota de inter-área OSPF. Essas rotas são sinalizadas como O IA na saída do comando show ip route.
As rotas intra e inter-área também são chamadas de rotas internas OSPF, pois são geradas pelo próprio OSPF, quando uma interface é coberta pelo comando network OSPF.
Tipo 2 externo ou Tipo 1 externo—As rotas que foram redistribuídas no OSPF, como Connected, Static ou outro protocolo de roteamento, são conhecidas como Tipo 2 externo ou Tipo 1 externo. Essas rotas são sinalizadas como O E2 ou O E1 na saída do comando show ip route.
NSSA externo tipo 2 ou NSSA externo tipo 1—Quando uma área é configurada como uma Área Não-So-Stub (NSSA) e as rotas são redistribuídas no OSPF, as rotas são conhecidas como NSSA externo tipo 2 ou NSSA externo tipo 1. Essas rotas são sinalizadas como O N2 ou O N1 na saída do comando show ip route.
Descrever as diferenças entre Externo e NSSA tipo 2 ou 1 está além do escopo deste documento — consulte o Guia de design do OSPF para obter mais informações.
O comportamento padrão não é redistribuir nenhuma rota do OSPF para o BGP. A redistribuição deve ser configurada. Você pode usar o comando route-map para filtrar rotas durante a redistribuição do OSPF para o BGP. Ao redistribuir, palavras-chave específicas como interno, externo e nssa-externo são necessárias para redistribuir as respectivas rotas.
É necessário entender os tipos de rota OSPF antes de usar este documento.
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. All of the devices used in this document started with a cleared (default) configuration. Se você estiver trabalhando em uma rede ativa, certifique-se de que entende o impacto potencial de qualquer comando antes de utilizá-lo.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Há quatro casos de redistribuição de rotas OSPF no BGP discutidos abaixo. O diagrama de rede se aplica aos três primeiros casos. O diagrama e a configuração para o quarto caso podem ser encontrados na seção Redistribuição de Rotas de OSPF NSSA-Externas para BGP.
Se você configurar a redistribuição do OSPF no BGP sem palavras-chave, somente as rotas OSPF intra-área e inter-área serão redistribuídas no BGP, por padrão. Você pode usar a palavra-chave interna junto com o comando redistribute em router bgp para redistribuir as rotas OSPF intra e inter-área.
Essa configuração é uma nova configuração do Roteador B que redistribui somente a rota intra-área (131.108.2.0/24) e a rota inter-área (131.108.1.0/24) para o BGP e somente as rotas OSPF internas (intra-área e inter-área) são redistribuídas no BGP:
RTB |
---|
hostname RTB ! interface Ethernet0/0 ip address 2.2.2.3 255.255.255.0 ! interface Serial1/0 ip address 3.3.3.1 255.0.0.0 ! router ospf 1 network 2.0.0.0 0.255.255.255 area 1 ! router bgp 100 redistribute ospf 1 !-- This redistributes only OSPF intra- and inter-area routes into BGP. neighbor 3.3.3.2 remote-as 200 ! end RTB# show ip route Codes: C - connected, S - static, 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 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 Gateway of last resort is not set 2.0.0.0/24 is subnetted, 1 subnets C 2.2.2.0 is directly connected, Ethernet0/0 C 3.0.0.0/8 is directly connected, Serial1/0 O E2 200.1.1.0/24 [110/20] via 2.2.2.2, 00:16:17, Ethernet0/0 O E1 200.2.2.0/24 [110/104] via 2.2.2.2, 00:00:41, Ethernet0/0 131.108.0.0/24 is subnetted, 2 subnets O 131.108.2.0 [110/74] via 2.2.2.2, 00:16:17, Ethernet0/0 O IA 131.108.1.0 [110/84] via 2.2.2.2, 00:16:17, Ethernet0/0 RTB# |
O Roteador B redistribui somente as rotas internas do OSPF:
RTB# show ip bgp BGP table version is 10, local router ID is 192.168.1.7 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 2.2.2.0/24 0.0.0.0 0 32768 ? *> 131.108.1.0/24 2.2.2.2 84 32768 ? *> 131.108.2.0/24 2.2.2.2 74 32768 ? RTB#
O Roteador C está aprendendo essas rotas do BGP:
RTC# show ip route Codes: C - connected, S - static, 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 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 Gateway of last resort is not set 2.0.0.0/24 is subnetted, 1 subnets B 2.2.2.0 [20/0] via 3.3.3.1, 00:11:19 C 3.0.0.0/8 is directly connected, Serial0/0 131.108.0.0/24 is subnetted, 2 subnets B 131.108.2.0 [20/74] via 3.3.3.1, 00:03:56 B 131.108.1.0 [20/84] via 3.3.3.1, 00:03:28 RTC#
Use a palavra-chave externa junto com o comando redistribute no roteador bgp para redistribuir rotas externas OSPF no BGP. Com a palavra-chave externa, você tem três opções:
redistribuir o tipo 1 externo e o tipo 2 (padrão)
redistribute type-1
redistribute type-2
Insira os comandos no modo de configuração conforme descrito aqui:
RTB(config-router)# router bgp 100 RTB(config-router)# redistribute ospf 1 match external
Nesta configuração do Roteador B, redistribuímos somente rotas externas OSPF, mas do tipo 1 e do tipo 2:
RTB |
---|
hostname RTB ! interface Ethernet0/0 ip address 2.2.2.1 255.0.0.0 ! interface Serial1/0 ip address 3.3.3.1 255.0.0.0 ! router ospf 1 network 2.0.0.0 0.255.255.255 area 1 ! router bgp 100 redistribute ospf 1 match external 1 external 2 !--- This redistributes ONLY OSPF External routes, !--- but both type-1 and type-2. neighbor 3.3.3.3 remote-as 200 ! end |
Observação: a configuração mostra correspondência externa 1 externa 2 e o comando inserido foi redistribute ospf 1 match external. Isso é normal porque o OSPF anexa automaticamente "externo 1 externo 2" na configuração. Ele corresponde às rotas externas 1 e externas 2 do OSPF e redistribui ambas as rotas no BGP.
O Roteador B redistribui somente as rotas externas do OSPF:
RTB# show ip bgp BGP table version is 21, local router ID is 192.168.1.7 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 200.1.1.0 2.2.2.2 20 32768 ? *> 200.2.2.0 2.2.2.2 104 32768 ? RTB#
O Roteador C aprende sobre essas duas rotas externas OSPF do BGP:
RTC# 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, * - candidate default U - per-user static route, o - ODR Gateway of last resort is not set B 200.1.1.0/24 [20/20] via 3.3.3.1, 00:01:43 B 200.2.2.0/24 [20/0] via 3.3.3.1, 00:01:43 C 3.0.0.0/8 is directly connected, Serial0/0
Digite este comando no roteador bgp 100 no Roteador B para redistribuir somente as rotas 1 externas OSPF:
router bgp 100 redistribute ospf 1 match external 1
A tabela BGP do Roteador B mostra que ele está redistribuindo somente rotas 1 externas no BGP e todas as outras rotas OSPF não são redistribuídas no BGP:
RTB# show ip bgp BGP table version is 24, local router ID is 192.168.1.7 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 200.2.2.0 2.2.2.2 104 32768 ? RTB#
Da mesma forma, insira este comando no roteador bgp 100 no Roteador B para redistribuir somente as rotas externas 2 do OSPF:
router bgp 100 redistribute ospf 1 match external 2
Nesse caso, todas as rotas OSPF são redistribuídas no BGP usando as palavras-chave interna e externa, como mostrado nesta configuração do Roteador B:
RTB |
---|
hostname RTB ! interface Ethernet0/0 ip address 2.2.2.1 255.0.0.0 ! interface Serial1/0 ip address 3.3.3.1 255.0.0.0 ! router ospf 1 network 2.0.0.0 0.255.255.255 area 1 ! router bgp 100 redistribute ospf 1 match internal external 1 external 2 !--- This redistributes all OSPF routes into BGP. neighbor 3.3.3.3 remote-as 200 ! end |
Novamente, externo é substituído por externo 1 externo 2 na configuração. Isso é normal, a menos que você especifique quais rotas externas específicas deseja redistribuir no BGP. Depois de executar a alteração de configuração, o Roteador B redistribui todas as rotas OSPF e o Roteador C começa a aprender todas as rotas do BGP:
RTB# show ip bgp BGP table version is 30, local router ID is 192.168.1.7 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 2.2.2.0/24 0.0.0.0 0 32768 ? *> 131.108.1.0/24 2.2.2.2 84 32768 ? *> 131.108.2.0/24 2.2.2.2 74 32768 ? *> 200.1.1.0 2.2.2.2 20 32768 ? *> 200.2.2.0 2.2.2.2 104 32768 ? RTB# RTC# sh ip route Codes: C - connected, S - static, 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 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 Gateway of last resort is not set 2.0.0.0/24 is subnetted, 1 subnets B 2.2.2.0 [20/0] via 3.3.3.1, 00:01:24 C 3.0.0.0/8 is directly connected, Serial0/0 B 200.1.1.0/24 [20/20] via 3.3.3.1, 00:01:24 B 200.2.2.0/24 [20/104] via 3.3.3.1, 00:01:24 131.108.0.0/24 is subnetted, 2 subnets B 131.108.2.0 [20/74] via 3.3.3.1, 00:01:24 B 131.108.1.0 [20/84] via 3.3.3.1, 00:01:24 RTC#
Esse é um caso especial no qual somente as rotas de Área Não-So-Stubby (NSSA) são redistribuídas no BGP. Este caso é muito semelhante ao caso descrito na redistribuição de apenas rotas OSPF externas (tipos 1 e 2) na seção BGP. A única diferença é que o BGP agora está correspondendo a rotas externas de NSSA em vez de apenas rotas externas. A tabela de roteamento do Roteador B mostra estas rotas externas do OSPF NSSA:
RTB# 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 Gateway of last resort is not set O N2 200.1.1.0/24 [110/20] via 2.2.2.1, 00:22:53, Ethernet0 O N1 200.2.2.0/24 [110/20] via 2.2.2.2, 00:22:53, Ethernet0 O IA 131.108.1.0/24 [110/20] via 2.2.2.2, 00:22:53, Ethernet0 O 131.108.2.0/24 [110/20] via 2.2.2.2, 00:22:53, Ethernet0 C 2.0.0.0/8 is directly connected, Ethernet0 C 3.0.0.0/8 is directly connected, Serial1
Este diagrama de rede é usado para este caso:
O diagrama de rede mostra que o Roteador B recebe as rotas N1 e N2 do OSPF. O comportamento padrão é redistribuir as rotas N1 e N2 se apenas a palavra-chave nssa-external for usada. Essa configuração do Roteador B permite redistribuir rotas OSPF N1 (200.1.1.0/24) e OSPF N2 (200.2.2.0/24) para BGP:
RTB |
---|
hostname RTB ! interface Ethernet0/0 ip address 2.2.2.1 255.0.0.0 ! interface Serial1/0 ip address 3.3.3.1 255.0.0.0 ! router ospf 1 network 2.0.0.0 0.255.255.255 area 1 nssa ! router bgp 100 redistribute ospf 1 match nssa-external 1 nssa-external 2 !--- This redistributes only OSPF NSSA-external routes !--- Type-1 and Type-2 into BGP. neighbor 3.3.3.3 remote-as 200 ! end |
Observação: assim como a configuração externa do OSPF, a configuração acima é exibida match nssa-external 1 nssa-external 2 e o comando inserido foi redistribute ospf 1 match nssa-external. Isso é normal porque o OSPF anexa automaticamente "nssa-external 1 nssa-external 2" na configuração. Ele corresponde às rotas OSPF N1 e OSPF N2 e redistribui ambas as rotas no BGP.
Após a alteração de configuração no Roteador B, o Roteador B redistribui as rotas externas do OSPF NSSA e o Roteador C inicia o aprendizado das rotas externas do OSPF NSSA do BGP:
RTB# show ip route Codes: C - connected, S - static, 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 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 Gateway of last resort is not set 2.0.0.0/24 is subnetted, 1 subnets C 2.2.2.0 is directly connected, Ethernet0/0 C 3.0.0.0/8 is directly connected, Serial1/0 O N2 200.1.1.0/24 [110/94] via 2.2.2.1, 00:11:12, Ethernet0/0 O N1 200.2.2.0/24 [110/20] via 2.2.2.2, 00:12:23, Ethernet0/0 131.108.0.0/24 is subnetted, 2 subnets O 131.108.2.0 [110/74] via 2.2.2.2, 00:12:23, Ethernet0/0 O IA 131.108.1.0 [110/84] via 2.2.2.2, 00:12:11, Ethernet0/0 RTB# RTB# show ip bgp BGP table version is 21, local router ID is 3.3.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 200.1.1.0 2.2.2.2 94 32768 ? *> 200.2.2.0 2.2.2.1 20 32768 ? RTB# RTC# show ip route Codes: C - connected, S - static, 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 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 Gateway of last resort is not set C 3.0.0.0/8 is directly connected, Serial0/0 B 200.1.1.0/24 [20/94] via 3.3.3.1, 00:02:06 B 200.2.2.0/24 [20/20] via 3.3.3.1, 00:02:06 RTC#
Da mesma forma que com as rotas externas do OSPF, para redistribuir somente as rotas N1 do OSPF, insira o seguinte comando no roteador BGP 100 no roteador B:
router bgp 100 redistribute ospf 1 match nssa-external 1 !--- This redistributes only OSPF NSSA-external !--- Type-1 routes into BGP.
Para redistribuir somente as rotas OSPF N2, insira o seguinte comando no roteador BGP 100 no roteador B:
router bgp 100 redistribute ospf 1 match nssa-external 2 !--- This redistributes only OSPF NSSA-external !--- Type-2 routes into BGP.
Note: Os mapas de rota também podem ser usados para redistribuir o OSPF tipo 1/2 no BGP. Consulte Redistribute OSPF E2 Routes in BGP para obter mais informações.
É importante entender como a alteração de configuração sucessiva pode alterar sua configuração. Um novo comando com a opção de correspondência não substitui o anterior, mas é adicionado a ele. Começando sem redistribuição, esta sequência de comandos de configuração de exemplo mostra seu impacto na redistribuição:
R4# conf t R4(config)# router bgp 100 R4(config-router)# redistribute ospf 1 match internal R4(config-router)# ^Z !--- Initially, we redistribute internal OSPF routes into BGP 100. R4# sh run | i redistribute ospf redistribute ospf 1 match internal R4# conf t R4(config)# router bgp 100 R4(config-router)# redistribute ospf 1 match external R4(config-router)# ^Z !--- With this second command, we tell BGP !--- to also redistribute external OSPF routes. R4# sh run | i redistribute ospf redistribute ospf 1 match internal external 1 external 2 R4# R4# conf t R4(config)# router bgp 100 R4(config-router)# no redistribute ospf 1 match external 2 R4(config-router)# ^Z !--- With this no command, we only disable the !--- redistribution of external type 2 into BGP. !--- All other types of routes previously configured remain. R4# sh run | i redistribute ospf redistribute ospf 1 match internal external 1 !--- As you can see, internal and external type 1 remain. R4# conf t R4(config)# router bgp 100 R4(config-router)# no redistribute ospf 1 match internal external 1 R4(config-router)# ^Z !--- Now, with this no command, which includes all configured !--- keywords, it is important to note that we !--- still do not disable the redistribution fully. !--- We only removed the keyword. After this, !--- the IOS still acts as default—redistributing !--- internal routes only. R4# sh run | i redistribute ospf redistribute ospf 1 R4# conf t R4(config)# router bgp 100 R4(config-router)# no redistribute ospf 1 !--- Always use this command in order to completely !--- disable redistribution. R4(config-router)# ^Z R4# sh run | i redistribute ospf R4#
A redistribuição de rotas é usada para propagar rotas aprendidas com o uso de um protocolo, em outro protocolo de roteamento. Quando o BGP é redistribuído em um IGP, somente as rotas aprendidas do eBGP são redistribuídas. As rotas aprendidas do iBGP conhecidas no roteador não são introduzidas no IGP para impedir a formação de loops de roteamento.
Por padrão, a redistribuição do iBGP no IGP está desativada. Emita o comando bgp redistribute-internal para ativar a redistribuição das rotas de iBGP no IGP. É preciso tomar precauções para redistribuir rotas específicas usando mapas de rotas no IGP.
Um exemplo de configuração para redistribuição de rotas iBGP no OSPF é mostrado aqui:
router bgp 65345 bgp redistribute-internal ! router ospf 100 redistribute bgp 65345 subnets
Observação: a redistribuição de rotas do Protocolo de Gateway de Borda (iBGP - Border Gateway Protocol) internas em um Protocolo de Gateway Interno pode causar loops de roteamento no Sistema Autônomo (AS - Autonomous System). Isso não é recomendado. Os filtros de rota precisam ser definidos para controlar as informações, que são importadas no IGP.
Para redistribuir rotas padrão no BGP, use a instrução network e default-information originate. Em nosso exemplo, as rotas padrão do OSPF são redistribuídas em para o BGP. Isso é feito com a criação de um mapa de rota e a distribuição da rede padrão, que é permitida pela ACL padrão.
! route-map map_default_only permit 10 match ip address acl_default_only ! ip access-list standard acl_default_only permit 0.0.0.0 ! router bgp 64601 network 0.0.0.0 redistribute ospf 1 route-map map_default_only default-information originate !--- distributes the default route in bgp !
Após a configuração, limpe as sessões bgp com o comando clear ip bgp *.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
28-Feb-2012 |
Versão inicial |