OSPF数据报文格式

OSPF协议是跨层封装的协议,跨四层封装,直接将应用层的数据封装在网络层协议后面,IP协议包中协议号字段对应的数值为——89

OSPF的头部信息:

        ——所有数据包公有的信息

版本:OSPF版本

在IPV4中一般使用OSPFV2,所以,版本号一般为2

类型:OSPF数据包类型

        Hello —— 1

        DBD —— 2

        LSR —— 3

        LSU —— 4

        LSACK —— 5

路由器ID : 发送该数据包者的RID

区域ID:数据包被发出的区域

校验和:校验数据完整性

验证类型:OSPF认证类型

        null(不认证)—— 0

        simple(明文认证)—— 1

        MD5(通过比对摘要值的方式进行认证)—— 2

认证数据:具体的认证数据(如果验证类型为null,则为空)

注意:OSPF在进行认证时,需要比对两部分数据:认证类型,认证数据

hello包:

——周期发现,建立和保活邻居关系,包括DR/BDR选举

网络掩码:接口激活后开始发送hello报文,这个接口配置的ip地址的掩码信息

华为设备要求,邻居之间hello包中携带的子网掩码必须相同,不同则无法建立邻居关系(只针对以太网接口进行检测,对点到点网络不做限制)

hello时间和死亡时间:邻居之间所携带的hello时间和死亡时间必须相同,不同则无法建立邻居关系

8位的可选项:每一个比特都表示路由器所携带的某种OSPF特性

——8位特殊标记中包含OSPF特殊区域的标记 ,这个特殊区域的标记在邻居建立中也需要检测,如果不同,则无法建立邻居关系

路由器的优先级:发出接口DR/BDR选举时的优先级

指定路由器和备份指定路由器:在DR/BDR选举完成后,将会把DR/BDR的IP信息携带在该字段。在 DR/BDR未选出之前,将以0.0.0.0来填充

邻居:本地已知的邻居ID(这是建立邻居关系的重要条件)

hello包中限制邻居关系建立的条件:

1、网络掩码(只针对以太网接口)

2、hello时间

3、dead time

4、ospf特殊区域标记

5、认证

DBD包

—— 数据库描述报文

注意:主从关系选举的作用:

        1、为主可以优先进行LSA信息的交换;

        2、为主的可以主导DBD包的隐性确认

接口最大传输单元(MTU):默认为0——华为设备默认未开启MTU值检测功能

注意:如果邻居的该字段不一致,则会停留在exstart状态

I (init)—— 该位为一,则代表该DBD是在进行主从关系选举的数据包

M (more) —— 该位为一,则代表后续还有更多的数据包,该位为0,则代表这个DBD包是最后一个DBD包

MS (master)——该位为一,则代表发送DBD包设备为主

在主从关系未选举出时,邻居双方都会将自己的MS位为1,认为自己是主,选举完成后,只有主置1

DBD的序列号 —— 在DBD报文交互过程中,会逐次加一,用于确保BDB报文传输的有序性和可靠性

隐性确认:DBD包的确认机制是通过序列号实现

         —— 隐性确认:为主的设备发送一个DBD包,其中包含一个序列号,”从“收到这个数据包后将使用相同的序列号回复DBD包,起到确认的作用

显性确认:通过LSACK数据包实现确认

LSA 头部信息 —— 不是完整的LSA信息,是LSA信息的摘要

LSR包

—— 链路状态请求报文(基于DBD包中的摘要信息,和本地的LSDB进行比对,之后要求未知的LSA信息)

链路状态类型,链路状态ID,通告路由器

——LSA的三元组(可唯一标识一条LSA)

LSU

——链路状态更新报文(携带LSA信息的数据包)

LSACK

——链路状态确认报文

 通过LSA头部内容进行确认

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置启动nacos,保姆级教程

下载nacos 下载链接 https://github.com/alibaba/nacos/releases进去下拉,找到下载版本信息。 下载后如图所示。 配置数据库 在我们的conf文件夹中有一个nacos-mysql的数据库文件 我们需要导入数据库,可通过工具Navicat等进行导入。 会有一下几张表…

计算机进制

进制 进制也就是进位制,是人们规定的一种进位方法对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进…

WebGPU vs. 像素流

在构建 Bzar 之前,我们讨论过我们的技术栈是基于在云上渲染内容的像素流,还是基于使用设备自身计算能力的本地渲染技术。 由于这种选择会极大地影响项目的成本、可扩展性和用户体验,因此在开始编写一行代码之前,从一开始就采取正确…

在B站看课的进度助手

效果 代码 BilibiliVideoDurationCrawler import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; import java.text.ParseException; import java.util.ArrayList; imp…

KVM+GFS分布式存储系统构建KVM高可用

