• 1.摘要
  • 2.基本信息
  • 3.算法思想
  • 4.算法工作原理
  • 5.算法特征
  • 6.用途及算法
  • 7.算法的优缺点
  • 7.1.优点
  • 7.2.缺点
  • 8.参考资料

链路状态路由算法

链路状态算法以图论作为理论基础,用图来表示网络拓扑结构,并利用图论中的最短路径算法来计算网络间的最佳路由,因此链路状态算法又被称作最短路径优先算法SPF。

基本信息

  • 中文名

    链路状态路由算法

  • 外文名

    Link State Routing

  • 要求

    结点必须有完整的网络拓扑信息

  • 任务

    主动测试所有邻结点的状态

算法思想

链路状态算法的思想是要求网络中所有参与链路状态路由协议的路由器都掌握网络的全部拓扑结构信息,并记录在路由数据库中。链路状态算法中路由数据库实质上是一个网络结构的拓扑图,该拓扑图由一个节点的集合和一个边的集合构成。在网络拓扑图中,结点代表网络中路由器,边代表路由器之间的物理链路。在网络拓扑结构图中,每一条链路上可以附加不同的属性,例如链路的状态、距离或费用等。如果每一个路由器所保存的网络拓扑结构图都是一致的,那么个路由器生成的路由表也是最佳的,不存在错误路由或循环路由。1

算法工作原理

链路状态选路算法的工作原理如下2

(1)在参与链路状态选路的路由器集合中,每个路由器都需要通过某种机制来了解自己所连接的链路及其状态。

(2)各路由器都能够将其所连接的链路的状态信息通知给网络中的所有其他路由器,这些链路信息包括链路状态、费用以及链路两端的路由器等。

(3)链路状态信息的通过链路状态分组(LSP)来向整个网络发布。一个LSP通常包含源路由器的标识符、相邻路由器的标识符,以及而知之间链路的费用。每一个LSP都将被网络中的所有的路由器接收,并用于建立网络整体的统一拓扑数据库。由于网络中所有的路由器都发送LSP,经过一段时间以后,每一个路由器都保持了一张完整的网络拓扑图,再在这个拓扑图上,利用最短通路算法(例如Dijkstra算法等),路由器就可以计算出从任何源点到任何目的地的最佳通路。

这样,每一个路由器都能够利用通路最短的原则建立一个以本路由器为根、分支到所有其他路由器的生成树,依据这个生成树就可以很容易地计算出本路由器的路由表。

算法特征

链路状态路由算法有三个特征:

1.向本自治系统中的所有路由器发送信息。这里使用的方法是洪泛法(Flooding),即路由器通过所有的输出端口向所有的相邻路由器发送信息。而每一个路由器又将此信息发往其所有的相邻的路由器(但不包括刚刚发来信息的那个路由器)。

2.发送的信息就是本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。所谓“链路状态”就是说明本路由器和那些路由器相邻,以及该链路的“度量”(Metric)。对于OSPF,链路状态的“度量”主要用来表示费用、距离、时延、带宽等。

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

用途及算法

由于一个路由器的链路状态只涉及与相邻的路由器的联通状态,因而与整个互联网的规模并无直接关系,因此链路状态路由算法可以用于大型的或路由信息变化剧烈的互联网环境。

典型的链路状态路由算法是OSPF算法。

算法的优缺点

优点

(1)与距离向量算法相比,链路状态算法具有更快的收敛速度。由于LSP的发布是面向整个网络,使所有路由器都能够利用LSP来迅速建立整个网络拓扑的一个准确视图。这可以有效防止无限技术问题的出现。其次,链路状态路由算法还具有更小的网络开销。LSP只有在网络拓扑发生变化时才发布,LSP的发布反应的是网络的变化,而不是对整个路由数据库的发布和传输。LSP仅携带与本路由器直接相连的链路,报文长度都很小,且与互联网中的网络数无关,可见链路状态算法更适于大规模互联网。1