Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Priorização de rotas BGP

Entendendo a priorização de rotas BGP

Embora o BGP seja um dos protocolos de roteamento mais amplamente implantados atualmente em uso, transportando não apenas informações de acessibilidade da camada de rede (NLRI), mas também muitos tipos de informações de acessibilidade de VPN, é notável que o protocolo não especifica como as informações são ordenadas nas mensagens de atualização do BGP. Essa decisão cabe à implementação.

Em sistemas de grande escala, o BGP pode levar um tempo significativo para trocar suas informações de roteamento entre sistemas. Isso é especialmente verdade durante a startup BGP, operações de atualização de rotas e ao ajudar na reinicialização graciosa. Para lidar com a grande quantidade de informações que precisa ser processada, o processamento de rotas BGP é realizado com o uso de filas. As rotas de saída são colocadas em filas de saída para processamento. A priorização de rota BGP é introduzida no Junos OS Release 16.1 como um meio de permitir que o usuário priorize deterministicamente as mensagens de atualização do BGP. A priorização de rota BGP é um processo que opera estritamente nas filas de saída., ajudando a solicitar as informações que estão sendo enviadas aos roteadores peer BGP.

Na configuração padrão, ou seja, quando não output-queue-priority existe nenhuma configuração ou política que anule a prioridade, o processo de protocolo de roteamento (rpd) envolve rotas BGP na fila de saída por base de informações de roteamento (RIB). Uma RIB, que também é conhecida como tabela de roteamento, corresponde tanto a uma família de endereços específica, como a inet.0, quanto a tabelas de instâncias de roteamento, como vrf.inet.0. Enquanto processa filas de saída, o código de atualização BGP libera a fila de saída para o RIB atual antes de passar para a próxima RIB que tem uma fila de saída não vazia.

Nota:
  • Não há tentativa de priorizar automaticamente rotas, mesmo que haja uma possibilidade teórica de fazê-lo. A priorização de rotas individuais é, portanto, completamente deixada para o usuário.

  • Se as prioridades de rota BGP forem alteradas para um grupo de pares, as sessões de peer BGP serão redefinidas.

Casos de uso para priorização de rotas BGP

Tabela 1 mostra os tipos de rotas que se beneficiariam da priorização de rotas e algumas notas sobre por que se beneficiariam dela. Exemplos desses tipos de rotas também estão incluídos. Priorizar essas rotas em um determinado ambiente de grande escala pode ajudar os roteadores a reagir mais rapidamente a importantes mudanças de rota.

Tabela 1: Casos de uso para priorização de rotas BGP

Tipo de rota ou atualização

Notas

Exemplo

Prefixos usados para resolver o próximo salto BGP para um próximo salto de encaminhamento imediato

Alterações nesses prefixos devem ser feitas o mais rápido possível.

  • Rotas de host

  • Prefixos que fazem parte dos requisitos de resolução recursiva

Rotas usadas para endpoints de túnel

Endpoints de túnel como GRE ou MPLS são frequentemente usados como próximos saltos BGP.

Rotas unicast rotuladas de BGP

Tipos de rota que são essenciais para a operação de um recurso de protocolo

Para alguns protocolos vpn, certos tipos de rota são usados para desencadear mudanças sensíveis ao tempo dentro do protocolo. As alterações nessas rotas devem ser feitas o mais rápido possível.

  • Autodiscovery ativo de origem MVPN (Tipo 5)

  • Sites de VPLS multihomed

Rotas de infraestrutura de provedores de serviços

Essas rotas são essenciais para a capacidade de um provedor de serviços de realizar negócios. Sem rotas precisas e atualizadas, o provedor de serviços pode não ser capaz de fornecer algumas de suas ofertas de serviços.

  • Redes de gerenciamento internas

  • Prefixos de operações de rede

  • Recursos de DNS

Mudanças na topologia da rede

Estes devem ser priorizados antes de atualizações de rota simples.

  • Novo roteador adicionado à rede

  • Roteadores removidos da rede

Propriedades da priorização de rotas BGP

A priorização de rota BGP no Junos OS é implementada usando um conjunto de 17 filas de saída priorizadas (numeradas) que são atendidos por um mecanismo de símbolo configurável pelo usuário. Esta seção descreve as filas de saída priorizadas, a operação do sistema de fichas e a atribuição de rotas para filas.

Filas de saída priorizadas

Tabela 2 mostra as filas de saída disponíveis e sua função dentro do sistema de priorização. O sistema de priorização funciona em uma escala tradicional de baixa, média e alta prioridade, sendo 1 a menor prioridade e 16 sendo a maior prioridade.

Tabela 2: Filas de saída priorizadas

Fila

Função

Acelerada

