• BGP——6种邻居状态讲解


    目录

    TCP建立阶段

    Idle

    Connect

    Active

    BGP参数协商邻居建立阶段

    OpentSent

    OpenCofirm

    Established

    BGP邻居状态机


    TCP建立阶段

    Idle

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

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

    一直停留在此状态的原因:

    无法发起 TCP连接。

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

    Connect

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

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

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

    一直停留在此状态的原因:

    通常是由于邻居缺乏到本端的路由,或者邻居回复的应答报文在中途被丢弃

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

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

    Active

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

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

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

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

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

    一直停留在此状态的原因:

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

    本端与邻居配置的AS号可能有误

    BGP参数协商邻居建立阶段

    OpentSent

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

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

    OpenCofirm

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

    Established

    收到了邻居发来的Keepalive报文

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

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

    BGP邻居状态机

  • 相关阅读:
    Codeforces Round #792 (Div. 1 + Div. 2)
    python爬虫大作业爬取豆豆影评
    【多路IO复用】select
    数字三角形模型相关题目
    电脑网页打不开提示错误err connection怎么办?
    Ubuntu 安装 Docker 的详细步骤
    百万级别或以上的数据如何删除
    全网最新的nacos 2.1.0集群多节点部署教程
    分享艾思软件PHP(Thinkphp)后台自主框架测试试题
    Pytorch学习整理笔记(一)
  • 原文地址:https://blog.csdn.net/m0_49864110/article/details/126107254