OSPF五种报文分析(仅部分比较重要的)

OSPF五种报文分别是:

hello报文,DBD数据库描述报文,LSR链路状态请求报文,LSU链路状态更新报文,LSACK链路状态确认包

以下是这五种报文的详细解读:


1. Hello报文

  • 作用

    用于邻居的发现、建立和维护。通过周期性发送Hello报文,路由器可以确认相邻路由器的存在,并协商关键参数(如区域ID、认证信息等)。

  • 关键字段

    • Router ID:发送路由器的唯一标识。

    • Hello/Dead Interval:Hello报文发送间隔和邻居失效时间。

    • Neighbor List:已知邻居的Router ID列表。

    • Network Mask:接口的子网掩码(广播网络需一致)。

  • 特点

    • 仅在直连链路上发送(组播地址224.0.0.5)。

    • 若参数不匹配(如区域ID不同),邻居关系无法建立。

通俗点说:

Hello报文

👋作用:打招呼,确认邻居关系。

📢类比:就像你搬新家后,定期和邻居问好:"嘿,我住这儿,你在吗?"

📍用途:发现相邻路由器,维持邻居状态(默认10秒发一次,超40秒没收到就认为对方"失联")。

版本为2是ipv4,版本为3是ipv6

Area0为骨干区域

没有开启认证

发送频率为10秒钟,40秒接收不到回复会死亡


2. Database Description (DD) 报文

  • 作用

    在邻居关系建立后(达到2-WayExStart状态),用于交换链路状态数据库(LSDB)的摘要信息(即LSA头部),确保双方数据库同步。

  • 关键字段

    • Sequence Number:序列号用于确保报文顺序。

    • I/M/MS比特

      • I(Initial):表示第一个DD报文。

      • M(More):后续还有更多DD报文。

      • MS(Master/Slave):主从协商标志(主路由器控制同步过程)。

  • 特点

    • 通过主从路由器协商确保DD报文有序传输。

    • 仅包含LSA的摘要(类型、Router ID、序列号等),不携带完整LSA。

通俗点说:

DD报文(Database Description)

📚作用:交换网络拓扑的"目录清单"。

📋类比:邻居互相展示自家藏书目录:"我有A、B、C三本书",对方对比后发现自己缺哪本。

📌用途:初次建立邻居时,快速同步链路状态数据库(LSDB)的摘要,避免重复传输。


  • 作用

    在收到DD报文后,路由器对比本地LSDB,若发现缺失或过时的LSA,则通过LSR主动请求具体的LSA内容。

  • 关键字段

    • LSA Type:请求的LSA类型(如Router-LSA、Network-LSA等)。

    • Link State ID + Advertising Router:唯一标识一个LSA。

  • 特点

    • 仅在Loading状态下发送,用于按需请求缺失的LSA。

通俗点说:

LSR报文(Link State Request)

🙋作用:主动请求缺失的信息。

📩类比:发现邻居有本《网络秘籍》自己缺了,直接说:"请把这本书借我看看"。

🔍用途:根据DD报文对比后,精准请求需要的链路状态详情。

  • 作用

    响应LSR请求或主动触发更新(如链路状态变化),携带一个或多个完整的LSA(链路状态通告)。

  • 关键字段

    • LSA Count:报文中包含的LSA数量。

    • LSA List:具体的LSA内容(如链路类型、度量值等)。

  • 特点

    • 通过组播发送(224.0.0.5224.0.0.6,后者用于DR/BDR场景)。

    • 接收方需回复LSAck确认。

通俗点说:

LSU报文(Link State Update)

📦作用:发送具体的网络状态数据包。

📖类比:邻居把《网络秘籍》整本书递给你:"给,这是你要的内容"。

🔄用途:携带LSA(链路状态通告,即具体路由信息)进行更新,同步最新网络变化。


  • 作用

    对接收到的LSU报文进行确认,确保可靠传输(类似TCP的ACK机制)。

  • 关键字段

    • LSA Headers:需确认的LSA头部列表(无需完整LSA内容)。
  • 特点

    • 可通过单播或组播发送。

    • 若未收到LSAck,发送方会重传LSU。

通俗点说:

LSAck报文(Link State Acknowledgment)

✅作用:确认收到信息,避免丢包。

📲类比:收到快递后回复短信:"包裹已签收,谢谢!"。

📡用途:确保LSU报文可靠传输,若未收到确认,发送方会重传。

相关推荐
looking_for__3 小时前
【Linux】应用层协议
linux·服务器·网络
以太浮标5 小时前
华为eNSP模拟器综合实验之- VLAN终结实践案例分析
网络·计算机网络·华为·智能路由器
Trouvaille ~7 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
柱子jason7 小时前
使用IOT-Tree Server模拟Modbus设备对接西门子PLC S7-200
网络·物联网·自动化·modbus·西门子plc·iot-tree·协议转换
Arvin6279 小时前
研发环境:SSL证书快速部署
网络·网络协议·ssl
Trouvaille ~9 小时前
【Linux】网络编程基础(三):Socket编程预备知识
linux·运维·服务器·网络·c++·socket·网络字节序
酣大智9 小时前
DHCP中继配置实验
运维·网络·网络协议·tcp/ip·华为
小义_9 小时前
【RH134知识点问答题】第6章 管理 SELinux 安全性
linux·网络·云原生·rhel
REDcker10 小时前
RTSP 直播技术详解
linux·服务器·网络·音视频·实时音视频·直播·rtsp
阿猿收手吧!10 小时前
【C++】异常处理:catch块执行后程序如何继续
服务器·网络·c++