开放最短路径优先(OSPF)

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

开放最短路径优先(OSPF)

by flamephoenix

一、背景

二、路由层次

三、SPF算法

四、分组格式

五、附加特性

一、背景

OSPF是由IETF的IGP工作组为IP网开发的路由协议。该工作组成立于1998年,专门设计用于因特网的基于最短路径优先(SPF)算法的IGP。与IGRP类似,OSPF创建的原因是到了八十年代中期,RIP不能服务于大型、异构网络的缺陷愈发明显。本文介绍OSPF的路由环境、基础的路由算法和基本的协议组件。

OSPF是由多个研究结果发展而来的,包括1978年为ARPANET开发的Bolt,Beranek,Newman(BBN)的SPF算法,Dr. Radia Perlman对路由信息容错性广播的研究(1988),BBN在区域路由的工作(1986)和OSI的IS-IS路由协议的早期版本。

OSPF有两个主要的特性。首先该协议是开放的,即其规范是公开的,公布的OSPF规范是RFC1247。另一个基本的特性是OSPF基于SPF算法,该算法也称为Dijkstra算法,即以创建该算法的人来命名。

OSPF是个链接状态路由协议,在同一层的区域内与其它所有路由器交换链接状态公告(LSA)信息。OSPF的LSA中包含连接的接口、使用的metric及其它的变量信息。OSPF路由器积累链接状态信息,并使用SPF 算法来计算到各节点的最短路径。

作为链接状态路由协议,OSPF与RIP和IGRP这些距离向量路由协议是不同的。使用距离向量算法的路由器的工作模式是在路由更新信息中把

路由表全部或部分发送给其相邻的路由器。

二、路由层次

与RIP不同,OSPF的工作是有层次的,其层次中最大的实体是自治系统(AS),即遵循共同的路由策略统一管理下的网络群。虽然OSPF可以与其它AS中的路由器交换路由信息,但它们是一种AS内部(内部网关)路由协议。

一个AS可以分为多个区间,即一组连续的网络和相连的主机。拥有多个接口的路由器可以加入多个区间,这些路由器称为区间边缘路由器,分别为每个区间保存其拓扑数据库。拓扑数据库实际上是与路由器有关联的网络的总图,包含从同一区间所有路由器收到的LSA的集合。因为同一区间内的路由器共享相同的信息,所以它们具有相同的拓扑数据库。(术语域(domain)有时用于描述含有相同拓扑数据库的路由器组成的网络,通常与AS可互换。)

区间的划分产生了两种不同类型的OSPF路由,区别在于源和目的是在相同的还是不同的区间,分别为区间内路由和跨区间路由。

OSPF主干负责在区间之间分发路由信息,包含所有的区间边缘路由器、非全部属于某区间的网络及其相连的路由器。下图是一个分为若干区间的OSPF自治系统的例子。

上图中,路由器4、5、6、10、11和12构成了主干。如果区间3中的主机H1要给区间2中的主机H2发送数据,则先发给路由器13,它转发给路由器12,再转给路由器11,路由器11再沿主干转发给路由器10,然后通过两个区间内路由器(9和7)到达主机H2。

主干本身也是个OSPF区间,所以所有的主干路由器与其它区间路由器一样,使用相同的过程和算法来维护主干内的路由信息,主干拓扑对所有的跨区间路由器都是可见的。

可以以非连续主干的形式来定义区间,这时,主干的连接必须通过虚拟链接来保持。虚拟链接可以配置在任意共享非主干区间链接的路由器对之间,就象它们有直接链接一样工作。

运行OSPF的AS边缘路由器通过外部网关协议,如EGP或BGP,或通过配置信息来学习外部路由。

三、SPF算法

最短路径优先(SPF)路由算法是OSPF的基础。当SPF路由器加点后,它就初始化路由协议数据结构,然后等待下层协议关于接口已可用的通知信息。当路由器确认接口已准备好,就用OSPF Hello协议来获取邻居信息,即具有在共同的网络上接口的路由器。路由器向邻居发送Hello包并接收它们的Hello包。除了帮助学习邻居外,Hello包也有keep-alive的功能。

在多重访问网络(支持多于两个路由器的网络)中,Hello协议选出一个“指派路由器”和一个备份指派路由器。指派路由器负责为整个多重访问网络生成LSA,它可以减少网络通信量和拓扑数据库的大小。

当两个相邻路由器的链接状态数据库同步后,就称为“邻接”。在多重访问网络中,指派路由器决定哪些路由器应该相邻接,拓扑数据库在邻接路由器对间进行同步。邻接控制路由协议分组的分发,只在邻接点间交换。

每个路由器周期性地发送LSA,提供其邻接点的信息或当其状态改变时通知其它路由器。通过对已建立的邻接关系和链接状态进行比较,失效的路由器可以很快被检测出来,网络拓扑相应地更动。从LSA生成的拓扑数据库中,每个路由器计算最短路径树,以自己为根。这个最短路径树就生成了路由表。

四、分组格式

所有的OSPF分组均有24字节的头,如下图:

其中各域为:

版本号--标识使用的OSPF版本。

类型--标识OSPF分组类型,为下列类型之一:

--Hello:建立和维持邻居关系。

--数据库描述:描述拓扑数据库内容,此类信息在初始

化邻接关系时交换。

--链接状态请求:从相邻路由器发来的拓扑数据库请

求。此类信息在路由器通过检查数据库描述分组发现其

部分拓扑数据库过期后发送。

--链接状态更新:对链接状态请求分组的响应,也用于

通常的LSA散发。单个链接状态更新分组中可以包含多

个LSA。

--链接状态确认:确认链接状态更新分组。

分组长度--指示包括OSPF头在内的分组长度,以字节

计。

路由器ID--标识分组来源。

区间ID--标识分组所属的区间。所有的OSPF分组都与某

一个区间相关联。

校验码--对整个分组的内容检查传输中是否发生损坏。

认证类型--所有的OSPF协议交换均被认证。认证类型可

以在每区间的基础上配置。

认证--包含认证信息。

数据--包含封装的上层信息。

五、附加特性

OSPF的附加特性包括等价、多路径路由和基于上层服务类型(TOS-type of service)请求的路由。基于TOS的路由支持可以指定特定服务

相关文档
最新文档