BGP——6种邻居状态讲解

目录

TCP建立阶段

Idle

Connect

Active

BGP参数协商邻居建立阶段

OpentSent

OpenCofirm

Established

BGP邻居状态机


TCP建立阶段

Idle

BGP连接的第一个状态,也是初始化状态,复位TCP连接的重连计时器(通常是60s),准备发起TCP连接

发起连接的目的地址为邻居地址,源为本地更新源地址(本地更新源默认为去往邻居路由的下一跳)

一直停留在此状态的原因

无法发起 TCP连接

通常是没有去往邻居地址的路由

或者是BGP的AS号书写出现问题

Connect

当收不到邻居发来的TCP应答报文时,会停留在此状态。

在Connect状态,BGP发送第一个TCP连接,如果TCP连接的重连计时器(Connect-Retry)超时,就重新发起TCP连接,并继续保持在Connect状态。

如果TCP连接成功,就转为Opensent状态,如果TCP连接失败,就转为Active状态

一直停留在此状态的原因

通常是由于邻居缺乏到本端的路由

邻居回复的应答报文在中途被丢弃(可能网络的原因,也有可以是TTL的原因)

当无法收到邻居的TCP回应报文时

  1. 会卡在Connect状态
  2. 并且5s后重传一次TCP连接请求
  3. 再等待32s后,重新发起TCP连接请求

Active

当自身可以发送TCP连接,也可以收到邻居的应答报文,但是依然无法建立起TCP的三次握手,会进入此状态。

在此状态,BGP总是试图建立TCP连接。

如果TCP连接的重连计时器超时,就退回到Connect状态

如果TCP连接建立成功,就转入到Opensent状态

如果TCP连接失败,重新发起TCP连接,并待在此状态

一直停留在此状态的原因

本端主动发起TCP连接的源地址和对端指定的邻居地址不匹配

本端与邻居配置的AS号可能有误(例如如果配置的是IBGP,但是两边AS号不一致等)


BGP参数协商邻居建立阶段

OpentSent

TCP连接建立成功后进入此状态,发送Open报文

Opensent状态,发送第一个Open报文,并等待接收邻居的Open报文

此阶段协商哪些信息

  • 协商BGP邻居的各项参数、功能,建立邻居关系
  • 部分参数协商会影响邻居建立,包括BGP版本号、认证、AS号等
  • 两端关于Keepalive的保活间隔如果不相同,则取最小值;不影响邻居建立
  • 功能协商不影响邻居建立,如果邻居不支持可选字段的某些功能(例如4字节等),则重新进行BGP协商,并且不再对此邻居发送该功能参数

一直停留在该状态的原因

BGP的认证方式或密码不匹配

BGP的版本号不一致

BGP的AS号有误

OpenCofirm

代表收到邻居的Open报文,并发送了Keepalive报文,等待接收邻居的Keepalive报文

Established

收到了邻居发来的Keepalive报文

之后可以通过Update报文通告路由信息  路径属性

通过Keeplive报文进行邻居保活(60s发一次,180s保活)

通过Route-refresh来进行BGP路由刷新功能


BGP邻居状态机

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静下心来敲木鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值