BGP的作用:

区域间的路由和区域内路由不同,通常需要基于一系列的路由策略,BGP可以使用自身的多种属性来为区域间的正常路由提供保障。

BGP邻居建立过程的状态存在 bgp邻居关系建立过程_BGP排错

BGP是基于TCP的:

BGP使用TCP(传输控制协议)作为传输协议,端口号为179,在BGP会话建立之前,TCP会先通过三次握手建立连接,为BGP提供面向连接的可靠传输。

BGP邻居建立过程的状态存在 bgp邻居关系建立过程_BGP邻居建立过程的状态存在_02

BGP的四种消息类型:

1.初始(Open):TCP三次握手之后,双方路由器发出初始报文
2.存活(Keeplive):BGP路由器收到初始消息后发出的确认
3.更新(Update):一条更新消息中只包含一条路径信息,如果需要更新多条路径信息,就需要多个更新消息
4.通知(Notification):BGP路由器在检测到错误时发送通知消息

BGP的邻居状态:

1.空闲(Idle):路由器在路由表中查找去往邻居的路由
2.连接(Connect):路由器找到了去往邻居的路由,并完成了三次连接握手
3.初始发送(Open Sent):路由器发出了初始消息
4.初始确认(Open Confirm):路由器收到了对方的确认
5.建立(Established):连接建立完成

BGP的邻居建立过程:

当输入neighbor remote-as命令之后,BGP处于空闲状态,并开始查询去往neighbor的路由,成功查询到路由且TCP的三次握手完成之后,BGP会转入连接状态。TCP连接完成后BGP会转入初始发送状态,并发送初始消息,当收到对方的确认之后,BGP会转入初始确认状态,然后开始评估路由表中可以发送给对方的路径。找到适当路径之后,BGP最终转入建立状态。

BGP邻居建立状态的排错:

1.当邻居建立时持续卡在空闲状态时,可能是由于路由表中缺少到达指定IP地址的路由或者非直连邻居之间没有启用eBGP的多跳特性(eBGP的邻居默认是直连的),导致初始消息无法发出。
2.当邻居建立时持续卡在活跃状态时,可能是由于路由器无法收到初始报文的确认消息,例如应指向的邻居的IP地址为172.16.1.1,但是错误指向了172.16.1.2,虽然消息成功发出了,但是172.16.1.2并不会回应。此外当路由器上没有输入neighbor remote-as命令或neighbor remote-as指定了错误的IP地址或AS号时也会导致邻居状态卡在活跃状态。