1.内部网关协议OSPF

1.1 OSPF的特点

它称为open shortest path open,开放最短路径优先协议。它使用了Dijkstra提出的最短路径算法SPF。

它最重要的特征是使用了分布式的链路状态协议(link state protocol)

(1)和RIP不一样,仅仅是相邻的路由器交换信息,而是通过洪泛法向本自治系统中的所有路由器发送信息, 这就是路由器通过所有输出端口向所有相邻的路由器发送信息。而每一个相邻路由器又再将此信息发往其所有的相邻路由器(但不再发送给刚刚发来信息的那个路由器)。这样,最终整个区域中所有的路由器都得到了这个信息的一个副本。

(2)发送的信息就是与本路由器相邻的所有路由器的链路状态(链路状态指的是本路由器都和哪些路由器相邻,以及该链路使用什么方式度量),但这只是路由器知道的部分信息。

(3)只有链路状态发生变化时,才会使用洪泛法发送信息。

由于所有的链路频繁地交换状态信息,最终会形成一个全网的拓扑结构图。

因此,每一个路由器都知道全网共有多少个路由器,以及哪些路由器是相连的,其代价是多少,等等。每一个路由器使用链路状态数据库中的数据,构造出自己的路由表(例如,使用Dijkstra的最短路径路由算法)。我们注意到,RIP协议的每一个路由器虽然知道到所有的网络的距离以及下一跳路由器,但却不知道全网的拓扑结构(只有到了下一跳路由器,才能知道再下一跳应当怎样走)。

OSPF能够较快地更新每个路由的信息,为了使得OSPF能够应用于更大规模地网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域(area),一个区域内的路由器最好不要超过200个。

ospf怎么共享路由 ospf怎么交换路由信息_OSPF


划分区域后,只在区域中使用洪泛法,这样可以减少整个网络的通信量,

在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。为了使每一个区域能够和本区域以外的区域进行通信,OSPF使用层次结构的区域划分。

在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。从其他区域来的信息都由区域边界路由器(area border router)进行概括。在上图中,路由器R3,R4和R7都是区域边界路由器,而显然,每一个区域至少应当有一个区域边界路由器。在主干区域内的路由器叫做主干路由器(backbone router),如R3,R4,R5,R6和R7。一个主干路由器可以同时是区域边界路由器,如R3,R4和R7。在主干区域内还要有一个路由器专门和本自治系统外的其他自治系统交换路由信息

采用分层次划分区域的方法虽然使得交换信息的种类增多了,同时也使得OSPF协议更加复杂,但是它减少了一个内部的交换路由信息的通信量,因此可以用于规模很大的自治系统。

OSPF不用UDP而是直接用IP数据报传送(其IP数据报首部的协议字段值为89)。OSPF构成的数据报很短。这样做可减少路由信息的通信量。数据报很短的另一好处是可以不必将长的数据报分片传送。分片传送的数据报只要丢失一个,就无法组装成原来的数据报,而整个数据报就必须重传。

1.2 OSPF的其他特点

(1) OSPF允许管理员给每条路由指派不同的代价, 例如,高带宽的卫星链路对于非实时的业务可设置为较低的代价,但对于时延敏感的业务就可设置为非常高的代价。因此, OSPF对于不同类型的业务可计算出不同的路由。链路的代价可以是1至65 535中的任何一个无量纲的数,因此十分灵活。商用实现OSPF通常是根据链路带宽来计算链路的代价。这种灵活性是RIP所没有的。

(2) 如果到同一个目的网络有多条相同代价的路径,*那么可以将通信量分配给这几条路径。这叫作多路径间的负载平衡(load balancing)。在代价相同的多条路径上分配通信量是通信量工程中的简单形式。RIP只能找出到某个网络的一条路径。

(3)所有在OSPF路由器之间交换的分组(例如,链路状态更新分组)都具有鉴别的功能,因而保证了仅在可信赖的路由器之间交换链路状态信息。

(4) OSPF支持可变长度的子网划分和无分类的编址CIDR。

(5) 由于网络中的链路状态可能经常发生变化,因此OSPF让每一个链路状态都带上一个32位的序号,序号越大状态就越新。OSPF规定,链路状态序号增长的速率不得超过每5秒钟1次。这样,全部序号空间在600年内不会产生重复号。