Esta é a fila de saída de maior prioridade. As rotas desta classe são garantidas em alguma parte do processamento da fila de saída enquanto limpam a fila de saída. Essa fila não tem número e é referida na configuração pelo nome.

1 (menor prioridade)

Esta é a menor fila de saída de prioridade. Esta é a fila de prioridade padrão, o que significa que rotas sem atribuição de fila explícita da determinação automática do protocolo ou da política do usuário são colocadas nesta fila por padrão. As mensagens de atualização de rota são colocadas nesta fila por padrão.

2 - 16 (baixa - alta prioridade)

Essas filas de saída variam em prioridade desde a menor prioridade (2) até a mais alta prioridade (16). São rotas atribuídas com base na política do usuário ou configuração de peer BGP. Rotas em uma fila de saída de maior prioridade podem antecipar as rotas em filas de menor prioridade.

Atribuição de rotas para filas

A atribuição de rotas para as várias filas pode ser realizada configurando e atribuindo políticas de exportação bgp. Isso significa que a prioridade de rota pode variar em cada grupo de peer BGP, bem como em configurações específicas de vizinhos dentro dos grupos de pares BGP. Você também pode atribuir rotas a filas usando a parte de ação de uma declaração de política. A atribuição de rotas para filas pela ação de uma declaração de política substituirá as atribuições feitas pela configuração do BGP.

Quando as rotas são atribuídas a filas

As rotas priorizadas são adicionadas às suas respectivas filas apenas durante o processamento da rota. Isso geralmente ocorre nas seguintes condições:

  • Quando as rotas são recebidas de vizinhos BGP estabelecidos.

  • Durante uma caminhada na tabela de roteamento, como durante a reconfiguração ou a criação inicial de um peer.

A tabela de roteamento orienta as rotas de processo sequencialmente em uma tabela, com base na ordem da tabela de roteamento interno do sistema. Por exemplo, inet.0e inet6.0assim por diante. Essa ordem interna é predeterminada e não pode ser modificada pelo operador.

Se as rotas de maior prioridade residem em tabelas de roteamento processadas posteriormente na ordem, essas rotas podem ser adicionadas às filas após rotas de menor prioridade encontradas no início do processo.

Mecanismo de símbolo de trabalho

Os símbolos correspondem ao trabalho para criar uma mensagem de atualização BGP. Todas as filas recebem fichas que são armazenadas em baldes. O número de fichas em um determinado balde é configurável pelo usuário. Dessa forma, os usuários podem criar políticas que permitam que suas rotas sejam atendidas nas proporções que preferirem. A configuração do agendador de prioridades é realizada globalmente dentro do BGP no nível de [edit protocols bgp] hierarquia. Por padrão, todas as filas de prioridade têm pelo menos 1 símbolo em seu balde para garantir que as prioridades mal configuradas não passam fome.

Entendendo a prioridade da fila e a justiça

O esquema usado pela priorização de rota BGP se concentra em dois elementos: justiça e prioridade:

  • Justiça significa que quando há trabalho a fazer em qualquer fila, outras filas são garantidas para fazer algum trabalho em algum momento. Quanto trabalho cada fila pode ser feito é determinado pelo número de símbolos atribuídos a cada prioridade.

  • A prioridade significa que quando há trabalho concorrente e justiça foi garantida, para sempre escolher o trabalho mais importante.

Por exemplo, presuna três classes de prioridade: baixa, média e alta. Elas podem ser atribuídas às filas 1, 2 e 3, respectivamente. Como alternativa, eles poderiam ser atribuídos às filas 3, 6 e 9. Para ser justo, se a decisão for de que a alta prioridade recebe 50% do trabalho disponível, a média recebe 35%, e a baixa recebe os 15% restantes, os símbolos podem ser atribuídos como 50 para alto, 35 para médio e 15 para baixo. Como alternativa, os símbolos podem ser atribuídos de 5 a alto, 4 a médios e 2 a baixos. Você pode atribuir a qualquer uma das 17 filas qualquer valor entre 1 e 100. A proporção do número de fichas em uma única fila para o número total de fichas em todas as filas dá a porcentagem de trabalho que será feito em cada fila.

A prioridade é mais importante quando o trabalho aparece em uma fila, enquanto os símbolos estão em processo de serem gastos em outra fila pelo agendador de trabalho. Tabela 3 mostra o ponto de partida para um exemplo disso.

Tabela 3: Filas e fichas

Fila de prioridade (número de fila)

Número de fichas atribuídas à fila

Número de fichas deixadas na fila

Número de entradas na fila

Alta (9)

50

50

0

Médio (6)

35

15

5000

Baixo (3)

15

15

10000

