HCIP的学习(8)

OSPF数据报文

OSPF头部信息(公共固定)

  • 版本:OSPF版本,在IPv4网络中版本字段恒定为数值2(v1属于实验室版本,v3属于IPv6)
  • 类型:代表具体是哪一种报文,按照1~5排序(Hello报文或其他四种之一)
  • 报文长度:OSPF数据报文的完整长度(OSPF头部信息(24字节)+数据部分大小(可变))
  • 路由器ID:就是发送方的router id
  • 区域 ID:发送的接口属于的区域(例如属于区域0,就是0.0.0.0)(与接收方入接口区域ID如果不相同,两者不会建立邻居关系)
  • 校验和:用来验证数据的完整性,有无被串改
  • 验证类型:(3种)
    • 不认证
    • 明文认证
    • 密文认证

如果验证类型字段为0--不认证。则认证数据部分使用全0填充,保证首部大小为24字节

区域ID用于路由器双方进行验证,如果双方所属区域不同,则无法建立邻居关系

Hello包

​ 功能:发现、建立以及周期性 保活邻居 关系。进行DR和BDR的选举

  • 蓝色字体表示会影响到OSPF邻居关系的建立
  • 首部中:区域ID、认证类型、路由器ID(router id 相同会影响)
  • 网络掩码
    • 该报文被路由器的那一个接口发送,该字段填充该接口的掩码信息。
    • 两台OSPF路由器会检查该字段内容,如果该字段与收到该报文的接口的掩码信息不符,则会丢弃该hello报文。----网络掩码字段的检查仅在MA网络进行
    • 注意:OSPF建立邻居关系需要对比网络掩码字段是华为厂商独有的手段。
  • Hello时间间隔
    • 两台直连路由器如果要建立邻居关系,则需要保证该参数取值一致,否则无法正常建立邻居。
  • 路由器失效时间(即死亡时间)
    • 两台直连路由器如果要建立邻居关系,则需要保证该参数取值一致,否则无法正常建立邻居。
    • 默认情况下,路由器失效时间是Hello时间的四倍,会随着Hello时间变化而变化(但不绝对,可以单独更改死亡时间)
  • 可选项
    • 8个标记位,每个标记位置为1,则代表该设备开启了某一种OSPF特性。
    • 可选项中有部分标记位被称为特殊区域标记,该标记在邻居关系建立时会被检查,如果不同则会影响到邻居关系建立。
  • 路由器优先级
    • 就是接口优先级,默认为1
  • 指定路由器/备份指定路由器(DR/BDR)
    • 填充的是网络中DR/BDR所在接口的IP地址。
    • 如果没有选举出,则填充0.0.0.0
  • 邻居
    • 填的是邻居的router id,每有一个,都用一行来填充(32bit),没有可以为空

扩展

	所有224.0.0.X格式的组播IP地址被称为本地链路组播;
	目标IP地址是本地链路组播的数据包中的TTL值被设定为1;所有的本地链路组播都存在与之对应的组播MAC地址。
	01-00-5e-0+IP地址的后23位。

[r1-GigabitEthernet0/0/0]ospf timer hello 100  --修改hello时间
[r1-GigabitEthernet0/0/0]ospf timer dead 20  ---修改死亡时间

DBD包

功能

  • 使用未携带数据的DBD报文进行主从关系选举

  • 使用携带数据的DBD报文进行LSA摘要信息共享

  • 使用携带数据的DBD报文进行确认

  • 接口最大传输单元(MTU)

    • OSPF在exstart状态需要进行MTU数值协商,如果双方数值不同,则会影响后续OSPF工作。
    • 该参数会影响OSPF邻接关系的建立,如果参数不同,则双方停留在exstart状态。
    • 华为默认情况不开启MTU检测机制。
      • 在华为体系下,无论接口的实际MTU数值为多少,该字段数值均为0。
      • [r1-GigabitEthernet0/0/0]ospf mtu-enable ---开启OSPF对MTU的检测机制,双方均需要开启。
  • 标记位

    • I位
      • 代表此时时候在进行主从关系选举。
      • 当该标记位置为1时,则代表此时在进行主从关系选举,且该报文不会携带LSA头部信息。
    • M位
      • 代表后续是否还存在别的DBD报文。
      • 该标记位置为1,则代表此时后续还有其他DBD报文。
    • MS位
      • 当该标记位置为1,则代表此时发送该报文的接口为主设备。
      • 在主从关系选举完成之前,所有DBD报文的MS位均为1
  • DD序列号

    • 用于确保DD报文在传输过程中的有序性和可靠性。DD报文的序列号在DD报文交互过程中逐次加一。
    • 只有主设备才可以规定DD序列号内容。
      • 如果从设备发送完数据,而主设备没有发送完毕。从设备也需要回复一个空的DD报文进行确认。
      • 如果主设备发送完毕,从设备没有发送完毕。主设备需要发送空的DD报文,目的是给从设备提供DD序列号使用。
    • 隐性确认---从设备必须根据主设备发送报文中的序列号来发送自己的DD报文
  • LSA的头部

    • 本地所有LSDB中的LSA的摘要信息

LSR包

链路状态类型、链路状态ID、通告路由器表示一组,后面每多一条LSA信息,就多一组

LSA三元组,可以通过这三个参数唯一的标识一条LSA信息

LSU包

LSA个数:告知对方,我发送的LSA个数,让对方对比是否发全

LSAck包

LSAck报文的目的---显性确认机制 。(告知对方消息以收到)
LSAck报文大小计算:24 + 20*n (24:报文头部的大小 20:一个LSA头部的大小 n:LSA头部的数量)

相关推荐
Young_2022020215 分钟前
学习笔记——KMP
笔记·学习
行然梦实31 分钟前
学习日记_20241110_聚类方法(K-Means)
学习·kmeans·聚类
Hacker_Nightrain33 分钟前
网络安全CTF比赛规则
网络·安全·web安全
马船长37 分钟前
制作图片木马
学习
秀儿还能再秀1 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
WCF向光而行1 小时前
Getting accurate time estimates from your tea(从您的团队获得准确的时间估计)
笔记·学习
网络安全指导员1 小时前
恶意PDF文档分析记录
网络·安全·web安全·pdf
wang09071 小时前
工作和学习遇到的技术问题
学习
vortex52 小时前
蓝队基础之网络七层杀伤链:从识别到防御的全方位策略
安全·网络安全·蓝队
co0t2 小时前
计算机网络(11)和流量控制补充
服务器·网络·计算机网络