Gestionar temporizadores de BGP

En esta página se describe lo siguiente:

  • Los temporizadores de BGP de Cloud Router y sus ajustes, así como instrucciones para configurar los mismos ajustes en tu router on-premise.
  • Actualizando el intervalo de keepalive de BGP de Cloud Router.

Temporizadores y ajustes de BGP

Cloud Router y tu router local mantienen la comunicación mediante el siguiente conjunto de ajustes de temporizador.

Temporizador de keepalive

Los sistemas BGP intercambian mensajes de mantenimiento para determinar si un enlace o un host ha fallado o ya no está disponible. Junto con el temporizador de retención, el temporizador de actividad indica si se puede acceder a un router desde su peer de BGP.

El temporizador de actividad es el KEEPALIVE_INTERVAL entre los mensajes de BGP periódicos que se intercambian entre un Cloud Router y su router on-premise correspondiente. Puedes configurar este valor como se describe en Actualizar el intervalo de keepalive de BGP. El valor predeterminado es de 20 segundos. Google recomienda asignar el mismo valor a los temporizadores de mantenimiento de la conexión en tu router local y en Cloud Router.

Mantener temporizador

Este temporizador define el tiempo que debe esperar un router de Cloud o un router local, en ausencia de una notificación de reinicio graceful (paquete TCP FIN o RST) o una notificación de BGP CEASE, antes de cambiar la sesión de BGP al estado DOWN.

Los routers negocian un tiempo de espera para cada sesión de BGP. El tiempo de suspensión negociado es el menor de los valores del temporizador de suspensión configurados en Cloud Router y en el router on-premise. Cuando se alcanza el tiempo de espera negociado y no se ha recibido ninguna notificación de reinicio correcto ni ninguna notificación de BGP CEASE, un router cambia la sesión de BGP al estado DOWN y lleva a cabo las siguientes acciones:

  • Elimina todas las rutas aprendidas de la sesión de BGP.
  • Deja de anunciar rutas

Para configurar el temporizador de suspensión de Cloud Router, actualiza el intervalo de keepalive de BGP de Cloud Router. Cloud Router asigna al temporizador de suspensión un valor tres veces superior al del intervalo de keepalive configurado. Por ejemplo, si configuras el temporizador de mantenimiento activo en 20 segundos, el temporizador de espera será de 60 segundos. Para obtener más información, consulta Actualizar el intervalo de mantenimiento activo de BGP.

Temporizador de reinicio sin interrupciones

Este temporizador define el tiempo que un router conserva el estado de la sesión BGP anterior tras recibir una notificación de reinicio graceful (paquete TCP FIN o RST) del router peer.

Aunque se conserva el estado de la sesión de BGP anterior, el router mantiene las rutas aprendidas de la sesión recibidas del router de par y sigue anunciando sus rutas al router de par. Si se establece una nueva sesión de BGP mientras se conserva el estado de la sesión de BGP anterior, no se interrumpe la conectividad. Sin embargo, si no se establece una nueva sesión de BGP, la sesión pasa al estado DOWN al final del temporizador de reinicio gradual. Una vez que se encuentra en el estado DOWN, se eliminan las rutas aprendidas de la sesión recibidas del router de par y el router deja de anunciar sus rutas al router de par.

Un router que admite el reinicio gradual anuncia un valor de temporizador de reinicio gradual que define el tiempo que debe esperar el otro router después de recibir una notificación de reinicio gradual. Es posible que dos routers conectados usen valores de temporizador de reinicio gradual diferentes, y se espera que cada router respete el valor del temporizador de reinicio gradual de su par. Al establecer una nueva sesión de BGP, cada router comunica su propio valor de temporizador de reinicio suave al router peer a través del mensaje OPEN de BGP.

Cloud Router admite el reinicio graceful y el temporizador de reinicio graceful de Cloud Router se ha definido en 120 segundos. Cada router de Cloud Router envía una notificación de reinicio graceful antes de cada evento de mantenimiento de software si el router de la otra parte también admite el reinicio graceful.

Si has configurado tu router local con reinicio graceful, también puede enviar una notificación de reinicio graceful a Cloud Router durante los eventos de reinicio o mantenimiento del router local. Define el temporizador de reinicio gradual de tu router local con un valor que se adapte a tus necesidades.

Para obtener más información sobre el reinicio gradual, consulta el RFC 4724.

Temporizador de Stalepath

Este ajuste determina el tiempo que espera un router antes de eliminar las rutas aprendidas después de recibir un mensaje de fin de registro (EOR) del otro router. Este temporizador se inicia cuando se reinicializa la sesión de BGP después de un reinicio graceful, pero el prefijo en cuestión no se ha abordado con un mensaje UPDATE. Te recomendamos que configures el temporizador de stalepath en 300 segundos en tu router local para que coincida con la configuración del router de Cloud Router.

Actualizar el intervalo de keepalive de BGP

Para modificar el intervalo de keepalive de BGP en un Cloud Router, sigue estos pasos.

Consola

  1. En la Google Cloud consola, ve a la página Cloud Routers.

    Ir a Cloud Routers

  2. Selecciona el Cloud Router que contiene el intervalo de BGP que quieres modificar.

  3. En la página Detalles del router, haz clic en Editar.

  4. Actualiza el intervalo de keepalive del par de BGP. Este valor debe ser un número entero entre 20 y 60 que especifique el número de segundos del intervalo. El valor predeterminado es 20 segundos.

  5. Haz clic en Guardar.

gcloud

Ejecuta el comando update:

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

Haz los cambios siguientes:

  • ROUTER_NAME: el nombre de Cloud Router
  • PROJECT_ID: el proyecto que contiene el Cloud Router
  • KEEPALIVE_INTERVAL: intervalo entre los mensajes keepalive de BGP que se envían al router de par.

    Este valor debe ser un número entero entre 20 y 60 que especifique el número de segundos del intervalo. El valor predeterminado es 20 segundos.

  • REGION: región en la que se encuentra Cloud Router

El resultado debería ser similar al siguiente:

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

API

Usa el método routers.patch para actualizar el campo bgp.keepaliveInterval:

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

Haz los cambios siguientes:

  • PROJECT_ID: el proyecto que contiene el Cloud Router
  • REGION: región en la que se encuentra Cloud Router
  • ROUTER_NAME: el nombre de Cloud Router
  • KEEPALIVE_INTERVAL: intervalo entre los mensajes keepalive de BGP que se envían al router de par.

    Este valor debe ser un número entero entre 20 y 60 que especifique el número de segundos del intervalo. El valor predeterminado es 20 segundos.

Siguientes pasos