Aller au contenu principal

8. BGP Finite State Machine (FSM) (Machine à états finis BGP)

8. BGP Finite State Machine (FSM) (Machine à états finis BGP)

Les structures de données et la FSM décrites dans ce document sont conceptuelles et n'ont pas besoin d'être implémentées précisément comme décrit ici, tant que les implémentations supportent la fonctionnalité décrite et affichent le même comportement visible de l'extérieur.

Cette section spécifie l'opération BGP en termes de Machine à États Finis (Finite State Machine : FSM). La section se divise en deux parties :

  1) Description des Événements de Machine à États (Section 8.1)
2) Description de la FSM (Section 8.2)

Les attributs de session requis (obligatoires) pour chaque connexion sont :

  1) State (État)
2) ConnectRetryCounter (Compteur de tentatives de connexion)
3) ConnectRetryTimer (Temporisateur de tentatives de connexion)
4) ConnectRetryTime (Temps de tentative de connexion)
5) HoldTimer (Temporisateur de maintien)
6) HoldTime (Temps de maintien)
7) KeepaliveTimer (Temporisateur de maintien en vie)
8) KeepaliveTime (Temps de maintien en vie)

L'attribut de session State indique l'état actuel de la FSM BGP. Le ConnectRetryCounter indique le nombre de fois qu'un pair BGP a essayé d'établir une session de pair.

Les attributs obligatoires liés aux temporisateurs sont décrits dans la Section 10. Chaque temporisateur a un "timer" et un "time" (la valeur initiale).

Les attributs de session optionnels sont listés ci-dessous. Ces attributs optionnels peuvent être supportés, soit par connexion, soit par système local :

  1) AcceptConnectionsUnconfiguredPeers (Accepter les connexions de pairs non configurés)
2) AllowAutomaticStart (Autoriser le démarrage automatique)
3) AllowAutomaticStop (Autoriser l'arrêt automatique)
4) CollisionDetectEstablishedState (Détecter les collisions dans l'état établi)
5) DampPeerOscillations (Amortir les oscillations de pairs)
6) DelayOpen (Retarder l'ouverture)
7) DelayOpenTime (Temps de retard d'ouverture)
8) DelayOpenTimer (Temporisateur de retard d'ouverture)
9) IdleHoldTime (Temps de maintien inactif)
10) IdleHoldTimer (Temporisateur de maintien inactif)
11) PassiveTcpEstablishment (Établissement TCP passif)
12) SendNOTIFICATIONwithoutOPEN (Envoyer NOTIFICATION sans OPEN)
13) TrackTcpState (Suivre l'état TCP)

Les attributs de session optionnels permettent de supporter diverses fonctionnalités BGP qui ont un impact sur les transitions d'état de la FSM BGP. Deux groupes d'attributs liés aux temporisateurs sont :

  groupe 1: DelayOpen, DelayOpenTime, DelayOpenTimer
groupe 2: DampPeerOscillations, IdleHoldTime, IdleHoldTimer

Le premier item (DelayOpen, DampPeerOscillations) est l'attribut optionnel qui indique que la fonction de temporisateur est active. La valeur "Time" spécifie la valeur initiale pour le "Timer" (DelayOpenTime, IdleHoldTime). Le "Timer" spécifie le temporisateur réel.

Veuillez vous référer à la Section 8.1.1 pour les interactions entre ces attributs optionnels et les événements signalés à la machine à états. La Section 8.2.1.3 fournit également un bref aperçu des différents types d'attributs optionnels (drapeaux ou temporisateurs).