Roteamento multitopologia em cRPD
Entendendo a multitopologia em cRPD
O cRPD permite que várias FUNCIONALIDADES RIBs BGP ofereçam suporte ao roteamento multitopologia (MTR) com base na política de roteamento com FIBs Linux (rotas no plano de encaminhamento). Os aplicativos podem selecionar a tabela de roteamento necessária com base na política de roteamento da FIB linux em cRPD para diferentes tipos de tráfego. Cada tipo de tráfego é definido por uma topologia usada para criar uma nova tabela de roteamento para essa topologia. Cada topologia usa o plano de controle unificado para tomar decisões de roteamento para tráfego associado a essa topologia. Além disso, cada topologia tem uma tabela de encaminhamento separada e, de fato, um plano de encaminhamento dedicado para cada topologia.
Provedores de serviços e empresas podem usar o roteamento multitopologia (MTR) para projetar o fluxo de tráfego em uma rede. O MTR pode ser usado com rotas diretas e estáticas, IS-IS, OSPF e BGP. Em uma rede que transporta vários tipos de tráfego, muitas vezes você precisa direcionar diferentes tipos de tráfego de aplicativos em vários links, dependendo de suas características de enlace. As comunidades são usadas para BGP ao exportar rotas para a multitopologia. O OSPFv3 não oferece suporte ao MTR. O MTR descobre rotas de IGP e é capaz de resolver rotas BGP contra topologias personalizadas com estáticas e OSPF. .
Você pode configurar topologias separadas para compartilhar os mesmos links de rede necessários. O MTR usa uma combinação de filtros de plano de controle (roteamento) e de plano de encaminhamento.
O MTR oferece a capacidade de gerar tabelas de encaminhamento com base nas entradas resolvidas nas tabelas de roteamento para as topologias que você cria. O MTR e o encaminhamento só estão disponíveis em instâncias de roteamento mestre. Uma RIB dedicada é criada para armazenar as rotas multitopologia. O multicaminho BGP não está habilitado em topologias.
Quando as topologias de roteamento são configuradas sob routing-options
, uma nova tabela de roteamento para cada topologia é criada. Cada protocolo de roteamento cria uma tabela de roteamento com base no nome da topologia, no nome da instância e na finalidade da tabela.
Exemplo: Configuração do roteamento multitopologia com BGP em cRPD
Este exemplo mostra como configurar várias topologias baseadas na comunidade com BGP em cRPD e unicast o tráfego usando roteamento multitopologia (MTR) em caminhos de rede.
Requisitos
Este exemplo requer a seguinte versão do software:
-
cRPD 19.4R1 ou posterior.
Visão geral
O suporte para roteamento multitopologia para BGP é baseado no valor da comunidade em uma rota BGP. Essa configuração determina a associação entre uma topologia e um ou mais valores da comunidade e povoa as tabelas de roteamento de topologia. As atualizações BGP que chegam que têm um valor de comunidade correspondente são replicadas na tabela de roteamento de topologia associada.
Configure as topologias com a família BGP inet
e verifique a rota de correspondência de importação BGP na topologia RIB (também conhecida como tabela de roteamento). Para cada topologia, deve ser fornecida uma lista de objetos da comunidade para que o software de roteamento possa configurar uma política de importação interna ribgroup
e da tabela secundária correspondente.
Topologia
A Figura 1 mostra a topologia para configurar o roteamento multitopologia com BGP.
Configuração
Para configurar o roteamento multitopologia para BGP:
Configuração rápida da CLI
set routing-options topologies family inet topology red table-id 40 set routing-options topologies family inet topology blue table-id 41 set routing-options topologies family inet topology green table-id 42 set routing-options router-id 10.2.2.2 set routing-options autonomous-system 65500 set routing-options rib :red.inet.0 static route 10.1.1.1/32 next-hop 10.15.0.2 set routing-options rib :green.inet.0 static route 10.1.1.1/32 next-hop 10.13.0.2 set routing-options rib :blue.inet.0 static route 10.1.1.1/32 next-hop 10.17.0.2 set protocols bgp group ibgp-app-rr-ser type internal set protocols bgp group ibgp-app-rr-ser traceoptions file bgp size 100m set protocols bgp group ibgp-app-rr-ser traceoptions flag update set protocols bgp group ibgp-app-rr-ser traceoptions flag state set protocols bgp group ibgp-app-rr-ser local-address 10.77.1.1 set protocols bgp group ibgp-app-rr-ser family inet unicast add-path send path-count 6 set protocols bgp family inet unicast topology red community 1:1 set protocols bgp family inet unicast topology green community 1:2 set protocols bgp family inet unicast topology blue community 1:3
Configuração do BGP através do roteamento multitopologia
Procedimento passo a passo
-
Configure várias topologias.
[edit routing-options topologies] user@crpd# set family inet topology red table-id 40 user@crpd# set family inet topology blue table-id 41 user@crpd# set family inet topology green table-id 42
-
Configure rotas estáticas.
[edit routing-options] user@crpd# set router-id 10.2.2.2 user@crpd# set autonomous-system 65500 user@crpd# set rib :red.inet.0 static route 10.1.1.1/32 next-hop 10.15.0.2 user@crpd# set rib :green.inet.0 static route 10.1.1.1/32 next-hop 10.13.0.2 user@crpd# set rib :blue.inet.0 static route 10.1.1.1/32 next-hop 10.17.0.2
-
Configure parâmetros de grupo BGP para importar a rota correspondente para as tabelas de roteamento de topologia. O BGP usa o identificador da comunidade alvo para instalar as rotas que aprende na tabela de roteamento apropriada.
[edit protocols bgp] user@crpd# set group ibgp-app-rr-ser type internal user@crpd# set group ibgp-app-rr-ser traceoptions file bgp size 100m user@crpd# set group ibgp-app-rr-ser traceoptions flag update user@crpd# set group ibgp-app-rr-ser traceoptions flag state user@crpd# set group ibgp-app-rr-ser local-address 10.77.1.1 user@crpd# set group ibgp-app-rr-ser family inet unicast add-path send path-count 6 user@crpd# set family inet unicast topology red community 1:1 user@crpd# set family inet unicast topology green community 1:2 user@crpd# set family inet unicast topology blue community 1:3
Resultados
A partir do modo de configuração, confirme sua configuração inserindo os show protocols bgp
comandos e show routing-options
os comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
show routing-options topologies { family inet { topology red { table-id 40; } topology blue { table-id 41; } topology green { table-id 42; } } } rib :red.inet.0 { static { route 10.1.1.1/32 next-hop 10.15.0.2; } } rib :green.inet.0 { static { route 10.1.1.1/32 next-hop 10.13.0.2; } } rib :blue.inet.0 { static { route 10.1.1.1/32 next-hop 10.17.0.2; } }
user@crpd# show protocols bgp family inet { unicast { topology red { community 1:1; } topology green { community 1:2; } topology blue { community 1:3; } } group ibgp-app-rr-ser { type internal; traceoptions { file bgp size 100m; flag update; } local-address 10.77.1.1; family inet { unicast { add-path { send { path-count 6; } } } } } }
Se você terminar de configurar o dispositivo, insira o comando a commit
partir do modo de configuração.
Verificação
Verificação de rotas BGP
Propósito
Para verificar as rotas combinadas do BGP:
Ação
A partir do modo operacional, entre no show route protocol bgp all table
comando:
user@crpd> show route protocol bgp all table
:red.inet.0: 11 destinations, 11 routes (8 active, 0 holddown, 3 hidden) + = Active Route, - = Last Active, * = Both 10.99.9.1/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 10.15.0.2 via ens4f1 10.99.9.2/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 10.15.0.2 via ens4f1 10.99.9.5/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 10.15.0.2 via ens4f1 :green.inet.0: 10 destinations, 10 routes (8 active, 0 holddown, 2 hidden) + = Active Route, - = Last Active, * = Both 10.9.9.1/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 10.13.0.2 via ens4f1 10.9.9.4/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 10.13.0.2 via ens4f1 :blue.inet.0: 11 destinations, 11 routes (8 active, 0 holddown, 3 hidden) + = Active Route, - = Last Active, * = Both 10.99.9.3/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 10.17.0.2 via ens4f1 10.99.9.4/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 10.17.0.2 via ens4f1 10.99.9.5/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 10.17.0.2 via ens4f1
A partir do modo operacional, entre no show route protocol bgp all table inet.0
comando:
user@crpd> show route protocol bgp all table inet.0
inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.99.9.1/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 1.15.0.2 via ens4f1 10.99.9.2/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 1.15.0.2 via ens4f1 10.99.9.3/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 1.15.0.2 via ens4f1 10.99.9.4/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 1.15.0.2 via ens4f1 10.99.9.5/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118 AS path: I, validation-state: unverified > to 1.15.0.2 via ens4f1
Significado
Você pode ver as rotas correspondentes do BGP instaladas nas tabelas de roteamento e quando as rotas sem alvos da comunidade estiverem disponíveis apenas na inet.0
tabela de roteamento.