“交换”与“路由”的对比( 三 )


路由算法有动静之分 , 静态路由是一种非凡的路由 , 它是由治理员手工设定的 。手工配置所有的路由虽然可以使网络正常运转 , 但是也会带来一些局限性 。网络拓扑发生变化之后 , 静态路由不会自动改变 , 必须有网络治理员的介入 。缺省路由是静态路由的一种 , 也是由治理员设置的 。在没有找到目标网络的路由表项时 , 路由器将信息发送到缺省路由器(gateway of last resort) 。而动态的算法 , 顾名思义 , 是由路由器自动计算出的路由 , 常说的RIP、OSPF等等都是动态算法的典型代表 。
另外还可以将路由算法分为DV和LS两种 。DV(Distance , 距离向量)算法将当前路由器的路由信息传送给相邻路由器 , 相邻路由器将这些信息加入自身的路由表 。而LS(Link State , 链路状态)算法将链路状态信息传给域内所有的路由器 , 接收路由器利用这些信息构建网络拓扑图 , 并利用图论中的最短路径优先算法决定路由 。相比之下 , 距离向量算法比较简单 , 而链路状态算法较为复杂 , 占用的CPU和内存也要多一些 。但是由于链路状态算法采用的是自身的计算结果 , 所以比较不轻易产生路由循环 。RIP是DV类算法的典型代表 , 而OSPF是LS的代表协议 。
四种最常见路由协议是RIP、IGRP、OSPF和EIGRP 。
RIP(Routing Information Protocols , 路由信息协议)是使用最广泛的距离向量协议 , 它是由施乐(Xerox)在70年代开发的 。当时 , RIP是XNS(Xerox Network Service , 施乐网络服务)协议簇的一部分 。TCP/IP版本的RIP是施乐协议的改进版 。RIP最大的特点是 , 无论实现原理还是配置方法 , 都非常简单 。RIP基于跳数计算路由 , 并且定期向邻居路由器发送更新消息 。
IGRP是CISCO专有的协议 , 只在CISCO路由器中实现 。它也属于距离向量类协议 , 所以在很多地方与RIP有共同点 , 比如广播更新等等 。它和RIP最大的区别表现在度量方法、负载均衡等几方面 。IGRP支持多路径上的加权负载均衡 , 这样网络的带宽可以得到更加合理的利用 。另外 , 与RIP仅使用跳数作为度量依据不同 , IGRP使用了多种参数 , 构成复合的度量值 , 这其中可以包含的因素有:带宽、延迟、负载、可靠性和MTU(最大传输单元)等等 。
OSPF协议是80年代后期开发的 , 90年代初成为工业标准 , 是一种典型的链路状态协议 。OSPF的主要特性包括:支持VLSM(变长的子网掩吗)、收敛迅速、带宽占用率低等等 。OSPF协议在邻居之间交换链路状态信息 , 以便路由器建立链路状态数据库(LSD) , 之后 , 路由器根据数据库中的信息利用SPF(Shortest Path First , 最短路径优先)算法计算路由表 , 选择路径的主要依据是带宽 。
EIGRP是IGRP的增强版 , 它也是CISCO专有的路由协议 。EIGRP采用了扩散更新(DUAL)算法 , 在某种程度上 , 它和距离向量算法相似 , 但具有更短的收敛时间和更好的可操作性 。作为对IGRP的扩展 , EIGRP支持多种可路由的协议 , 如IP、IPX和AppleTalk等等 。运行在IP环境时 , EIGRP还可以与IGRP进行平滑的连接 , 因为它们的度量方法是一致的 。
以上四种路由协议都是域内路由协议 , 他们通常使用在自治系统的内部 。当进行自治系统间的连接时 , 往往采用诸如BGP(Border Gateway Protocols , 边界路由协议)和EGP(External Gateway Protocols , 外部路由协议)这样的域间路由协议 。目前在Internet上使用的域间路由协议是BGP第四版 。
收敛是路由算法选择时所碰到的一个重要问题 。收敛时间是指从网络的拓扑结构发生变化到网络上所有的相关路由器都得知这一变化 , 并且相应地做出改变所需要的时间 。这一时间越短 , 网络变化对全网的扰动就越小 。收敛时间过长会导致路由循环的出现 。

推荐阅读