|
Page 17 sur 21
IX-
Détection de collision de connexion.
Si
deux systèmes BGP essaient d’établir un connexion TCP en même temps entre eux,
cela provoque un collision de connexion : clairement cela signifie qu’une
des connexions doit être fermée.
Basée
sur la valeur de l’identifiant BGP (BGP Identifier), une convention est établie
pour détecter quelle connexion va être conservée.
La
convention consiste à comparer l‘identifiant BGP de chacun des deux systèmes
impliqués dans la collision et de retenir celui dont l’identifiant a la plus
grande valeur.
Jusqu’à
la réception d’un message OPEN, le système local doit examiner toutes les connexions
présentes dans son état OpenConfirm, et il peut examiner aussi les connexions
dans son état OpenSent s’il connaît l’identifiant BGP de la paire par un moyen
extérieur au protocole.
Si
parmi ces connexions, il y a une connexion à un système BGP distant dont l’identifiant
BGP est égal à celui indiqué dans le message OPEN, le système local opère les
procédures de résolution de collision suivantes :
-
L’identifiant BGP du système local est comparé à l’identifiant BGP du système
distant.
-
Si la valeur de l’identifiant BGP du système local est inférieur à celui du
système distant, le système local ferme la connexion BGP qui existe déjà (celle
qui est présente dans l’état OpenConfirm), et accepte la connexion BGP initié
par le système distant
-
Sinon le système local ferme la connexion nouvellement crée (celle associée
avec le message OPEN nouvellement reçu) et continue d’utiliser celle existante
Une
collision de connexion avec une connexion déjà existante en état Established
cause une fermeture inconditionnelle de la nouvelle connexion créée.
Une
collision de connexion ne peut être détectée pour les connexions qui sont dans
l’état Idle, Connect ou Active.
La
fermeture d’une connexion BGP se traduit par l’envoi d’un message de Notification
avec pour code erreur Cease.
X-
Négociation sur la version de BGP utilisée.
Les
systèmes BGP doivent se mettre d’accord sur la version du protocole utilisé
pour la connexion. Pour cela ils tentent d’ouvrir la connexion avec le numéro
de version le plus élevé.
Si
une attente d’ouverture se solde par un échec avec pour code erreur Open Message
Error et pour subcode Unsupported Version Number, le système distant renvoie
un message de notification avec dans le champ DATA les numéros de version qu’il
supporte.
|