本节书摘来自异步社区《IP路由协议疑难解析》一书中的第2章,第2.10节,作者 【美】Zaheer Aziz, CCIE #4127 , Johnson Liu, CCIE #2637 , Abe Martey, CCIE #2373 , Faraz Shamim, CCIE #4131,更多章节内容可以访问云栖社区“异步社区”公众号查看
IP路由协议疑难解析RIP版本2(RIP-2)增强并改进了RIP-1的功能。RIP-2支持VLSM和非连续网络,其增强功能如下所列:
支持路由标记;支持子网掩码;支持下一跳度量值。支持用多播发送协议数据包。支持认证。图2-10所列为RIP-2数据包的格式。本节会详述RIP-2的每一项增强功能,以及新的协议数据包字段。
路由标记字段为两字节,可利用这两个字节为RIP路由分配一个唯一的整数标记值。在路由表的输出中可以看到为每条RIP路由分配的路由标记值(前提是为RIP路由分配了路由标记值)。将路由重分发进RIP时,路由标记会起到非常重要的作用。要想区分出RIP路由到底属于“内部路由”还是“外部路由”,就必须让重分发进RIP的路由携带路由标记。
只要为重分发进RIP的路由分配了路由标记值,在向其他路由协议执行重分发操作时,就可以很方便地根据路由标记值来控制路由。此时,路由器只需检查RIP路由的标记值,而不用逐一“核对”每条RIP路由了。
假设,在路由器A上,把10条静态路由重分发进RIP,并让此类路由携带路由标记值20。这10条(经过重分发的)静态路由将一律携带路由标记值20,并以外部路由的方式在RIP路由进程域内传播。若在路由器B上,需要把RIP路由重分发进OSPF,但要求是只能对那10条(经过重分发的)静态路由执行重分发操作,此时,只须简单地匹配路由标记值20,而不用再通过路由重分发命令逐一列出全部10条静态路由了。此外,要是在路由器C上需要把OSPF路由再重分发进RIP,在配置时,应拒绝路由标记值为20的路由传播进RIP路由进程域。因此,还可以利用路由标记来避免IP路由环路。
与RIP-1不同,RIP-2路由更新消息包含IP网络号和子网掩码信息。若使用可变长子网掩码技术对某IP网络进行了划分,向邻居通告路由时,RIP-2路由器会在路由更新消息中填入各个子网的子网掩码。尽管路由更新消息中所包含的子网掩码长度可变(如/8、/15及/24等),但网络中的RIP-2路由器仍会在路由表中安装相应的路由。
由于RIP-2支持VLSM,因此该协议能够“理解”非连续网络。非连续网络是指某个IP主类网络被另一IP地址块分隔。因RIP-2路由更新可传播子网掩码信息,故RIP-2路由器所收路由都包含实际的掩码信息,自然也能够将流量正确转发至相应目的网络。
(在RIP路由更新消息中)添加下一跳字段的作用是,让流量少走“弯路”。要是读者熟悉OSPF的话,就应该知道,在作用方面,RIP路由更新消息中的下一跳字段,与OSPF自制系统外部LSA中的转发地址字段非常相似。
如图2-11所示,路由器2、5运行OSPF,路由器2、3及两者身后的其他路由器都运行RIP。在路由器2上执行了OSPF和RIP间的路由重分发操作。现在,当路由器2收到路由器1发出的目的地址隶属于OSPF网络的数据包时,会将包转发至路由器5。
当路由器3收到路由器4发出的目的地址相同的数据包时,若路由器3不掌握相应路由的下一跳信息(假定运行的是RIP-1),就会将包先转发至路由器2,因为路由器2是重分发点,会通告经过重分发的OSPF路由。然后,再由路由器2将包发送至路由器5。对路由器3来说,可直接将包送达OSPF网络中的路由器5,“绕道”路由器2纯属多余。在RIP数据包中引入下一跳字段之后,路由器2在向路由器3通告目的地址隶属于OSPF网络的路由时,会将其下一跳地址设置为路由器5而非路由器2的IP地址。如此一来,当路由器3收到发往OSPF网络的流量时,就不会再转发至路由器2,而会直接转发给路由器5。
RIP-2路由器向其邻居发送路由更新时,会使用多播。这大大降低了网络中不必要的广播流量。RIP-2路由器用来发送路由更新的多播IP地址是224.0.0.9。
网络中运行RIP-2的所有设备都会侦听目的IP地址为224.0.0.9,目的MAC地址为01-00-5E-00-00-09的RIP-2多播数据包。不运行RIP-2的设备根本收不到RIP-2路由更新,从而减少了资源消耗。
RIP-2支持简单密码认证,来确认RIP-2邻居是否可信。RIP-2路由器会检查RIP-2数据包中的地址家族标识符(AFI)字段,来判断是否启用了认证。RIP-2数据包中的AFI字段用来确定“认证类型”字段之后的16个字节会出现哪种(地址家族的)地址。
若AFI字段值为0xFFFF,则表明“认证类型”字段之后的16个字节包含的都是认证信息。
图2-12所示为启用认证时的RIP数据包格式。
1图2-11名为“RIP-2 Packet Format”,简直匪夷所思。—译者注
