本篇博文摘要 🌟
引言 📘
- 在这个快速发展的技术时代,与时俱进是每个IT人的必修课。
- 我是肾透侧视攻城狮,一名什么都会一丢丢的网络安全工程师,也是众多技术社区的活跃成员以及多家大厂官方认可人员,希望能够与各位在此共同成长。
📈个人成就和🌐社区贡献与影响力
👑《荣誉头衔》
💻技术认证:
- 华为病毒查杀漏洞管理技术认证
- 华为Web暴力破解漏洞挖掘技术认证
- 华为HTTPS加密电商网站技术认证
- 华为博客网站SQL注入攻击以及防御技术认证
- 华为MySQL数据库迁移上云技术认证
- 华为企业上云网络规划设计技术认证
- 阿里云Apsara Clouder基于存储产品快速搭建网盘技术认证
- 阿里云Apsara Clouder容器应用与集群管理技术认证
- 阿里云Apsara ClouderECS基础运维管理技术认证
- 阿里云Apsara Clouder存储应用与数据管理技术认证
- 阿里云Apsara ClouderSOL基础开发与应用技术认证
- 阿里云Apsara Clouder基于容器搭建企业级应用技术认证
- 阿里云Apsara Clouder云原生数据库PolarDB 快速入门技术认证
- 阿里云Apsara Clouder云数据库RDS快速入门技术认证
- 阿里云Apsara Clouder大模型- 基于百炼平台构建智能体应用技术认证
- 阿里云Apsara Clouder企业级ECS集群构建技术认证
- 腾讯微服务平台TSF技术认证
- 腾讯EdgeOne网站加速与防护技术认证
🙆曾参与赛事以及荣誉奖项:
欢迎各位彦祖与热巴畅游本人专栏与博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]
➡️网络空间安全——全栈前沿技术持续深入学习
➡️ 24 Network Security -LJS
➡️ MYSQL REDIS Advance operation
➡️RHCE-LJS[Linux高端骚操作实战篇]
➡️数据结构与算法[考研+实际工作应用+C程序设计]
➡️RHCSA-LJS[Linux初级及进阶骚技能]
上节回顾
目录
编辑本篇博文摘要 🌟
引言 📘
📈个人成就和🌐社区贡献与影响力
👑《荣誉头衔》
💻技术认证:
🙆曾参与赛事以及荣誉奖项:
欢迎各位彦祖与热巴畅游本人专栏与博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]
上节回顾
1.OSPF数据报文——头部信息
1. 版本(Version,8bit)
2. 类型(Type,8bit)
3. 报文长度(Packet Length,16bit)
4. 路由器 ID(Router ID,32bit)
5. 区域 ID(Area ID,32bit)
6. 校验和(Checksum,16bit)
7. 验证类型(Authentication Type,16bit)
8. 认证数据(Authentication Data,32bit)
2.OSPF数据报文——Hello包
网络掩码
注意:
Hello时间
路由器失效时间
可选项
2.2DR/BDR选举
DR/BDR作用
DR/BDR选举规则
邻居配置:
3.OSPF数据报文——DBD包
接口最大传输单元
标记位
DD序列号
LSAck报文的目的---显性确认机制
1. 确保LSA的可靠传输
2. 防止重复LSA的传播
3. 保证链路状态的同步性
1.OSPF数据报文——头部信息
- 如果验证类型字段为0--不认证。则认证数据部分使用全0填充,保证首部大小为24字节。
- 区域ID用于路由器双方进行验证,如果双方所属区域不同,则无法建立邻居关系
1. 版本(Version,8bit)
2. 类型(Type,8bit)
- 含义:用于标识 OSPF 报文的类型。不同类型的报文在 OSPF 协议的运行过程中承担着不同的功能。常见的类型有:
- Hello 报文(Type = 1):用于建立和维护邻居关系,周期性地在邻居之间交换,以确保邻居之间的可达性和参数一致性。
- Database Description(DD)报文(Type = 2):用于描述本地链路状态数据库(LSDB)的摘要信息,在数据库同步过程中,主从路由器之间交换 DD 报文来协商同步的起始点和序列号。
- Link State Request(LSR)报文(Type = 3):当路由器发现自己的 LSDB 中缺少某些链路状态信息时,会向邻居发送 LSR 报文,请求对方发送相应的链路状态通告(LSA)。
- Link State Update(LSU)报文(Type = 4):用于发送完整的 LSA,响应 LSR 报文,或者在链路状态发生变化时主动发送,以更新邻居的 LSDB。
- Link State Acknowledgment(LSAck)报文(Type = 5):用于对收到的 LSU 报文进行确认,确保 LSA 的可靠传输。
- 示例:如果该字段的值为 1,则此 OSPF 报文为 Hello 报文。
3. 报文长度(Packet Length,16bit)
- 含义:表示整个 OSPF 报文(包括头部和数据部分)的长度,以字节为单位。
- 示例:如果该字段的值为 100(十六进制为 0x0064),则表示整个 OSPF 报文的长度为 100 字节。
4. 路由器 ID(Router ID,32bit)
5. 区域 ID(Area ID,32bit)
6. 校验和(Checksum,16bit)
- 含义:用于检测 OSPF 报文在传输过程中是否发生错误。发送方在发送报文前计算报文(除校验和字段本身外)的校验和,并将其填入校验和字段。接收方收到报文后,重新计算校验和并与报文中的校验和进行比较,如果两者不相等,则说明报文在传输过程中出现了错误,接收方将丢弃该报文。
- 示例:接收方计算得到的校验和为 0x1234,而报文中的校验和为 0x5678,两者不匹配,说明报文有误。
7. 验证类型(Authentication Type,16bit)
- 含义:用于指定 OSPF 报文的验证方式。OSPF 支持多种验证方式,如简单密码验证、MD5(Message Digest 5)验证等。不同的验证类型对应不同的验证机制和参数。
- 示例:如果验证类型为 1,则表示采用简单密码验证方式;如果为 2,则表示采用 MD5 验证方式。
8. 认证数据(Authentication Data,32bit)
- 含义:根据验证类型的不同,该字段用于存储相应的验证信息。例如,在简单密码验证方式下,该字段存储的是密码(经过一定的处理);在 MD5 验证方式下,该字段存储的是 MD5 摘要等信息。
- 示例:如果采用简单密码验证,密码为 "password",经过处理后(如哈希运算等)的值存储在该字段中。
2.OSPF数据报文——Hello包
- 发现、建立以及周期性保活邻居关系。进行DR和BDR的选举
网络掩码
该报文被路由器的那一个接口发送,该字段填充该接口的掩码信息。
两台OSPF路由器会检查该字段内容,如果该字段与收到该报文的接口的掩码信息不符,则会丢弃该hello报文。----网络掩码字段的检查仅在MA网络进行。
注意:
Hello时间
两台直连路由器如果要建立邻居关系,则需要保证该参数取值一致,否则无法正常建立邻居。
路由器失效时间
两台直连路由器如果要建立邻居关系,则需要保证该参数取值一致,否则无法正常建立邻居。
可选项
8个标记位,每个标记位置为1,则代表该设备开启了某一种OSPF特性。
可选项中有部分标记位被称为特殊区域标记,该标记在邻居关系建立时会被检查,如果不同则会影响到邻居关系建立。
2.2DR/BDR选举
所有224.0.0.X格式的组播IP地址被称为本地链路组播;目标IP地址是本地链路组播的数据包中的TTL值被设定为1;所有的本地链路组播都存在与之对应的组播MAC地址。01-00-5e-0+IP地址的后23位
DR/BDR作用
DR/BDR选举规则
邻居配置:
[r1-GigabitEthernet0/0/0]ospf timer hello 100 --修改hello时间
[r1-GigabitEthernet0/0/0]ospf timer dead 20 ---修改死亡时间
3.OSPF数据报文——DBD包
使用未携带数据的DBD报文进行主从关系选举
使用携带数据的DBD报文进行LSA摘要信息共享
使用未携带数据的DBD报文进行确认
接口最大传输单元
标记位
I位
代表此时时候在进行主从关系选举。
当该标记位置为1时,则代表此时在进行主从关系选举,且该报文不会携带LSA头部信息。
M位
代表后续是否还存在别的DBD报文。
该标记位置为1,则代表此时后续还有其他DBD报文。
MS位
当该标记位置为1,则代表此时发送该报文的接口为主设备。
在主从关系选举完成之前,所有DBD报文的MS位均为1。
DD序列号
用于确保DD报文在传输过程中的有序性和可靠性。DD报文的序列号在DD报文交互过程中逐次加一。
只有主设备才可以规定DD序列号内容。
如果从设备发送完数据,而主设备没有发送完毕。从设备也需要回复一个空的DD报文进行确认。
如果主设备发送完毕,从设备没有发送完毕。主设备需要发送空的DD报文,目的是给从设备提供DD序列号使用。
隐性确认---从设备必须根据主设备发送报文中的序列号来发送自己的DD报文。
LSA三元组
- 可以通过这三个参数唯一的标识一条LSA信息
Router ID:标识发布该LSA的路由器。 Link ID:标识链路的目标(对端路由器或网络地址)。 Link Data:描述链路的详细属性,如带宽、MTU、成本等
LSAck报文的目的---显性确认机制
1. 确保LSA的可靠传输
当一个路由器发出LSA时,它并不知道该LSA是否成功到达目标路由器或者是否被目标路由器正确处理。为了确认LSA的可靠传输,接收方会对每个接收到的LSA发送一个LSAck报文。这种机制确保了发送方知道LSA是否被接收,防止因传输丢失或其他问题导致信息同步不一致。
- 显性确认是指接收方会显式地发送一个LSAck报文来确认已经接收到某个LSA。与此相对的是隐式确认机制(Implicit Acknowledgment),例如在某些协议中,确认可能是通过其他间接方式(如定时器到期)来完成的。
2. 防止重复LSA的传播
3. 保证链路状态的同步性