OSPF(HCNA)——OSPF协议介绍

目录

1.OSPF协议介绍

2.OSPF的基本原理

3.OSPF与RIP的比较

4.OSPF的区域化结构

5.OSPF支持的网络类型


1.OSPF协议介绍

与RIP协议一样,OSPF(Open Shortest Path First)协议也是一种IGP。通常,我们把一个以OSPF协议作为其IGP的自治系统称为一个OSPF网络。

然而,OSPF协议的复杂程度远远大于RIP协议。

2.OSPF的基本原理

我们先玩一个游戏活动,内容如下:

“假设在一间教室坐满了新同学,坐中间的每个同学有前、后、左、右4个邻居,坐边上的同学有3个邻居,坐角落的同学有2个邻居。游戏开始前,假定每个同学都只知道中间的所有邻居的姓名,也就是说,每个同学的“记忆库”中只有自己的几个邻居的姓名。游戏开始后,每个同学都会周期性的把自己最新的记忆库中的所有姓名悄悄的告诉给自己的所有的邻居(每个同学只能听到邻居对自己的说的话),同时不停把自己从邻居那里听到的姓名装入自己的记忆库。游戏持续了足够长的时间后,我们会发现每个同学的记忆库中的内容不在发送变化,并且都包含了全班所有同学的姓名。这个游戏的过程虽然非常简单,但是它正好体现了RIP协议的基本原理”

现在,我们把游戏活动的规则做一下改变。游戏开始前,依然是假定每个同学都只知道中间的所有邻居的姓名。游戏开始后,每个同学都尽快一次性的大声的对全班同学说出自己所有邻居的姓名(假设教室里的声音无论有多么嘈杂,同学们都可以听得见,能分辨,能记住这些声音的内容)。显然,当最后一个同学说完后,每个同学的记忆库中就有了全班所有同学的姓名。这个游戏的过程非常简单,但是正好体现了OSPF协议的基本原理。

通过比较,前后两个游戏(分别称为游戏1和游戏2)的主要差别是在以下3个方面:

(1)游戏1中,每个同学只对邻居说悄悄话,每个同学也只能听见邻居对自己说的话;游戏2中,每个同学都是大声说话,说话内容全班每个同学都能听见。

(2)游戏1中,每个同学说话的内容是自己记忆库中最新拥有的所有同学的姓名;游戏2中,每个同学说话的内容只是自己所有邻居的姓名。

(3)游戏1中,每个同学都会周期性的,反反复复的听来听去;游戏2中,整个说话过程一次性便可以完成。

综上就是,在RIP协议中,路由会将自己所有字段的关于整个网络的路由信息周期性发送给所有的邻居路由器;在OSPF协议中,路由器会将自己的链路状态信息一次性的防洪(Flooding)给所有其他的路由器。

需要说明的是,OSPF协议中引入了Area(区域)的概念。游戏1中,整个教室相当于整个RIP网络;但是在游戏2 中,整个教室就相当于OSPF网络中的一个Area。

其次,这个比喻只是想让读者能够比较直观的认清RIP协议和OSPF协议,如果有比喻不到位或者解释不清楚的地方,请读者原谅和指点,谢谢你们的阅读。

3.OSPF与RIP的比较

OSPF是一种基于链路状态(Link-State)的路由协议,而RIP则是一种基于距离矢量的路由协议,这是二者之间的最根本性的差别。RIP协议中,路由器之间是以一种“传话”的方式来传递有关路由的信息。OSPF协议中,路由器之间可以以一种“宣告”的方式来传递有关路由的信息。OSPF网络的路由收敛时间明显晓宇RIP网络的路由收敛时间。

RIP是一种“嘈杂”的路由协议。路由收敛之后,RIP网络中仍然会持续性地存在大 量的RIP协议报文的流量。OSPF是一种“安静”的路由协议。路由收敛之后,OSPF网 络中OSPF协议报文的流量很少。协议报文的流量越小,对网络带宽资源的占用就越少。

RIP协议是以UDP作为其传输层协议的,RIP报文是封装在UDP报文中的。OSPF 没有传输层协议,OSPF报文是直接封装在IP报文中的。我们知道,UDP通信或IP通 信都是一种无连接、不可靠的通信方式。RIP也好,OSPF也罢,其协议报文传输的可靠 性机制都是由协议本身提供的。

RIP报文只有两种,一种是RIP请求报文,另一种是RIP响应报文。OSPF报文有5 种,分别是 Hello 报文(Hello Packet)数据库描述报文(Database Description Packet, DD Packet),链路状态请求报文(Link-State Request Packet, LSR Packet),链路状态更 新报文(Link-State Update Packet, LSU Packet)、链路状态确认报文(Link-State Acknowledgement Packet, LSAck Packet)

RIP协议只能以“跳数”来作为路由开销的定义。在OSPF协议中,理论上可以采用任 何参量,或者若干参量的组合来作为路由开销的定义。例如,OSPF可以釆用链路的带宽来 定义路由开销,也可以采用链路的延迟时间来定义路由开销,还可以采用链路的“成本”来 定义路由开销,如此等等。但在实际中,最常见的是采用链路的带宽来定义路由开销。

RIPOSPF都是IETF制定的开放性标准协议。OSPF也有两个版本,OSPFvlOSPFv2但是,OSPFvl在其正式发布之前的试验阶段就夭折了,所以目前实际网络中 所使用的都是OSPFv2RIPv2 一样,OSPF也是一种无类路由协议,支持VLSMCIDR等特性。与RIPv2一样,OSPF也支持认证功能。

