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 as comunidades BGP, comunidades estendidas e grandes comunidades como condições de correspondência da política 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 detalhar cada membro. Você pode usar atributos da comunidade e 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 meio de configuração (para rotas estáticas, agregadas ou geradas) ou uma política de roteamento de importação. Essas etiquetas podem então ser combinadas quando o BGP exporta as rotas.

Um valor de comunidade é um campo de 32 bits que é 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 estã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 para o 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 de comunidade ou vários valores da comunidade. Quando mais de um valor é atribuído a um nome de 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 receber o nome da comunidade.

O atributo da comunidade regular é de quatro octets. Aprimoramentos de rede, como VPNs, têm requisitos de funcionalidade que podem ser satisfeitos 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 octets transportam 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 decimal 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 de comunidade padrão e estendidos, você pode usar expressões regulares no estilo UNIX. A única exceção é para políticas de importação de VPN (vrf-import), que não suportam expressões regulares para os atributos das comunidades estendidas.

Atributos regulares das comunidades BGP são um atributo de comprimento variável que consiste em um conjunto de valores de um ou mais de 4 byte que foi dividido 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 parte local da comunidade BGP, o que significa que às vezes o formato da comunidade é ASN:ASN. Com a 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 mais significativo de 4 byte 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 no RFC 8092. Você pode configurar uma grande comunidade BGP nos [edit policy-options community community-name members] níveis de [edit routing-options static route ip-address community] hierarquia. O formato de atributos de comunidade de grande porte BGP tem quatro campos: large:global administrator:assigned number:assigned number.

A comunidade estendida específica do endereço unicast BGP IPv6 é codificada como um conjunto de valor de 20 bytes. O valor de 20 byte é interpretado no seguinte formato:

  • Os 2 bytes mais significativos codificam o valor do tipo e sub-tipo (alto valor (byte mais significativo) e baixo valor (segundo byte mais significativo)).

  • Os próximos 16 bytes codificam o endereço unicast IPv6. É o administrador global da RFC IETF.

  • Os últimos 2 bytes codificam os valores locais definidos pelo operador. É administrador local no IETF RFC.

Os atributos específicos da comunidade estendida BGP do IPv6 são representados por uma palavra-chave ipv6-target, ipv6-originou ipv6-extended seguidos pelo IPv6 e pelo administrador local separados por <, > e :.

Nota:

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

Exemplo: Configurando uma política de roteamento para redistribuir rotas BGP com uma tag de comunidade específica no IS-IS

Este exemplo define uma política que tira 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: Redistribuindo rotas BGP com uma tag de comunidade específica no IS-ISRedistribuindo rotas BGP com uma tag de comunidade específica no IS-IS

Neste exemplo, o Dispositivo A, o Dispositivo B, o Dispositivo C e o 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 do EBGP para o 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 a essas rotas.

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

Configuração

Procedimento

Configuração rápida da CLI

Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua 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 como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia do 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 a 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 como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia do 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 com tags 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 e encaminhamento direto, que redistribui rotas para o Dispositivo E, através 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 e direto.

  7. Configure a 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 você terminar de configurar o dispositivo, entre no commit modo de configuração.

Verificação

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

Verificando 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 (EBGP) externa entre eles. O Dispositivo R2 usa a sessão BGP para enviar duas rotas estáticas ao 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 de EBGP, elas são enviadas e aceitas. Para suprimir 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 curinga de comunidades (aqui, a comunidade é nomeada wild):

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

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

Topologia

Figura 2 mostra a rede de amostra.

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

Configuração

Configuração rápida da CLI

Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua 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 na CLI, consulte Usando o 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 as 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 na CLI, consulte Usando o 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 a 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. Aplicar 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 você terminar de configurar os dispositivos, entre no commit modo de configuração.

Verificação

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

Verificação das rotas BGP

Propósito

Certifique-se de que a tabela de roteamento no 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: Configuração de 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 (EBGP) externa entre eles. O Dispositivo R2 usa a sessão BGP para enviar duas rotas estáticas ao 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 inigualálida e é recusada.

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

Topologia

Figura 3 mostra a rede de amostra.

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 da CLI

Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua 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 na CLI, consulte Usando o 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 na CLI, consulte Usando o 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 a 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. Aplicar 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 você terminar de configurar os dispositivos, entre no commit modo de configuração.

Verificação

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

Verificação das rotas BGP

Propósito

Certifique-se de que a tabela de roteamento do dispositivo R1 contém 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 ocultas.