此文章主要简单介绍下BGP的六种状态
1.Idle
BGP会话的初始状态,路由器在此状态下不与任何BGP邻居通信,通常标识会话还没有开始或由于错误而未能启动,一般来说,缺乏去往BGP对等体的路由是导致BGP路由器其状态一直处于idle状态的常见原因
2.Connect
在此状态下,路由器尝试与BGP邻居建立TCP连接,如果连接建立成功的话,状态会变成OpenSent,如果失败连接,状态会变成active
3.active
在此状态下,BGP 路由器尝试主动与邻居建立TCP连接,如果连接成功,会话转为OpenSent状态,如果 TCP 连接未成功,则会继续尝试,并可能在失败后返回 Idle 状态
4.OpenSent
一旦TCP连接建立成功,路由器会发送 BGP Open 报文,在此状态下,路由器等待从对等体收到对方的 Open 报文;如果收到有效的 Open报文,状态会转为OpenConfirm;如果Open报文不正确(如 AS 号不匹配、BGP 版本不兼容等),路由器将发送 Notification 报文并关闭会话
5.OpenConfirm
路由器已经收到并接受对等体的Open报文,进入此状态后等待Keepalive报文;如果双方都收到Keepalive报文,状态将转为Established;如果没有收到Keepalive或者遇到错误(如 Hold Time 超时),会话将失败并返回 Idle 状态。
6.Established
这是 BGP 邻居会话的最终状态,表示会话成功建立,双方可以开始正式交换 BGP 路由信息(通过 Update 报文),在此状态下,BGP 邻居之间将定期交换 Keepalive 报文,以维持会话的活跃,如果会话中断,如收不到Keepalive报文,状态将重置为 Idle,并重新开始建立会话的流程。
一旦进入 Established 状态,BGP 邻居间的会话建立成功,可以交换路由信息