如何选择路由协议
当网络启用了路由协议,网络便具有了能够自动更新路由表的强大功能。但是使用象RIP/RIP2、OSPF或IGRP/EIGRP等一些主要的内部网关协议(InteriorGatewayProtocol,IGP)都有一定的协定。
内部网关协议首先适合于在那些只有单个管理员负责网络操作和运行的地方;否则,将会出现配置错误导致网络性能降低或是导致网络运行不稳定的情况。对于由许多管理员共同分担责任的网络,如Internet,则考虑使用EGP协议(InteriorGatewayProtocol,外部网关协议),如BGP4。
如果网络中只有一个路由器,不需要使用路由协议;只有当网络中具有多个路由器时,才有必要让它们去共享信息。但如果仅有小型网络,完全可以通过静态路由手动地更新路由表。
路由信息协议
RIP(RoutingInformationProtocol)协议基于一个被称为“routed”的程序,该程序运行在BSDI版本的Unix系统之上,并在1988年被标准化在RFC1058中。而在RFC1388中所描述的版本2中,增加了对VLSM(VariableLengthSubnetMasks,可变长子网屏蔽)的支持,但没有弥补该协议的主要缺陷。例如,在有多重路径到相同目标的网络中,RIP确定使用一条可选择的路径将花费许多时间,在没有多重路径的网络中,RIP协议已经被广泛使用。
RIP协议被列为距离矢量协议,这意味着它使用距离来决定最佳路径,如通过路由跳数来衡量。路由器每30秒互相发送广播信息。收到广播信息的每个路由器增加一个跳数。如果广播信息经过多个路由器收到,到这个路由器具有最低跳数的路径是被选中的路径。如果首选的路径不能正常工作,那么具有较高跳数的路径被作为备份。
对于RIP协议(和其他路由协议),网络上的路由器在一条路径不能用时必须经历决定替代路径的过程,这个过程称为收敛(Convergence)。RIP协议花费大量的时间用于收敛是个主要的问题。在RIP协议认识到路径不能达到前,它被设为等待,直到它已错过6次更新总共180秒时间。然后,在使用新路径更新路由表前,它等待另一个可行路径的下一个信息的到来。这意味着在备份路径被使用前至少经过了3分钟,这对于多数应用程序超时是相当长的时间。
RIP协议的另一个基本问题是,当选择路径时它忽略了连接速度问题。例如,如果一条由所有快速以太网连接组成的路径比包含一个10Mbps以太网连接的路径远一个跳数,具有较慢10Mbps以太网连接的路径将被选定作为最佳路径。
RIP协议的原始版本不能应用VLSM,因此不能分割地址空间以最大效率地应用有限的IP地址。RIP2协议通过引入子网屏蔽与每一路由广播信息一起使用实现了这个功能。
路由协议还应该能防止数据包进入循环,或落入路由选择循环,这是由于多余连接影响网络的问题。RIP协议假定如果从网络的一个终端到另一个终端的路由跳超过15个,那么一定牵涉到了循环。因此当一个路径达到16跳,将被认为是达不到的。显然,这限制了RIP协议只能在网络上的使用。
RIP的最大问题涉及到具有多余路径的较大网络。如果网络没有多余的路径,RIP协议将很好地工作,它是被几乎每个支持路径选择的厂商实施的Internet标准。RIP协议适用于多数服务器操作系统,它的配置和障碍修复非常容易。对于规模较大的网络,或具有多余路径的网络,应该考虑使用其它路由协议。
OSPF2
OSPF2是类似RIP协议的Internet标准,可以弥补RIP协议的缺点。1991年在RFC1247中它被第一次标准化;最新的版本是在RFC2328中。但是与RIP协议不同,OSPF是一套链路状态路由协议,这意
味着路由选择的变化基于网络中路由器物理连接的状态与速度,并且变化被立即广播到网络中的每一个路由器。
当一个OSPF路由器第一次被激活,它使用OSPF的“hello协议”来发现与它连接的邻节点,然后用LSA(链路状态广播信息)等和这些路由器交换链路状态信息。每个路由器都创建了由每个接口、对应邻节点和接口速度组成的数据库。每个路由器从邻接路由器收到的LSA被继续向各自的邻接路由器传递,直到网络中的每个路由器收到了所有其它路由器的LSA。
链路状态数据库不同于路由表,根据数据库中的信息,每个路由器计算到网络的每一目标的一条路径,创建以它为根的路由拓扑结构树,其中包含了形成路由表基础的最短路径优先树(SPF树)。LSA每30分钟被交换一次,除非网络拓扑结构有变化。例如,如果接口变化,信息立刻通过网络广播;如果有多余路径,收敛将重新计算SPF树。计算SPF树所需的时间取决于网络规模的大小。因为