首页 > 其他分享 >OSPF的7大状态和5大报文详讲

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

时间:2023-10-18 13:06:13浏览次数:23  
标签:详讲 R1 R2 报文 邻居 OSPF DD


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——邻接
纯文本

标签:详讲,R1,R2,报文,邻居,OSPF,DD
From: https://blog.51cto.com/u_15612474/7916336

相关文章

  • MQTT控制报文格式 -- PINGRESP – PING response
    PINGRESP数据包由服务器发送到客户端以响应PINGREQ数据包。这表明服务器还活着。该数据包没有可变包头和Payload,剩余长度值为0固定包头格式如下:Bit76543210byte1MQTTControlPackettype(13)Reserved 1101......
  • MQTT控制报文格式 -- UNSUBACK – 取消主题订阅应答
    UNSUBACK数据包由服务器发送到客户端以确认收到UNSUBSCRIBE数据包。该数据包不包含Payload,所以剩余长度为2,即2字节的可变包头长度。1.固定包头FixedheaderBit76543210byte1MQTTControlPackettype(11)Reserved 1......
  • MQTT控制报文格式 -- PINGREQ – ping请求
    PINGREQ数据包从客户端发送到服务器。它可用于:在没有任何其他控制数据包从客户端发送到服务器的情况下,向服务器指示客户端处于活动状态。请求服务器响应以确认其处于活动状态。测试网络以指示网络连接处于活动状态。该数据包不需要可变包头,没有Payload部分其固定包头格式......
  • MQTT控制报文格式 -- UNSUBSCRIBE– 客户端取消订阅请求
    客户端向服务器发送取消订阅数据包,以取消订阅主题。1.固定包头FixedheaderBit76543210byte1MQTTControlPackettype(10)Reserved 10100010byte2RemainingLength2.可变包头Variab......
  • MQTT控制报文格式 -- SUBACK – 订阅应答
    SUBACK数据包由服务器发送到客户端以确认SUBSCRIBE数据包的接收和处理。SUBACK数据包包含返回代码列表,指定在SUBSCRIBE请求的每个订阅中授予的最大QoS级别1.固定包头Fixedheader固定包头的剩余长度=可变包头(2字节)+Payload长度Bit765432......
  • MQTT控制报文格式 -- SUBSCRIBE – 客户端订阅主题请求
    订阅数据包从客户端发送到服务器以创建一个或多个订阅。每个订阅都会登记客户对一个或多个主题的兴趣。服务器向客户端发送PUBLISH数据包,以便转发已发布到与这些订阅匹配的主题的应用程序消息。SUBSCRIBE数据包还指定(对于每个订阅)服务器可以向客户端发送应用程序消息的最大......
  • MQTT控制报文格式 -- PUBREC – Publish received (QoS 2 publish received, part 1)
    PUBREC数据包是对QoS2的PUBLISH数据包的响应。它是QoS2协议交换的第二个数据包。该数据包剩余长度为2该数据包没有Payload该数据包可变包头长度为2个字节1.固定包头FixedHeaderBit76543210byte1MQTTControlPackettyp......
  • MQTT控制报文格式 -- PUBREL – Publish release (QoS 2 publish received, part 2)
    PUBREL数据包是对PUBREC数据包的响应。它是QoS2协议交换的第三个数据包。该数据包剩余长度为2该数据包没有Payload该数据包可变包头长度为2个字节1.固定包头FixedHeaderBit76543210byte1MQTTControlPackettype(6)R......
  • MQTT控制报文格式 -- PUBACK(Publish Acknowledgement) Publish消息应答
    该消息是接收方收到QoS1的PUBLISH消息后,返回给发送方的应答消息。该消息由于没有Payload,固定包头的剩余长度值为21.固定包头FixedHeaderBit76543210byte1MQTTControlPackettype(4)Reserved 01000......
  • MQTT控制报文格式 -- PUBLISH 消息发布
    该数据包定义了客户端和服务端发布MQTT消息格式。1.固定包头FixedheaderBit76543210byte1MQTTControlPackettype(3)DUPflagQoSlevelRETAIN 0011XXXXbyte2RemainingLength......