Technical documentation
发布日期:2023-03-09 浏览次数:1361 来源:WOLFLAB
在HCIE Datacom培训学习中什么是BGP邻居状态机?
感谢关注WOLFLAB网络技术实验室,HCIE Datacom培训课程循环开班中,联系WOLFLAB预约免费试听!
BGP对等体的交互过程中存在6种状态机:Idle、Connect、Active、OpenSent、
OpenConfirm和Established 。
(1)Idle:BGP初始状态。在Idle状态下,BGP拒绝邻居发送的连接请求。只有在收到本设备的Start事件后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect状态。
Start事件是由一个操作者配置一个BGP过程,或者重置一个已经存在的过程或者路由器软件重置BGP过程引起的。
任何状态中收到Notification报文或TCP拆链通知等Error事件后,
BGP都会转至Idle状态。
(2)Connect:表示等待TCP连接完成,等待时间默认为32秒(重传超时时间) 如果完成则发送open,然后进入openset状态
如果TCP连接失败,进入active状态
//tcp发起时,对方回复tcp连接失败(RST=1) 如果TCP连接未完成(32S),停留在connect状态
//tcp发起对方没回复
(3)Active:主动向对方发出TCP的重连接
如果连接成功则发送open,然后进入opensent状态如果TCP连接失败,进入active
等待重传超时时间到期,如果TCP连接未完成,停留在connect状态
(4)opensent:已经发出open报文,协商来自邻居的open报文
如果同意邻居的open报文的参数,回复keepalive,进入
openconfirm
如果不同意邻居的open报文的参数,回复notification,退回idle
(5)openconfirm:已经发出keepalive等待,等待来自邻居keepalive报文,等待时间5s
如果收到对方的keepalive报文,则进入established
如果5s内没有收到或者收到notification报文,则回到idle
(6)Establieshed:表示邻居关系已经完全建立,开始交换update报文收到正确的update、keepalive,不变
收到route-refresh报文,不变
收到错误的update、keepalive和收到notification或TCP(fin=1)的断开连接报文,则转至Idle
说明:在 BGP 对等体建立的过程中,通常可见的 3 个状态是:Idle、Active 和
Established。
扩展问题1:如果一直停在idle状态,则可能:
1、指PEER的地址在路由表中没有存在路由,无法发起TCP连接导致,
2、没有开启该地址族,
3、双方都没有明细路由,用的都是默认路由,
4、ebgp邻居使用环回接口建立没有ebgp多跳
扩展问题2:如果一直停在connect状态,则可能:
1、TCP被过滤,对方收不到报文回复不了TCP确认
2、单通故障
3、一端配置认证一端没有认证,则会卡在connect
扩展问题3:如果一直停在active状态,则可能: 一般为配置错误导致:
1、邻居没有配置更新源
2、邻居peer中指的地址错误
3、邻居没有指peer
扩展问题4:没有配置EBGP邻居多跳,会停留在哪个状态? 会停留在idle;
扩展问题5:认证不通过,会停留在哪个状态?
会停在connect,因为认证不通过所以直接丢弃TCP报文;
欢迎关注【WOLFLAB网络实验室】,了解更多关于HCIE Datacom培训相关技术,我们每周都会更新!
讲师:崔志鹏、杨广成
欢迎关注WOLFLAB(沃尔夫)网络实验室
HCIE Datacom培训循环开班,点击这里预约
WOLFLAB官方微信:17316362402
WOLFLAB官方QQ:2569790740