当网络启用了路由协议,网络便具有了能够自动更新路由表的强大功能。但是使用象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树所需的时间取决于网络规模的大小。因为这些计算,路由器运行OSPF需要占用更多CPU资源。
一种弥补OSPF协议占用CPU和内存资源的方法是将网络分成独立的层次域,称为区域(Area)。每个路由器仅与它们自己区域内的其它路由器交换LSA。Area0被作为主干区域,所有区域必须与Area0相邻接。在ABR(区域边界路由器,AreaBorderRouter)上定义了两个区域之间的边界。ABR与Area0和另一个非主干区域至少分别有一个接口。最优设计的OSPF网络包含通过VLSM与每个区域邻接的主干网络。这使得在路由表的一个条目中描述多个网络成为可能。
虽然OSPF协议是RIP协议强大的替代品,但是它执行时需要更多的路由器资源。假如网络中正在运转的是RIP协议,并且没有发生任何问题,仍然可以继续使用。但是假如想在网络中利用基于标准协议的多余链路,OSPF协议是更好的选择。
增强内部网关路由协议
在Cisco公司的产品中,EIGRP(EnhancedInteriorGatewayRontingProtocol)协议具有一些优势。最重要的是它能迅速广播链路状态的变化。但EIGRP协议的最大缺点是没有标准化。
与OSPF协议一样,EIGRP路由器寻找它们的邻接路由器并交换“hello”数据包。EIGRP协议每隔5秒传送“hello”数据包。假如失败3次,邻接路由器则被认为是宕机状态,替代的路径将被使用。
当本地路由器的链路状态发生变化,在新信息基础上它将重新计算拓扑结构表。OSPF协议此时将立即向网络中的每个路由器广播链路状态的变化,而EIGRP协议将仅仅涉及到被这些变化直接影响的路由器。这使带宽和CPU资源的利用效率更高。同时,由于EIGRP协议使用了不到50%的带宽,使得在低带宽WAN链路上具有很大优势。EIGRP协议的另一个优势是它支持Novell/IPX和AppleTalk环境。假如网络正在运行的是IGRP协议,那么转换到EIGRP协议比转换到OSPF协议要轻易的多。