ospf报文详解

ospf报文详解

OSPF协议通过5种报文类型实现邻居发现、链路状态同步和路由计算。所有OSPF报文共享公共报文头,后续根据不同报文类型携带特定数据。以下是各报文的详细解析:

一、OSPF公共报文头

每个OSPF报文以24字节的头部开始,结构如下:

字段

长度(字节)

说明

版本(Version)

1

OSPF版本(OSPFv2为2,OSPFv3为3)。

类型(Type)

1

报文类型(1=Hello,2=DBD,3=LSR,4=LSU,5=LSAck)。

报文长度(Length)

2

整个报文(含头部)的总长度(单位:字节)。

Router ID

4

发送该报文的路由器ID(唯一标识)。

Area ID

4

报文所属的区域ID(Area 0为骨干区域)。

校验和(Checksum)

2

用于校验报文完整性(不包含认证字段)。

认证类型(Auth Type)

2

0=无认证,1=明文认证,2=MD5认证(OSPFv3使用IPv6原生安全机制)。

认证数据(Auth Data)

8

明文密码或MD5摘要(根据认证类型填充)。

二、OSPF报文类型详解

1. Hello报文(Type 1)

作用:发现并维护邻居关系,确认邻居存活。

关键字段:

字段

说明

网络掩码(Network Mask)

发送接口的子网掩码(必须与邻居一致)。

Hello间隔(HelloInterval)

发送Hello报文的时间间隔(默认10秒)。

Dead间隔(RouterDeadInterval)

邻居失效时间(默认40秒)。

邻居列表(Neighbors)

已收到的邻居Router ID列表。

优先级(Priority)

用于DR/BDR选举(默认1,0表示不参与选举)。

DR/BDR的Router ID

当前网络的DR和BDR的Router ID。

触发条件:

周期性发送(默认每10秒)。

接口激活时立即发送。

组播地址:

广播网络:224.0.0.5(所有OSPF路由器)。

DR/BDR与邻居通信:224.0.0.6(仅DR/BDR监听)。

2. DBD报文(Database Description,Type 2)

作用:描述本地LSDB的摘要信息,用于同步链路状态数据库。

关键字段:

字段

说明

接口MTU(MTU)

发送接口的最大传输单元(需与邻居一致)。

序列号(Sequence)

用于保证DBD报文顺序传输。

I/M/MS位

- I位:是否为第一个DBD报文。- M位:是否还有后续报文。- MS位:主从关系(1=主,0=从)。

LSA头部列表

本地LSDB中所有LSA的摘要(仅包含LSA头部)。

交互流程:

主从选举:通过比较Router ID,确定主路由器(Master)控制DBD交换顺序。

DBD交换:主从路由器交替发送DBD报文,携带本地LSDB的LSA摘要。

3. LSR报文(Link State Request,Type 3)

作用:请求缺失的LSA详细信息。

关键字段:

字段

说明

LSA类型(LS Type)

请求的LSA类型(如Type 1、Type 5等)。

链路状态ID(Link State ID)

标识特定LSA的ID(如路由器ID或网络地址)。

通告路由器(Advertising Router)

生成该LSA的路由器的Router ID。

触发条件:当路由器收到DBD报文后,发现本地LSDB缺少某些LSA时,发送LSR请求。

4. LSU报文(Link State Update,Type 4)

作用:携带具体的LSA信息,用于更新邻居的LSDB。

关键字段:

字段

说明

LSA数量(# LSAs)

报文中包含的LSA条目数量。

LSA列表

一个或多个完整的LSA条目(包含链路状态类型、ID、序列号等)。

触发条件:

收到LSR请求时,发送对应的LSA。

网络拓扑变化时,主动洪泛更新的LSA。

5. LSAck报文(Link State Acknowledgment,Type 5)

作用:确认收到LSU报文,确保可靠性。

关键字段:

字段

说明

LSA头部列表

需要确认的LSA的头部信息(类型、链路状态ID、通告路由器等)。

交互方式:

显式确认:单独发送LSAck报文。

隐式确认:通过回复LSU报文捎带确认(较少使用)。

三、OSPF报文交互流程

以邻居关系建立和LSDB同步为例:

Hello报文:发现邻居并协商参数(区域ID、认证、Hello/Dead间隔等)。

DBD报文:交换LSDB摘要,确定主从关系。

LSR/LSU/LSAck:请求、发送和确认缺失的LSA,最终同步LSDB。

SPF计算:所有路由器独立运行Dijkstra算法,生成路由表。

四、常见问题与排查

邻居关系卡在ExStart/Exchange状态:

原因:接口MTU不匹配或DBD报文丢失。

解决:检查两端MTU配置,确保一致(ip ospf mtu-ignore可跳过MTU检查)。

LSA无法洪泛:

原因:区域划分错误或LSA过滤配置不当。

解决:确认区域设计(如NSSA区域是否允许Type 7 LSA)。

相关推荐

分期乐审核多久出结果?分期乐借款一直在审核中是什么原因?
开发者反思:安卓APP五大乱象
365bet赌场手机投注

开发者反思:安卓APP五大乱象

📅 06-28 👁️ 9714
AutoCAD 2014怎么安装?AutoCAD2014安装及激活教程
百特365下载

AutoCAD 2014怎么安装?AutoCAD2014安装及激活教程

📅 06-30 👁️ 2341
长沙810路上行公交线路
日博365投注

长沙810路上行公交线路

📅 06-30 👁️ 8281
小米5x如何连接电脑?连接方法详解
日博365投注

小米5x如何连接电脑?连接方法详解

📅 06-29 👁️ 4450
汇率换算器:135 港币(HKD) 兑换 人民币(CNY)
日博365投注

汇率换算器:135 港币(HKD) 兑换 人民币(CNY)

📅 07-01 👁️ 9704
sql镶嵌查询_标准SQL嵌套查询语句[通俗易懂]
日博365投注

sql镶嵌查询_标准SQL嵌套查询语句[通俗易懂]

📅 06-29 👁️ 2444
什么是销售推销(最佳范例和想法)
365bet赌场手机投注

什么是销售推销(最佳范例和想法)

📅 06-28 👁️ 9259
电脑剪切板快捷键全知道
日博365投注

电脑剪切板快捷键全知道

📅 06-28 👁️ 7326