Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Mensagens de erro do BGP

Entender o manuseio de erros para mensagens de atualização BGP

Uma mensagem BGP é considerada malformada quando qualquer um dos atributos da mensagem é malformado. Quando um roteador que participa de uma sessão BGP recebe uma mensagem de atualização malformada, toda a sessão é redefinida por padrão. Isso é indesejável porque as mensagens de atualização com rotas válidas também são afetadas. Para evitar esse comportamento indesejável, o tratamento de erros para mensagens de atualização BGP precisa ser modificado.

Para configurar o manuseio de erros para mensagens de atualização bgp, configure a declaração no nível de hierarquia ou no nível de hierarquia.bgp-error-tolerance[edit protocols bgp][edit protocols bgp group group-name][edit protocols bgp group group-name neighbor address]

Se um atributo contém bandeiras de atributo que entram em conflito com o valor do campo Do Tipo de Atributo, as bandeiras de atributos são redefinidas para o valor correto e a mensagem de atualização é processada. O valor da bit de Comprimento Estendido nas bandeiras de atributo é inalterado porque esse valor define se o comprimento do atributo é de um ou dois octets. Assim, o valor da bandeira do atributo afeta a forma como o pacote de atualização BGP é analisado.

Nota:

Não há especificação explícita do valor da bandeira do atributo para os atributos do caminho.

As mensagens de atualização malformadas são tratadas caso a caso, dependendo dos valores dos atributos contidos nas mensagens. Existem três maneiras de lidar com mensagens de atualização BGP malformadas, listadas na ordem de diminuição da gravidade.

  1. Notification message approach— O erro de mensagem malformado é registrado localmente, uma mensagem de atualização de código de erro é enviada para a administração do peer, e toda a sessão BGP é redefinida.

    Essa abordagem é escolhida quando:

    • A mensagem de atualização do BGP contém o atributo de alcance MP ou o atributo MP unreach.

    • O campo NLRI ou a mensagem de atualização BGP não podem ser analisados corretamente devido a uma incompatibilidade entre o comprimento do atributo e o valor do campo de comprimento do atributo.

  2. — Todas as rotas dentro da mensagem de atualização malformada são tratadas como rotas ocultas, a menos que a declaração esteja configurada, nesse caso as rotas são descartadas.Treat-as-withdraw approachkeep none Na ausência da declaração, o número de rotas malformadas ocultas é configurado com um limite, que quando excedido descarta as rotas e impede que quaisquer outras rotas malformadas sejam ocultas.keep none O Junos OS remove as rotas malformadas recém-recebidas quando o limite de rota malformado é alcançado.

  3. Attribute discard approach— Os atributos malformados na mensagem de atualização são descartados; no entanto, a mensagem é processada. Não recomendamos usar essa abordagem se os atributos a serem descartados podem afetar a seleção ou a instalação de rotas.

    Nota:

    Se um atributo aparecer mais de uma vez em uma mensagem de atualização, todas as ocorrências do atributo, exceto a primeira, serão descartadas e a mensagem será processada.

As mensagens de atualização do BGP são digitalizadas para os seguintes atributos e são tratadas como malformadas com base nos valores desses atributos:

  • The origin attribute— Tratado pela abordagem de tratar como retirada.

  • The AS path attribute— Tratado pela abordagem de tratar como retirada.

  • The AS 4 path attribute— Tratada pela abordagem de descarte de atributos. Se algum atributo tiver atributo de bandeiras que conflitam com o código do tipo de atributo, o Junos OS redefiniu as bandeiras de atributo ao valor correto. A mensagem de atualização continua a ser processada.

    O Junos OS não altera o valor da bit de comprimento estendido nas bandeiras de atributo. Este bit define se o comprimento do atributo é de um octeto ou dois octetes. O valor dessa bandeira afeta a forma como o pacote BGP é analisado. Não há especificação explícita desse valor para os atributos do caminho.

  • The aggregator attribute— Tratada pela abordagem de descarte de atributos.

  • The aggregator 4 attribute— Tratada pela abordagem de descarte de atributos.

  • The next-hop attribute— Tratado pela abordagem de tratar como retirada.

  • The multiple exit discriminator attribute— Tratado pela abordagem de tratar como retirada.

  • The local preference attribute— Tratado pela abordagem de tratar como retirada.

  • The atomic aggregate attribute— Tratada pela abordagem de descarte de atributos.

  • The community attribute— Tratado pela abordagem de tratar como retirada.

  • The extended community attribute— Tratado pela abordagem de tratar como retirada.

  • The originator attribute— Tratado pela abordagem de tratar como retirada.

  • The cluster attribute— Tratado pela abordagem de tratar como retirada.

  • The PMSI attribute— Tratado pela abordagem de tratar como retirada.

  • The MP reach attribute— Tratado pela abordagem da mensagem de notificação.

  • The MP unreach attribute— Tratado pela abordagem da mensagem de notificação.

  • The attribute set attribute— Tratado pela abordagem de tratar como retirada.

  • The AIGP attribute— Tratado pela abordagem de tratar como retirada.

  • Unknown attribute— Se a bandeira BGP não indicar que este é um atributo opcional, este atributo malformado é tratado pela abordagem da mensagem de notificação.

