BGP最通俗易懂的讲解——BGP状态机详解

2024-01-08 20:39:50

BGP状态机

idle

idle是BGP连接的第一个状态,相当于OSPF的“down"

处于idle状态的原因如下:

  1. 没有去往邻居地址的路由,无法发起TCP三次握手、也无法完成TCP的三次握手;
  2. 邻居发起的TCP握手,被本端拒绝,拒绝的原因是邻居发起TCP报文的源地址,不是
    本端指定的邻居地址

Connect

在Connect状态,BGP发起第一个TCP连接,如果连接重试计时器(Connect - Retry) 超时,就重新发起TCP连接,并继续保持在Connect 状态,如果TCP连接成功,就转入OpenSent 状态,如果TCP连接失败,就转入Active 状态。
处于Connect的原因如下:

  1. 当发起TCP连接路电器,无法收到邻居TCP回应报文时,就会卡在conect状态,井且5
    秒后重传一次TCP连接请求,再等待32秒左右,重新再次发起TCP连接请求,通常是由
    发起端存在邻居地址的路由,并能主动发送TCP3次握手,但无法从邻居接收第二次握
    手的报文;
  2. 通常是由于邻居缺乏到对端的路由(即无法回包),或者是应答报文中途被丢弃。

Active

当发送TCP连接的路由器,能收到相应邻居的应答报文,代表两台台路由器能正常交互报文,但是依然无法建立起TCP的三次握手,将会进入到Active。
处于Active的原因如下:

  1. 邻居之间地址可达,但建立BGP邻居的源目地址不匹配导致;
  2. 本端主动发起TCP连接的源地址和对端指定的邻居地址不匹配,导致本端处于active,对端处于idle状态。
比如双方计划使用Loopback 0接口建立BGP邻居,但有一方没有配置 peer x.x.x.x connect-interface loopback 0  这条命令,导致本地 peer x.x.x.x 和 对端 peer y.y.y.y 指定的地址不匹配。

Establish

邻居建立成功。

文章来源:https://blog.csdn.net/chuaxing/article/details/135465003
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。