BGP Comunidades

Última atualização: UTC ()

O principal objetivo do BGP habilitado roteadores é anunciar prefixos para outros roteadores. Esses prefixos podem ser de várias famílias de endereços diferentes, como IPv4 e VPNv4. Ao anunciar um prefixo, o BGP anexa informações extras, chamadas atributos. O BGP usa esses atributos para selecionar o melhor caminho.

o BGP pode incluir mais informações com cada prefixo, na forma de Strings da Comunidade. Uma string de comunidade é um valor numérico que o par usa como uma tag.

comunidades criam políticas de roteamento entre pares. Ao marcar prefixos com comunidades, dizemos ao par para lidar com os prefixos de uma maneira especial.

como exemplo, digamos que um grupo específico de prefixos precisa ter seu peso definido como 10 por um roteador peer. Podemos escolher um número de comunidade para usar e marcar os prefixos com ele. Se vir um prefixo nosso marcado com esta comunidade, ele definirá o peso para 10.

temos que concordar com nosso colega sobre quais comunidades usar. Do ponto de vista técnico, cabe a eles decidir como lidarão com qualquer string da comunidade. Eles poderiam optar por ignorá-los completamente, se quiserem.

os Provedores podem ter uma lista de comunidades predefinidas que usam e ações que realizam. Como cliente, podemos definir nossas comunidades para corresponder às suas políticas, para ajustar como elas lidam com nossos prefixos.

as comunidades são opcionais e transitivas. Eles são transitivos para que um par possa passá-los para o próximo par.

cada comunidade padrão é um valor de 32 bits. Eles são frequentemente divididos em dois valores de 16 bits, para torná-los mais fáceis de ler. Por exemplo, a comunidade 4259840100 é a mesma coisa que 65000: 100. Freqüentemente, os primeiros 16 bits representam o AS e os segundos 16 bits são um valor personalizado.

existem também comunidades estendidas, que são para fins especiais, como MPLS VPN. estes são valores de 64 bits. Eles compreendem um valor do tipo de 16 bits, Um Valor AS ou IP de 16 bits e 32 bits para o valor da comunidade personalizada.

Algumas comunidades são reservados:

  • 0:0 – 0:65535
  • 65535:0 – 65535:63335

configuração

vamos lab isso para ver como ele funciona. Por favor, esteja ciente de que este não é um cenário do mundo real.

para este laboratório, usaremos dois roteadores com diferentes ASN. R1 tem várias redes que deseja anunciar para R2.

R2 atribui pesos para os prefixos, dependendo do anexo comunidades:

  • Se a comunidade estiver definida para 10:100, ele vai definir o peso para 100
  • Se a comunidade estiver definida para 10:200, ele vai definir o peso para 10

Faça o Download do BGP Communities Lab

R1 – atribuir comunidades

as listas de prefixo identificam as rotas para atribuir comunidades. Neste caso, 172.16.0.0 e 172.16.10.0 estão no Grupo1, e 172.16.20.0 está no Grupo2.

mapas de rotas correspondem às listas de prefixo e, em seguida, definem a comunidade na rota. Group1 é atribuído à comunidade 100 e Group2 é atribuído à comunidade 200.

por padrão, as comunidades são um grande número, o que é difícil de ler. O comando ip bgp-community new-format altera esse valor para o formato ASN:Community. Isso facilita a verificação mais tarde.

por padrão, os roteadores Cisco não enviam comunidades. Habilite isso por vizinho com os comandos estendidos send-community e send-community.

finalmente, o mapa de rotas é aplicado ao vizinho de saída. Ao enviar rotas para o vizinho, as comunidades são anexadas.

R1 – Atribuir Comunidades
! Identify networks with prefix listsip prefix-list Group1 seq 5 permit 172.16.0.0/24ip prefix-list Group1 seq 10 permit 172.16.10.0/24ip prefix-list Group2 seq 5 permit 172.16.20.0/24! Match networks, and set community valuesroute-map R2_Peer permit 10 match ip address prefix-list Group1 set community 10:100route-map R2_Peer permit 20 match ip address prefix-list Group2 set community 10:200! Enable the new community formatip bgp-community new-formatrouter bgp 10 ! Enable sending communities neighbor 10.10.10.2 send-community neighbor 10.10.10.2 send-community extended ! Apply the route map to this neighbour neighbor 10.10.10.2 route-map R2_Peer out

