Usando políticas de roteamento para amortecer o flapping de rota BGP
O flapping de rota BGP descreve a situação em que os sistemas BGP enviam um número excessivo de mensagens de atualização para anunciar informações de acessibilidade da rede. O amortecimento de flap BGP é uma maneira de reduzir o número de mensagens de atualização enviadas entre os pares BGP, reduzindo assim a carga sobre esses pares sem afetar negativamente o tempo de convergência de rota.
O amortecimento de flap reduz o número de mensagens de atualização marcando rotas tão iniligíveis para a seleção quanto a rota ativa ou preferível. Fazer isso leva a algum atraso, ou supressão, na propagação de informações de rota, mas o resultado é o aumento da estabilidade da rede. Normalmente, você aplica umedecimento de flap em rotas BGP (EBGP) externas (isto é, para rotas em diferentes ASs). Você também pode aplicá-la em uma confederação, entre os ASs membros da confederação. Como a consistência de roteamento dentro de um AS é importante, não aplique o amortecimento de flap nas rotas do IBGP. (Se o fizer, é ignorado.)
O amortecimento de flap BGP é definido em RFC 2439, amortecimento de flap de rota BGP.
Para realizar mudanças nos valores de amortecimento bgp padrão, você define ações criando um conjunto de parâmetros de amortecimento nomeados e incluindo-os em uma política de roteamento com a ação damping
(descrita na configuração de ações que manipulam características de rota). Para que a política de roteamento amorteça funcione, você também deve habilitar o amortecimento de flap de rota BGP.
As seções a seguir discutem os seguintes tópicos:
Configuração de parâmetros de amortecimento de flap BGP
Para definir parâmetros de amortecimento, inclua a damping
declaração:
[edit policy-options] damping name { disable; half-life minutes; max-suppress minutes; reuse number; suppress number; }
O nome identifica o grupo de parâmetros de amortecimento. Ele pode conter letras, números e hífens (-) e pode ser de até 255 caracteres. Para incluir espaços no nome, inclua todo o nome entre aspas (" ").
Você pode especificar um ou mais dos parâmetros de amortecimento descritos em Tabela 1.
Parâmetro de amortecimento |
Descrição |
Inadimplência |
Valores possíveis |
---|---|---|---|
|
Decadência meia-vida, em minutos |
15 minutos |
1 a 45 minutos |
|
Tempo máximo de reposição, em minutos |
60 minutos |
1 a 720 minutos |
|
Limite de reutilização |
750 (sem unidade) |
1 a 20.000 (sem unidade) |
|
Limiar de corte (supressão) |
3000 (sem unidade) |
1 a 20.000 (sem unidade) |
Se você não especificar um ou mais dos parâmetros de amortecimento, o valor padrão do parâmetro é usado.
Para entender como configurar esses parâmetros, você precisa entender como o amortecimento suprime as rotas. Quanto tempo uma rota pode ser suprimida é baseada em uma figura de mérito, que é um valor que se correlaciona com a probabilidade de instabilidade futura de uma rota. Rotas com valores mais altos de valor de mérito são suprimidas por períodos mais longos de tempo. O valor da figura de mérito decai exponencialmente ao longo do tempo.
Um valor de valor de mérito de zero é atribuído a cada nova rota. O valor é aumentado cada vez que a rota é retirada ou readvertida, ou quando um de seus atributos de caminho muda. A cada incidente de instabilidade, o valor aumenta da seguinte forma:
A rota é retirada — 1000
A rota é readvertida — 1000
Os atributos de caminho da rota mudam — 500
Nota:As implementações de outros fornecedores para figura de mérito aumentam o valor apenas quando uma rota é retirada. A implementação do Junos OS para figura de mérito aumenta o valor para a retirada de rotas e o readvertisement de rota. Para acomodar outras implementações por valor de mérito, multiplique os valores e
suppress
limitereuse
por 2.
Quando o valor de figura de mérito de uma rota atinge um nível específico, chamado de limite de corte ou supressão, a rota é suprimida. Se uma rota for suprimida, a tabela de roteamento não instala mais a rota na tabela de encaminhamento e não exporta mais essa rota para nenhum dos protocolos de roteamento. Por padrão, uma rota é suprimida quando seu valor de valor de mérito chega a 3000. Para modificar esse padrão, inclua a opção suppress
no nível de [edit policy-options damping name]
hierarquia.
Se uma rota tiver sido flanqueada, mas depois se tornar estável para que nenhum dos incidentes listados anteriormente ocorra dentro de um período configurável de tempo, o valor de figura de mérito para a rota decai exponencialmente. A meia-vida padrão é de 15 minutos. Por exemplo, para uma rota com um valor de valor de mérito de 1500, se não ocorrerem incidentes, seu valor de figura de mérito é reduzido para 750 após 15 minutos e para 375 após mais 15 minutos. Para modificar a meia-vida padrão, inclua a opção half-life
no nível de [edit policy-options damping name]
hierarquia.
Para a meia-vida, configure um valor menor do que o máximo de supressão. Se não o fizer, a configuração será recusada.
Uma rota suprimida torna-se reutilizável quando seu valor de figura de mérito decai para um valor abaixo de um limiar de reutilização, permitindo assim que rotas que experimentam instabilidade transitória sejam novamente consideradas válidas. O limite de reutilização padrão é de 750. Quando o valor da figura de mérito passa abaixo do limite de reutilização, a rota é mais uma vez considerada utilizável e pode ser instalada na tabela de encaminhamento e exportada da tabela de roteamento. Para modificar o limiar de reutilização padrão, inclua a opção reuse
no nível de [edit policy-options damping name]
hierarquia.
O tempo máximo de supressão fornece um limite superior no tempo em que uma rota pode permanecer suprimida. O tempo máximo de supressão padrão é de 60 minutos. Para modificar o padrão, inclua a opção max-suppress
no nível de [edit policy-options damping name]
hierarquia.
Para o máximo de supressão, configure um valor maior que a metade da vida útil. Se não o fizer, a configuração será recusada.
O valor de figura de mérito de uma rota para de aumentar quando atinge um limite máximo de supressão, que é determinado com base no nível de limiar de supressão da rota, meia-vida, limiar de reutilização e tempo máximo de repressão.
O teto de mérito, εc, que é o mérito máximo que uma rota de flapping pode coletar, é calculado usando a seguinte fórmula:
εc ≤ εr e(t/λ) (ln 2)
εr é o limite de reutilização da figura de mérito, t é o tempo máximo de reposição em minutos, e λ é a meia-vida em minutos. Por exemplo, se você usar os valores padrão de valor de mérito nesta fórmula, mas usar uma meia-vida de 30 minutos, o cálculo é o seguinte:
εc ≤ 750 e(120/30) (ln 2)
εc ≤ 12000
O limite de corte, que você configura usando a opção suppress
, deve ser menor ou igual ao teto de mérito, εc. Se o limite de corte configurado ou o limiar de corte padrão forem maiores do que o teto de mérito, a rota nunca será suprimida e o amortecimento nunca ocorrerá.
Para exibir informações de figura de mérito, use o show policy damping
comando.
Uma rota que foi atribuída a uma figura de mérito é considerada com um estado de amortecimento. Para exibir as informações de amortecimento atuais no dispositivo de roteamento, use o show route detail
comando.
Especificando o amortecimento de flap BGP como a ação em termos de política de roteamento
Para o amortecimento de flap BGP como ação em um termo de política de roteamento, inclua a damping
declaração e o nome dos parâmetros de amortecimento configurados como uma opção route-filter
da declaração no nível de [edit policy-options policy-statement policy-name term term-name from]
hierarquia:
[edit policy-options policy-statement policy-name term term-name from] route-filter destination-prefix match-type { damping damping-parameters; }
ou no nível hierárquico [edit policy-options policy-statement policy-name term term-name then]
:
[edit policy-options policy-statement policy-name term term-name then] damping damping-parameters;
Desativação do amortecimento para prefixos de endereço específicos
Normalmente, você habilita ou desativa o amortecimento por peer. No entanto, você pode desabilitar o amortecimento por um prefixo específico recebido de um peer, incluindo a opção disable
:
[edit policy-options damping name] disable;
Desativação do amortecimento para um prefixo de endereço específico
Neste exemplo de política de roteamento, embora o amortecimento esteja habilitado para o peer, a declaração especifica que o damping none
amortecimento será desativado para prefixo de 10,0,0/8 pol Policy-A
. Essa rota não está amorteçada porque a declaração de política de roteamento nomeada Policy-A
filtra o prefixo 10.0.0.0/8 e os pontos de ação para a damping
declaração nomeada none
. Os prefixos restantes estão amortecidos usando os parâmetros padrão.
[edit] policy-options { policy-statement Policy-A { from { route-filter 10.0.0.0/8 exact; } then damping none; } damping none { disable; } }
Configuração do amortecimento de flap BGP
Habilite o amortecimento de flap BGP e configure parâmetros de amortecimento:
[edit] routing-options { autonomous-system 666; } protocols { bgp { damping; group group1 { traceoptions { file bgp-log size 1m files 10; flag damping; } import damp; type external; peer-as 10458; neighbor 192.168.2.30; } } } policy-options { policy-statement damp { from { route-filter 192.168.0.0/32 exact { damping high; accept; } route-filter 172.16.0.0/32 exact { damping medium; accept; } route-filter 10.0.0.0/8 exact { damping none; accept; } } } damping high { half-life 30; suppress 3000; reuse 750; max-suppress 60; } damping medium { half-life 15; suppress 3000; reuse 750; max-suppress 45; } damping none { disable; } }
Para exibir parâmetros de amortecimento para esta configuração, use o show policy damping
comando:
user@host> show policy damping Damping information for "high": Halflife: 30 minutes Reuse merit: 750 Suppress/cutoff merit: 3000 Maximum suppress time: 60 minutes Computed values: Merit ceiling: 3008 Maximum decay: 24933 Damping information for "medium": Halflife: 15 minutes Reuse merit: 750 Suppress/cutoff merit: 3000 Maximum suppress time: 45 minutes Computed values: Merit ceiling: 6024 Maximum decay: 12449 Damping information for "none": Damping disabled