IP : Protocole BGP (Border Gateway Protocol)

Pourquoi les voisins BGP basculent-ils entre les états Inactif, Connexion et Actif ?

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Les routeurs BGP peuvent permuter les informations de routage seulement quand ils établissent la connexion homologue entre eux. L'établissement de pair BGP commence par la création d'une connexion TCP entre les périphériques. Après la connexion TCP établie, la tentative de périphériques BGP de créer une session BGP par l'échange des messages ouverts BGP, où ils permutent la version BGP, le numéro de système autonome, la durée d'attente et l'identifiant BGP.

Sur le processus de l'établissement de pair BGP, plusieurs choses peuvent empêcher une proximité BGP correctement d'être établi. Ce document discute certaines de ces raisons possibles pour ce problème :

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Composants utilisés

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

Les informations présentées dans ce document ont été créées à partir de périphériques dans un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si vous travaillez dans un réseau opérationnel, assurez-vous de bien comprendre l'impact potentiel de toute commande avant de l'utiliser.

Diagramme du réseau

Utilisez ce schéma de réseau comme exemple pour les trois premières causes :

/image/gif/paws/13752/24a.gif

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

La déclaration de voisinage est incorrecte

La commande de show ip bgp summary sur le routeur R1-AGS affiche que la session est en activité.

R1-AGS(9)# 
show ip bgp summary

BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.10.10.2      4   400       0       0        0    0    0 never    Active

Voici les configurations :

R1-AGS R6-2500
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Serial1
 ip address 10.10.10.1 255.255.255.0
!
router bgp 400
 neighbor 10.10.10.2 remote-as 400
 neighbor 10.10.10.2 update-source Loopback0
 !
ip route 1.1.1.1 255.255.255.255 10.10.10.2
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Serial0
 ip address 10.10.10.2 255.255.255.0
!
router bgp 400
 neighbor 10.10.10.1 remote-as 400
 neighbor 10.10.10.1 update-source Loopback0
 !
ip route 2.2.2.2 255.255.255.255 10.10.10.1

Le debug ip bgp et mettent au point l'exposition de commandes de transactions de TCP d'IP manquer de connexion TCP.

Debugs sur le routeur R1-AGS :

BGP: 10.10.10.2 open active, local address 2.2.2.2
TCB00135978 created
TCB00135978 setting property 0 16ABEA
TCB00135978 bound to 2.2.2.2.11039
TCP: sending SYN, seq 3797113156, ack 0
TCP0: Connection to 10.10.10.2:179, advertising MSS 1460
TCP0: state was CLOSED -> SYNSENT [11039 -> 10.10.10.2(179)]
TCP0: state was SYNSENT -> CLOSED [11039 -> 10.10.10.2(179)]
TCP0: bad seg from 10.10.10.2 -- closing connection: seq 0 ack 3797113157 rcvnxt 0 rcvwnd 0
TCP0: connection closed - remote sent RST
TCB00135978 destroyed
BGP: 10.10.10.2 open failed: Connection refused by remote host
TCP: sending RST, seq 0, ack 1965664223
TCP: sent RST to 1.1.1.1:11016 from 10.10.10.1:179

Debugs sur le routeur R6-2500 :

TCP: sending RST, seq 0, ack 3797113157
TCP: sent RST to 2.2.2.2:11039 from 10.10.10.2:179
BGP: 10.10.10.1 open active, local address 1.1.1.1
TCB001E030C created
TCB001E030C setting property TCP_WINDOW_SIZE (0) 194F7A
TCB001E030C setting property TCP_TOS (11) 194F79
TCB001E030C bound to 1.1.1.1.11016
TCP: sending SYN, seq 1965664222, ack 0
TCP0: Connection to 10.10.10.1:179, advertising MSS 1460
TCP0: state was CLOSED -> SYNSENT [11016 -> 10.10.10.1(179)]
TCP0: state was SYNSENT -> CLOSED [11016 -> 10.10.10.1(179)]
TCP0: bad seg from 10.10.10.1 -- closing connection: seq 0 ack 1965664223 rcvnxt 0 rcvwnd 0
TCP0: connection closed - remote sent RST
TCB 0x1E030C destroyed
BGP: 10.10.10.1 open failed: Connection refused by remote host

Solution

Afin de remédier à de cette situation, de l'un ou l'autre de correct l'adresse de bouclage dans la déclaration de voisinage, ou retirer la commande d'update-source de la configuration.

Dans cet exemple, l'adresse est corrigée.