Verifique Comunidades

Aqui, podemos ver que as comunidades são definidas as rotas que R2 recebe.

verificação R2
! Enable the new community formatip bgp-community new-format! Verify that the community is setR2#show ip bgp 172.16.0.0BGP routing table entry for 172.16.0.0/24, version 2Paths: (1 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 10 10.10.10.1 from 10.10.10.1 (172.16.20.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 10:100 rx pathid: 0, tx pathid: 0x0R2#show ip bgp 172.16.20.0BGP routing table entry for 172.16.20.0/24, version 4Paths: (1 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 10 10.10.10.1 from 10.10.10.1 (172.16.20.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 10:200 rx pathid: 0, tx pathid: 0x0

definir políticas

agora que o R2 está recebendo rotas com comunidades, ele pode aplicar políticas a eles.Primeiro, criamos uma lista de comunidades para identificar comunidades específicas. São como usar ACLs ou listas de prefixo para identificar endereços IP. Neste exemplo, usamos uma lista de comunidade nomeada. Ao contrário das listas numeradas da comunidade, elas suportam RegEx e podem ter entradas ilimitadas. As listas numeradas têm um limite de 100 entradas.

mapas de rotas correspondem à comunidade e definem o peso.

o mapa de rotas é aplicado ao vizinho para prefixos de entrada.

R2 – definir políticas
! Create a named community list to identify the communitiesip community-list expanded High_Weight permit 10:100ip community-list expanded Low_Weight permit 10:200! Create a route-map to match the communities, and set the weightroute-map R1_Peer permit 10 match community High_Weight set weight 100route-map R1_Peer permit 20 match community Low_Weight set weight 10 ! Apply the route map to the neighbourrouter bgp 20 neighbor 10.10.10.1 route-map R1_Peer in

essas alterações não ocorrerão para rotas já em sua tabela de roteamento. A maneira mais fácil de forçar isso a se aplicar é redefinir o relacionamento vizinho. Tenha em mente que isso é perturbador, então não faça isso em uma rede de produção.

verificar Políticas

se você olhar para a tabela BGP no R2, poderá ver que os pesos foram definidos conforme o esperado.

R2 – verificação
! Verify that the weights are setR2#show ip bgpBGP table version is 4, local router ID is 10.10.10.2Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incompleteRPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 172.16.0.0/24 10.10.10.1 0 100 10 i *> 172.16.10.0/24 10.10.10.1 0 100 10 i *> 172.16.20.0/24 10.10.10.1 0 10 10 i

comunidades bem conhecidas

existem várias comunidades pré-definidas, chamadas comunidades bem conhecidas. Essas comunidades têm significados pré-definidos especiais que todos os falantes do BGP suportam.

os mais comuns incluem:

Internet – uma comunidade proprietária da Cisco. Isso permite que o roteador anuncie o prefixo para todos os vizinhos. Esta é uma comunidade “catch-all” no final de uma lista de comunidades. Esta é uma exceção, pois nem todos os fornecedores a suportarão.

no-Export-impede a publicidade do prefixo para qualquer vizinho eBGP. Isso mantém um prefixo no AS.

No-Anuncie-isso impede a publicidade do prefixo para qualquer vizinho.

Local – as-usado com Confederações para manter o prefixo dentro do local AS. Permite o compartilhamento de prefixo com vizinhos eBGP dentro da Confederação.

projetando para comunidades

ao projetar comunidades, considere estas etapas básicas:

  1. Definir o encaminhamento de política administrativa
    • Decidir o que deve ser filtrado, e onde o filtro
    • Decidir que atributos para alterar a influência do fluxo de tráfego
  2. Design o regime comunitário
    • Que é, decidir quais valores de a utilizar, com base na política
  3. Implantar o esquema de utilizar mapas de rotas
  4. Criar documentação

Quando receber rotas a partir de uma fonte externa, considere a marcá-las com base no local em que foram recebidos no. Da mesma forma, ao originar rotas, considere marcá-las com um ID para o site que as originou.

Deixe uma resposta

O seu endereço de email não será publicado.