Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Políticas de roteamento para comunidades BGP

Entender comunidades BGP, comunidades estendidas e comunidades grandes como condições de correspondência de políticas de roteamento

Uma comunidade BGP é um grupo de destinos que compartilham uma propriedade comum. As informações da comunidade são incluídas como um atributo de caminho nas mensagens de atualização do BGP. Essas informações identificam membros da comunidade e permitem que você realize ações em um grupo sem precisar elaborar sobre cada membro. Você pode usar atributos comunitários e de comunidades estendidas para desencadear decisões de roteamento, como aceitação, rejeição, preferência ou redistribuição.

Você pode atribuir tags da comunidade a rotas não BGP por configuração (para rotas estáticas, agregadas ou geradas) ou por uma política de roteamento de importação. Essas etiquetas podem ser combinadas quando o BGP exporta as rotas.

Um valor da comunidade é um campo de 32 bits dividido em duas seções principais. Os primeiros 16 bits do valor codificam o número AS da rede que originou a comunidade, enquanto os últimos 16 bits carregam um número único atribuído pelo AS. Esse sistema tenta garantir um conjunto globalmente único de valores de comunidade para cada AS na Internet. O Junos OS usa uma notação de as-number:community-value, onde cada valor é um número decimais. Os valores de AS de 0 e 65.535 são reservados, assim como todos os valores da comunidade dentro desses números DE. Cada comunidade, ou conjunto de comunidades, recebe um nome dentro da hierarquia de [edit policy-options] configuração. O nome da comunidade o identifica exclusivamente ao dispositivo de roteamento e serve como o método pelo qual as rotas são categorizadas. Por exemplo, uma rota com um valor comunitário de 64510:1111 pode pertencer à comunidade nomeada AS64510-routes. O nome da comunidade também é usado dentro de uma política de roteamento como critério de correspondência ou como ação. A sintaxe de comando para criar uma comunidade é: opções community name members [community-ids]de políticas. Ou community-ids são um único valor da comunidade ou vários valores da comunidade. Quando mais de um valor é atribuído a um nome da comunidade, o dispositivo de roteamento interpreta isso como um E lógico dos valores da comunidade. Em outras palavras, uma rota deve ter todos os valores configurados antes de ser atribuído o nome da comunidade.

O atributo regular da comunidade são quatro octetes. Melhorias de rede, como VPNs, têm requisitos de funcionalidade que podem ser preenchidos por um atributo como uma comunidade. No entanto, o valor da comunidade de 4 octets não oferece expansão e flexibilidade suficientes para acomodar os requisitos de VPN. Isso leva à criação de comunidades estendidas. Uma comunidade estendida é um valor de 8 octets que também é dividido em duas seções principais. Os primeiros 2 octets da comunidade codificam um campo do tipo, enquanto os últimos 6 octetes carregam um conjunto único de dados em um formato definido pelo campo do tipo. Comunidades estendidas oferecem uma gama maior para agrupar ou categorizar comunidades.

O formato de atributo de comunidades estendidas BGP tem três campos: type:administrator:assigned-number. O dispositivo de roteamento espera que você use as palavras target ou origin represente o campo do tipo. O campo de administrador usa um número decimais para o AS ou um endereço IPv4, enquanto o campo de número atribuído espera um número decimal não maior do que o tamanho do campo (65.535 para 2 octets ou 4.294.967.295 para 4 octets).

Ao especificar IDs da comunidade para atributos padrão e estendidos da comunidade, você pode usar expressões regulares no estilo UNIX. A única exceção é as políticas de importação de VPN (vrf-import), que não oferecem suporte a expressões regulares para os atributos das comunidades estendidas.

