网络路由技术基础( 二 )


适用性强
最优性是指路由算法选择最佳路径的能力,这主要取决于计算最佳路径所使用的度量标准 。举例来说,一种路由算法可以同时采用数据包经过路由器的跳数和时延作为度量标准,而其中又以时延为主要标准 。每一种路由协议都必须严格定义度量值的计算方法 。
路由协议的设计应当尽可能的简单 。换句话说,路由算法必须能够以最有效的方式发挥其功能,最大程度的降低软件和使用开销 。尤其是当实现路由算法的软件只能在资源有限的机器上运行时,有效性就变得更为重要 。
路由算法必须具有良好的健壮性,能够在出现异常或突发事件(例如硬件损坏,负载过高以及执行错误等)时正常运行 。因为路由器往往是网络的连接节点,所以假如出现问题将会带来非常严重的后果 。因此,最好的路由算法应当能够经受时间的考验,在不同的网络条件下都能够保持稳定的运行状态 。
路由算法还应当能够快速聚敛 。所谓聚敛就是指所有路由器就最优路径重新达成一致的过程 。当因为某种原因使路由器出现问题而无法继续正常使用时,路由器会发出路由更新信息传遍整个网络,重新计算最优路径,并最终使所有路由器就新路径达成一致 。聚敛速度慢的路由算法可能会导致路由回路的出现 。
在下图所示的路由回路中,一个数据包在时间t1到达路由器1 。因为路由器1中的信息已经被更新,所以该路由器知道到达数据包目的地的最优路径应当通过路由器2 。因此,路由器1把数据包转发到路由器2 。但是路由器2中的信息没有被更新,所以仍然认为最优路径应当通过路由器1,并因此把数据包又转发回路由器1 。这样,数据包只能在两台路由器之间往返传递,直到路由器2接收到了路由更新信息或者数据包超出了最大存活时间 。
路由算法还应当具有非常好的适应性,能够快速准确的适应不同的网络环境 。例如,假设某一个网段出现问题,许多路由协议都可以快速的选择新的最佳路径替代已经无法使用的原由路径 。路由算法应当能够通过编程,适应网络带宽,网络时延等参数变量的变化 。
算法类型
路由算法可以被划分成许多不同的类型 。主要的分类标准如下:
静态vs动态
单路径vs多路径
单层结构vs分层结构
主机智能vs路由器智能
域间vs域内
链路状态vs距离向量
静态vs动态
静态路由算法并不是一种真正意义上的路由算法,而只是由网络治理员在启动网络路由功能之前预先建立起来的路由映射表 。除非治理员人为修改,否则映射表的内容不会发生任何变化 。使用静态路由的算法在设计上非常简单,主要适合在那些数据流量的可猜测性强,网络结构相对简单的环境中使用 。
因为静态路由系统无法对网络变化作出响应,所以对今天的大型,动态网络来说并不适用 。目前所使用的绝大多数的主流路由算法都是动态路由算法,可以通过分析接收到的路由更新信息针对变化的网络环境作出相应的调整 。假如网络发生变化,路由软件就会重新计算新路由,并将新的路由更新信息发送出去 。更新信息可以传遍整个网络,所有接收到该信息的路由器都会重新执行各自的路由算法,对路由表作出相应的修改 。
静态路由和动态路由并不是完全对立的,在适当的环境下,两者可以有机的结合在一起,互为补充 。例如,我们可以创建静态路由,指定一台专门的路由器作为最后诉求(last resort)路由器来接收所有无法被正确路由的数据包,这样,我们就可以保证所有的信息都能够以某种方式被处理 。

推荐阅读