R1-AGS R6-2500
router bgp 400
 neighbor 1.1.1.1 remote-as 400
 neighbor 1.1.1.1 update-source Loopback0
 !
ip route 1.1.1.1 255.255.255.255 10.10.10.2
router bgp 400
 neighbor 2.2.2.2 remote-as 400
 neighbor 2.2.2.2 update-source Loopback0
 !
ip route 2.2.2.2 255.255.255.255 10.10.10.1

Un regarder que la commande de show ip bgp summary affiche que le routeur R1-AGS est dans l'état établi.

R1-AGS(9)#
show ip bgp summary

BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
1.1.1.1         4   400       3       3        1    0    0 00:00:26        0

Remarque: Si une session BGP pas establlished après des routeurs rechargés, configurez les déclarations de neighbor soft-reconfiguration sous l'étiquette logicielle BGP.

Artère à l'adresse du voisin n'existe pas ou le default route est utilisé pour atteindre le pair

La commande de show ip bgp summary sur le routeur R1-AGS affiche que la session est actuellement - en activité.

R1-AGS(9)#
show ip bgp summary

BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
1.1.1.1         4   400       0       0        0    0    0 never    Active

Voici les configurations :

R1-AGS R6-2500
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Serial1
 ip address 10.10.10.1 255.255.255.0
!
router bgp 300
 neighbor 1.1.1.1 remote-as 400
 neighbor 1.1.1.1 ebgp-multihop 2
 neighbor 1.1.1.1 update-source Loopback0
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Serial0
 ip address 10.10.10.2 255.255.255.0
!
router bgp 400
 neighbor 2.2.2.2 remote-as 300
 neighbor 2.2.2.2 ebgp-multihop 2
 neighbor 2.2.2.2 update-source Loopback0

Si vous exécutez des commandes de débogage, il affiche qu'il n'y a aucune artère au voisin.

Debugs sur le routeur R1-AGS :

BGP: 1.1.1.1 open active, delay 9568ms
BGP: 1.1.1.1 multihop open delayed 19872ms (no route)
BGP: 1.1.1.1 multihop open delayed 12784ms (no route)

Debugs sur le routeur R6-2500 :

BGP: 2.2.2.2 open active, delay 6531ms
BGP: 2.2.2.2 multihop open delayed 14112ms (no route)
BGP: 2.2.2.2 multihop open delayed 15408ms (no route)

Solution

La solution est d'inclure une artère au prochain saut dans la déclaration de voisinage BGP. Vous pouvez utiliser une artère statique ou dynamique selon la situation. Dans un environnement interne BGP (iBGP) où vous avez plus de contrôle, vous pouvez propager l'artère dynamiquement utilisant un protocole de routage. Dans une situation de BGP externe (eBGP), il est recommandé pour configurer une artère statique pour atteindre le prochain saut.

Utilisez la commande de neighbor ebgp-multihop seulement quand l'adresse IP que vous scrutez à sur votre pair d'eBGP n'est pas directement connectée.

Dans cet exemple, une artère statique a été utilisée.

R1-AGS R6-2500
router bgp 300
 neighbor 1.1.1.1 remote-as 400
 neighbor 1.1.1.1 ebgp-multihop 2
 neighbor 1.1.1.1 update-source Loopback0
 !
ip route 1.1.1.1 255.255.255.255 10.10.10.2
router bgp 400
 neighbor 2.2.2.2 remote-as 300
 neighbor 2.2.2.2 ebgp-multihop 2
 neighbor 2.2.2.2 update-source Loopback0
 !
ip route 2.2.2.2 255.255.255.255 10.10.10.1

Le routeur R1-AGS d'expositions de commande de show ip bgp summary est dans l'état établi.

R1-AGS(9)# 
show ip bgp summary


BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
1.1.1.1         4   400       3       3        1    0    0 00:00:26        0

Remarque: Un default route ne va jamais être utilisé pour établir une session BGP (iBGP/eBGP), et vous voyez que le même (aucune artère) sorti dans met au point, bien que vous puissiez cingler le voisin BGP. La solution est de nouveau d'ajouter une artère au voisin BGP.

La commande d'update-source manque sous le BGP

La commande de show ip bgp summary sur le routeur R1-AGS affiche que la session est en activité.

R1-AGS(9)# 
show ip bgp summary

BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
1.1.1.1         4   400       0       0        0    0    0 never    Active

Voici les configurations :

R1-AGS R6-2500
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Serial1
 ip address 10.10.10.1 255.255.255.0
!
router bgp 400
 neighbor 1.1.1.1 remote-as 400
