Políticas de roteamento para comunidades BGP

Entendendo as comunidades BGP, comunidades estendidas e grandes comunidades como condições de correspondência de 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 do caminho nas mensagens de atualização do BGP. Essas informações identificam os membros da comunidade e permitem que você execute ações em um grupo sem precisar elaborar cada membro. Você pode usar atributos de comunidade e comunidades estendidas para disparar decisões de roteamento, como aceitação, rejeição, preferência ou redistribuição.

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

Um valor de 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 exclusivo atribuído pelo AS. Esse sistema tenta garantir um conjunto globalmente único de valores comunitários para cada SA na Internet. O Junos OS usa uma notação de as-number:community-value, em que cada valor é um número decimal. Os valores de AS de 0 e 65.535 são reservados, assim como todos os valores de comunidade dentro desses números de AS. Cada comunidade, ou conjunto de comunidades, recebe um nome dentro da [edit policy-options] hierarquia de configuração. O nome da comunidade a 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 de comunidade de 64510:1111 pode pertencer à comunidade chamada AS64510-routes. O nome da comunidade também é usado em uma política de roteamento como um critério de correspondência ou como uma ação. A sintaxe de comando para criar uma comunidade é: policy-options community name members [community-ids]. Eles community-ids são um único valor de comunidade ou vários valores de comunidade. Quando mais de um valor é atribuído a um nome de comunidade, o dispositivo de roteamento interpreta isso como um AND 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 de comunidade regular é de quatro octetos. Os aprimoramentos de rede, como VPNs, têm requisitos de funcionalidade que podem ser atendidos por um atributo, como uma comunidade. No entanto, o valor da comunidade de 4 octetos não fornece 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 octetos que também é dividido em duas seções principais. Os primeiros 2 octetos da comunidade codificam um campo de tipo, enquanto os últimos 6 octetos carregam um conjunto exclusivo de dados em um formato definido pelo campo de tipo. As comunidades estendidas fornecem uma gama maior para agrupar ou categorizar comunidades.

O formato de atributo de comunidades estendidas do BGP tem três campos: type:administrator:assigned-number. O dispositivo de roteamento espera que você use as palavras target ou represente origin o campo de 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 que o tamanho do campo (65.535 para 2 octetos ou 4.294.967.295 para 4 octetos).

Ao especificar IDs de 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 dão suporte a expressões regulares para o atributo de comunidades estendidas.

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

Observação: No Junos OS, as rotas estáticas suportam apenas comunidades BGP padrão (nativas) em sua configuração. Não há suporte para comunidades estendidas para rotas estáticas.

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

  • Os 2 bytes mais significativos codificam o valor Tipo e Subtipo (valor alto (byte mais significativo) e Valor baixo (segundo byte mais significativo)).

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

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

O endereço IPv6 unicast atributos de comunidade específicos BGP estendidos são representados por uma palavra-chave ipv6-target, ipv6-originou ipv6-extended seguidos por IPv6 e administrador local separados por <, > e :.

Observação:

O comprimento do valor do atributo de comunidades grandes BGP deve ser um múltiplo diferente de zero de 12.

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

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

Requerimentos

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

Visão geral

A Figura 1 mostra a topologia usada neste exemplo.

Figura 1: Redistribuição de rotas BGP com uma marca de comunidade específica no IS-ISRedistributing BGP Routes with a Specific Community Tag into 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 o BGP interno (IBGP).

O dispositivo E está no AS 2 e tem uma sessão de emparelhamento 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 de comunidade Edu 2:5 e são anunciadas por meio de EBGP para o Dispositivo C.

O dispositivo C aceita as rotas BGP marcadas com o atributo de comunidade Edu 2:5, redistribui as rotas em IS-IS e aplica uma métrica IS-IS de 63 a essas rotas.

A Configuração rápida da CLI mostra a configuração de todos os dispositivos na Figura 1. A seção #d253e65__d253e386 descreve as etapas no Dispositivo C e no Dispositivo E.

Configuração

Tramitação processual

Configuração rápida da CLI

Para configurar rapidamente este exemplo, copie os comandos a seguir, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para corresponder à sua configuração de rede e, em seguida, copie e cole os comandos na 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 requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do 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 Edu atributo community à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 requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do 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 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 Edu-to-isis.

  5. Configure a política send-isis-and-direct, que redistribui 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 send-isis-and-direct.

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

Resultados

No modo de configuração, confirme sua configuração inserindo os show interfacescomandos , show protocols, , show policy-optionse show routing-options . 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

Finalidade

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

Ação

Do modo operacional, insira o 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: configurar uma política de roteamento que remove comunidades BGP

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

Requerimentos

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 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 suprimir a aceitação de 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 de comunidade não é incluído. Para remover todas as comunidades, primeiro defina um conjunto curinga de comunidades (aqui, a comunidade é nomeada wild):

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

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

Topologia

A Figura 2 mostra a rede de amostra.

Figura 2: Política de BGP que remove comunidadesBGP Policy That Removes Communities

Configuração

Configuração rápida da CLI

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

Dispositivo R1

Dispositivo R2

Tramitação processual

Procedimento passo a passo

O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI do Junos OS.

Para configurar o dispositivo R1:

  1. Configure as interfaces.

  2. Configure BGP.

    Aplique a política de importação à sessão de emparelhamento 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 requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI do Junos OS.

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 anuncie rotas estáticas no BGP e adicione a comunidade BGP às rotas.

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

Resultados

No modo de configuração, confirme sua configuração inserindo os show interfacescomandos , show protocols, , show policy-optionse show routing-options . 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

Finalidade

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 exibir 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 na 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.

Requerimentos

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 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 para serem consideradas uma correspondência. Por exemplo, se uma rota contiver três comunidades, ela será considerada uma correspondência e será aceita. Se uma rota contiver seis ou mais comunidades, ela será considerada não correspondente e rejeitada.

É importante lembrar que a política padrão do EBGP é aceitar todas as rotas. Para garantir que as rotas não correspondentes sejam rejeitadas, você deve incluir uma then reject ação no final da definição de política.

Topologia

A Figura 3 mostra a rede de amostra.

Figura 3: Política de BGP com limite no número de comunidades aceitasBGP Policy with a Limit on the Number of Communities Accepted

Configuração

Configuração rápida da CLI

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

Dispositivo R1

Dispositivo R2

Tramitação processual

Procedimento passo a passo

O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI do Junos OS.

Para configurar o dispositivo R1:

  1. Configure as interfaces.

  2. Configure BGP.

    Aplique a política de importação à sessão de emparelhamento 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 requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI do Junos OS.

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 anuncie rotas estáticas no BGP e adicione a comunidade BGP às rotas.

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

Resultados

No modo de configuração, confirme sua configuração inserindo os show interfacescomandos , show protocols, , show policy-optionse show routing-options . 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

Finalidade

Certifique-se de que a tabela de roteamento no 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 na 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 exibir 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 na política de importação do dispositivo R1 é modificada, as rotas BGP não ficam mais ocultas.