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头部的数量)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/548668.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++从入门到精通——类的6个默认成员函数之赋值运算符重载

赋值运算符重载 前言一、运算符重载定义实例注意要点 二、赋值运算符重载赋值运算符重载格式赋值运算符重载要点重载要点传值返回和传址返回要点 三、前置和后置重载 前言 类的6个默认成员函数:如果一个类中什么成员都没有,简称为空类。 空类中真的什么…

xcode c++项目设置运行时参数

在 Xcode 项目中,你可以通过配置 scheme 来指定在运行时传递的参数。以下是在 Xcode 中设置运行时参数的步骤: 打开 Xcode,并打开你的项目。在 Xcode 菜单栏中,选择 "Product" -> "Scheme" -> "E…

利驰软件亮相第二届全国先进技术成果转化大会

4月8日,第二届全国先进技术成果转化大会在苏开幕。省长许昆林出席大会开幕式并致辞。国家国防科工局局长张克俭,省委常委、苏州市委书记刘小涛分别致辞。 本次转化大会由江苏省国防科学技术工业办公室、苏州市人民政府、先进技术成果长三角转化中心主办…

无人棋牌室软硬件方案

先决思考 软件这一套确实是做一套下来,可以无限复制卖出,这个雀氏是一本万利的买卖。 现在肯定是有成套的方案,值不值得重做?为什么要重做? 你想达到什么效果?还是需要细聊的。 做这个东西难度不高&…

自动发版工具以及本地debug

# 定义变量 $jarFile "xxx.jar" $server "ip" $username "user" $password "password" $remoteHost "${username}${server}" $remoteFolderPath "path" $gitDir "$PSScriptRoot\..\.git" # 设置…

每日OJ题_BFS解决最短路①_力扣1926. 迷宫中离入口最近的出口

目录 力扣1926. 迷宫中离入口最近的出口 解析代码 力扣1926. 迷宫中离入口最近的出口 1926. 迷宫中离入口最近的出口 难度 中等 给你一个 m x n 的迷宫矩阵 maze (下标从 0 开始),矩阵中有空格子(用 . 表示)和墙&…

汽车抗疲劳驾驶测试铸铁试验底座技术要求有哪些

铸铁平台试验台底座的主要技术参数要求 1、 试验台底座设计制造符合JB/T794-1999《铸铁平板》标准。 2、 试验铁底板及所有附件的计量单位全部采用 单位(SI)标准。 3、铸铁平台平板材质:用细密的灰口铸铁HT250或HT200,强度符…

默认图表太丑!?快来看看这个好看的绘图主题吧~~

有很多小伙伴经常私信给小编,问自己绘制的图表为啥没小编绘制的精美? 听到这句话,小编老脸一红,还是比较惭愧的,因为并不是像小伙伴说的那样对每一个图表元素都进行定制化涉及操作,是借助优秀的“第三方工具…

Python 正则表达式模块使用

目录 1、匹配单个字符 2、匹配多个字符 3、匹配开头结尾 4、匹配分组 说明:在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用re模块 表达式:re.match(正则表达式, 要匹配的字符串) 有返回值说明匹配成功&#x…

vue3项目 使用 element-plus 中 el-collapse 折叠面板

最近接触拉了一个项目,使用到 element-plus 中 el-collapse 折叠面板,发现在使用中利用高官网多多少少的会出现问题。 (1.直接默认一个展开值,发现时显时不显 2 . 数据渲染问题,接口请求了,页面数据不更新 …

通过Omnet++官网tictoc教程学习在Omnet++中构建和运行仿真 Part3

TicToc Part3 增强2节点 TicToc增加图标增加 日志添加状态变量增加参数使用NED 继承模拟处理延时随机数字和参数超时、取消计时器重传同样的消息 官方文档 在官方文档中,你可以看见所有的代码 增强2节点 TicToc 增加图标 为了使模型在GUI中看起来更好看&#xff…

计算机网络—TCP协议详解:协议构成、深度解析(1)

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:マリンブルーの庭園—ずっと真夜中でいいのに。 0:34━━━━━━️💟──────── 3:34 🔄 ◀️…

vs2008使用 openmp

目录 1 在项目中找到property pages>>c/c>>language>>openmp支持 2 在环境变量中增加“OMP_NUM_THREADS”变量,数值自己根据你的CPU的性能来设置,一般2、4、8等 3 在项目中输入如下代码,并编译运行 4 结果与不使用omp的…

浅谈Java IO流

Java中的IO流(Input/Output streams)是Java程序用来处理数据输入和输出的核心工具集。IO流抽象了数据流动的概念,允许Java程序与外部世界进行数据交换,无论是从文件、网络、键盘输入还是向屏幕、文件或网络发送数据。Java IO流按照…

RAG 如何消除大模型幻觉

什么是大模型幻觉 假设我们有一个基于大型生成模型(如GPT-3)的问答系统,该系统用于回答药企内部知识库中的问题。我们向其提出一个问题:“阿司匹林的主要药理作用是什么?” 正确的答案应该是:“阿司匹林主…

Qt 的内存管理机制

目录 Qt 的内存管理机制 Qt 的对象树 利用代码查看自动释放 Qt 的内存管理机制 Qt 的对象树 Qt 中所有的控件都是被一颗多叉树管理起来的,这样就是为了方便释放资源的时候方便释放,而我们在编写代码的时候,创建对应的控件,然…

Samtec科普 | 一文入门连接器电镀的QA

【摘要/前言】 像大多数电子元件一样,无数子元件和工艺的质量直接影响到成品的质量和性能。对于PCB级连接器,这些因素包括针脚材料、塑料类型、模制塑料体的质量、尾部的共面性、表面处理(电镀)的质量、选择正确的连接器电镀、制…

【C++算法模板】数论:欧拉筛,线性查找质数的算法

文章目录 1&#xff09;传统找质数的方法&#xff08;优化筛选次数&#xff09;2&#xff09;欧拉筛 1&#xff09;传统找质数的方法&#xff08;优化筛选次数&#xff09; bool isPrime(int num) {for(int i2;i<sqrt(num)) {if(num%i0)return false;}return true; }如果要…

跑马拉松跑成骨坏死?!马拉松赛事密集,提前了解运动损伤很重要

跑步狂热者右脚疼痛未重视 日积月累右脚终于“撑”不住了 近日&#xff0c;徐大爷来院就诊说自己半年前右脚莫名出现酸痛&#xff0c;一直没当回事&#xff0c;结果1个月前跑完步疼痛加重&#xff0c;最近严重到影响日常走路&#xff0c;无奈只能找医生。在医生的详细检查和认真…

基于arduino的ESP32上蓝牙midi音乐设备开发教程

目录 简介 开发环境 开发过程 函数介绍 相关文章 简介 首先看几个视频&#xff0c;大佬们做的东西&#xff0c;都是基于esp32。 自制卡林巴电子琴&#xff0c;可通过蓝牙连接手机库乐队 MIDI Boy【理科生的第一件乐器】_哔哩哔哩_bilibili 【Totoro】模仿“埙”的电子吹…