「科普向」OSPF路由协议详解(ospf是一种什么路由选择协议)
cac55 2024-10-26 08:15 20 浏览 0 评论
OSPF路由协议是一种开放式最短路径优先协议,它更是一种链路状态路由协议。而所谓的链路状态,主要是指链路状态信息,包含接口IP地址、网络类型、接口对象、对端IP地址、接口的开销等等。
我们的OSPF路由协议就可以根据这些链路状态信息和SPF算法计算出全网的拓扑,简单来说就是OSPF可以以此获得一张全网地图,最后路由器就可以根据这张全网地图来转发我们的数据报文。
这篇文章就是一个关于OSPF的总结和概括,关于OSPF,我主要是用了1~7个数字来概括它的绝大多数内容,是的,绝大多数,不是所有,因为目前该文章内容只是涉及到IA内容。
一、一种协议
“1”就是指我们的一种协议,OSPF协议。除此之外,“1”还包括OSPF学习过程中涉及到一些名词概念。比如,LSA,LSDB和Router ID。
LSA,就是我们在上面提到的链路状态信息,全英文是Link State Advertisement,这里不再重复赘述。
LSDB,Link State DataBase,即链路状态数据库,是运行OSPF协议的每台路由器都会有的,主要作用就是存储自己和其它路由器的LSA。
Router ID,这是路由器的标识符,作用就是用来唯一标识一台路由器,它的产生有几种方式,并且优先级不同,首先是经由我们网络管理员手工配置,若没有手动配置的Router ID,选取Loopback接口上最大的IP地址作为Router ID,若连Loopback接口都没有配置,则选择已经配置IP地址的接口上数值最大的IP地址作为Router ID。值得注意的是,Router ID是一个32bit的无符号整数,所以不一定是路由器上的接口IP地址,只要它的范围是从0.0.0.0~255.255.255.255就可以了,之所以我们经常将Router ID和接口IP地址联系在一起,则是因为它独特的选举机制。
二、两层结构
“2”主要是指OSPF的分层结构,可以说是OSPF将网络分成了骨干区域和非骨干区域。非骨干区域必须和骨干区域相连,非骨干区域之间不可以连接,这是为了防止环路的产生。
虽然在以后的进阶学习中,会有一个叫虚连接的方法来解决非骨干区域没有和骨干区域连接在一起的问题。但IA阶段中,非骨干区域和骨干区域直接相连是毫无问题的。
三、三张表/三种身份
“3”主要是指三张表和三种身份。
1、三张表
三张表包括OSPF邻居表、OSPF拓扑表和OSPF路由表。
OSPF邻居表就是用来记录路由器邻居关系的表,包括邻居的相关描述和状态,也就是说可以用邻居表来显示该路由器与哪些设备建立邻居或邻接关系,我们可以用display OSPF peer来查看这张表。
OSPF拓扑表也被叫做LSDB表,这张表存储了当前区域的所有链路状态信息,用来计算OSPF的最优路由。
OSPF路由表记录根据LSDB的链路状态信息和SPF算法计算出来的最优路由,这些路由将有可能作为最优加入该表。
这里需要注意,OSPF路由表不是我们的全局路由表,我们使用display ip router-table查看的就是路由器的全局路由表,它保存的是根据所有途径学习到的最优路由,而OSPF路由表存储的是根据OSPF协议计算到最优路由。
2、三种身份
三种身份则是指运行了OSPF协议路由器的身份,主要是DR,BDR和DRother。
首先明确OSPF需要为路由器划分身份的背景。假设没有对运行OSPF协议的路由器进行任何的配置,那么整个网络中,所有运行OSPF协议的路由器两两之间都会建立起邻居和邻接关系,它们之间都会互相发送和学习报文,那么可能就会造成一种重复学习的现象,类似于教室中,学生A把他的笔记给了学生B和学生C进行抄录,然后学生B又将他的笔记给了学生A和学生C抄录,在这个过程中,学生B的笔记是已经包括了学生A的,那么学生A和学生C就会不得不再次抄录一遍最开始学生A的笔记,这就是重复学习。
然后为了防止路由器之间重复学习造成的资源浪费问题,OSPF就给路由器划定了角色,也就是DR,BDR和DRother,这三种角色类似于组长,副组长和组员的关系,其中DR是组长,BDR是副组长,DRother则是组员,之后当组员需要交换笔记的时候,就只会把笔记提交给组长和副组长,然后由他们把笔记分发给各个组员,而组员之间不能够互相交换笔记。这就是我们DR和BDR的作用,也就是之后OSPF网络中,DRother的路由器只会把LSA信息提交给DR和BDR,然后由他们进行分发,而DRother之间不会传递LSA信息。
其中DR和BDR的选举首先是根据接口的优先级来选的,不过路由器接口的优先级一般默认都是1,所以接下来就会根据Router ID来进行选举,Router ID大的优选,需要注意的是,接口优先级的取值范围是0-255,为0时,表示当前路由器不参加选举。而且,当选举已经结束,再加入新的设备,即便新设备的优先级更高,也不会重新选举DR和BDR,DR不故障,就不会选举DR,DR故障后,只会是BDR成为DR,再竞选新的BDR。
四、四种网络类型/四种路由器类型
“4”主要包括四种网络类型和四种路由器类型。
1、四种网络类型
四种网络类型,分别是Broadcast,NBMA,P2MP和P2P。
这四种网络类型主要影响OSPF在接口上的操作,例如采用什么方式来发送OSPF协议报文,以及是否需要选举DR和BDR。
首先是Broadcast,广播多点可达,当链路层协议是Ethernet时,OSPF默认的网络类型就是这个,这个时候需要选举DR和BDR。
接着是NBMA,非广播多点可达,该网络类似是取消了广播报文的广播多点可达类型,当链路层协议是帧中继类型,OSPF默认的网络类型就是此项,这个时候也是需要选举DR和BDR。
第三个是P2MP,点到多点网络,该网络类型必须由其它网络类型更改的,一般是由NBMA网络类型更改过来的,不需要选举DR和BDR,这是为了加快OSPF网络中邻居的建立速度。
第四个就是P2P,点到点网络,当链路层协议是PPP时,OSPF默认的网络类型就是这个,这个时候不需要选举DR和BDR。
2、四种网络类型
接着是四种路由器类型,这是根据OSPF网络的分层结构进行划分的。
首先是区域内路由器,IR,路由器所有接口都是在同一区域中的路由器。
接着是区域边界路由器,ABR,是连接骨干区域和非骨干区域的路由器。
然后是自治系统边界路由器,ASBR,是与其它自治系统交换路由信息的路由器。
最后是骨干路由器,BR,有接口在骨干区域中的路由器。
五、五种报文
“5”即五种报文:Hello报文,DD报文,LSR报文,LSU报文和LSAck报文。
Hello报文,它的作用就是发现、建立和维护邻居关系。
DD报文,全英文是Database Description,就是描述链路状态信息,用于选举主从以及携带LSA的摘要信息。
LSR报文,Link State Request,链路状态请求报文,根据对方发送过来的DD报文的摘要信息,请求获取自己没有的LSA信息。
LSU报文,Link State Update,链路状态更新报文,根据对方发送过来的请求,向对方发送相应的LSA信息,此时LSA信息是完整的。
LSAck报文,链路状态确认报文,回复对方自己收到了LSA信息,如果对方长时间没有收到LSAck报文,对方就会重新发送LSU报文。
六、六种LSA
“6”即六种LSA信息。正如我开篇所说,该文章是对IA阶段内容的概括,而这六种LSA是更高阶的内容,所以这里为了文章的完整性,只是稍微提及一下,不会作详细的赘述。
七、七种状态
“7”指七种状态,即运行OSPF的路由器之间建立邻居和邻接的过程中,路由器所需要经历的状态变化过程。
严格来说,路由器的状态应该是8种,不过多的这一种只会出现在NBMA网络中,应用极少,且该状态的作用和当中其它的某种状态也是相同的,所以我最后只是用了7种状态而不是8种状态,不过我会在文章的最后对此状态作补充。
首先是第一种状态,Down状态,即关闭状态,这也是路由器的第一个稳定状态,即不会随便发现变化的状态,该状态表示当前接口没有收到任何的Hello报文。
然后当路由器收到其它路由器发送过来的Hello报文之后,就会进入Init状态,这是一种单方发现状态,该状态表示已经收到其它路由器发送的Hello报文,但在对方的Hello报文的邻居表中没有看到自己的Router ID,也就是对方还不知道我是邻居。
然后当两边路由器相互发送Hello报文,建立起邻居关系之后,就会进入2-way状态,这是邻居状态,也是第二个稳定状态,表示路由器建立邻居关系成功。
之后当路由器之间想要同步LSDB数据库时,路由器首先会进入ExStart状态,该状态表示路由器和它的邻居路由器开始协商主从关系,也就是协商谁先发送报文。
协商完成后,路由器就正式进入Exchange状态,该状态表示路由器的主从关系已经确认,开始正式交换DD报文,此时的DD报文主要包含路由器的LSDB的摘要信息。
然后就会进入Loading状态,该状态中,路由器会比较DD报文和自己的LSDB信息,如果DD报文中存在LSDB不具有的LSA信息,则向邻居发送LSU报文请求该LSA的完整信息。
之后当LSA信息交换完毕,也就是LSDB同步结束,路由器就会进入最后一个状态——Full状态,即邻接状态,也是第三个和最后一个稳定状态,该状态就是表示路由器的LSDB同步已经完成。
之后,建立起关系的路由器之间就只会周期性发送Hello报文来维护彼此之间的关系。
这就是运行OSPF协议的路由器之间建立起邻居或邻接关系所需要经历的七种状态。
然后是只会出现在NBMA网络中的第8种状态,Attempt状态,该状态和Init状态类似,当路由器发现了Hello报文,但还没有收到对方回应的报文的时候,路由器就会处于这种状态。
相关推荐
- Mac电脑强制删除任何软件方法-含自启动应用
-
对于打工者来说,进入企业上班使用的电脑大概率是会被监控起来,比如各种流行的数据防泄漏DLP,奇安信天擎,甚至360安全卫士,这些安全软件你想卸载是非常困难的,甚至卸载后它自己又安装回来了,并且还在你不...
- Linux基础知识 | 文件与目录大全讲解
-
1.linux文件权限与目录配置1.文件属性Linux一般将文件可存取的身份分为三个类别,分别是owner/group/others,且三种身份各read/write/execute等权限文...
- 文件保护不妥协:2025 年 10 款顶级加密工具推荐
-
数据安全无小事,2025年这10款加密工具凭借独特功能脱颖而出,从个人到企业场景全覆盖,第一款为Ping32,其余为国外英文软件。1.Ping32企业级加密核心工具,支持200+文件格...
- 省心省力 一个软件搞定系统维护_省心安装在哪里能找到
-
◆系统类似于我们居住的房间,需要经常打理才能保持清洁、高效。虽然它本身也自带一些清理和优化的工具,但借助于好用的第三方工具来执行这方面的任务,会更让人省心省力。下面笔者就为大家介绍一款集多项功能于一身...
- JAVA程序员常用的几个工具类_java程序员一般用什么软件写程序
-
好的工具做起事来常常事半功倍,下面介绍几个开发中常用到的工具类,收藏一下,也许后面真的会用到。字符串处理:org.apache.commons.lang.StringUtilsisBlank(Char...
- 手工解决Windows10的若干难题_windows10系统卡顿怎么解决
-
【电脑报在线】很多朋友已经开始使用Win10,估计还只是测试版本的原因,使用过程中难免会出现一些问题,这里介绍解决一些解决难题的技巧。技巧1:让ProjectSpartan“重归正途”从10074...
- System32文件夹千万不能删除,看完这篇你就知道为什么了
-
C:\Windows\System32目录是Windows操作系统的关键部分,重要的系统文件存储在该目录中。网上的一些恶作剧者可能会告诉你删除它,但你不应该尝试去操作,如果你尝试的话,我们会告诉你会发...
- Windows.old 文件夹:系统备份的解析与安全删除指南
-
Windows.old是Windows系统升级(如Win10升Win11)或重装时,系统自动在C盘创建的备份文件夹,其核心作用是保留旧系统的文件、程序与配置,为“回退旧系统”提供保...
- 遇到疑难杂症?Windows 10回收站问题巧解决
-
回收站是Windows10的一个重要组件。然而,我们在使用过程中,可能会遇到一些问题。例如,不论回收站里有没有文件,都显示同一个图标,让人无法判别回收站的空和满的真实情况;没有了像Windows7...
- 卸载软件怎么彻底删掉?简单几个步骤彻底卸载,电脑小白看过来
-
日常工作学习生活中,我们需要在安装一些软件程序,但随着软件的更新迭代速度,很多时候我们需要重新下载安装新的程序,这时就需要将旧的一些软件程序进行卸载。但是卸载软件虽然很简单,但是很多小伙伴们表示卸载不...
- 用不上就删!如何完全卸载OneDrive?
-
作为Windows10自带的云盘,OneDrive为资料的自动备份和同步提供了方便。然而,从隐私或其他方面考虑,有些人不愿意使用OneDrive。但Windows10本身不提供直接卸载OneDri...
- 【Linux知识】Linux下快速删除大量文件/文件夹方法
-
在Linux下,如果需要快速删除大量文件或文件夹,可以使用如下方法:使用rm命令删除文件:可以使用rm命令删除文件,例如:rm-rf/path/to/directory/*这个命令会递...
- 清理系统不用第三方工具_清理系统垃圾用什么软件
-
清理优化系统一定要借助于优化工具吗?其实,手动优化系统也没有那么神秘,掌握了方法和技巧,系统清理也是一件简单和随心的事。一方面要为每一个可能产生累赘的文件找到清理的方法,另一方面要寻找能够提高工作效率...
- 系统小技巧:软件卸载不了?这里办法多
-
在正常情况下,我们都是通过软件程序组中的卸载图标,或利用控制面板中的“程序和功能”模块来卸载软件的。但有时,我们也会发现利用卸载图标无法卸载软件或者卸载图标干脆丢失找不到了,甚至控制面板中卸载软件的功...
- 麒麟系统无法删除文件夹_麒麟系统删除文件权限不够
-
删除文件夹方法例:sudorm-rf文件夹名称。删除文件方法例:sudorm-r文件名包括扩展名。如果没有权限,给文件夹加一下权限再删。加最高权限chmod775文件名加可执行权限...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)