Se assumirmos que o agendador de trabalho está processando a fila média (fila número 6) e gastou 20 fichas, então restam 15 fichas a serem gastas nas entradas restantes na fila média e 15 fichas a serem gastas na fila de baixa prioridade. Se 5 entradas chegarem na fila acelerada antes da próxima corrida do agendador de trabalho, essas 5 entradas serão enviadas primeiro porque ainda restam 50 fichas na fila acelerada.

Procedimento de manutenção de fila

O procedimento de manutenção de fila opera por grupo de peer BGP com cada grupo mantendo seus próprios baldes de ficha.

  • Os baldes de ficha para cada prioridade começam cheios pelo número configurado de fichas ou pelo padrão de 1.

  • Cada vez que uma entrada de rota é retirada de uma fila para iniciar uma atualização BGP, um símbolo é subtraído dessa fila.

  • Embora a fila acelerada tenha fichas, todas as outras entradas de fila são retiradas da fila acelerada, sujeitas às regras de embalagem de rota.

  • As entradas são retiradas da fila que tem a maior prioridade. Isso significa que, se as entradas forem adicionadas a uma fila de prioridade maior entre as corridas do mecanismo de manutenção de fila, e houver fichas disponíveis nessa fila de prioridade mais alta, as novas entradas na fila de maior prioridade serão enviadas primeiro, antecipando assim as entradas em filas de menor prioridade. Se a fila de prioridade superior não tiver nenhum símbolo de trabalho disponível quando as novas entradas chegarem, as novas entradas só serão enviadas após a próxima atualização do símbolo.

  • Os símbolos são atualizados após todas as filas de prioridade terem sido atendidos (não há entradas remanescentes em nenhuma fila) ou quando todos os símbolos estiverem esgotados.

Exemplo: Configurando o agendador de prioridade de saída BGP e a prioridade da família de endereços globais

Este exemplo mostra como configurar e testar o agendador de prioridade de rotas BGP em todo o sistema.

Requisitos

Este exemplo usa os seguintes componentes de hardware e software:

  • Um roteador da Série MX (R1) executando o Junos OS Release 16.1 ou posterior

Antes de configurar o agendador de priorização de rota BGP, certifique-se de que o protocolo BGP está sendo executado no roteador.

Visão geral

O agendador de prioridade de rota BGP é usado para controlar a quantidade de trabalho feito dentro das 17 filas de saída do sistema de priorização de rota. O sistema usa um conjunto de 17 filas de saída priorizadas, por instância de roteamento à qual os símbolos de trabalho são atribuídos. Todas as 17 filas de saída priorizadas (1-16 e aceleradas) têm 1 símbolo atribuído por padrão. Qualquer número de fichas entre 1 e 100 pode ser atribuído a cada uma das 17 filas. Atribuir fichas às filas permite equilibrar a quantidade de trabalho realizada nas rotas dentro das filas. Além disso, as configurações padrão para filas de alta, média e baixa prioridade podem ser configuradas atribuindo cada palavra-chave a uma fila de saída numerada específica. Neste exemplo, configuraremos cada uma das 17 filas prioritárias com números distintos de símbolos de trabalho e também configuramos prioridades de saída global para rotas unicast inet e demonstraremos herança, configurando alguns grupos BGP para substituir as configurações de prioridade global.

Configuração

  • Atribua update-tokens a cada uma das 17 filas de saída.

  • Especifique quais filas numeradas serão usadas como padrão highmediume low filas de prioridade.

  • Configure prioridades globais de saída para inet unicast rotas.

  • Configure um grupo BGP chamado test1 que mostrará recursos de substituição de grupos.

  • Configure um grupo BGP chamado test2 que mostrará a herança global.

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.

Configuração das filas de prioridade de saída individuais

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.

  1. Atribua fichas de atualização a cada uma das 17 filas de saída priorizadas

Configure filas padrão para usar para atualizações de rota de alta, média e baixa prioridade

Procedimento passo a passo

Resultados

Para confirmar a configuração, emita o show bgp output-scheduler comando do modo operacional:

Configure prioridades de produção global para uma família de rotas

Procedimento

Procedimento passo a passo
  1. Configure o global output-queue-priority para inet unicast rotas:

Configure um teste de nome do BGP Group1

Procedimento

Procedimento passo a passo
  1. Configure o grupo test1 para substituir as prioridades globais de produção e incluir um vizinho que substitui o grupo e um vizinho que não o faz.

Configure um teste de nome do BGP Group2

Procedimento passo a passo
  1. Configure o grupo test2 BGP para aceitar padrões globais.

Verificação

Verificando a configuração do agendador de saída BGP

Propósito

Para verificar a configuração do agendador de saída BGP, emita o show bgp output-scheduler comando do modo operacional.

Ação

Significado

