bgp的状态机
一,idle(空闲)初始状态。
二,connect 此时建立TCP三次握手。
a,bgp启动重传定时器,并等待TCP建立连接。
b,如果tcp建立成功,此时开始发送open报文协商参数,并进入opensent状态。
c,如果tcp建立失败,此时进入active状态。
d,如果重传定时器超时,bgp没有收到bgp对等体的回应,会尝试和其他对等体建立邻居,停留在connect状态。
(底层igp路由不可达,TCP不可达,防火墙过滤179端口号,acl过滤open报文,状态检测防火墙来回路径不一致,ebgp邻居非直连TTL值未修改)
三,active 尝试重新建立TCP连接,建立成功转到connect状态,定时器超时进入connect状态。
四,opensent bgp等待对等体的open报文开始协商参数。(版本号,AS号,认证信息等等)
a,如果协商成功,发送keepalive报文,转至openconfirm。
b,如果协商失败,发送notification报文,转至idle。
五,openconfirm bgp等待对等体的keepalive报文
a,如果收到keepalive,进入established。
b,如果收到notification,进入idle。
六,estabished 开始和对等体交互keepalive,update,notification,route-refrech报文。如果收到错误的update和keepalive报文,则发送notification报文通知对方,并进入idle。