Os atributos regulares das comunidades BGP são um atributo de comprimento variável que consiste em um conjunto de um ou mais valores de 4 byte divididos em valores de 16 bits. A palavra mais significativa é interpretada como um número AS e uma palavra menos significativa é um valor definido localmente atribuído pelo operador do AS. Desde a adoção de ASNs de 4 byte, a comunidade regular BGP de 4 byte e a comunidade estendida BGP de 6 byte não podem mais suportar atributos da comunidade BGP. Os operadores geralmente codificam o número AS na porção local da comunidade BGP, o que significa que, às vezes, o formato da comunidade é ASN:ASN. Com o ASN de 4 byte, você precisa de 8 bytes para codificar. Embora a comunidade estendida BGP permita que um AS de 4 byte seja codificado como o campo de administrador global, o campo de administrador local tem apenas 2 byte de espaço disponível. Assim, o atributo da comunidade estendida de 6 byte também é inadequado. Para superar isso, o Junos OS permite configurar atributos de caminho transitivo opcionais - uma comunidade BGP de 12 byte que fornece o valor de 4 byte mais significativo para codificar o número do sistema autônomo como administrador global e os dois números atribuídos de 4 byte restantes para codificar os valores locais conforme definido na RFC 8092. Você pode configurar uma grande comunidade BGP nos níveis de [edit policy-options community community-name members][edit routing-options static route ip-address community] hierarquia. O formato de atributos de grande comunidade BGP tem quatro campos: large:global administrator:assigned number:assigned number.

Nota:

O comprimento do valor do atributo das grandes comunidades BGP deve ser um múltiplo não zero de 12.

Exemplo: Configurar uma política de roteamento para redistribuir rotas BGP com uma tag comunitária específica para o IS-IS

Este exemplo define uma política que tira as rotas BGP da comunidade e as Edu coloca no IS-IS com uma métrica de 63.

Requisitos

Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.

Visão geral

Figura 1 mostra a topologia usada neste exemplo.

Figura 1: Redistribuir rotas BGP com uma tag comunitária específica para o IS-ISRedistribuir rotas BGP com uma tag comunitária específica para o IS-IS

Neste exemplo, Dispositivo A, Dispositivo B, Dispositivo C e Dispositivo D estão no sistema autônomo (AS) 1 e estão executando o IS-IS. Todos os dispositivos AS 1, exceto o Dispositivo D, estão executando BGP interno (IBGP).

O dispositivo E está no AS 2 e tem uma sessão de peering BGP (EBGP) externa com o dispositivo C. O Dispositivo E tem duas rotas estáticas, 10,2,0,0/16 e 10,3,0,0/16. Essas rotas são marcadas com o atributo da comunidade Edu 2:5 e são anunciadas por meio de EBGP para Dispositivo C.

O dispositivo C aceita as rotas BGP que são marcadas com o atributo da comunidade Edu 2:5, redistribui as rotas para o IS-IS e aplica uma métrica IS-IS de 63 nessas rotas.

Configuração rápida de CLI mostra a configuração para todos os dispositivos em Figura 1. A seção #d244e62__d244e383 descreve as etapas do Dispositivo C e do Dispositivo E.

Configuração

Procedimento

Configuração rápida de CLI

Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para combinar com sua configuração de rede e, em seguida, copie e cole os comandos no CLI no nível de [edit] hierarquia.

Dispositivo A

Dispositivo B

Dispositivo C

Dispositivo D

Dispositivo E

Procedimento passo a passo

O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre a navegação na CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de Usuário da CLI.

Para configurar o dispositivo E:

  1. Configure as interfaces.

  2. Configure a statics política, que adiciona o atributo da Edu comunidade às rotas estáticas.

  3. Configure o EBGP e aplique a statics política.

  4. Configure as rotas estáticas.

  5. Configure o ID do roteador e o número AS.

Procedimento passo a passo

O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre a navegação na CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de Usuário da CLI.

Para configurar o dispositivo C:

  1. Configure as interfaces.

  2. Configure IBGP.

  3. Configure a política de Edu-to-isis, que redistribui as rotas BGP marcadas por Edu aprendidas com o Dispositivo E e aplica uma métrica de 63.

  4. Habilite o IS-IS nas interfaces e aplique a política de Edu-to-isis.

  5. Configure a política de envio-isis e direta, que redistribui as rotas para o Dispositivo E, por meio do EBGP.

    Sem essa política, o Dispositivo E não teria conectividade com as redes no AS 1.

  6. Configure o EBGP e aplique a política de envio-isis e direta.

  7. Configure o ID do roteador e o número do sistema autônomo (AS).

