一般细分有6个过程,并且有6种状态,show ip bgp nei可以看到这些状态
我分别用A B C D E F表示6个状态顺序
A:Idle State 状态
1. BGP 通常以Idle State 开始(此时拒绝接收所有入连接)。当一个开始事件出现,BGP 过程初始化所有
BGP 资源
打开重试连接(ConnectRetry)计时器,初始化到邻居的TCP 连接,接听来自邻居的TCP 初始化消息并将它的
状态转到Connect 状态。
2.开始事件是由一个操作者配置一个BGP 过程,或者重置一个已经存在的过程或者路由器软件重置BGP 过
程引起。
3.一个差错的出现会将BGP 过程的状态转为Idle.路由器可能会试图发起另外一个开始事件.为了防止在持
续差错条件下导致的摆动,在第一次转回到空闲状态后,路由器会自动开启重试连接计时器,当计时器终止
后,路由器就会放弃重新开始BGP.重试计时器第一次的时间为60s,下一次为前一次的2 倍120s,成指数形式
增加。
B:Connect State 状态
此状态下BGP 过程会等到TCP 连接完成以后再决定后续的动作。
1. 如果TCP 连接建立成功,BGP 连接将ConnectRetry 清零,完成初始化并给邻居发送一个Open 消息,转移
到Open状态。
2. 如果TCP 连接建立失败,BGP 继续监听由邻居发起的连接,重置ConnectRetry 计时器并转移到Active
状态。
3. 如果在连接状态下,ConnectRetry 超时,计时器将重新开始,并再一次试图与邻居建立TCP 连接,BGP 保
持Connect 状态,此时如果有任何其他输入事件,转入Idle 状态。
C:Active State 状态
在此状态,BGP 过程试图与邻居建立一个TCP 连接
1. 如果连接成功,BGP 过程将ConnectRetry 计时器清零,完成初始化,给邻居发送一个Open 消息并转移到
发送Open消息状态,Hold 计时器设置为4mins。
2. 如果在激活状态,ConnectRelay 计时器超时,将回到ConnectState 并且重置ConnectRelay 计时器.也
发起一个到对等的TCP 连接并继续监听来自对等体的连接。
3. 如果邻居试图与一个未知IP 建立TCP 会话,同时ConnectRelay 计时器重置,连接被拒绝并保持在
Active 状态。
4. 任何一个事件(除开始事件)都回导致状态转向idle。
D:Open send State 状态
在此状态下,已经发送了Open 消息,BGP 等待邻居发来的Open 消息。
1. 当收到一个Open 消息,如果发现差错,将给邻居发一个Notification 消息并转入Idle 状态。
2. 如果收到的Open 消息没有差错,将给邻居发送一个Keepalive 消息并将Keepalive 计时器清零,此时
协商一个较短的holdtime,如果为0,则没有启动Hold 和keepalive 计时器,根据AS 号选择IBGP 或者EBGP,
同时将状态转移到OpenConfirm 状态。
3. 如果收到一个TCP 断开消息,本地断开BGP 连接,重置ConnectRetry 计时器,并转入Active 状态。
E:Open Confirm State 状态
此状态下BGP 会等待一个Keepalive 消息或者Notification 消息。
1. 如果收到一个Keepalive 消息,转移到Establish 状态。
2. 如果收到一个Notification 消息,转入Idle 状态,并断开TCP 连接。
3. 如果Hold 计时器超时,检测到一个差错或出现stop 事件,BGP 将给邻居发送一个Notification 并断开
连接转入Idle 状态。
F:Establish State 状态
此状态下,BGP 对等体间的连接已经完全建立,可以交换Update Keepalive 和Notification 消息,如果收
到Notification自动转入Idle,并中断连接。
start事件是由一个操作者配置一个BGP的过程,或者重置一个已经存在的过程,或者路由器软件重置BGP过程引起的。Idle状态为BGP的空闲状态,在该状态下BGP拒绝邻居发送的链接请求,此时在等待有BGP系统发出的Start事件发生后,BGP会对自己的资源进行初始化、重置计时器(缺省32秒),发起TCP链接请求,并且开始侦听远端对等体发起链接的端口,并转至Connect状态。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)