在路由器方面,协议是一个重点。对于协议的学习,可以帮助我们更好地完成路由器各方面的配置和管理。那么作为基础,我们应该了解RIP协议。RIP路由协议主要就是基于routed的程序,同时routed运行在Unix系统上,当网络启用了RIP路由协议,网络便具有了能够自动更新路由表的强大功能。但是使用象RIP/RIP2、OSPF或IGRP/EIGRP等一些主要的内部网关协议(InteriorGatewayProtocol,IGP)都有一定的协定。
内部网关协议首先适合于在那些只有单个管理员负责网络操作和运行的地方;否则,将会出现配置错误导致网络性能降低或是导致网络运行不稳定的情况。对于由许多管理员共同分担责任的网络,如Internet,则考虑使用EGP协议(InteriorGatewayProtocol,外部网关协议),如BGP4。
如果网络中只有一个路由器,不需要使用RIP路由协议;只有当网络中具有多个路由器时,才有必要让它们去共享信息。但如果仅有小型网络,完全可以通过静态路由手动地更新路由表。
路由信息协议
RIP(RoutingInformationProtocol)协议基于一个被称为“routed”的程序,该程序运行在BSDI版本的Unix系统之上,并在1988年被标准化在RFC1058中。而在RFC1388中所描述的版本2中,增加了对VLSM(VariableLengthSubnetMasks,可变长子网屏蔽)的支持,但没有弥补该RIP路由协议的主要缺陷。例如,在有多重路径到相同目标的网络中,RIP确定使用一条可选择的路径将花费许多时间,在没有多重路径的网络中,RIP路由协议已经被广泛使用。
RIP路由协议被列为距离矢量协议,这意味着它使用距离来决定***路径,如通过路由跳数来衡量。路由器每30秒互相发送广播信息。收到广播信息的每个路由器增加一个跳数。如果广播信息经过多个路由器收到,到这个路由器具有***跳数的路径是被选中的路径。如果***的路径不能正常工作,那么具有较高跳数的路径被作为备份。
对于RIP路由协议(和其他路由协议),网络上的路由器在一条路径不能用时必须经历决定替代路径的过程,这个过程称为收敛(Convergence)。RIP路由协议花费大量的时间用于收敛是个主要的问题。在RIP路由协议认识到路径不能达到前,它被设为等待,直到它已错过6次更新总共180秒时间。然后,在使用新路径更新路由表前,它等待另一个可行路径的下一个信息的到来。这意味着在备份路径被使用前至少经过了3分钟,这对于多数应用程序超时是相当长的时间。
RIP为每个目的地只记录一条路由的事实要求RIP积极地维护路由表的完整性。通过要求所有活跃的RIP路由器在固定时间间隔广播其路由表内容至相邻的RIP路由器来做到这一点,所有收到的更新自动代替已经存储在路由表中的信息。
RIP依赖3个计时器来维护路由表:
·更新计时器
·路由超时计时器
·路由刷新计时器
更新计时器用于在节点一级初始化路由表更新。每个RIP节点只使用一个更新计时器。相反的,路由超时计时器和路由刷新计时器为每一个路由维护一个。如此看来,不同的超时和路由刷新计时器可以在每个路由表项中结合在一起。这些计时器一起能使RIP节点维护路由的完整性并且通过基于时间的触发行为使网络从故障中得到恢复。
1. 初始化表更新
RIP路由器每隔3 0秒触发一次表更新。更新计时器用于记录时间量。一旦时间到, RIP节点就会产生一系列包含自身全部路由表的报文。这些报文广播到每一个相邻节点。因此,每一个RIP路由器大约每隔3 0秒钟应收到从每个相邻RIP节点发来的更新。注意在更大的基于RIP的自治系统中,这些周期性的更新会产生不能接受的流量。因此,一个节点一个节点地交错进行更新更理想一些。RIP自动完成更新,每一次更新计时器会被复位,一个小的、任意的时间值加到时钟上。如果更新并没有如所希望的一样出现,说明互联网络中的某个地方发生了故障或错误。故障可能是简单的如把包含更新内容的报文丢掉了。故障也可能是严重的如路由器故障,或者是介于这两个极端之间的情况。显然,采取合适的措施会因不同的故障而有很大区别。由于更新报文丢失而作废一系列路由是不明智的(记住, RIP更新报文使用不可靠的传输协议以最小化开销)。因此,当一个更新丢失时,不采取更正行为是合理的。为了帮助区别故障和错误的重要程度,RIP使用多个计时器来标识无效路由。
2. 标识无效路由
有两种方式使路由变为无效:路由终止。路由器从其他路由器处学习到路由不可用。在任何一种情形下, RIP路由器需要改变路由表以反映给定路由已不可达。一个路由如果在一个给定时间之内没有收到更新就中止。比如,路由超时计时器通常设为180秒。当路由变为活跃或被更新时,这个时钟被初始化。180秒是大致估计的时间,这个时间足以令一台路由器从它的相邻路由器处收到6个路由表更新报文(假设它们每隔30秒发送一次路由更新),如果180秒消逝之后, RIP路由器没收到关于那条路由的更新, RIP路由器就认为那个目的I P地址不再是可达的。因此,路由器就会把那条路由表项标记为无效。通过设置它的路由度量值为1 6来实现,并且要设置路由变化标志。这个信息可以通过周期性的路由表更新来与其相邻路由器交流。
注意:对于RIP路由协议的节点而言,16等于无穷。因此,简单的设置耗费度量值为16能作废一条路由。
接到路由新的无效状态通知的相邻节点使用此信息来更新它们自己的路由表。这是路由变为无效的第二种方式。无效项在路由表中存在很短时间,路由器决定是否应该删除它。即使表项保持在路由表中,报文也不能发送到那个表项的目的地址: RIP不能把报文转发至无效的目的地。
3. 删除无效路由
一旦路由器认识到路由已无效,它会初始化一个秒计时器:路由刷新计时器。因此,在***一次超时计时器初始化后180秒,路由刷新计时器被初始化。这个计时器通常设为90秒。如果路由更新在270秒之后仍未收到( 180秒超时加上90秒路由刷新时间),就从路由表中移去此路由(也就是刷新)。而为了路由刷新递减计数的计时器称为路由刷新计时器。这个计时器对于RIP从网络故障中恢复的能力绝对必要。
主动和被动站点
注意到为了使RIP互联网络正常工作,网络中的每一个网关必须参与进去这一点很重要。参与可以是主动参与也可以是被动参与,但所有的网关必须参与。主动节点是那些主动地进行共享路由信息的节点。它们从相邻者处接收更新,并且转发它们的路由表项拷贝至那些相邻节点。被动站点从相邻者处接收更新,并且使用那些更新来维护它们的路由表。然而被动节点不主动地发布它们自己路由表项的拷贝。被动维护路由表的能力在硬件路由器出现之前的日子里是特别有用的特性,那时路由是一个运行在UNIX处理器下的后台程序,这样会使UNIX主机上的路由开销达到最小。