1 RIP
1.1 RIP简介
RIP(Routing Information Protocol,路由信息协议)是一种基于距离矢量(Distance-Vector)算法的内部网关协议(Interior Gateway Protocol,IGP),它通过UDP报文进行路由信息的交换,使用的端口号为520。RIP适用于小型网络。
1.1.1 RIP的路由度量值
RIP使用跳数来衡量到达目的地址的距离,跳数称为度量值。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。由于这个限制,使得RIP不适合应用于大型网络。
1.1.2 RIP的路由数据库
每个运行RIP的路由器管理一个路由数据库,该路由数据库包含了到所有可达目的地的路由项,这些路由项包含下列信息:
·目的地址:主机或网络的地址。
·下一跳地址:为到达目的地,需要经过的相邻路由器的接口IP地址。
·出接口:本路由器转发报文的出接口。
·度量值:本路由器到达目的地的开销。
·路由时间:从路由项最后一次被更新到现在所经过的时间,路由项每次被更新时,路由时间重置为0。
·路由标记(Route Tag):用于标识外部路由,在路由策略中可根据路由标记对路由信息进行灵活的控制。关于路由策略的详细信息,请参见“三层技术-IP路由配置指导”中的“路由策略”。
1.1.3 RIP的运行过程
RIP的运行过程如下:
(1) 路由器启动RIP后,便会向相邻的路由器发送请求报文(Request message),相邻的RIP路由器收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文(Response message)。
(2) 路由器收到响应报文后,更新本地路由表,同时向相邻路由器发送触发更新报文,通告路由更新信息。相邻路由器收到触发更新报文后,又向其各自的相邻路由器发送触发更新报文。在一连串的触发更新广播后,各路由器都能得到并保持最新的路由信息。
(3) 路由器周期性向相邻路由器发送本地路由表,运行RIP协议的相邻路由器在收到报文后,对本地路由进行维护,选择一条最佳路由,再向其各自相邻网络发送更新信息,使更新的路由最终能达到全局有效。同时,RIP采用老化机制对超时的路由进行老化处理,以保证路由的实时性和有效性。
1.1.4 RIP防止路由环路的机制
RIP协议向邻居通告的是自己的路由表,有可能会发生路由环路,可以通过以下机制来避免:
·计数到无穷(Counting to infinity):将度量值等于16的路由定义为不可达(infinity)。在路由环路发生时,某条路由的度量值将会增加到16,该路由被认为不可达。
·触发更新(Triggered Updates):RIP通过触发更新来避免在多个路由器之间形成路由环路的可能,而且可以加速网络的收敛速度。一旦某条路由的度量值发生了变化,就立刻向邻居路由器发布更新报文,而不是等到更新周期的到来。
·水平分割(Split Horizon):RIP从某个接口学到的路由,不会从该接口再发回给邻居路由器。这样不但减少了带宽消耗,还可以防止路由环路。
·毒性逆转(Poison Reverse):RIP从某个接口学到路由后,将该路由的度量值设置为16(不可达),并从原接口发回邻居路由器。利用这种方式,可以清除对方路由表中的无用信息。
1.1.5 RIP的版本
RIP有两个版本:RIP-1和RIP-2。
RIP-1是有类别路由协议(Classful Routing Protocol),它只支持以广播方式发布协议报文。RIP-1的协议报文无法携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1不支持不连续子网(Discontiguous Subnet)。
RIP-2是一种无类别路由协议(Classless Routing Protocol),与RIP-1相比,它有以下优势:
·支持路由标记,在路由策略中可根据路由标记对路由进行灵活的控制。
·报文中携带掩码信息,支持路由聚合和CIDR(Classless Inter-Domain Routing,无类域间路由)。
·支持指定下一跳,在广播网上可以选择到最优下一跳地址。
·支持组播路由发送更新报文,只有RIP-2路由器才能收到更新报文,减少资源消耗。
·支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。
RIP-2有两种报文传送方式:广播方式和组播方式,缺省将采用组播方式发送报文,使用的组播地址为224.0.0.9。当接口运行RIP-2广播方式时,也可接收RIP-1的报文。
1.1.6 TRIP
TRIP(Triggered RIP,触发路由信息协议)是RIP协议在WAN(Wide Area Network,广域网)上的扩展,主要应用于拨号网络。
1. 工作机制
在WAN连接中,为了将路由管理开销减到最小,路由信息被当作触发更新发送而不是定期广播。只有当路由表中数据有所变更,或者当下一跳不可达时,才发送路由更新。由于取消了周期性发送路由更新报文,因此需要采用确认和重发机制来保证更新报文在广域网上的成功发送和接收。
2. 报文类型
TRIP为此引入了3种新的报文类型,并通过RIP报文头部的Command字段来区分。
·Update Request(更新请求):类型值为9,请求对端发送所需要的路由表信息。
·Update Response(更新应答):类型值为10,包含对端所需要的路由更新信息。
·Update Acknowledge(更新确认):类型值为11,对收到的Update Response报文进行确认,表示已收到对端发送的路由更新信息。
3. TRIP重传机制
·路由器向邻居路由器发送Update Request报文后,如果一直没有收到从邻居回复的Update Response报文,则每隔一段时间间隔向邻居重新发送Update Request报文。
·路由器向邻居路由器发送Update Response报文后,如果一直没有收到从邻居回复的Update Acknowledge报文,路由器则每隔一段时间间隔向邻居重新发送Update Response报文。如果向邻居发送Update Response报文的次数超过了限制的次数仍没有收到Update Acknowledge报文,则当前路由器会认为邻居路由器不可达。
1.1.7 协议规范
与RIP相关的协议规范有:
·RFC 1058:Routing Information Protocol
·RFC 1723:RIP Version 2 - Carrying Additional Information
·RFC 1721:RIP Version 2 Protocol Analysis
·RFC 1722:RIP Version 2 Protocol Applicability Statement
·RFC 1724:RIP Version 2 MIB Extension
·RFC 2082:RIP-2 MD5 Authentication
·RFC 2091:Triggered Extensions to RIP to Support Demand Circuits
·RFC 2453:RIP Version 2