OSPF工作过程

1.OSPF的数据包

hello包——周期性的发现,建立以及保活邻居关系

hello时间 --- 10S
死亡时间 --- 4倍的hello时间 --- 40S
RID --- 1,全网唯一;2,格式统一---- 格式要求和IP地址一样,由32位二进制构成,使用点分十进制来表示。
1,手工配置:仅需要满足以上两点要求即可
2,自动生成:1,如果设备存在环回接口,则选择环回接口中最大的IP地址作为RID
                     2,如果没有环回接口,则将取物理接口中最大的IP地址作为RID

2,DBD包——数据库描述报文 ---- LSDB(链路状态数据库) ---- 携带的是数据库的摘要信息


3,LSR包—— 链路状态请求报文--- 基于DBD包请求未知的LSA信息。

4,LSU包——链路状态更新报文--- 真正携带LSA的数据包


5,LSACK包——链路状态确认报文--- 确认包

OSPF存在30min一次的周期更新

2.OSPF的状态机

条件匹配: 如果条件匹配成功,则将进入后面的状态,如果条件匹配失败,则只能停留在邻居关系,仅使用Hello包进行周期的保活。

主从关系选举 --- 使用末携带数据的DBD包进行主从关系选举,谁的RID大,谁为主,为主可以优先获取LSA.

这里之所以使用不携带数据的DBD包而非HELLO包进行主从关系选举,只要是为了和之前的邻居关系进行区分

   第一次发送DBD包  隐形

FULL状态--- 标志着邻接关系的建立。---- 主要为了和邻居关系进行区分,邻居关系仅能通过Hello包进行周期的保活,但是,邻接关系,可以交换 LSA信息。

总结七步:

Down状态--- 发送hello包之后进入到下一个状态

init (初始化)状态 --- 在收到hello包中包含本地的rid,则进入到下一个状态

Two-way (双向通信)状态--- 标志着邻居关系的建立

(条件匹配)---- 如果匹配成功,则进入到下一个状态。如果失败,则停留在邻居关系,仅使用hello包进行周期的保活
Exstart (预启动)状态-- 使用未携带数据的DBD包进行主从关系选举。为主的可以优先获取LSA

Exchange(准交换)状态--- 通过DBD包共享数据库目录

Loading (加载)状态 --- 基于DBD包中未知的LSA信息,通过LSR/LSU/LSACK来获取

FULL状态--- 标志着邻接关系的建立

3.OSPF的工作过程

启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包。Hello包中包含本地的RID以及本地已知邻居的RID。之居,将建立的邻居关系收集到本地的一张表中 -- 邻居表。

邻居建立完成之后,则进行条件匹配,失败则停留在邻居关系,仅使用hello包进行周期保活匹配成功,则开始建立邻接关系。首先,使用未携带数据的DBD包进行主从关心选举。之后,使用携带数据的DBD包共享数据库目录。之后,基于DBD包中末知的LSA,使用LSR/LSU/LSACK获取。将所有收集到的LSA信息放置在LSDB数据库中,生成第二张表--- 数据库表。

最后,基于收集到的LSA信息,,生成有向图及最短路径树,最终计算到达未知网段的路由信息。将这些信息记录在第三张表--- 路由表。
收敛完成完成后,依然每隔10S使用Hello包进行周期保活。每隔30Min进行一次周期更新。

结构突变
1,突然新增一个网段

2,突然断开一个网段

3.无法通信---40S死广时间

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

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

相关文章

JavaEE 初阶篇-深入了解网络原理 TCP/IP 协议

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 TCP 协议概述 1.1 TCP 协议格式 2.0 TCP 协议的特性 2.1 确认应答 2.2 超时重传 2.2.1 超时的时间如何确定? 2.3 连接管理 2.3.1 三次握手 2.3.2 四次…

【C++】priority_queues(优先级队列)和反向迭代器适配器的实现

目录 一、 priority_queue1.priority_queue的介绍2.priority_queue的使用2.1、接口使用说明2.2、优先级队列的使用样例 3.priority_queue的底层实现3.1、库里面关于priority_queue的定义3.2、仿函数1.什么是仿函数?2.仿函数样例 3.3、实现优先级队列1. 1.0版本的实现…

DGC-GNN 配置运行

算法 DGC-GNN,这是一种全局到局部的图神经网络,用于提高图像中2D关键点与场景的稀疏3D点云的匹配精度。与依赖视觉描述符的方法相比,这种方法具有较低的内存需求,更好的隐私保护,并减少了对昂贵3D模型维护的需求。DGC-…

树莓派发送指令控制FPGA板子上的流水灯程序

文章目录 前言一、树莓派简介二、整体实现步骤三、树莓派设置四、树莓派串口代码五、Verilog代码5.1 串口接收模块5.2 流水灯模块 六、quartus引脚绑定七、 运行效果总结参考 前言 ​ 本次实验的目的是通过树莓派和FPGA之间的串口通信,控制FPGA开发板上的小灯。实验…

