(考研湖科大教书匠计算机网络)第四章网络层-第六节3:开放最短路径优先OSPF的基本工作原理
- 获取pdf:密码7281
- 专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航
文章目录
- 一:OSPF概述
- (1)概述
- (2)细节阐述
- A:链路状态和代价
- B:问候分组和邻居表
- C:链路状态通告LSA
- D:链路状态数据库LSDB
- E:最短路径优先SPF
- (3)五种分组类型
- 二:OSPF基本工作过程
- 三:其他问题
- (1)多点接入网络中存在的大量多播分组
- (2)区域
本节对应视频如下
- 【计算机网络微课堂(有字幕无背景音乐版)】:开放最短路径优先OSPF的基本工作原理
一:OSPF概述
(1)概述
开放最短路径优先OSPF:是为了克服RIP的缺点在1989年提出来的协议
- 开放: :是指OSPF协议不受某一家厂商控制,而是公开发表的
- 最短路径优先: 是指使用了Dijkstra所提出的最短路径算法SPF
具体特点如下
- OSPF是基于链路状态的,而不像RIP那样是基于距离向量的-
- OSPF采用SPF算法计算路由,从算法.上保证了不会产生路由环路
- OSPF不限制网络规模,更新效率高,收敛速度快
(2)细节阐述
A:链路状态和代价
链路状态是指本路由器都和哪些路由器相邻,以及相应链路的“代价”(cost)
- "代价”用来表示费用、距离、时延、带宽,等等。这些都由网络管理人员来决定
例如下图,思科路由器中OSPF计算代价的方法是:用100Mbps除以链路带宽
- 如果计算结果小于1则仍然记为1
- 如果计算结果大于1则舍去小数,只保留整数部分

B:问候分组和邻居表
OSPF相邻路由器之间通过交互问候(Hello) 分组,建立和维护邻居关系。因此,每个路由器都会建立一张邻居表。问候分组需要封装在IP数据报中发送,发往组播地址224.0.0.5
-
IP数据报中协议号字段取值应该为89,表明IP数据报的数据载荷为OSPF分组

-
问候分组的发送周期为10s,若40s还未收到来自邻居路由器的Hello分组,则认为该邻居分组不可达
例如下图
- R2是R1的一个邻居路由器,于是在R1的邻居表中“邻居ID”就记为R2,“接口”记为1,“死亡倒计时”目前还剩36s,若在“死亡倒计时”到达0之前再次收到了R2的问候分组,则重新启动针对该邻居条目的40s“死亡倒计时”;否则,当“死亡倒计时 ”为0时判定该R2不可达
- R4是R1的一个邻居路由器,于是在R1的邻居表中“邻居ID”就记为R4,“接口”记为0,“死亡倒计时”目前还剩18s,若在“死亡倒计时”到达0之前再次收到了R4的问候分组,则重新启动针对该邻居条目的40s“死亡倒计时”;否则,当“死亡倒计时 ”为0时判定该R4不可达

C:链路状态通告LSA
使用OSPF的每个路由器都会产生链路状态通告LSA。LSA中包含以下内容
- 直连网络的链路状态信息
- 邻居路由器的链路状态信息
例如下图,N1是路由器R4的直连网络,则R4的LSA应包含R4与该直连网络的链路状态信息,还应该包含其邻居路由器R1的链路状态信息和邻居路由器R3的链路状态信息

LSA被封装在链路状态更新分组LSU中,采用洪泛法发送。收到LSU的路由器,将从自己其他所有接口转发该分组,也就是进行洪泛转发
例如下图

D:链路状态数据库LSDB
使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA。通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终将达到一致
例如下图,R2的LSDB中记录有各路由器的LSA

E:最短路径优先SPF
使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表
例如下图的网络拓扑,各链路旁的数字表示代价,通过各路由器洪泛法发送封装有自己LSA的LSU:各路由器最终会得到相同的LSDB,由LSDB可以得出带权有向图,对该图进行基于Dijkstra的最短路径优先算法就可以得出以路由器为根的最短路径

(3)五种分组类型
OSPF的五种分组类型:
- 问候(Hello) 分组: 用来发现和维护邻居路由器的可达性
- 数据库描述(Database Description)分组: 向邻居路由器给出自己的链路状态数据库中的所有链路状态项目的摘要信息
- 链路状态请求(Link State Request)分组: 向邻居路由器请求发送某些链路状态项目的详细信息
- 链路状态更新(Link State Update)分组: 使用这种分组将其链路状态进行洪泛发送,即用洪泛法对全网更新链路状态
- 链路状态确认(Link State Acknowledgment)分组: 是对链路状态更新分组的确认分组
二:OSPF基本工作过程
如下图,相邻路由器之间周期性发送问候分组,以便建立和维护邻居关系建立邻居关系后,给邻居路由器发送数据库描述分组,也就是将自己的链路状态数据库中的所有链路状态项目的摘要信息发送给邻居路由器。例如
- R1收到R2的数据库描述分组后,发现自己缺少其中的某些链路状态项目,于是就给R2发送链路状态请求分组
- R2收到后,将R1所缺少的链路状态项目的详细信息封装在链路状态更新分组中发送给R1
- R1收到后,将这些所缺少的链路状态项目的详细信息添加到自己的链路状态数据库中,并给R2发送链路状态确认分组
- 最终,R1和R2的链路状态数据库将达到一致,也就是链路状态数据库达到同步
每30min或链路状态发生变化时,路由器都会发送链路状态更新分组,收到该分组的其他路由器将洪泛转发该分组,并给该路由器返回链路状态确认分组。这称之为新情况下链路状态数据库同步

三:其他问题
(1)多点接入网络中存在的大量多播分组
当OSPF路由器在多点接入网络中建立邻居关系时,如果不采用其他机制,将会产生大量的多播分组
例如下图,5台路由器连接在同一个多点接入网络中,它们周期性地发送问候分组以建立和维护邻居关系。这些路由器中的任意两个路由器都互为邻居关系,邻居关系的数量为n(n−1)2\frac{n(n-1)}{2}2n(n−1),其中nnn为路由器数量,这样每个路由器要向其他n−1n-1n−1个路由器发送问候分组和链路状态更新分组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-
为了减少所发送分组的数量,OSPF采用选举指定路由器DR和备用指定路由器BDR的方法,所有的非DR/BDR都只与DR/BDR建立邻居关系,非DR/BDR之间必须通过DR/BDR交换信息。若DR出现问题则由BDR顶替,
例如下图,假设已经选举好了DR和BDR,由于所有的非DR/BDR都只与DR/BDR建立邻居关系,因此之前的邻居关系数量降低为2(n−2)+12(n-2)+12(n−2)+1

(2)区域
为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统再划分为若干个更小的范围,叫做区域(Area)。划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,这样就减少了整个网络上的通信量
例如下图是一个规模很大的网络,将其划分为一个自治系统。在该自治系统内,所有路由器都使用OSPF协议

OSPF将该自治系统再划分为4个更小的区域,每个区域都有一个32比特区域标识符,可以用点分十进制表示。例如主干区域标识符必须为0,也即0.0.0.0,主干区域用于连通其他区域,其他区域标识符不能为0且互补相同。每个区域的规模不应该太大,一般所包含的路由器不应超过200个

如果路由器的所有接口都在同一个区域内,则该路由器称其为区域内路由器。为了本区域可以和自治系统内的其他区域连通,每个区域会设置一个区域边界路由器(R3,R4,R7),其一个接口用于连接自身所在区域,另一个接口用于连接主干区域。主干区域内的路由器称之为主干路由器