!
ip route 1.1.1.1 255.255.255.255 10.10.10.2
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Serial0
 ip address 10.10.10.2 255.255.255.0
!
router bgp 400
 neighbor 2.2.2.2 remote-as 400
!
ip route 2.2.2.2 255.255.255.255 10.10.10.1

Si vous exécutez des commandes de débogage, il affiche que la connexion TCP échoue.

Debugs sur le routeur R1-AGS :

TCP: sending RST, seq 0, ack 2248020754
TCP: sent RST to 10.10.10.2:11018 from 2.2.2.2:179
BGP: 1.1.1.1 open active, local address 10.10.10.1
TCB0016B06C created
TCB0016B06C setting property 0 16ADEA
TCB0016B06C bound to 10.10.10.1.11042
TCP: sending SYN, seq 4099938541, ack 0
TCP0: Connection to 1.1.1.1:179, advertising MSS 536
TCP0: state was CLOSED -> SYNSENT [11042 -> 1.1.1.1(179)]
TCP0: state was SYNSENT -> CLOSED [11042 -> 1.1.1.1(179)]
TCP0: bad seg from 1.1.1.1 -- closing connection: seq 0 ack 4099938542 rcvnxt 0 rcvwnd 0
TCP0: connection closed - remote sent RST
TCB0016B06C destroyed
BGP: 1.1.1.1 open failed: Connection refused by remote host

Debugs sur le routeur R6-2500 :

BGP: 2.2.2.2 open active, local address 10.10.10.2
TCB00194800 created
TCB00194800 setting property TCP_WINDOW_SIZE (0) E6572
TCB00194800 setting property TCP_TOS (11) E6571
TCB00194800 bound to 10.10.10.2.11018
TCP: sending SYN, seq 2248020753, ack 0
TCP0: Connection to 2.2.2.2:179, advertising MSS 556
TCP0: state was CLOSED -> SYNSENT [11018 -> 2.2.2.2(179)]
TCP0: state was SYNSENT -> CLOSED [11018 -> 2.2.2.2(179)]
TCP0: bad seg from 2.2.2.2 -- closing connection: seq 0 ack 2248020754 rcvnxt 0 rcvwnd 0
TCP0: connection closed - remote sent RST
TCB 0x194800 destroyed
BGP: 2.2.2.2 open failed: Connection refused by remote host
TCP: sending RST, seq 0, ack 4099938542
TCP: sent RST to 10.10.10.1:11042 from 1.1.1.1:179

Solution

Afin de résoudre ce problème, pour configurer la commande d'update-source sur les deux Routeurs, ou pour retirer la commande d'update-source et pour changer la déclaration de voisinage sur les deux Routeurs. Ce sont des exemples des deux solutions.

Ici, la commande d'update-source est configurée sur les deux Routeurs.

R1-AGS R6-2500
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Serial1
 ip address 10.10.10.1 255.255.255.0
!
router bgp 400
 neighbor 1.1.1.1 remote-as 400
 neighbor 1.1.1.1 update-source Loopback0
 !
ip route 1.1.1.1 255.255.255.255 10.10.10.2
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Serial0
 ip address 10.10.10.2 255.255.255.0
!
router bgp 400
 neighbor 2.2.2.2 remote-as 400
 neighbor 2.2.2.2 update-source Loopback0
 !
ip route 2.2.2.2 255.255.255.255 10.10.10.1

Le routeur R1-AGS d'expositions de commande de show ip bgp summary est dans l'état établi.

R1-AGS(9)# 
show ip bgp summary

BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2.2.2.2         4   400       3       3        1    0    0 00:00:26        0

Vous seulement devez utiliser la commande d'update-source quand quelqu'un scrute à votre adresse de bouclage. Cela vaut pour un pair d'iBGP et un pair d'eBGP.

Ici, la commande d'update-source est retirée et la déclaration de voisinage est changée sur les deux Routeurs.

R1-AGS R6-2500
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Serial1
 ip address 10.10.10.1 255.255.255.0
!
router bgp 400
 neighbor 10.10.10.2 remote-as 400
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Serial0
 ip address 10.10.10.2 255.255.255.0
!
router bgp 400
 neighbor 10.10.10.1 remote-as 400

Le routeur R1-AGS d'expositions de commande de show ip bgp summary est dans l'état établi.

R1-AGS(9)# 
show ip bgp summary

BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.10.10.2      4   400       3       3        1    0    0 00:00:26        0

Informations connexes


Document ID: 13752