浅谈开放最短路径优先协议OSPF

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅谈开放最短路径优先协议OSPF

【摘要】本文简单介绍最短路径优先协议OSPF。

【关键词】OSPF;最短路径优先协议;自治系统

引言

随着Internet技术在全球范围内的飞速发展,IP网络作为一种最有前景的网络技术,受到了人们的普遍关注。而作为IP网络生存、运作、组织的核心--IP 路由技术提供了解决IP网络动态可变性、实时性、QoS等关键技术的一种可能。在众多的路由技术中,OSPF协议已成为目前Internet广域网和Intranet企业内部网采用最多、应用最广泛的路由技术之一。OSPF(开放式系统路径优先)路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。采用OSPF的路由器彼此交换并保存整个网络的链路信息,从而掌握全网的拓扑结构,独立计算路由。目前新疆铁通互联网省干层就是应用OSPF协议,下面对OSPF协议进行简要介绍。

1. OSPF路由协议的概述:

OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。

作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。

2. OSPF路由协议的基本算法

2.1 SPF算法及最短路径树

SPF算法是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF 算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:Cost = 100×106/链路带宽

在这里,链路带宽以bps来表示。也就是说,OSPF的Cost 与链路的带宽成反比,带宽越高,Cost越小,表示OSPF到目的地的距离越近。举例来说,FDDI 或快速以太网的Cost为1,2M串行链路的Cost为48,10M以太网的Cost为10等。

2.2、链路状态算法

作为一种典型的链路状态的路由协议,OSPF还得遵循链路状态路由协议的统一算法。链路状态的算法非常简单,在这里将链路状态算法概括为以下四个步骤:

当路由器初始化或当网络结构发生变化(例如增减路由器,链路状态发生变化等)时,路由器会产生链路状态广播数据包LSA(Link-State Advertisement),该数据包里包含路由器上所有相连链路,也即为所有端口的状态信息。

所有路由器会通过一种被称为刷新(Flooding)的方法来交换链路状态数据。Flooding是指路由器将其LSA数据包传送给所有与其相邻的OSPF路由器,相邻路由器根据其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻的路由器,直至稳定的一个过程。当网络重新稳定下来,也可以说OSPF路由协议收敛下来时,所有的路由器会根据其各自的链路状态信息数据库计算出各自的路由表。该路由表中包含路由器到每一个可到达目的地的Cost 以及到达该目的地所要转发的下一个路由器(next-hop)。

第4个步骤实际上是指OSPF路由协议的一个特性。当网络状态比较稳定时,网络中传递的链路状态信息是比较少的,或者可以说,当网络稳定时,网络中是比较安静的。这也正是链路状态路由协议区别与距离矢量路由协议的一大特点。

3.区域及域间路由

前面已经提到过,在OSPF路由协议的定义中,可以将一个路由域或者一个自治系统AS划分为几个区域。在OSPF中,由按照一定的OSPF路由法则组合在一起的一组网络或路由器的集合称为区域(AREA)。

在OSPF路由协议中,每一个区域中的路由器都按照该区域中定义的链路状态算法来计算网络拓扑结构,这意味着每一个区域都有着该区域独立的网络拓扑数据库及网络拓扑图。对于每一个区域,其网络拓扑结构在区域外是不可见的,同样,在每一个区域中的路由器对其域外的其余网络结构也不了解。这意味着OSPF路由域中的网络链路状态数据广播被区域的边界挡住了,这样做有利于减少网络中链路状态数据包在全网范围内的广播,也是OSPF将其路由域或一个AS划分成很多个区域的重要原因。

随着区域概念的引入,意味着不再是在同一个AS内的所有路由器都有一个相同的链路状态数据库,而是路由器具有与其相连的每一个区域的链路状态信

息,即该区域的结构数据库,当一个路由器与多个区域相连时,我们称之为区域边界路由器。一个区域边界路由器有自身相连的所有区域的网络结构数据。在同一个区域中的两个路由器有着对该区域相同的结构数据库。

我们可以根据IP数据包的目的地地址及源地址将OSPF路由域中的路由分成两类,当目的地与源地址处于同一个区域中时,称为区域内路由,当目的地与源地址处于不同的区域甚至处于不同的AS时,我们称之为域间路由。

4.指定路由器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),它主要是防止指派路由器崩溃,可缓解当时的危机。

5.结束语

OPSF作为一种重要的内部网关协协议的普遍应用,极大地增强了网络的可扩展性和稳定性,同时也反映出了动态路由协议的强大功能。OSPf具备许多优点:快速收敛,支持变长子网掩码,支持CIDR以及地址汇总,具有层次化的网络结构,支持路由信息验证,保证了OSPf路由协议能够被应用到大型的、复杂

相关文档
最新文档