路由选择协议——OSPF协议

1 OSPF协议

  OSPF(Open Shortest Path First)协议——开放最短路径优先协议。“最短路径优先”是因为使用了迪杰特斯拉(Dijkstra)提出的最短路径算法 SPF

  OSPF最主要的特征就是使用分布式的链路状态协议,而不是像RIP那样的距离向量协议。OSPF的三个要点跟RIP的都不一样:
  (1) 向本自治系统中所有路由器发送信息。这里使用了洪泛法,就是路由器通过所有的输出端口向所有相邻的路由器发送信息。而每一个相邻路由器又将此信息发送其所有相邻的路由器(但不再发送给刚刚发来的路由器)。这样,整个区域中所有路由器都得到了这个信息的一个副本。

RIP协议仅仅向自己相邻的几个路由器发送信息。

  (2) 发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价——OSPF用这个度量来表示费用、距离、时延、带宽等)

RIP协议发送的信息是:到所有网络的距离和下一跳路由器。

  (3) 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。

RIP协议是定期交换路由表的信息。

  由于各路由器之前频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库,这个数据库实际上就是全网的拓扑结构图。因此,每个路由器都知道全网共有多少个路由器,以及哪些路由器是相连的,其代价是多少等。每个路由器使用链路状态数据库中的数据,构造出自己的路由表(使用Dijkstra的最短路径路由算法)

2 链路状态路由算法

  (1) 每个路由器通过发送问候(hello)分组来发现它的邻居节点,并了解邻居节点的网络地址。

每两个相邻的路由器每隔10s都会交换一个问候分组,这样就能去确定哪些邻站是可达的,只有可达邻站的链路状态才存入链路状态数据库中。如果有40s没有收到某个相邻路由器发来的问候分组,则可认为该相邻节点不可达。

  (2) 设置到它的每个邻居的成本度量metric

  (3) 构造数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息

这里交换的是摘要信息,这是因为如果每个路由器都交换详细信息(全部信息),这样开销会很大。摘要信息主要指出有哪些路由器的链路状态信息(以及其序号)已经写入了数据库。

  (4) 接收到数据库描述分组的邻站,如果分组中的摘要已存在,则不作处理,如果没有或是更新的,则向节点发送链路状态请求分组,请求对方发送自己缺少的某些链路状态项目的详细信息。

  (5) 邻站收到节点的链路状态分组后,会发送链路状态更新分组进行更新。

这里同样是泛红发送链路状态更新分组,即对全网的链路状态进行更新。

  (6) 更新完毕后,邻站返回链路状态更新分组进行确认。

只要一个路由器的链路状态发生变化:洪泛发送链路状态更新分组对所有的链路状态进行更新,更新完毕后,其他站都会返回一个链路状态确认分组进行确认。

经历了上面的操作后,每个路由器都有一个完整的链路状态数据库,即完整的全网结构拓扑图。

  (7) 使用Dijkstra根据自己的链路状态数据库构造到其他节点的最短路径。

3 OSPF的五种分组

  (1) 问候(hello)分组:用来发现和维持邻站的可达性。
  (2) 数据库描述(Database Description)分组:向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息。
  (3) 链路状态请求(Link State Request)分组:向对方请求发送某些链路状态项目的详细信息。
  (4) 链路状态更新(Link State Update)分组:用洪泛法对全网更新链路状态。
  (5) 链路状态确认(Link State Acknowledgement)分组:对链路进行更新。

4 OSPF协议的优点

  (1) 安全。

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

  (2) 多条相同费用的路径

当到达某目的地的多条路径具有相同的费用时,OSFP允许使用多条路径,这就说可以将通信量分配给这几条路径——多路径间负载均衡。RIP只能找出到某个网络的一条路径。

  (3) 对单播与多播路由选择的综合支持。

多播OSPF(MOSPF)提供对OSPF的简单扩展,以便提供多播路由选择。

  (4) OSPF支持对大规模AS分层——这是OSPF最大的优点。

见下节

5 分层的OSPF

  为了使OSPF能够用于大规模网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域

  下图表示将一个自治系统划分为4个区域,每个区域都有一个32位的区域表示符。


  划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,这就减少了整个网络上的通信量。

  为了使每一个区域能和本区域以外的区域进行通信,OSPF使用层次结构的区域划分。在上层的区域叫做主干区域。主干区域的标识符是0.0.0.0,主干区域的作用是用来连通其他在下层的区域。从其他区域来的信息都由区域边界路由器进行概括。如图中的R3、R4和R7都是区域边界路由器,每个区域至少有一个区域边界路由器。

  在主干区域的路由器叫做主干路由器,如R3、R4、R5、R6、R7。在主干系统中还有一个路由器专门用于本自治系统和其他自治系统交换路由信息,叫做自治系统边界路由器,如图中的R6。

6 RIP与OSPF不同

  (1) 三个要点不同,即传送信息方式,传送信息和传送信息的时间间隔不同。
  (2) OSPF支持多条代价相同的路径,而RIP只能选一条。
  (3) OSPF使用链路状态路由选择算法,RIP使用距离向量算法。
  (4) OSPF不存在坏消息传的慢的问题,它的收敛速度很快。
  (5) OSPF支持具有层次结构的自治系统,而RIP协议不支持。
  (6) OSPF比RIP更适用于大规模互联网。
  (7) RIP是应用层协议,使用运输层的用户数据报UDP进行传送,OPSF不用UDP而是直接用IP数据报传送。



7 小结

  本文完

你可能感兴趣的:(路由选择协议——OSPF协议)