Resultados

A partir do modo de configuração, confirme sua configuração entrando noshow interfaces, show protocolsshow policy-optionse show routing-options comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.

Dispositivo E

Dispositivo C

Se terminar de configurar o dispositivo, entre no commit modo de configuração.

Verificação

Confirme se a configuração está funcionando corretamente.

Verificar o vizinho IS-IS

Propósito

Verifique se as rotas BGP do Dispositivo E são comunicadas na rede IS-IS no AS 1.

Ação

A partir do modo operacional, entre no show route protocol isis comando.

Significado

Como esperado, as rotas 10.2.0.0/16 e 10.3.0.0/16 estão na tabela de roteamento do Dispositivo D como rotas externas IS-IS com uma métrica de 73. Se o dispositivo C não tivesse adicionado 63 à métrica, o Dispositivo D teria uma métrica de 10 para essas rotas.

Exemplo: Configuração de uma política de roteamento que remove comunidades BGP

Este exemplo mostra como criar uma política que aceita rotas BGP, mas remove as comunidades BGP das rotas.

Requisitos

Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.

Visão geral

Este exemplo mostra dois dispositivos de roteamento com uma conexão BGP externa (EBGP) entre eles. O dispositivo R2 usa a sessão BGP para enviar duas rotas estáticas para o dispositivo R1. No dispositivo R1, uma política de importação especifica que todas as comunidades BGP devem ser removidas das rotas.

Por padrão, quando as comunidades são configuradas em pares EBGP, elas são enviadas e aceitas. Para reprimir a aceitação das comunidades recebidas de um vizinho, você pode remover todas as comunidades ou um conjunto especificado de comunidades. Quando o resultado de uma política é um conjunto vazio de comunidades, o atributo da comunidade não está incluído. Para remover todas as comunidades, primeiro defina um conjunto de comunidades (aqui, a comunidade é nomeada wild):

Em seguida, na declaração de política de roteamento, especifique a ação community delete :

Para eliminar uma comunidade específica de qualquer sistema autônomo (AS), defina a comunidade como community wild members "*:community-value".

Topologia

Figura 2 mostra a rede amostral.

Figura 2: Política BGP que remove comunidadesPolítica BGP que remove comunidades

Configuração

Configuração rápida de CLI

Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para combinar com sua configuração de rede e, em seguida, copie e cole os comandos no CLI no nível de [edit] hierarquia.

Dispositivo R1

Dispositivo R2

Procedimento

Procedimento passo a passo

O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar pela CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.

Para configurar o dispositivo R1:

  1. Configure as interfaces.

  2. Configure BGP.

    Aplique a política de importação na sessão de peering BGP com o Dispositivo R2.

  3. Configure a política de roteamento que exclui comunidades.

  4. Configure o número do sistema autônomo (AS) e o ID do roteador.

Procedimento passo a passo

O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar pela CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.

Para configurar o dispositivo R2:

  1. Configure as interfaces.

  2. Configure o ID do roteador e o número do sistema autônomo (AS).

  3. Configure BGP.

  4. Configure várias comunidades ou configure uma única comunidade com vários membros.

  5. Configure as rotas estáticas.

  6. Configure uma política de roteamento que anuncia rotas estáticas para o BGP e adiciona a comunidade BGP às rotas.

  7. Aplique a política de exportação.

Resultados

A partir do modo de configuração, confirme sua configuração entrando noshow interfaces, show protocolsshow policy-optionse show routing-options comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.

Dispositivo R1

Dispositivo R2

Se terminar de configurar os dispositivos, entre no commit modo de configuração.

Verificação

Confirme se a configuração está funcionando corretamente.

Verificando as rotas BGP

