Протокол IP : Протокол BGP

Почему окружение BGP переключается между состояниями простоя, подключения и активности?

20 октября 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (22 августа 2015) | Отзыв


Содержание


Введение

Маршрутизаторы под управлением BGP могут обмениваться сведениями о маршрутизации только, когда они устанавливают одноранговое соединение между ними. Установление Однорангового соединения по протоколу BGP начинается с создания TCP - подключения между устройствами. После установленного TCP - подключения устройства BGP пытаются создать сеанс BGP обменом BGP Открытые сообщения, где они обмениваются Версией BGP, номером AS, время удержания и идентификатор BGP.

На процессе установления Однорангового соединения по протоколу BGP несколько вещей могут предотвратить смежное соединение BGP от того, чтобы правильно быть установленным. В документе рассмотрены некоторые возможные причины возникновения этой проблемы:

Предварительные условия

Требования

Для этого документа отсутствуют особые требования.

Используемые компоненты

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

Сведения, содержащиеся в данном документе, были получены с устройств в специальной лабораторной среде. Все устройства, описанные в данном документе, были запущены с конфигурацией по умолчанию. При работе с реальной сетью необходимо полностью осознавать возможные результаты использования всех команд.

Схема сети

Используйте эту схему сети в качестве примера для первых трех причин:

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

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Условные обозначения технических терминов Cisco.

Заявление о соседе неверно

В выходных данных команды "show ip bgp summary" для маршрутизатора R1-AGS видно, что сеанс является активным.

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

Вот эти конфигурации:

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

Команды debug ip bgp и debug ip tcp transactions показывают сбой TCP-соединения.

Отладки на 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

Отладки на маршрутизаторе 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

Решение

Для исправления, эта ситуация, или исправляют адрес обратной связи в инструкции окружения или удаляют команду update-source из конфигурации.

В данном примере исправлен адрес.

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

Взгляд на команду show ip bgp summary показывает, что R1-AGS маршрутизатора находится в установленном состоянии.

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

Примечание: Если сеанс BGP не установлен после перезагрузки маршрутизатора, настройте операторы neighbor soft-reconfiguration под BGP, чтобы к программному сбросу.

Нет маршрутов к соседнему адресу, или для доступа к соседнему узлу используется маршрут по умолчанию

Команда show ip bgp summary на R1-AGS маршрутизатора показывает, что сеанс в настоящее время активен.

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

Вот эти конфигурации:

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

При выполнении команд отладки это показывает, что нет никакого маршрута соседнему узлу.

Отладки на 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)

Отладки на маршрутизаторе 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)

Решение

Решение заключается в том, чтобы включить трассу к следующему переходу в объявлении соседнего BGP. Можно использовать статический или динамический маршрут в зависимости от ситуации. Во внутреннем BGP (iBGP) среда, где вы имеете больший контроль, можно распространиться маршрут динамично с помощью протокола маршрутизации. Во внешнем BGP (eBGP) ситуация рекомендуется настроить статический маршрут для достижения следующего перехода.

Используйте команду neighbor ebgp-multihop только, когда непосредственно не связан IP-адрес, к которому вы взаимодействуете на вашем узле eBGP.

В данном примере использовался статический маршрут.

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

Команда show ip bgp summary показывает, что маршрутизатор R1-AGS находится в состоянии "установлен".

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

Примечание: Маршрут по умолчанию никогда не будет используемым для установления сеанса BGP (iBGP/eBGP), и вы видите тот же (никакой маршрут) выходные данные в отладках, невзирая на то, что вы в состоянии пропинговать Соседний BGP узел. Решение снова в том, чтобы добавить маршрут к соседу BGP.

Команда update-source отсутствует в протоколе BGP

В выходных данных команды "show ip bgp summary" для маршрутизатора R1-AGS видно, что сеанс является активным.

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

Вот эти конфигурации:

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

При выполнении команд отладки это показывает сбои TCP - подключения.

Отладки на 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

Отладки на маршрутизаторе 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

Решение

Для решения, эта проблема, или настраивают команду update-source на обоих маршрутизаторах или удаляют команду update-source, и измените инструкцию окружения на обоих маршрутизаторах. Это примеры обоих решений.

Здесь, команда update-source настроена на обоих маршрутизаторах.

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

Команда show ip bgp summary показывает, что маршрутизатор R1-AGS находится в состоянии "установлен".

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

Команду update-source следует использовать, только если кто-либо обращается к вашему адресу обратной связи. Это применимо к узлам iBGP и eBGP.

Здесь, команда update-source удалена, и инструкция окружения изменена на обоих маршрутизаторах.

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

Команда show ip bgp summary показывает, что маршрутизатор R1-AGS находится в состоянии "установлен".

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

Дополнительные сведения


Document ID: 13752