摘要:点击通信工程师考试在线辅导招生点击通信工程师专业培训面授班招生点击阅读2013年通信工程师考试大纲点击了解2013年通信工程师考试指定教材通信工程师报名及通信工程师成绩查询专题2012年全国初级中级通信工程师考试成绩查询5.5.2开放最短路径优先随着Internet技术在全球范围的飞速发展,OSPF已成为目前Inter
5.5.2 开放最短路径优先
随着Internet技术在全球范围的飞速发展,OSPF已成为目前Internet广域网和Intranet企业网采用最多、应用最广泛的路由协议之一。OSPF(OpenShortestPathFirst)路由协议是由IETF(InternetEngineeringTaskForce)IGP工作小组提出的,是一种基于SPF算法的路由协议,目前使用的0SPF协议是其第二版,定义于RFC1247和RFC1583。
0SPF路由协议是一种典型的链路状态(Link-state)路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(AutonomousSystem,AS),是一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。
作为一种链路状态的路由协议,OSPF将链路状态广播数据包(LinkStateAdvertisement,LSA)传送给在某一区域内的所有路由器,这一点与距离矢ft路由协议不同。运行距离矢*路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。
1.数据包格式
在0SPF路由协议的数据包中,其数据包头长为24Byte,包含如下8个字段。
(1)Versionnumber:定义所采用的OSPF路由协议的版本。
(2)Type:定义OSPF数据包类型。OSPF数据包共有以下5种。
①Hello:用于建立和维护相邻的两个OSPF路由器的关系,该数据包是周期性地发送的。
DatabaseDescription:用于描述整个数据库,该数据包仅在OSPF初始化时发送。
③Linkstaterequest:用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。
④Linkstateupdate:这是对linkstate请求数据包的响应,即通常所说的LSA数据包。
⑤Linkstateacknowledgment:是对LSA数据包的响应。
(3)Packetlength:定义整个数据包的长度。
(4)RouterID:用于描述数据包的源地址,以IP地址来表示。
(5)AreaID:用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。
(6)Checksum:校验位,用于标记数据包在传递时有无误码。
(7)Authenticationtype:定义OSPF验证类型。
(8)Authentication:包含OSPF验证信息,长为8Byte。
2.OSPF基本算法
SPF算法是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost。
3.链路状态算法
作为一种典型的链路状态的路由协议,OSPF还必须遵循链路状态路由协议的统一算法。链路状态的算法非常简单,在这里将链路状态算法概括为以下4个步骤。
(1)当路由器初始化或当网络结构发生变化(如增减路由器,链路状态发生变化等)时,路由器会产生链路状态广播数据包(Link-StateAdvertisement.LSA),该数据包里包含路由器上所有相连链路,即为所有端口的状态信息。
(2)所有路由器会通过一种被称为洪泛(Flooding)的方法来交换链路状态数据^Flooding是指路由器将其LSA数据包传送给所有与其相邻的OSPF路由器,相邻路由器根据其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻的路由器,直至稳定的一个过程。
(3)当网络重新稳定下来,即OSPF路由协议收敛下来时,所有的路由器会根据其各自的链路状态信息数据库计算出各自的路由表。该路由表中包含路由器到每一个可到达目的地的Cost以及到达该目的地所要转发的下一个路由器(next-hop)。
(4)第4个步骤实际上是指OSPF路由协议的一个特性。当网络状态比较稳定时,网络中传递的链路状态信息是比较少的。也可以说,当网络稳定时,网络中是比较安静的。这也正是链路状态路由协议区别与距离矢量路由协议的一大特点。
4.OSPF路由协议的基本特征
前文已经说明OSPF路由协议是一种链路状态的路由协议,为了更好地说明OSPF路由协议的基本特征,将OSPF路由协议与距离矢量路由协议之一的RIP(RoutingInformationProtocol)作比较如下。
RIP中用于表示目的网络远近的参数为跳(hop),即到达目的网络所要经过的路由器个数。在RIP路由协议中,该参数被限制敁大为15,即RIP路由信息铋多能传递至第16个路由器:对于OSPF路由协议,路由表中表示目的网络的参数为Cost,该参数为一虚拟值,与网络中链路的带宽等相关,即OSPF路由信息不受物理跳数的限制。而且,OSPF路由协议还支持ToS(TypeofService)路由,因此,OSPF比较适合于大型网络中。
RIP路由协议不支持变长子网屏蔽码(VLSM),这被认为是RIP路由协议不适用于大型网络的又一个重要原因。采用变长子网屏蔽码可以在最大限度上节约1P地址。OSPF路由协议对VLSM有良好的支持性。
RIP路由协议路由收敛较慢。RIP路由协议周期性地将整个路由表作为路由信息广播至网络中,该广播周期为30s.在一个较为大型的网络中,RIP会产生很大的广播信息,占用较多的网络带宽资源:而且由于R1P协议30s的广播周期,影响了RIP路由协议的收敛,甚至出现不收敛的现象。而OSPF是一种链路状态的路由协议,当网络比较稳定时,网络中的路由信息是比较少的,并且其广播也不是周期性的,因此OSPF路由协议即使是在大型网络中也能够较快地收敛。
通信工程师备考资料免费领取
去领取