相关文章:
(考研湖科大教书匠计算机网络)第四章网络层-第六节3:开放最短路径优先OSPF的基本工作原理
获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:OSPF概述(1)概述(2)细节阐述A:链路状态和代价B:问候分组和邻居表Cÿ…...
积水在线监测仪——积水点、易涝点水位监测设备
一、设备概述 积水在线监测仪是一款用于城市积水点、易涝点等场景的水位监测设备,设备采用电池供电,无需另外供电,安装方便,使用简单。可以时监测水点、易涝点水位情况,当水位数据超过阈值后触发告警上传,…...
DCMM认证机构
一、什么是DCMM DCMM认证,又称为数据管理能力成熟度评估,依据 都是GB/T -《数据管理能力成熟度评估模型》,这是我国首个数据管理领域的国家标准,由国家质量监督检验检疫总局、国家标准化管理委员会于年3月15日正式发布。DCMM认证…...
Golang基于文件魔数判断文件类型
本文介绍基于魔数判断文件类型,涉及文件查找读取内容、文件魔数、字节比较,最后还介绍函数参数的知识。 查找位置 File.Seek()函数可以设置偏移位置,为下一次读或写确定偏移量,具体起点有whence确定:0标识相对文件开始…...
MySQL——索引视图练习题
学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…...
哈希表题目:矩阵置零
文章目录题目标题和出处难度题目描述要求示例数据范围进阶解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析解法三思路和算法代码复杂度分析题目 标题和出处 标题:矩阵置零 出处:73. 矩阵置零 难度 3 级 题目描述 要求 给定一个 m…...
HTTP API自动化测试从手工到平台的演变
不管是 Web 系统,还是移动 APP,前后端逻辑的分离设计已经是常态化,相互之间通过 API 调用进行数据交互。在基于 API 约定的开发模式下,如何加速请求 / 响应的 API 测试,让研发人员及早参与到调试中来呢?既然…...
【从零开始学C语言】知识总结一:C语言的基本知识汇总
C语言期末知识点总结 C语言期末试题(附答案)选择题编程题 2022C语言知识点大全【详细、必备】 C语言期末大作业-学生成绩管理系统(完整源码设计报告) C语言期末作业(15个)-货物管理系统、歌曲信息管理系…...
CAD二次开发 添加按钮Ribbon
这篇文章是教大家怎样子创建自己的Ribbon按钮界面(如下图),以下示例代码在CAD2020中运行实现。 背景 创建一个属于自己的Ribbon按钮(如下图) 理解Ribbon、Panel、Tab的关系(如下图)ÿ…...
[RK3568 Android12] 添加自定义启动脚本
1:定义添加的脚本 比如为displayn2k.sh #!/system/bin/sh log "displayn2k.sh begin running" sleep 5 log "displayn2k.sh sleep 8" sleep 5 log "================sleep finished==========================" #remount /system/bin/mount -o …...
API 体系构建
前言 API 是模块或者子系统之间交互的接口定义。好的系统架构离不开好的 API 设计,而一个设计不够完善的 API 则注定会导致系统的后续发展和维护非常困难。在关键环节制定明确的 API 规范有助于 Service 对内提高产品间互通的效率,对外提供一致的使用体…...
RMPE: Regional Multi-Person Pose Estimation (AlphaPose)阅读笔记
区域多人姿态估计 ICCV 2017 论文链接 代码链接 摘要: 野外多人姿态估计具有挑战性。sota人体检测器不可避免存在定位和识别误差,这些误差可能导致依赖人体检测器的单人姿态估计器(SPPE)的失败。本文提出了一种新的区域多人姿态估…...
2月16日昆明面试经历部分考题
2月16日昆明面试部分考题 1.说说em和rem的区别?rpx呢? rem是相对于根元素(HTML)进行计算,而em是相对于当前元素或父元素的字体大小,如果当前文本的字体尺寸没有设置,则相对于浏览器的默认字体…...
ARC140D One to One
ARC140D One to One 题目大意 对于一个长度为nnn的整数序列X(x1,x2,…xn)X(x_1,x_2,\dots x_n)X(x1,x2,…xn),每个元素都在111到nnn之间,令f(X)f(X)f(X)表示以下问题的答案: 有一个nnn个顶点nnn条边的无向图(可能有重边和…...
联合身份验证与Cognito
Hello大家好,我们接下来讨论AWS联合身份验证的内容。 AWS联合身份验证 对于考试,联合身份验证部分是一块非常重要的内容。那什么是联合身份验证,它是做什么用的呢? 联合身份验证,是用来允许AWS外部用户,如…...
day18_常用API之String类丶Object类
String概述 java.lang.String 类代表字符串,String类定义的变量可以用于指向字符串对象,同时String类提供了很多操作字符串的功能,我们可以直接使用。Java 程序中的所有字符串文字(例如“abc”)都为此类的对象 特点:St…...
OSG三维渲染引擎编程学习之五十五:“第五章:OSG场景渲染” 之 “5.13 一维纹理”
目录 第五章 OSG场景渲染 5.13 一维纹理 5.13.1 一维纹理介绍 5.13.2 一维纹理示例 第五章 OSG场景渲染 OSG存在场景树和渲染树,“场景数”的构建在第三章“OSG场景组织”已详细阐明,本章开始...
RTOS随笔之FreeRTOS启动与同步方法
RTOS启动与同步机制RTOS启动任务切换场景任务同步机制队列信号量事件组任务通知任务延时RTOS启动 FreeRTOS在任务创建完成后调用函数vTaskStartScheduler()启动任务调度器。 vTaskStartScheduler()任务启动函数详解 void vTaskStartScheduler( void ) {BaseType_t xReturn;xR…...
【AI/NLP】InstructGPT数据标注问题
文章目录1 背景介绍2 标记员筛选2.1 标记员筛选标准3 数据集及其标注3.1 预训练3.2 微调3.2.1 SFT-demonstration data3.2.2 RM-comparison data3.3 数据集大小4 模型实现1 背景介绍 ChatGPT的训练过程与InstructGPT相近,大致分为三步: SFT:…...
三次握手和四次挥手
文章目录TCP三次握手为什么要三次握手三次握手可以携带数据吗?三次握手失败,服务端会如何处理?ISN代表什么,意义,何要动态随机什么是半连接队列第2次握手传回了ACK,为什么还要传回SYN?为什么要四次挥手TCP…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...