Propósito

Certifique-se de que a tabela de roteamento do dispositivo R1 não contenha comunidades BGP.

Ação
  1. No dispositivo R1, execute o show route protocols bgp extensive comando.

  2. No dispositivo R1, desative a community remove configuração na política de importação.

  3. No dispositivo R1, execute o show route protocols bgp extensive comando para visualizar as comunidades anunciadas.

Significado

A saída mostra que, na tabela de roteamento do Dispositivo R1, as comunidades são suprimidas nas rotas BGP enviadas do Dispositivo R2. Quando a community remove configuração da política de importação do Dispositivo R1 é desativada, as comunidades não são mais suprimidas.

Exemplo: Configurar uma política de roteamento com base no número de comunidades BGP

Este exemplo mostra como criar uma política que aceita rotas BGP com base no número de comunidades BGP.

Requisitos

Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.

Visão geral

Este exemplo mostra dois dispositivos de roteamento com uma conexão BGP externa (EBGP) entre eles. O dispositivo R2 usa a sessão BGP para enviar duas rotas estáticas para o dispositivo R1. No dispositivo R1, uma política de importação especifica que as rotas recebidas pelo BGP podem conter até cinco comunidades a serem consideradas compatíveis. Por exemplo, se uma rota contém três comunidades, ela é considerada compatível e aceita. Se uma rota contém seis ou mais comunidades, ela é considerada uma incompatibilidade e é rejeitada.

É importante lembrar que a política padrão do EBGP é aceitar todas as rotas. Para garantir que as rotas sem comparações sejam rejeitadas, você deve incluir uma then reject ação ao final da definição da política.

Topologia

Figura 3 mostra a rede amostral.

Figura 3: Política bgp com um limite no número de comunidades aceitasPolítica bgp com um limite no número de comunidades aceitas

Configuração

Configuração rápida de CLI

Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para combinar com sua configuração de rede e, em seguida, copie e cole os comandos no CLI no nível de [edit] hierarquia.

Dispositivo R1

Dispositivo R2

Procedimento

Procedimento passo a passo

O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar pela CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.

Para configurar o dispositivo R1:

  1. Configure as interfaces.

  2. Configure BGP.

    Aplique a política de importação na sessão de peering BGP com o Dispositivo R2.

  3. Configure a política de roteamento que envia rotas diretas.

  4. Configure o número do sistema autônomo (AS) e o ID do roteador.

Procedimento passo a passo

O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar pela CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.

Para configurar o dispositivo R2:

  1. Configure as interfaces.

  2. Configure o ID do roteador e o número do sistema autônomo (AS).

  3. Configure BGP.

  4. Configure várias comunidades ou configure uma única comunidade com vários membros.

  5. Configure as rotas estáticas.

  6. Configure uma política de roteamento que anuncia rotas estáticas para o BGP e adiciona a comunidade BGP às rotas.

  7. Aplique a política de exportação.

Resultados

A partir do modo de configuração, confirme sua configuração entrando noshow interfaces, show protocolsshow policy-optionse show routing-options comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.

Dispositivo R1

Dispositivo R2

Se terminar de configurar os dispositivos, entre no commit modo de configuração.

Verificação

Confirme se a configuração está funcionando corretamente.

Verificando as rotas BGP

Propósito

Certifique-se de que a tabela de roteamento do dispositivo R1 contenha as rotas BGP esperadas.

Ação
  1. No dispositivo R1, execute o show route protocols bgp comando.

  2. No dispositivo R1, altere a community-count configuração da política de importação.

  3. No dispositivo R1, execute o show route protocols bgp comando.

  4. No dispositivo R1, execute o show route protocols bgp extensive comando para visualizar as comunidades anunciadas.

Significado

A saída mostra que, na tabela de roteamento do Dispositivo R1, as rotas BGP enviadas do dispositivo R2 estão ocultas. Quando a community-count configuração da política de importação do Dispositivo R1 é modificada, as rotas BGP não ficam mais escondidas.