LBSS84LT1G 130MA 50V P沟道小电流MOS管

LBSS84LT1G作为一款P沟道功率MOSFET,由于其低导通电阻和快速切换特性,在电机控制中有着广泛的应用。以下是几个典型的应用案例: 1. 直流电机驱动:在直流电机驱动电路中,LBSS84LT1G可用于控制电机的转速和方向。通过控…

WebSocket前后端建立以及使用

1、什么是WebSocket WebSocket 是一种在 Web 应用程序中实现双向通信的协议。它提供了一种持久化的连接,允许服务器主动向客户端推送数据,同时也允许客户端向服务器发送数据,实现了实时的双向通信。 这部分直接说你可能听不懂;我…

nestJs中跨库查询

app.module.ts中配置 模块的module中 注意实体类在写的时候和数据库中的表名一样 service中使用一下

【Cesium解读】Cesium中primitive/entity贴地

官方案例 Cesium Sandcastle Cesium Sandcastle 好文推荐:Cesium贴地设置_primitive贴地-CSDN博客 scene.globe.depthTestAgainstTerrain true; True if primitives such as billboards, polylines, labels, etc. should be depth-tested against the terrain…

【C++】内联函数、auto、范围for

文章目录 1.内联函数2.auto关键字2.1auto简介2.2auto的注意事项2.3auto不能推导的场景 3.基于范围的for循环(C11)4.指针空值nullptr(C11) 1.内联函数 概念: 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函…

CLIPDraw:通过语言-图像编码器探索文本到绘图合成

摘要 本工作介绍了 CLIPDraw,这是一种基于自然语言输入合成新颖绘画的算法。CLIPDraw 不需要任何训练;相反,它使用了一个预先训练好的 CLIP 语言-图像编码器作为衡量标准,以最大化给定描述与生成绘画之间的相似度。关键的是&…

使用XxlCrawler抓取全球航空公司ICAO三字码

目录 前言 一、数据源介绍 1、目标网站 2、页面渲染结构 二、XxlCrawler信息获取 1、创建XxlCrawler对象 2、定义PageVo对象 3、直接PageVO解析 4、自定义解析 总结 前言 长距离旅行或者出差,飞机一定是出行的必备方式。对于旅行达人或者出差人员而言&…

为什么使用AI 在游戏中不犯法

使用AI在游戏中本身并不违法,甚至在很多情况下,游戏公司自己也会在游戏中集成AI来提高游戏体验,例如通过AI驱动的非玩家角色(NPC)来增加游戏的互动性和挑战性。然而,使用AI是否违法取决于AI的使用方式和目的…

轻松掌握抖音自动点赞技巧,快速吸粉

在当今这个信息爆炸的时代,抖音作为短视频领域的领头羊,不仅汇聚了庞大的用户群体,也成为了品牌和个人展示自我、吸引粉丝的重要平台。如何在众多内容创作者中脱颖而出,实现高效引流获客,精准推广自己的内容&#xff0…

Context Pattern上下文模式

使用情景 全局使用的配置,数据库的连接。MVC中的跨层数据传输携带请求ID,用户信息等用户权限信息线程上下文 跨层数据共享 统一调用参数 携带多个事务需要处理的对象 携带用户信息 使用ThreadLocal

项目-坦克大战-让坦克动起来

为什么写这个项目 好玩涉及到java各个方面的技术 1,java面向对象 2,多线程 3,文件i/o操作 4,数据库巩固知识 java绘图坐标体系 坐标体系-介绍 坐标体系-像素 计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的像素是一…

drippingblues 靶机实战

信息收集: Nmap: 存活: 靶机ip:192.168.10.110 端口: 服务: 发现ftp服务可以匿名登录。且用户名是FTP。 发现一个压缩包,下载并爆破。 得到密码 072528035。发现关键字 drip。里面还有一个 secret.zip(…

GIT基础01 基础命令与分支

前言 我们知道git是开发中比较常见的版本控制工具 我们可以先提出一个场景: 老板让你去修改方案 第一次修改 打回 第二次修改 打回 第n次修改 老板让你使用第一次的版本 阁下如何应对??? 我对每个版本进行编号?? 是一种方案 但是这里也是有缺陷的 比如说在很多版本中找…

将 Vue、React、Angular、HTML 等一键打包成 macOS 和 Windows 平台客户端应用

应用简介 PPX 基于 pywebview 和 PyInstaller 框架,构建 macOS 和 Windows 平台的客户端。本应用的视图层支持 Vue、React、Angular、HTML 中的任意一种,业务层支持 Python 脚本。考虑到某些生物计算场景数据量大,数据私密,因此将…

odoo16 银行对账单导入改造

解决问题: odoo原生功能的话 是不能在系统上临时处理文件内容的,只会提示文件内容格式不对。 原始文件格式 在头部与尾部 格式问题,例如csv文件和 C53 文件,做一个前置弹框处理数据之后再导入 camt效果: csv效果: