分析开放最短路径优先OSPF协议
论文联盟 编辑。
[ 论文 关键词]自治系统 路由信息协议 开放最短优先协议 骨干区域 指派路由器
备份指派路由器
[论文摘要]首先阐述开放最短路径优先 OSPF 协议的工作过程、接着重点论述自治系
统 AS 的分层结构和指派路由器,希望能够为学习和研究 OSPF 协议的人员提供 参考 与帮
助。
一、背景
众所周知,随着因特网规模的不断扩大,现在已有几百万台路由器连接在一起,如果
让这些路由器都知道所有 网络 的相关信息,这样会导致路由表庞大,处理起来浪费时间
,响应缓慢等问题;若再加上在链路大量传输路由信息又会严重影响网络带宽。另外,因
特网的许多用户都想使自己的网络信息具有安全性和保密性,但又想充分发挥因特网的作
用――相互通信,共享资源。为了解决上述多方面的矛盾,因特网被划分成许多个较小的
自治系统(autonomous system,AS)。一个自治系统就是处于一个管理机构控制之下的
路由器和网络群组。它可以是一个路由器直接连接到一个局域网 LAN 上,也可以是连到
Internet 上的,它还可以是一个由 企业 骨干网互连的多个局域网。在一个自治系统中的所
有路由器必须相互连接,运行相同的路由协议,在同一个自治系统之内的路由器使用同一
个自治系统编号。
单个的自治系统 AS 是由一个 ISP 运营的网络,在 AS 内部使用统一的路由协议,如
[1]路由信息协议(Routing Information Protocol,RIP),但 RIP 是一种距离向量协议,在
RIP 协议当中,所有的路径都用跳数来描述,到达目的地的路由最大不超过 16 跳,且只
保留唯一的一条路由,这就限制了 RIP 的服务半径,即其只适用于小型的简单网络。同时
,运行 RIP 的路由器需要定期地(一般 30s)将自己的路由表广播到网络当中,它不但收
敛(对于路由协议,网络上的路由器在一条路径不能用时必须经历决定替代路径的过程,
这个过程称为收敛)得慢,而且极容易引起广播风暴、累加到无穷、形成环路等致命问题
,所以它很难适应当今 计算 机网络的飞速 发展 ,尤其是大规模的异构互连网络。
为了摆脱诸多因素的困扰,在 20 世纪 80 年代中期, Internet 工程任务组(TETF)
开发了另一种新的内部网关协议,它就是开放最短路径优先协议(
Open Shortes Path First,OSPF),其中的“开放”是说明它的规范是公开的;“最短路径”是
因为它使用了 Dijkstra 提出的最短路径算法(SPF),即在所有的自治系统内部使用的路
由选择协议都是要寻找一条最短的路径。OSPF 协议是一种分布式的链路状态信息协议,
在众多的路由技术中,OSPF 协议已成为目前广域网 Internet 和企业网 Intranet 采用最多
、应用最广泛的路由技术之一,但 OSPF 协议实现起来比 RIP 协议要复杂得多。下面的内
容是从两个方面对 OSPF 协议进行分析。
二、分析 OSPF 协议
(一)自治系统 AS 采用分层结构
在因特网上,AS 是一个 ISP(因特网服务提供商),但大学、研究院和私人组织也可以
具有自己的 AS。因特网中的 AS 被划分为一个主干区域(backbone)和若干个非主干区
域,所谓的区域是把许多网络和主机,再加上连接这些区域网络上的路由器,所构成的逻
辑组。AS 中的每个区域内部都运行一个基本链路状态路由算法,即每个区域内部都有它
自己相对独立的链路状态数据库和相应的有向图(网络的拓扑图),同时区域内的所有路由
器运行的链路状态数据库都是一致的,即它们的数据库是同步的。每一个 AS 中都有一个
主干区域,称为区域 O,用区域 来标识。区域 O 的功能主要是负责各个非主干
区域之间的路由信息的发布。主干区域必须是连续的,同样,所有的 OSPF 区域必须被连
接到区域 O,如果在主干区域中的连续性出现断开现象,则可能需要建立虚链路来连接。
一个区域内的消息和细节对本区域以外的区域来说都是透明的,即不可见的,这样可以限
制到一个区域的洪泛流量,使规模越来越大的 AS 变得易于管理和维护,也是弥补 OSPF
协议占用 CPU 和内存资源的方法,更大大降低了路由信息所耗费的网络带宽。
(二)指派路由器 DR 和备份指派路由器 BDR
OSPF 协议是一个分布式的、动态的内部网关协议,动态路由会设法适应网络流量、
拓扑结构的变化。为了动态地适应如故障、网络拥塞等网络状态的变化,结点间必须交换
链路状态,如本路由器与哪些路由器相邻、费用、距离、延时、带宽等。当链路状态发生
变化时,就会发送这些信息。不是所有的路由器之间都会发送信息,只有成为邻接的路由
器之间才会发送链路状态信息。
当一个 OSPF 路由器初始化时,首先初始化路由器自身的协议数据库,然后等待低层
协议(数据链路层)提示端口是否处于工作状态。
如果低层协议得知一个端口处于工作状态时,OSPF 协议会通过其 Hello 分组与其余
的 OSPF 路由器建立交互关系。当一个 OSPF 路由器向其相邻路由器发送 Hello 数据包时
,如果它自己接收到某一路由器返回给它的 Hello 数据包,则这两个 OSPF 路由器之间就
建立起了 OSPF 交互关系,这个过程在 OSPF 中被称为邻接,只有成为邻接的路由器之间
才可能发送链路状态信息。 论文联盟 编辑。
在一个广播性的、多点接入的 网络 中存在一个指派路由器(Designated Router,DR
)。例如:[2]一个共有 N 个路由器连接的以太网中所有邻居都是邻接路由器,则总共可
能有 N(N-1)/2 条邻接,每次当有一个路由器收到一条链路状态时,它将发送这个信
息的副本给所有其它邻接路由器,最坏情况下可能有 2N 个这个消息的副本在网络上传输
,实际只需要 N 个拷贝即可。如果所有的路由器都把自己的本地链路状态信息对全网进行
广播,那么各路由器只要将这些信息综合起来就可得到链路状态数据库。但这样做开销太
大了。对于这种情况,在这个区域内会选取一个路由器作为代表――指派路由器 DR,它
是这个团体中最受欢迎的成员,与所有邻居路由器邻接,指派路由器主要负责把与它连接
的网络的链路状态信息传播给其他路由器。这样可以大大减少广播消息的数量,从而避免
路由器之间建立完全相邻关系而引起的大量开销,也进一步解决了网络带宽的瓶颈问题。
在这个区域中往往还会有一个随时更新数据的备用指派路由器(
Backup Designated Router,BDR),它主要是防止指派路由器崩溃,可缓解当时的危机
。
OPSF 作为一种重要的内部网关协协议的普遍应用,极大地增强了网络的可扩展性和
稳定性,同时也反映出了动态路由协议的强大功能。但是,在有关 OSPF 协议的研究、实
现中尚存在一些问题,如数据库的溢出、度量的刻画、以及 MTU 协商等。
参考 文献 :
[1]谢希仁,《 计算 机网络教程》北京:人民邮电出版社 第 201 页.
[2]高传善、毛迪林、曹袖,《数据通信与计算机网络》北京:高等 教育 出版社
,第 343 页.