OSPF网络具有区域化的结构,RIP网络没有这种结构。OSPF网络中,路由器有角 色之分,不同角色的路由器具有不同功能和作用。RIP网络中的路由器是没有角色之分 的。OSPF网络中,每台路由器都有一个独一无二的路由器身份号(Router Identification, Router-ID)o RIP网络中,路由器是没有Router-ID的。

RIP协议和OSPF协议在实际中的应用都非常广泛。但是需要注意的是,RIP协议 只适合用在小型网络中,而OSPF则适用于任何规模的网络。

一言以蔽之,0SPF协议在各个方面都是优于RIP协议的,如果不考虑协议复杂程度的话。

4.OSPF的区域化结构

一个OSPF网络可以被划分成多个区域(Area)。如果一个OSPF网络只包含一个区域,则这样的OSPF网络称为单区域OSPF网络;如果一个OSPF网络包含多个区域,则这样的OSPF网络称为多区域OSPF网络。

在OSPF网络中,每一个区域都有一个编号,称为Area-ID。Area-ID是一个32 bit的二进制数,但是通常也可以用十进制数来表示。Area-ID为0的区域称为骨干区域(Backbone Area),否则称为非骨干区域。

单区域OSPF网络只包含一个区域,这个区域必须是骨干区域。多区域OSPF网络中,除了有一个骨干区域外,还有若干个非骨干区域,并且每一个非骨干区域都需要与骨干区域直接相连(采用Virtual Link技术时,非骨干区域虽然没有与骨干区域相连,但是在逻辑上依然是与骨干区域直接相连的),但是非骨干区域之间是不允许之间相连的。也就是说,非骨干区域之间的通信必须要通过骨干区域中转才能进行。

如图所示的OSPF网络总共包含了有4个区域,其中Area 0才是骨干区域。需要注意的是,R9的上面那个接口是属于Area 2的,R9的下面那个接口是属于Area 0的。类似的,R10的上面两个接口是属于Area 3的,R10的下面的两个接口是属于Area 0的;R1的上面那个接口是属于Area 0,R1的下面3个接口是属于Area 1的。

OSPF网络中,如果一台路由器的所有接口都属于同一个区域,则这样的路由器被称为内部路由器(Internal Router)。

如图所示的OSPF网络中,Area 0的内部路由器有R5、R6、R7、R8。Area 1的内部路由器有R2、R3、R4。Area 2的内部路由器有R11 和 R12,Area 3的内部路由器有R13 和 R14。

OSPF网络中,如果有一台路由器包含有属于Area 0的接口,则这样的路由器被称为骨干路由器(Backbone Router)。如图所示的OSPF网络中,总共有7个骨干路由器,分别是R5、R6、R7、R8、R9、R10。

OSPF网络中,如果一台路由器的某些接口属于Area0,其他接口属于别的区域,则这样的路由器被称为ABR(Area Border Router,区域边界路由器)。如图所示的OSPF网络中,总共有3个ABR,分别是R1、R9、R10。

OSPF网络中,如果一台路由器是与本OSPF网络(本自治系统)之外的网络相连的,并且可以将外部网络的路由信息引入到本OSPF网络(本自治系统),则这样的路由器被称为ASBR(Autonomous System Boundary Router,自治系统边界路由器)。如图所示的OSPF网络中,总共有2个ASBR,分别是R8、R11。

5.OSPF支持的网络类型

OSPF支持的网络类型,是指OSPF能够支持的二层网络的类型。OSPF能够支持网络类型有以下几种。

(1)广播网络,也成为Broadcast网络。例如,以太网便是一种典型的Broadcast网络。

定义:在网络中只有一个单一的通信信道,由这个网络中所有的主机所共享,即多个计算机连接到一个通信信道上的不同的分支点上,任意一个节点所发出的报文分组被其他所有节点接受。

(2)NBMA(Non-Broadcast Multi-Access)网络,非广播多路访问。

定义:NBMA用来描述如X.25和帧中继(生产中已经淘汰)这类本身并不具备支持广播和多播能力的多路访问网络。以太网网络,需要进行DR和BDR的选举。不能发送广播和组播报文,所以在帧中继网络中,OSPF没有办法通过发送Hello包来传递邻居关系,只用使用单播方式来制定邻居,命令如下:peer x.x.x.x。

(3)点到点网络,也成为Point-to-Point网络或者是P2P网络。

定义:不用进行DR和BDR的选举,直接形成邻接关系。

(4)点到多点网络,也成为Point-to-Multipoint网络或者P2MP网络。

定义:也是用点到多点的方式来建立连接,不需要进行DR和BDR的选举。

需要特别强调的是,OSPF路由器的某个接口的类型,是与该接口直接相连的二层网络的类型一致的。比如,OSPF路由器的某个接口如果连接的是一个广播网络,那么该接口就是一个广播网络接口(或者说改接口的接口类型是广播型的);OSPF路由器的某个接口如果连接的是一个P2P网络,那么改接口就是一个P2P网络接口(或者说该接口的接口类型是P2P网络型的)。

另外,读者需要记住的是,在广播网络和NBMA网络中,需要选举出DR(Designated Router)和BDR(Backup Designated Router)。另外两种类型的网络中,是不需要DR 和 BDR的。

猜你喜欢

转载自blog.csdn.net/weixin_40274679/article/details/106442093