概述 本章利用KVM 及 GlusterFS 技术,结合起来从而实现 KVM 高可用。利用 GlusterFS 分布式复制卷,对 KVM 虚拟机文件进行分布存储和冗余。分布式复制卷主要用于需要冗余的情况下把一个文件存放在两个或两个以上的节点,当其中一个节点数据丢失…

雪花飘,购物抛物线,进度条等四个案列,带入走进 CSS transition

前言 今天从四个案例,我们一起走进 CSS Transition。 源码 以及 在线演示地址 源码地址: 四个案例, CSS Transition 源码 在线演示地址:(兼容移动端) 贝塞尔曲线运动进度条雪花飘飘效果购物车抛物线效果 案例演示 内置贝塞…

windows server 2019 -DNS服务器搭建

前面是有关DNS的相关理论知识,懂了的可以直接跳到第五点。 说明一下:作为服务器ip最好固定下来,以DNS服务器为例子,如果客户机的填写DNS信息的之后,服务器的ip如果变动了的话,客户机都得跟着改&#xff0c…

深入浅出Redis(九):Redis的发布订阅模式

引言 Redis是一款基于内存的键值对数据库,提供了多种数据结构存储数据,存取数据的速度还非常快,除了这些优点它还提供了其他特色功能,比如:管道、lua脚本、发布订阅模型 本篇文章主要描述发布订阅模型,将…

linux基础篇:Linux中磁盘的管理(分区、格式化、挂载)

Linux中磁盘的管理(分区、格式化、挂载) 一、认识磁盘 1.1 什么是磁盘 磁盘是一种计算机的外部存储器设备,由一个或多个覆盖有磁性材料的铝制或玻璃制的碟片组成,用来存储用户的信息,这种信息可以反复地被读取和改写…

Leetcode算法训练日记 | day22

一、二叉搜索树的最近公共祖先 1.题目 Leetcode:第 235 题 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足…

Python 发送邮件 (含代码)

通过Python代码来发送邮件。下面是步骤 先在某一个邮箱页面 开启 POP3/SMTP服务 获取授权码,这样免密码登录 授权码会用在代码里 获得 SMTP 服务器地址 代码 import smtplib from email.mime.text import MIMEText from email.utils import formataddr ms…

一例简单的文件夹病毒的分析

概述 这是一个典型的文件夹病毒,使用xp时代的文件夹图标,通过可移动存储介质传播,会向http://fionades.com/ABIUS/setup.exe下载恶意载荷执行。 其病毒母体只是一个加载器,会在内存是解密加载一个反射型的dll,主要的…

OOM三大场景和解决方案

目录 首先,说说什么是OOM? Java OOM的三大核心场景 场景一、堆内存OOM 类型一:在线OOM分析,这个属于轻量级的分析: 类型二:离线OOM分析,这个属于轻量级的分析: 场景二&#xf…

Ant Design Vue

Ant Design Vue是一个由阿里巴巴团队打造的Vue组件库,它以其优雅的设计和丰富的功能集成而被广泛使用。以下是对Ant Design Vue的简单介绍: 首先,Ant Design Vue采用了精良的设计风格,为用户提供了简约、美观的界面,符…

类和对象—初阶

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 4.1 访问限定符 【面试题】 4.2 封装 【面试题】 5.类的作用域 6.类的实例化 7.类对象模型 7.1 如何计算类对象的大小 7.2 类对象的存储方式 7.3 结构体内存对齐规则 【面试题】…

LMDoply部署实战

使用LMDeoply部署各类开源大模型,进行推理实践。 一. 环境准备 1. 创建Conda环境 studio-conda -t lmdeploy -o pytorch-2.1.2 2. 安装LMDeploy 激活刚刚创建的虚拟环境。 conda activate lmdeploy 安装0.3.0版本的lmdeploy。 pip install lmdeploy[all]0.3.…

Chrome谷歌下载入口

​hello,我是小索奇 发现好多人说谷歌浏览器在哪里下载呀,哪里可以找到? 你可能会心想,一个浏览器你还不会下载啊? 还真是,有很多伙伴找不到下载入口,为什么呢? Bing进行搜索&am…

4.进程相关 2

8.内存映射 8.1 内存映射相关定义 创建一个文件,将保存在磁盘中的文件映射到内存中,后期两个进程之间对内存中的数据进行操作,大大减少了访问磁盘的时间,也是一种最快的 IPC ,因为进程之间可以直接对内存进行存取 8.…

面试经典算法系列之双指针1 -- 合并两个有序数组

面试经典算法题1 – 合并两个有序数组 LeetCode.88 公众号:阿Q技术站 问题描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#…

【讲解下Fiddler的安装和使用】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…