Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Atributo de protocolo de gateway interior acumulado

Exemplos de casos de uso

1. Rede Multi-ASN

Configuração

Verificação

2. MPLS contínuo (ASN único)

Observações

Logs de dispositivos - Inicial

Solução AIGP

Configuração

Configuração de exemplo

Logs de dispositivos - após a implementação do AIGP

Pontos a serem considerados

Ignorar AIGP

Conclusão

Informações Relacionadas

Introdução

Este documento descreve o que é a métrica do Accumulated Interior Gateway Protocol (AIGP) no Border Gateway Protocol (BGP) e seus casos de uso.

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

- BGP

- Rede Multiprotocol Label Switching (MPLS) perfeita

Componentes Utilizados

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.

Informações de Apoio

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.

Atributo de protocolo de gateway interior acumulado

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).

Exemplos de casos de uso

1. Rede Multi-ASN

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:

- Escala IGP

- Uma rede de provedor foi comprada por outro provedor de rede, mas ainda assim eles não mesclaram seus ASNs BGP internamente

- Divisões de negócios diferentes têm suas redes separadas internamente

- Confederações BGP com Sub-AS

- MPLS contínuo, etc.

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.

Rede Multi-ASN sem AIGP

Note:

1. Supondo que Add-path esteja habilitado em R1/2 para anunciar o NH para PEx.

2. Todos os dispositivos usados no cenário mencionado anteriormente estão sendo executados com o Cisco IOS-XE.

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.

Rede Multi-ASN com AIGP

Configuração

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

!

Verificação

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

2. MPLS contínuo (ASN único)

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.

Rede MPLS perfeita sem AIGP

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.

Observações

1. Observado principalmente em cenários de borda geográfica em que o mesmo roteador de agregação atua como um roteador de borda comum para vários domínios de acesso (por exemplo, AGG102 na imagem mencionada anteriormente).

2. Para tráfego ascendente, o roteador do roteador de local de célula (CSR) está escolhendo o roteador de borda mais próximo. Por exemplo, CSR15 seleciona AGG102 como NextHop.

3. Para tráfego descendente, o roteador de agregação de serviços (SAR) também escolhe o roteador de borda mais próximo. Por exemplo, SAR150 seleciona AGG101 (custo 180 < 200).

Logs de dispositivos - Inicial

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

Solução AIGP

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

AIGPArde MPLS perfeita com AIGP

Note:

1. Supondo que Add-path esteja habilitado em dispositivos RR1/2, AGG, CSR e SAR para anunciar o NH.

2. Todos os dispositivos usados no cenário mencionado anteriormente são baseados no Cisco IOS-XR.

Configuração

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:

1. Para rotas redistribuídas, o valor atribuído ao atributo AiGP é o valor do próximo salto iGP para a rota ou conforme definido por uma política de rota.

2. Para rotas estáticas redistribuídas no BGP, o valor atribuído é o valor do próximo salto para a rota ou como definido por uma política de rota.

3. A rota é importada para o BGP através de uma instrução de rede. O valor atribuído é o valor do próximo salto para a rota ou como definido por uma política de rota.

Configuração de exemplo

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.

Logs de dispositivos - após a implementação do AIGP

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

Pontos a serem considerados

- Com as alterações no custo do IGP (por exemplo, alteração na topologia física devido ao corte de link e muito mais), há alterações correspondentes no BGP também. Isso pode causar a rotatividade da rota BGP. Essa convergência também depende do valor de retardo do disparador de próximo salto do BGP configurado para eventos não críticos.

- Ao introduzir o AiGP, a melhor seleção de caminho do BGP é modificada. Coloca o AIGP de BGP após a preferência local de BGP e antes do atributo AS_PATH. Portanto, se houver quaisquer políticas existentes sobre o AS_PATH precedente, elas podem precisar ser revisitadas.

- Quando há dois caminhos, um com a métrica AIGP e o outro sem, o BGP sempre prefere um caminho com a métrica AIGP.

Ignorar AIGP

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

- Configurar o Atributo de Métrica AIGP para BGP

- Suporte técnico e downloads da Cisco