A saída mostra que a configuração do agendador de saída foi bem sucedida na aplicação do número adequado de fichas em cada fila de saída e que as palavras-chave de alta, média e baixa prioridade foram atribuídas às filas de saída adequadas.

Verifique a configuração do grupo, a substituição do grupo e a substituição do vizinho

Propósito

Para verificar se os grupos configurados demonstram a substituição do grupo, a substituição do vizinho e a herança, emitem o show bgp group group-name comando do modo operacional.

Ação
Significado

A saída mostra que a prioridade da fila de saída para peer 224.223.2.2 é 7, a prioridade de atualização de rota é 8 e a prioridade de retirada é acelerada. Enquanto a prioridade da fila de saída para o vizinho 224.223.1.1 é 4, a prioridade de atualização de rota é 6, e a prioridade de retirada é a configuração padrão para a família inet unicast, ou 3.

Verifique a herança das configurações de prioridade global

Propósito

Para verificar se os grupos que não estão configurados para substituir as configurações globais de priorização de rota BGP, emitam o show bgp group group-name comando no nível operacional.

Ação
Significado

A saída mostra que as prioridades de rota padrão para inet unicast rotas no test2 grupo correspondem à configuração global.

Exemplo: Controle da convergência da tabela de roteamento usando a priorização de rotas BGP

O exemplo a seguir configura a priorização de rota BGP para permitir que inet labeled-unicast as rotas convergam antes inet unicast das rotas.

Requisitos

Este exemplo usa os seguintes componentes de hardware e software:

  • Um roteador da Série MX (R1) que executa o Junos OS Release 16.1 ou posterior que será o foco do exemplo.

  • Um segundo roteador (R2) configurado como um peer BGP interno com R1.

  • Um refletor de rota BGP (RR) que será usado para preencher as tabelas de roteamento do R1. Neste exemplo, não configuraremos o refletor de rota.

Visão geral

O recurso de priorização de rota BGP foi projetado para permitir a priorização de mensagens de atualização BGP de saída em um roteador. O uso da priorização de rota BGP permite que o usuário garanta que atualizações de rota BGP mais importantes, como alterações de endpoint de túnel GRE ou MPLS, sejam enviadas antes de atualizações de rota BGP menos importantes, como atualizações de atualização de rota.

Neste exemplo, configuraremos o R1 para tratar inet labeled-unicast as atualizações de rota para R2 como prioridade maior do que inet unicast as atualizações de rota. Para isso, configuraremos o roteador R2 para aceitar ambos inet unicast e inet labeled-unicast rotas de seu roteador peer, R1. Em seguida, vamos povoar a inet.0 tabela de roteamento no R1 de um refletor de rota e importar uma parte dessa tabela para a mesa, inet.3 usando rib-group a labeled-unicast importação. Como as rotas estão enfileiradas na R1, podemos validar a operação observando se as rotas na inet.3 RIB são liberadas antes do restante das rotas na inet.0 RIB.

Configure a priorização de rotas BGP

Configure o R2 como um peer BGP de R1.

No R1:

  • Configure o roteador R2 como um peer do roteador R1.

  • Crie um grupo BGP chamado refletor que será usado para obter rotas de Internet a partir de um refletor de rota.

  • Crie um grupo BGP chamado interno que será usado para atribuir o tráfego unicast rotulado a uma fila de saída de maior prioridade.

  • Crie um grupo RIB no qual as rotas recebidas do refletor sejam importadas.

  • Crie a política que determina qual parte do inet.0 RIB é importada para o grupo RIB.

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.

Roteador R2

Roteador R1

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 R2:

  1. Configure um grupo BGP chamado interno.

Procedimento passo a passo

Para configurar o R1:

  1. Configure um grupo BGP chamado refletor que recebe rotas a partir do RR.

  2. Configure um grupo BGP chamado interno

  3. Configure um grupo RIB nomeado em3

  4. Configure uma política de roteamento chamada match-long

  5. Configure uma política de roteamento chamada match-all

Verificação

Verificar se as atualizações de vizinhos são corretamente priorizadas

Propósito

Para confirmar se as atualizações de rota estão sendo colocadas nas filas adequadas e que as filas estão sendo atualizadas.

Ação

Para ver as atualizações de rota que estão na fila do vizinho BGP 192.0.2.2, emita o show bgp neighbor output-queue 192.0.2.2 comando do modo operacional. As saídas mostram que as rotas inet-unicast são anunciadas antes de rotas unicast com rótulo de inet.

Significado

A saída mostra que as atualizações de rota unicast rotuladas são colocadas na fila de show bgp neighbor output-queue 192.0.2.2 saída de prioridade 2 e que a fila de saída de prioridade 2 é vazia antes das atualizações de rota unicast que estão na fila de saída de prioridade 1.