百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

「科普向」OSPF路由协议详解(ospf是一种什么路由选择协议)

cac55 2024-10-26 08:15 21 浏览 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报文,但还没有收到对方回应的报文的时候,路由器就会处于这种状态。

相关推荐

Linux :远程访问的 16 个最佳工具(一)

通过远程桌面协议(RDP)可以访问远程Linux桌面计算机,这是Microsoft开发的专有协议。它为用户提供了一个图形界面,可以通过网络连接连接到另一台/远程计算机。FreeRDP是...

Guacamole安装部署_guacamole简单搭建

Guacamole安装部署Guacamole简介Guacamole是提供连接远程桌面的解决方案的开源项目(也可以说是一个远程桌面网关),通过浏览器就能远程操作服务器,适用于Chrome、Firefox...

1-FreeRTOS入门指南_freertos+lwip

本专栏是根据官方提供的文档进行FreeRTOS的各个功能函数的说明,以及函数的使用本专栏不涉及动手操作,只是对原理进行说明,FreeRTOS基础知识篇更新完成会对如何在开发板上进行上手实战操作。这里不...

Windows暂停远程桌面,这些工具可替代

Windows暂停远程桌面,这些工具可替代近日,Windows官方宣布将于2025年5月27日起,在Windows10和Windows11应用商店中下架“Microsoft远程桌面”应用。这一消...

现在做 Web 全景合适吗?_前端全景

作者:前端藏经阁转发链接:https://www.yuque.com/xwifrr/uxqg5v/cgclx0前言Web全景在以前带宽有限的条件下常常用来作为街景和360°全景图片可查看。它可以...

网页直连,MSTSC远程控制Windows新姿势!

不用安装软件,打开浏览器就能远程办公?今天要聊的是一种颠覆传统的远程控制玩法,直接用网页连接Windows电脑,无需下载客户端,手机、平板、Mac甚至Linux都能轻松操作。这可不是吹牛,结合MSTS...

QQ出现大面积盗号,原因已查明,请抓紧改密码

你没有看错,QQ又上了微博热搜,这次比较严重了,QQ出现大面积盗号,多个QQ群出现yellow信息,其次导致多位成员被踢出,并且还被封号处理,到底怎么回事?请继续往下看。在6月26日晚上10点左...

我在淘宝花10块钱,买到了能玩“宝可梦”的Q群机器人

十一月雨|文我是个没事喜欢逛淘宝的人,虽然是个不怎么好的习惯,但总是能够发现一些奇奇怪怪的东西,这次我发现的是一种Q群机器人。Q群机器人,大多是基于腾讯SmartQQ协议实现的一种能自动回复、自定...

Metasploit最实用的攻击模块"Meterpreter"

Meterpreter命令详解Meterpreter是Metasploit渗透测试平台框架中功能最强大的攻击载荷模块,在最新的Metasploitv4.5.0版本中,攻击载荷模块已经达到了25...

手机QQ再更新,上线了一个想让人“无法回避”的新功能

近日,手机QQ更新了V8.2.6.700版本,苹果iOS版和安卓版手机QQ上线了一个新功能:可以实时显示对方的手机电量以及充电状态。开通电量显示也很简单,长按主页左上方的头像,在在线状态中选择我的电量...

「网络安全」常见攻击篇(20)——点击劫持

什么是点击劫持?点击劫持(Clickjacking)技术又称为界面伪装攻击(UIredressattack),是一种视觉上的欺骗手段。通常有两种方式:攻击者使用一个透明的iframe,覆盖...

曾利用驱动人生升级通道传播的木马下载器攻击方法再次升级

一、概述御见威胁情报中心1月25日再次监测到曾利用驱动人生升级通道传播的木马下载器攻击方法再升级。本次升级主要变化在于攻击模块,木马在之前的版本上,新增计划任务“DnsScan”,在其中将永恒之蓝攻击...

QQ飞车手游:点券首个功能性宠物上架,实战稳定触发还不快入手?

随着版本的逐渐更新,点券宠物在道具模式发挥逐渐越来越小,曾经探讨点券宠物在道具是不是真的没有用?直到出现了波斯猫改变了,我对点券宠物在道具模式的看法,如今又一个强势点券宠物来袭,而且特性触发简单,还是...

工单系统设计实战(上):核心配置与效能提升

流程的标准化并非终点,而是研发效能持续革命的基石。当工单系统真正成为研发团队的“神经中枢”,每一次需求的精准流转、每一行代码的受控提交、每一次版本的可靠发布,都将汇聚成驱动产品持续进化的强大动力...

6个编辑PDF文档内容的工具(软件+网站)

在日常办公、学习和生活中,PDF文件因其格式稳定、跨平台兼容性强等特点,被广泛应用。但有时我们拿到PDF文件后,却发现需要修改其中的内容,总感觉有点难搞。其实PDF文档编辑修改也很简单,这里分享6个软...

取消回复欢迎 发表评论: