• OSPF的7大状态和5大报文详讲


    在这里插入图片描述

    - Down
    OSPF的初始状态

    - Init
    初始化——我刚刚给别人发Hello报文

    我们可以将OSPF邻居建立的过程理解为:我和你打招呼,你和我打招呼,然后咱俩成了邻居
    比如:
    R1和R2要建立OSPF邻居
    R1给R2发送了Hello报文,但是R1此时发送的Hello报文中,并没有Active Neighbor字段

    即:R1此时还不认识R2,那么R2会认为:R1的状态是初始化的状态——Init
    纯文本

    - 2-way——意味着邻居的开始!
    也叫双向通信状态

    比如:
    R1和R2要建立OSPF邻居
    R1给R2发送了Hello报文,而R1的Hello报文中,Active Neighbor字段是:R2的Router ID

    说明:

    1. R2给R1发送的Hello报文,R1收到了——否则,R1不会知道R2的Router ID
    2. R2成功的接收了来自于R1的Hello报文——否则,R2也不会知道,R1收到了R2发送的Hello报文

    即:R2清楚的知道:R2和R1可以互相通信了!此时,对于R2来说,R1处于2-way状态
    纯文本

    - Exstart——交换DD报文的初始状态

    交换的是第一个DD报文,也叫空DD报文,不带数据库简要描述信息!

    我们都知道:DD报文时数据库简要信息描述报文

    如果说,两台设备的数据库,是两个图书馆,那么,DD报文,就是:图书馆的书籍名录简介

    而空DD报文,是指:没有任何关于LSA的描述的DD报文


    设备通过空DD报文,确定主从关系!

    空DD报文有三个bit位:

    1. I(Init)——初始位为1 //表示这个DD报文时第一个DD报文
    2. M(More)——初始位为1 //表示这个DD报文后面还有更多的DD报文
      3.M/S(Master/Slave)——初始位为1 //表示我认为自己是主路由器

    通过Router ID比较(Router ID大的是主路由器),确定主从关系,从而Slave发送的DD报文的序列号,必须是Master发送的DD报文的序列号

    即:Slave必须收到Master发送的DD报文,Slave才会发送DD报文

    这样做的目的:就是提高OSPF交换数据的可靠性!!!
    纯文本

    - Exchange——交换其余的DD报文

    此时的DD报文,都带着“LSA Header”

    所谓的“LSA Header”,就是数据库的简要描述信息
    纯文本

    - Loading——意味着邻居的结束 ——加载

    LSR——链路状态请求报文——设备发送LSR,请求自己数据库中没有的LSA

    LSU——链路状态更新报文——设备收到对端发送的LSR,会将LSA放在LSU中,发送给对方

    LSAck——链路状态确认报文——设备收到对端的LSU,会发送LSAck进行接收的确认
    纯文本

    - FULL——邻接状态

    两台设备的OSPF数据库完全同步(完全相同),此时,彼此的状态是FULL——邻接
    纯文本

    🔻OSPF的邻居和邻接
    邻居:2-way到Loading

    邻接:FULL
    纯文本

    🔻display ospf peer brief命令详解
    < R1 >display ospf peer brief

    OSPF Process 1 with Router ID 1.1.1.1 //OSPF进程1,Router ID是1.1.1.1
    Peer Statistic Information //邻居 统计 信息

    Area IdInterfaceNeighbor idState
    0.0.0.0GigabitEthernet0/0/02.2.2.2Full
    0.0.0.13GigabitEthernet0/0/13.3.3.3Full

    【 Area ID 】

    邻居所在的区域
    
    • 1

    【 Interface 】

    我通过哪个接口,和对端建立邻居
    
    • 1

    【 Neighbor id 】

    邻居的Router ID
    
    • 1

    【 State 】

    邻居的状态
    
    不是我的状态,我的状态应该在邻居那里查看
    
    • 1
    • 2
    • 3
  • 相关阅读:
    【AI-GitHub】SceneScript 3D场景主体识别分割!让AR和人工智能设备了解物理空间的几何形状!
    AF_UNIX和127.0.0.1(AF_INET)回环地址写数据速度对比
    OLAP引擎也能实现高性能向量检索,据说QPS高于milvus!
    2022前端面试题总结
    基于二维切片图序列的三维立体建模MATLAB仿真
    利用STM32CubeMX软件生成USB_HOST_HID连接鼠标和键盘扫码枪
    Stable Diffusion 本地部署教程
    华为机试真题 C++ 实现【水仙花数】
    [SpringMVC笔记] SpringMVC-13-表现层与前端数据传输数据协议实现
    CentOS 7 安装 nginx
  • 原文地址:https://blog.csdn.net/m0_68089732/article/details/133720880