计算机网络原理链路状态路由
在1979年以前,ARPANET使用的一直是距离矢量路由选择算法,而在此之后则改为链路状态路由选择算法。
两个主要问题导致了距离矢量路由选择算法的消亡。
第一,因为延迟度量是队列长度,所以在选择路径的时候并没有考虑线路带宽。
开始,所有的线路都是56kbps,因此线路带宽并不是待考虑的因素,但是当有些线路被升级到230kbps乃至1.544Mbps之后,带宽因素就变成了一个重要的问题。
当然,也可以将延迟度量中将线路带宽因素考虑进去。
但是,第二个问题仍然存在,也就是距离矢量路由选择算法需要很长时间才能收敛到稳定状态(无穷计算的问题)。
由于这些原因,距离矢量路由选择算法被一个全新的算法所替代,该算法称为链路状态路由算法(Link State Routing)。
现在,各种各样的链路状态路由选择算法得到了广泛的应用。
隐藏在链路状态路由算法背后的思想十分简单,可以分5个部分加以描述。
每一个路由器必须完成以下的工作:
●发现它的邻节点,并知道其网络地址。
●测量到各邻节点的延迟或者开销。
●构造一个分组,分组中包含它刚知道的所有信息。
●将这个分组发送给所有其他路由器。
●计算出到每一个其他路由器的最短路径。
事实上,完整的拓扑结构和所有的延迟信息都使用实验的方法来测量,并分发给每一个路由器。
然后每个路由器用Dijkstra算法就可以找出从它到每一个其他路由器的最短路径。