Faça a gestão dos temporizadores de BGP

Esta página descreve o seguinte:

  • Os temporizadores BGP do Cloud Router e as respetivas definições, incluindo orientações para configurar as mesmas definições no seu router no local.
  • Atualizar o intervalo de keepalive do BGP para o Cloud Router.

Temporizadores e definições de BGP

O router na nuvem e o router no local mantêm a comunicação através do seguinte conjunto de definições de temporizador.

Temporizador de keep-alive

Os sistemas BGP trocam mensagens keepalive para determinar se um link ou um anfitrião falhou ou já não está disponível. Em conjunto com o temporizador de espera, o temporizador de manutenção indica se um router está acessível ao respetivo par BGP.

O temporizador de keepalive é o KEEPALIVE_INTERVAL entre as mensagens BGP periódicas trocadas entre um Cloud Router e o respetivo router paritário no local. Pode configurar este valor conforme descrito no artigo Atualize o intervalo de keepalive do BGP. O valor predefinido é 20 segundos. A Google recomenda que defina os temporizadores de keepalive para o mesmo valor no router no local e no Cloud Router.

Pausa o temporizador

Este temporizador define o período de tempo que um Cloud Router ou um router no local tem de esperar, na ausência de uma notificação de reinício elegante (pacote TCP FIN ou RST) ou uma notificação BGP CEASE, antes de mover a sessão BGP para o estado DOWN.

Os routers negociam um tempo de espera para cada sessão BGP. O tempo de suspensão negociado é o menor dos valores do temporizador de suspensão configurados no Cloud Router e no router no local. Quando o tempo de suspensão negociado é atingido e não é recebida nenhuma notificação de reinício elegante nem uma notificação BGP CEASE, um router move a sessão BGP para o estado DOWN e toma as seguintes medidas:

  • Remove todos os trajetos aprendidos da sessão BGP
  • Interrompe as rotas de publicidade

Para configurar o temporizador de suspensão do Cloud Router, atualize o intervalo de manutenção do BGP do Cloud Router. O Cloud Router define o valor do temporizador de espera como três vezes o valor do intervalo de keepalive configurado. Por exemplo, se definir o temporizador de keepalive para 20 segundos, o temporizador de espera é de 60 segundos. Para mais informações, consulte o artigo Atualize o intervalo de manutenção do BGP.

Temporizador de reinício elegante

Este temporizador define o período de tempo durante o qual um router preserva o estado da sessão BGP anterior após uma notificação de reinício elegante (pacote TCP FIN ou RST) do router de pares.

Ao mesmo tempo que preserva o estado da sessão BGP anterior, o router mantém as rotas aprendidas da sessão recebidas do router de pares e continua a anunciar as respetivas rotas ao router de pares. Se for estabelecida uma nova sessão de BGP enquanto o estado da sessão de BGP anterior estiver a ser preservado, não há interrupção da conetividade. No entanto, se não for estabelecida uma nova sessão de BGP, a sessão passa para o estado DOWN no final do temporizador de reinício gradual. Quando se encontra no estado DOWN, os trajetos aprendidos da sessão recebidos do router de pares são removidos e o router deixa de anunciar os respetivos trajetos ao router de pares.

Um router que suporta o reinício elegante anuncia um valor de temporizador de reinício elegante que define o período de tempo que o outro router tem de esperar após uma notificação de reinício elegante. Dois routers ligados podem usar valores de temporizador de reinício elegante diferentes, e espera-se que cada router respeite o valor de temporizador de reinício elegante do respetivo par. Quando estabelece uma nova sessão de BGP, cada router comunica o seu próprio valor do temporizador de reinício gracioso ao router de pares através da mensagem OPEN do BGP.

O Cloud Router suporta o reinício gradual e o temporizador de reinício gradual do Cloud Router está definido para 120 segundos. Cada Cloud Router envia uma notificação de reinício elegante antes de cada evento de manutenção de software se o router de pares também suportar o reinício elegante.

Se configurou o seu router no local com o reinício elegante, também pode enviar uma notificação de reinício elegante para o Cloud Router durante eventos de reinício ou manutenção do router no local. Defina o tempo de exposição do reinício gradual do router no local para um valor adequado às suas necessidades.

Para mais informações sobre o reinício elegante, consulte o RFC 4724.

Temporizador de caminho obsoleto

Esta definição determina o tempo que um router espera antes de eliminar as rotas aprendidas depois de receber uma mensagem de fim de registo (EOR) do outro router. Este temporizador começa quando a sessão de BGP é reinicializada após um reinício controlado, mas o prefixo em questão não foi abordado por uma mensagem UPDATE. Recomendamos que defina o temporizador stalepath para 300 segundos no router no local para corresponder à definição do Cloud Router.

Atualize o intervalo de keepalive do BGP

Para modificar o intervalo de keepalive do BGP num Cloud Router, siga estes passos.

Consola

  1. Na Google Cloud consola, aceda à página Routers na nuvem.

    Aceder aos Cloud Routers

  2. Selecione o Cloud Router que contém o intervalo BGP a modificar.

  3. Na página Detalhes do router, clique em Editar.

  4. Atualize o intervalo de manutenção do par BGP. Este valor tem de ser um inteiro entre 20 e 60 que especifica o número de segundos para o intervalo. A predefinição são 20 segundos.

  5. Clique em Guardar.

gcloud

Execute o comando update:

gcloud compute routers update ROUTER_NAME \
    --project=PROJECT_ID \
    --keepalive-interval=KEEPALIVE_INTERVAL \
    --region=REGION

Substitua o seguinte:

  • ROUTER_NAME: o nome do Cloud Router
  • PROJECT_ID: o projeto que contém o Cloud Router
  • KEEPALIVE_INTERVAL: o intervalo entre as mensagens keepalive do BGP que são enviadas para o router de pares

    Este valor tem de ser um número inteiro entre 20 e 60 que especifica o número de segundos para o intervalo. A predefinição são 20 segundos.

  • REGION: a região onde o Cloud Router está localizado

O resultado é semelhante ao seguinte:

  Updating router [my-router]...done.

API

Use o método routers.patch para atualizar o campo bgp.keepaliveInterval:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
        "keepaliveInterval": KEEPALIVE_INTERVAL
     }
   }

Substitua o seguinte:

  • PROJECT_ID: o projeto que contém o Cloud Router
  • REGION: a região onde o Cloud Router está localizado
  • ROUTER_NAME: o nome do Cloud Router
  • KEEPALIVE_INTERVAL: o intervalo entre as mensagens keepalive do BGP que são enviadas para o router de pares

    Este valor tem de ser um número inteiro entre 20 e 60 que especifica o número de segundos para o intervalo. A predefinição são 20 segundos.

O que se segue?