O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve o que é a métrica do Accumulated Interior Gateway Protocol (AIGP) no Border Gateway Protocol (BGP) e seus casos de uso.
A Cisco recomenda que você tenha conhecimento destes tópicos:
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. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se nossa rede estiver ativa, certifique-se de que você compreende o impacto potencial de qualquer comando.
Esta seção fornece uma visão geral da métrica do AIGP e algumas considerações importantes sobre seu uso.
Como você sabe, IGP significa Interior Gateway Protocol e representa um grupo de protocolos de roteamento que são executados dentro de um único domínio administrativo. O IGP toma uma decisão de seleção de caminho com base no valor da métrica.
O BGP é projetado para fornecer roteamento sobre um grande número de sistemas autônomos (AS) independentes com coordenação limitada ou sem coordenação entre as respectivas administrações. Ele não toma suas decisões de seleção de caminho através do uso de uma métrica. No entanto, há implantações nas quais uma única administração executa várias redes BGP contíguas. Nesses casos, pode ser desejável dentro desse único domínio administrativo, para que o BGP selecione caminhos com base em uma métrica, assim como um IGP faria.
A métrica AIGP (definida via RFC7311) é um atributo de caminho BGP não transitivo opcional. O campo de valor do Atributo AIGP é definido como um conjunto de elementos Type/Length/Value (TLVs). O BGP AIGP TLV contém a Métrica IGP Acumulada.
Observação: os roteadores BGP que não suportam os atributos não transitivos opcionais (por exemplo, AIGP) devem excluir tais atributos e não devem passá-los para outros peers BGP. A métrica do AIGP não tem a intenção de ser transitiva entre sistemas autônomos completamente distintos (somente através dos limites internos do AS).
Hoje, há muitas redes que estão em um único domínio administrativo, que são subdivididas em vários ASNs por várias razões. Pode haver muitas razões possíveis para isso:
Em redes como essas, pode ser útil permitir que o BGP tome suas decisões com base na métrica IGP, de modo que o BGP escolha o caminho fim-a-fim mais curto entre dois nós, mesmo que os nós estejam em dois ASNs diferentes.
Por exemplo: rede ABC, que é subdividida em dois BGP ASNs, ASN 1 e ASN 2. Eles estão fazendo peering no ASBR e os custos de IGP de link estão representando a largura de banda. O objetivo aqui é ter um caminho ótimo de ponta a ponta entre PE11 e PE21.
Note:
PE11#sh bgp ipv4 unicast 10.0.21.21/32
BGP routing table entry for 10.0.21.21/32, version 20
Paths: (2 available, best #2, table default)
Not advertised to any peer
Refresh Epoch 3
2
192.168.0.12 (metric 211) from 192.168.11.11 (192.168.11.11)
Origin IGP, metric 0, localpref 100, valid, internal
Originator: 192.168.0.12, Cluster list: 192.168.11.11
rx pathid: 0x1, tx pathid: 0
Refresh Epoch 3
2
192.168.0.11 (metric 201) from 192.168.11.11 (192.168.11.11)
Origin IGP, metric 0, localpref 100, valid, internal, best
Originator: 192.168.0.11, Cluster list: 192.168.11.11
rx pathid: 0x0, tx pathid: 0x0
Com o AiGP habilitado na topologia (em PE11, PE32, ASBR1x, ASBR2x, RR1, RR2), o PE11 agora escolhe o caminho com o menor custo IGP de ponta a ponta.
PEx, ASBRx, RRn:
Configuração da capacidade do AIGP:
router bgp ASN
neighbor <NBR_IP> aigp
!
Observação: a troca de tráfego (peering) BGP cai e é restabelecida para negociar esse novo recurso. Portanto, é aconselhável executá-lo em uma janela de manutenção.
Anuncie a métrica AIGP para um prefixo.
PE21
route-map SET_AIGP permit 10
set aigp-metric igp-metric
!
router bgp 2
address-family {ipv4|ipv6} unicast
network 10.0.21.21 mask 255.255.255.255 route-map SET_AIGP
!
PE11#sh bgp ipv4 unicast 10.0.21.21/32
BGP routing table entry for 10.0.21.21/32, version 21
Paths: (2 available, best #2, table default)
Not advertised to any peer
Refresh Epoch 3
2
192.168.0.11 (metric 201) from 192.168.11.11 (192.168.11.11)
Origin IGP, aigp-metric 501, metric 0, localpref 100, valid, internal
Originator: 192.168.0.11, Cluster list: 192.168.11.11
rx pathid: 0x1, tx pathid: 0
Refresh Epoch 3
2
192.168.0.12 (metric 211) from 192.168.11.11 (192.168.11.11)
Origin IGP, aigp-metric 201, metric 0, localpref 100, valid, internal, best
Originator: 192.168.0.12, Cluster list: 192.168.11.11
rx pathid: 0x0, tx pathid: 0x0
Em uma grande rede central do provedor de serviços, a rede de transporte é geralmente subdividida em diferentes domínios IGP, unidos usando BGP rotulado como Unicast para fornecer Caminho Comutado com Rótulo (LSP - Labeled Switched Path) de ponta a ponta. Os roteadores de borda executam Next Hop Self (NHS) em BGP LU AF.
O IGP/LDP transporta as informações de prefixo/rótulo somente na área/domínio local. Em seguida, o BGP transporta o prefixo/rótulo para todas as áreas/domínios remotos redistribuindo as rotas no BGP nos limites de área. As rotas/rótulos são anunciados usando LSPs. O próximo salto para a rota é alterado em cada ABR para o roteador local, o que elimina a necessidade de vazamento de rotas IGP através dos limites de área/domínio.
Neste diagrama de topologia, há um único domínio BGP dividido em 2 domínios IGP (CORE e Access-1). O número mostrado ao lado de cada link representa o custo/métrica IGP desse link.
Desafio: o tráfego descendente do PS-Core para o eNB/gNB (conectado ao CSR15) está tomando um caminho assimétrico e abaixo do ideal em comparação com o tráfego ascendente do eNB/gNB (conectado ao CSR15) para o PS-Core, o que está causando problemas de latência no tráfego de mobilidade.
Tráfego upstream - CSR15 para SAR150
RP/0/0/CPU0:CSR15#traceroute mpls ipv4 10.0.2.150/32 so 10.0.2.15
Tracing MPLS Label Switched Path to 10.0.2.150/32, timeout is 2 seconds
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
0 10.15.102.15 MRU 1500 [Labels: explicit-null/16150 Exp: 0/0]
L 1 10.15.102.102 MRU 1500 [Labels: 16150 Exp: 0] 0 ms !!!! AGG102
. 2 * !!!! P112 does not have a route to CSR15
! 3 10.112.150.150 20 ms !!!! SAR150
Tráfego downstream - SAR150 para CSR15
RP/0/0/CPU0:SAR150#traceroute mpls ipv4 10.0.2.15/32 source 10.0.2.150
Tracing MPLS Label Switched Path to 10.0.2.15/32, timeout is 2 seconds
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
0 10.101.150.150 MRU 1500 [Labels: explicit-null/16015 Exp: 0/0]
L 1 10.101.150.101 MRU 1500 [Labels: 16015 Exp: 0] 10 ms !!! AGG101
L 2 10.11.101.11 MRU 1500 [Labels: 16015 Exp: 0] 10 ms !!! CSR11
L 3 10.11.12.12 MRU 1500 [Labels: 16015 Exp: 0] 10 ms !!! CSR12
L 4 10.12.13.13 MRU 1500 [Labels: 16015 Exp: 0] 20 ms !!! CSR13
L 5 10.13.14.14 MRU 1500 [Labels: explicit-null Exp: 0] 30 ms !!! CSR14
! 6 10.14.15.15 30 ms !!! CSR15
O objetivo aqui é ter um caminho ótimo de ponta a ponta entre os roteadores SAR e os roteadores CSR. O BGP rotulado como Unicast (RFC 3107) está sendo usado para calcular a distância dos roteadores SAR para CSR. A largura de banda disponível em cada um dos links do núcleo é mapeada para o custo do IGP, portanto, o BGP deve transportar esse custo corretamente entre cada um dos PEs. Essa funcionalidade é obtida usando o AiGP.
Rede MPLS perfeita com
Note:
A capacidade do Atributo de Caminho do AiGP deve ser acordada entre os peers BGP. As métricas de AiGP são incluídas apenas em anúncios de prefixo entre peers habilitados para AiGP. O recurso AIGP é configurado para um peer de BGP individual e uma família de endereços de BGP específica.
router bgp ASN
neighbor <NBR_IP>
address-family ipv4 unicast
aigp [disable]
A métrica do AIGP é um valor de 32 bits (0 a 4.294.967.295). Ele pode ser definido durante a redistribuição, a origem da rota através do comando network ou durante o recebimento de um prefixo com um mapa de rota/política de rota.
route-policy AIGP_POLICY
set aigp-metric igp-cost
end-policy
!
router bgp ASN
address-family {ipv4|ipv6} unicast
network <NETWORK/MASK> route-policy AIGP_POLICY
or
redistribute {ospf|isis} {process-id} route-policy AIGP_POLICY metric VALUE
!
Note:
CSR15:
! Additional config lines related to AIGP are marked in RED color
route-policy SID($SID)
set label-index $SID
set aigp-metric igp-cost
end-policy
!
router bgp 1
address-family ipv4 unicast
network 10.0.2.15/32 route-policy SID(15)
neighbor-group RR
address-family ipv4 labeled-unicast
aigp
!
!
!
Observação: uma configuração similar em todos os dispositivos de peering BGP respectivos foi feita.
Tráfego downstream - SAR150 para CSR15
RP/0/0/CPU0:SAR150#sh bgp ipv4 labeled-unicast 10.0.2.15/32
BGP routing table entry for 10.0.2.15/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 411 411
Local Label: 16015
Last Modified: Oct 24 11:05:26.796 for 00:00:04
Paths: (2 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.0.2.102 (metric 200) from 10.0.2.100 (10.0.2.15)
Received Label 16015
Origin IGP, metric 0, localpref 100, aigp metric 20, valid, internal, best, group-best, labeled-unicast
Received Path ID 1, Local Path ID 1, version 410
Originator: 10.0.2.15, Cluster list: 10.0.2.100, 10.0.2.102
Total AIGP metric 220
Label-Index: 15
Path #2: Received by speaker 0
Not advertised to any peer
Local
10.0.2.101 (metric 180) from 10.0.2.100 (10.0.2.15)
Received Label 16015
Origin IGP, metric 0, localpref 100, aigp metric 60, valid, internal, backup, add-path, labeled-unicast
Received Path ID 8, Local Path ID 7, version 411
Originator: 10.0.2.15, Cluster list: 10.0.2.100, 10.0.2.101
Total AIGP metric 240
Label-Index: 15
RP/0/0/CPU0:SAR150#traceroute mpls ipv4 10.0.2.15/32 so 10.0.2.150
Tracing MPLS Label Switched Path to 10.0.2.15/32, timeout is 2 seconds
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
0 10.112.150.150 MRU 1500 [Labels: 16102/16015 Exp: 0/0]
L 1 10.112.150.112 MRU 1500 [Labels: explicit-null/16015 Exp: 0/0] 10 ms !!! P112
L 2 10.102.112.102 MRU 1500 [Labels: explicit-null Exp: 0] 10 ms !!! AGG102
! 3 10.15.102.15 20 ms !!! CSR15
Tráfego upstream - CSR15 para SAR150
RP/0/0/CPU0:CSR15#traceroute mpls ipv4 10.0.2.150/32 source 10.0.2.15
Tracing MPLS Label Switched Path to 10.0.2.150/32, timeout is 2 seconds
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
0 10.15.102.15 MRU 1500 [Labels: explicit-null/16150 Exp: 0/0]
L 1 10.15.102.102 MRU 1500 [Labels: 16150 Exp: 0] 10 ms !!! AGG102
. 2 * !!! P112 does not have a route to CSR15
! 3 10.112.150.150 30 ms !!! SAR150
Um dispositivo que esteja executando o Border Gateway Protocol (BGP) também pode ser configurado para ignorar a métrica AIGP durante o processo de seleção do melhor caminho entre dois caminhos quando um caminho não tem a métrica AIGP. Usando o comandobgp bestpath aigp ignore no modo de configuração do roteador. Para restaurar o dispositivo à operação padrão, use a forma no desse comando.
[no] bgp bestpath aigp ignore
Por padrão, o BGP sempre prefere um caminho com a métrica AIGP. Quando há dois caminhos, um com a métrica AIGP e o outro sem, a execução do
bgp bestpath aigp ignore comando resulta no BGP executando o cálculo do melhor caminho como se nenhum caminho tivesse a métrica AIGP.
Conclusão
O atributo BGP AIGP é certamente desenvolvido para resolver certos casos de uso de nicho, mas deve ser usado com cautela.
Informações Relacionadas
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
13-Dec-2023 |
Versão inicial |