Gérer les timers BGP

Cette page décrit les éléments suivants :

  • Les timers BGP de Cloud Router et leurs paramètres, y compris des conseils pour configurer les mêmes paramètres sur votre routeur sur site
  • La mise à jour de l'intervalle keepalive BGP pour Cloud Router

Timers et paramètres BGP

Le routeur Cloud Router et votre routeur sur site maintiennent la communication à l'aide des paramètres de timer suivants :

Timer keepalive

Les systèmes BGP échangent des messages keepalive pour déterminer si un lien ou un hôte n'est plus disponible ou connaît une défaillance. Conjointement avec le timer de préservation, le timer keepalive indique si un routeur est accessible à son pair BGP.

Le timer keepalive correspond à la valeur KEEPALIVE_INTERVAL entre les messages BGP périodiques échangés entre un routeur Cloud Router et le routeur pair sur site correspondant. Vous pouvez configurer cette valeur comme décrit dans la section Mettre à jour l'intervalle keepalive BGP. La valeur par défaut est de 20 secondes. Google recommande de définir les timers keepalive à la même valeur sur votre routeur sur site et sur Cloud Router.

Timer de préservation

Ce timer définit la durée pendant laquelle un routeur Cloud Router ou un routeur sur site doit attendre, en l'absence d'une notification de redémarrage en douceur (paquet TCP FIN ou RST) ou d'une notification BGP CEASE, avant de faire passer la session BGP à l'état DOWN.

Les routeurs négocient un délai de maintien pour chaque session BGP. La durée de préservation négociée correspond à la plus faible des valeurs de timer de préservation configurées sur Cloud Router et sur le routeur sur site. Lorsque le délai de suspension négocié est atteint et qu'aucune notification de redémarrage en douceur ni de message BGP CEASE n'a été reçue, un routeur fait passer la session BGP à l'état DOWN et effectue les actions suivantes :

  • Supprime toutes les routes apprises de la session BGP
  • Arrête d'annoncer des routes

Pour configurer le timer hold de Cloud Router, mettez à jour l'intervalle keepalive BGP du routeur Cloud. Cloud Router définit la valeur du timer de préservation sur trois fois la valeur de l'intervalle keepalive configuré. Par exemple, si vous définissez le timer keepalive sur 20 secondes, le timer de préservation est de 60 secondes. Pour en savoir plus, consultez Mettre à jour l'intervalle de keepalive BGP.

Timer de redémarrage en douceur

Ce timer définit la durée pendant laquelle un routeur conserve l'état de la session BGP précédente après réception d'une notification de redémarrage en douceur (paquet TCP FIN ou RST) du routeur homologue.

Tout en conservant l'état de la session BGP précédente, le routeur conserve les routes apprises de la session reçues du routeur pair et continue d'annoncer ses routes au routeur pair. Si une nouvelle session BGP est établie alors que l'état de la session BGP précédente est conservé, la connectivité n'est pas interrompue. Toutefois, si aucune nouvelle session BGP n'est établie, la session passe à l'état DOWN à la fin du timer de redémarrage en douceur. Une fois l'état DOWN atteint, les routes apprises de la session reçues du routeur pair sont supprimées, et le routeur cesse d'annoncer ses routes au routeur pair.

Un routeur compatible avec le redémarrage en douceur annonce une valeur de timer de redémarrage en douceur, qui définit le délai d'attente que l'autre routeur doit respecter après réception d'une notification de redémarrage en douceur. Deux routeurs connectés peuvent utiliser des valeurs de timer de redémarrage en douceur différentes, et chaque routeur est censé respecter la valeur de timer de redémarrage en douceur de son pair. Lors de l'établissement d'une nouvelle session BGP, chaque routeur communique sa propre valeur de timer de redémarrage en douceur au routeur pair via le message BGP OPEN.

Cloud Router accepte le redémarrage en douceur, et le timer de redémarrage en douceur du routeur est défini sur 120 secondes. Chaque routeur Cloud Router envoie une notification de redémarrage en douceur avant chaque événement de maintenance logicielle si le routeur pair est également compatible avec le redémarrage en douceur.

Si vous avez configuré le redémarrage en douceur sur votre routeur sur site, il peut également envoyer une notification de redémarrage en douceur à Cloud Router lors d'événements de redémarrage ou de maintenance du routeur sur site. Définissez le timer de redémarrage en douceur de votre routeur sur site sur une valeur adaptée à vos besoins.

Pour en savoir plus sur le redémarrage progressif, consultez la RFC 4724.

Timer stalepath

Ce paramètre détermine la durée pendant laquelle un routeur attend avant de supprimer les routes apprises après qu'un message de fin d'enregistrement (EPR) est reçu de l'autre routeur. Ce timer démarre lorsque la session BGP est réinitialisée après un redémarrage en douceur, mais le préfixe en question n'a pas reçu de message UPDATE. Nous vous recommandons de le définir sur 300 secondes sur votre routeur sur site pour qu'il corresponde au paramètre du routeur Cloud Router.

Mettre à jour l'intervalle keepalive BGP

Pour modifier l'intervalle keepalive BGP sur un routeur cloud, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Routeurs cloud.

    Accéder aux routeurs cloud

  2. Sélectionnez le routeur cloud qui contient l'intervalle BGP à modifier.

  3. Sur la page Détails du routeur, cliquez sur  Modifier.

  4. Mettez à jour l'intervalle keepalive du pair BGP. Cette valeur doit être un nombre entier compris entre 20 et 60 qui spécifie le nombre de secondes de l'intervalle. La valeur par défaut est de 20 secondes.

  5. Cliquez sur Enregistrer.

gcloud

Exécutez la commande update :

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

Remplacez l'élément suivant :

  • ROUTER_NAME : nom du routeur cloud
  • PROJECT_ID : projet contenant le routeur cloud.
  • KEEPALIVE_INTERVAL : intervalle entre les messages keepalive BGP envoyés au routeur pair.

    Cette valeur doit être un nombre entier compris entre 20 et 60 qui spécifie le nombre de secondes de l'intervalle. La valeur par défaut est de 20 secondes.

  • REGION : région où se trouve le routeur cloud.

Le résultat ressemble à ce qui suit :

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

API

La méthode routers.patch permet de mettre à jour le champ bgp.keepaliveInterval.

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

Remplacez l'élément suivant :

  • PROJECT_ID : projet contenant le routeur cloud.
  • REGION : région où se trouve le routeur cloud.
  • ROUTER_NAME : nom du routeur Cloud Router
  • KEEPALIVE_INTERVAL : intervalle entre les messages keepalive BGP envoyés au routeur pair.

    Cette valeur doit être un nombre entier compris entre 20 et 60 qui spécifie le nombre de secondes de l'intervalle. La valeur par défaut est de 20 secondes.

Étape suivante