跨四层封装:ospf、icmp...
TCP协议号:6
UDP协议号:17
icmp协议号:1
OSPF的数据包
OSPF是跨层封装协议,直接封装在网络层之上 --- 需要IP协议使用一个协议号来标定OSPF -- 89
OSPF的头部
版本 --- OSPF的版本 --- 2
类型 --- OSPF数据包的类型 --- hello包:1
DBD:2
LSR:3
LSU:4
LSACK:5
路由器ID --- RID --- 携带的是发出OSPF数据包设备的RID
区域ID --- 发出数据包接口所在的区域
认证 --- 认证类型 --- null --- 不认证
simple --- 明文认证
MD5 --- 比对摘要值的认证方法(可以将任何数据输入转化为128位输出)
注:OSPF进行认证时,会比较两部分内容,一个是认证类型,一个是认证数据。
OSPF数据包刨析
1、hello
周期性的发现、建立以及保活邻居关系,包括DR和BDR的选举。
字段分析
1、网络掩码 --- 发出hello包接口配置IP地址的掩码 --- 如果邻居双方该参数不一致,则邻居关系建立失败
2、hello时间、死亡时间 --- 如果邻居双方该参数不一致,则邻居关系建立失败
3、可选项 --- 每一位置1,都代表该设备支持OSPF的某一特性。
里面包含特殊区域的标注位 --- 如果邻居双方该参数不一致,则邻居关系建立失败
4、路由器优先级 --- 发出该数据包的接口的优先级
5、DR和BDR --- 在没有选举出来之前,会使用0.0.0.0来临时填充;选出之后则将DR和BDR的IP地址分别放置该地址
6、邻居ID --- 将携带自己本地已知邻居的RID,建立邻居关系的重要参数
影响OSPF邻居建立的因素
1、网络掩码
2、hello时间
3、死亡时间
4、特殊区域的标记
5、认证
但凡以224.0.0.X 格式的组播地址,都称为本地链路组播,其特征是TTL设置为1,只能在当前的广播域中发送
2、DBD包
功能
1、主从关系选举
2、共享LSA摘要信息
3、确认包
字段分析
1、MTU
最大传输单元 --- 华为设备默认没有开启MTU检测,所以使用0来填充。如果双方都开启了MTU的检测,则如果两边值不一样,会卡在Exstart状态
2、标记位
I位 --- init --- 如果该位置1,则代表这个DBD包是进行主从关系选举的DBD包,则底下不携带LSA头部信息;如果置0,主从选举完成,则代表是共享LSA摘要的DBD包,需要携带LSA头部。
M位 --- More --- 如果该位置1,则代表后面还有其他DBD包发送
MS位 --- Master --- 如果该位置1,则代表该设备位主
3、DD序列号
用来保证DBD报文的顺序性和可靠性
3、LSR包
链路状态请求报文 --- 基于DBD包请求未知的LSA
链路状态类型、链路状态ID、通告路由器 --- LSA三元组 ,可唯一标识一条LSA
4、LSU包
链路状态更新报文 --- 携带LSA的数据包
5、LSACK包
链路状态确认报文 --- 确认包