RIP-2保留了RFC-1058中定义的"命令字"、"地址族标志符"、"IP地址"、"度量值"等域.

没有最好只有更好!在基于IPv4的RIP-1,RIP-2不断完善的状态下,IPv4虽然将一个成熟的互联网架构支撑了20年之久,但人们早已形成共识,那就是IPv6最终取代IPv4是大势所趋:128位地址格式所支持的IP地址数量可以彻底解决地址枯竭的问题;IPv4地址空间匮乏,路由选择效率差,安全性差,移动性差,服务质量保证差.所有这些IPv4问题将毫不犹豫地要求IPv6协议解决,于是Ripngv6版本)将要,也必然会成为宠儿.

Ripng虽然隶属RIP家族,但毕竟它经历了一场变革.与RIP-1,RIP-2在各个方面都有差别:使用端口不同;分组格式不同;最大报文长度不同;下一跳不同;编址考虑不同;特殊请求不同;安全考虑不同.

Ripng与RIP-2均有下一跳的说法,但是RIP-2的下一跳是固化在包格式之中的,也就是说下一跳无论添不添都给它留4个字节的空间.而Ripng把下一跳nexthop)与路由表项分开,使用"度量域"中的值来判断究竟是下一跳还是路由表项,若值是0xff则说明是下一跳!采用这种方法在无须添写下一跳信息时,则可以省略不添,从而节省了宝贵空间.

在Ripng与RIP协议改头换面的变化中,还有一个重大的变化!那就是在RIP-2包格式中有"子网掩码域",而在Ripng中用一个字节的前缀长度代替了"子网掩码域"的功能,虽然这与IPv6协议的特点有着不可分割的关系,但是就其布局的合理性、优美性、简化性也足可以使我们优先考虑使用它.

三、Ripng的实现

Ripng的实现分为六个功能模块,即Ripng的启动、Ripng的关闭、输入处理、输出处理、定时器处理及路由操作,如图3所示.

图3Ripng模块组成

Ripng启动模块:完成Ripng协议的初始化工作,建立通信套接口;Ripng关闭模块:通知内核删除由RIPng进程导入的路由、释放Ripng进程占用的内存空间;输入处理模块:把Ripng当作一个黑盒子来处理,邻居所发送的数据包都是向该黑盒投放的信息,该模块主要是对这些信息进行相应处理;输出处理模块:输出处理主要包括周期更新和触发更新的处理;定时器处理模块:负责维护RIP中为支持寻路操作使用的三个定时器,同时还要负责处理触发更新中为防止广播风暴引入的定时机制;路由操作模块:负责路由条目的处理和路由表的查找和添删.

Ripng作为解决未来IPv6网络路由的首选,其简单内部网关协议有强大的优势和无限的潜力.一个优秀的路由技术,不仅仅是为数据传输找到一条高速的通道就行,还需要考虑所选路径的传输容量和服务质量,即具有QoS能力的路由算法,并且还要分析全网负荷,以平衡网络中各条通道的数据流量.在这些诸多因素考虑的基础上研究基于IPv6的Ripng路由协议正是我们今后研究的热点和重点.


相关内容