Nota:

Quando uma mensagem de atualização do BGP contém vários atributos malformados, a abordagem mais severa desencadeada por um dos atributos é seguida.

Exemplo: Configuração do manuseio de erros para mensagens de atualização BGP

Este exemplo mostra como configurar o manuseio de erros do BGP.

Requisitos

Antes de começar:

  • Configure interfaces de roteador.

  • Configure um protocolo de gateway interior (IGP).

  • Configure BGP.

  • Configure políticas de roteamento.

Visão geral

Quando um dispositivo de roteamento recebe uma mensagem de atualização com um atributo malformado, o roteador é necessário para redefinir a sessão. Isso é especificado no RFC 4271, A Border Gateway Protocol 4 (BGP-4). As redefinições de sessão impactam não apenas rotas com o atributo ofensivo, mas também outras rotas válidas trocadas durante a sessão. Além disso, esse comportamento pode apresentar uma vulnerabilidade de segurança em potencial no caso de atributos transitivos opcionais. Para minimizar o impacto no roteamento feito por mensagens de atualização malformadas, o draft da Internet draft-ietf-idr-error-handling-01.txt, Tratamento revisado de erros para mensagens DE ATUALIZAÇÃO BGP especifica modificações para o manuseio de mensagens de atualização BGP com atributos malformados. O novo manuseio de erros permite manter a sessão estabelecida e manter as rotas válidas trocadas, ao mesmo tempo em que remove as rotas realizadas na mensagem de ATUALIZAÇÃO malformada.

Topologia

In Figura 1, o Dispositivo R1 tem uma sessão interna de peering BGP com o Dispositivo R0, e uma sessão externa de peering BGP com o Dispositivo R2.

Figura 1: Topologia de exemplo de tratamento de erros do BGPTopologia de exemplo de tratamento de erros do BGP

Para se proteger contra mensagens de atualização malformadas que causam instabilidade na rede, o Dispositivo R1 tem o manuseio de erros do BGP configurado, como mostrado aqui:

Por padrão, uma mensagem BGP é considerada malformada quando qualquer um dos atributos da mensagem é malformado. Quando um roteador que participa de uma sessão BGP recebe uma mensagem de atualização malformada, toda a sessão é reiniciada. A declaração substitui esse comportamento para que o seguinte tratamento de erro BGP esteja em vigor:bgp-error-tolerance

  • Para erros fatais, o Junos OS envia uma mensagem de notificação intitulada Mensagem de atualização do código de erro e reinicia a sessão BGP. Um erro no atributo MP_{UN}REACH é considerado fatal. A presença de vários atributos MP_{UN}REACH em uma atualização BGP também é considerada um erro fatal. O Junos OS reinicia a sessão BGP se não puder analisar o campo NLRI ou a atualização BGP corretamente. A falha em analisar o pacote de atualização BGP pode acontecer quando o comprimento do atributo não corresponde ao comprimento do valor do atributo.

  • Para alguns erros nãofatais, o Junos OS trata todas as rotas contidas na mensagem de atualização BGP malformada como rotas retiradas e as instala como ocultas, a menos que a declaração seja incluída na configuração do BGP.keep none O Junos OS usa essa abordagem de tratamento de erros para os casos que envolvem qualquer um dos seguintes atributos: ORIGEM, AS_PATH, NEXT_HOP, MULTI_EXIT_DISC, LOCAL_PREF, ORIGINÁRIO, CLUSTER, ATTRSET, PMSI, Comunidade e Comunidade Estendida. Além disso, se algum dos atributos de caminho bem conhecidos obrigatórios estiver faltando, o Junos OS trata a atualização bgp como malformada. Para limitar o uso de memória dessas rotas ocultas malformadas, o Junos OS para de instalar novas rotas ocultas malformadas após o número máximo de rotas ocultas malformadas ser alcançada. Neste exemplo, o número máximo é definido para 5, usando a declaração.malformed-route-limit O valor padrão é 1000. Opcionalmente, você pode permitir um número ilimitado de rotas ocultas devido a atributos malformados. Faça isso incluindo a declaração.no-malformed-route-limit

  • Para outros erros não-fetais, o Junos OS descarta os atributos de caminho malformados e continua a processar a mensagem de atualização do BGP. Não é seguro usar essa abordagem nos atributos de caminho que podem afetar a seleção ou a instalação da rota. O Junos OS usa essa abordagem de tratamento de erros para os casos que envolvem qualquer um dos seguintes atributos: ATOMIC_AGGREGATE, AGREGADOR, AGGREGATOR4 e AS4PATH.

Para facilitar a solução de problemas de pacotes malformados, o Junos OS registra o erro listando o código de atributo de caminho malformado, a bandeira, o comprimento, as informações sobre o peer e a família, e o primeiro prefixo da atualização BGP malformada. O registro dos pacotes malformados pode retardar o desempenho do Junos OS se um número significativo de pacotes malformados for recebido em pouco tempo. Para limitar o impacto no desempenho, o Junos OS implementa um algoritmo para registrar uma atualização malformada, suprimir o registro por um intervalo e registrar um resumo. Quando o temporizador de supressão de registro expira, o software registra o número total de atributos malformados recebidos durante o intervalo. Neste exemplo, o timer é definido para 10 segundos, usando a declaração.malformed-update-log-interval O valor padrão é de 300 segundos(5 minutos).

Configuração rápida da CLI mostra a configuração de todos os dispositivos em Figura 1.

A seção descreve as etapas do dispositivo R1.#d202e112__d202e299

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 hierarquia.[edit]

Dispositivo R0

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.Use o editor de CLI no modo de configuraçãohttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

Para configurar o manuseio de erros do BGP:

  1. Configure as interfaces do roteador.

  2. Configure um protocolo de gateway interior (IGP), como OSPF ou IS-IS.

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

  4. Configure a política de roteamento.

  5. Configure a sessão de EBGP.

  6. Configure as sessões do IBGP.

  7. Habilite a tolerância a erros do BGP.

  8. (Opcional) Configure o intervalo de log.

  9. (Opcional) Configure um limite para o número de rotas ocultas para armazenar.

Resultados

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

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

Verificação

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

Verificando as sessões de vizinhos bgp

Propósito

Verifique se a tolerância a erros do BGP está habilitada e exibir os contadores relacionados a atributos de caminho malformados.

Ação
Significado

O campo de atributos malformados mostra que a tolerância a erros está habilitada. Os campos de intervalo de log e limite de rota exibem os valores configurados.

Os contadores de atributos mostram que, na conexão EBGP, vários atributos malformados foram recebidos do Dispositivo R2.

Verificação de rotas ocultas

Propósito

Veja informações sobre rotas ocultas e saiba por que elas estão ocultas.

Ação
Significado

As rotas ocultas malformadas estão marcadas com MalformedAttr no campo de caminho AS.

Você pode remover as rotas ocultas executando o comando.clear bgp neighbor 10.10.10.2 malformed-route

Verificando a origem das rotas ocultas

Propósito

Veja informações sobre rotas ocultas e saiba por que elas estão ocultas.

Ação
Significado

O Junos OS exibe o MalformedA no campo de caminho AS na saída do comando.show route receive-protocol bgp 10.10.10.2 detail hidden

Você pode remover as rotas ocultas executando o comando.clear bgp neighbor 10.10.10.2 malformed-route