词条 | RIPng |
释义 | RIPng:路由选择信息协议下一代(应用于IPv6) (RIPng:RIP for IPv6) 下一代路由选择信息协议(RIPng,应用于 IPv6)是一种基于 IPv6 网络协议和算法的协议。在国际性网络中,如因特网,拥有很多应用于整个网络的路由选择协议。形成网络的每一个自治系统(AS),都有属于自己的路由选择技术,不同的自治系统,路由选择技术也不同。自治系统内部的路由选择协议称为内部网关协议(IGP)。外部网关协议(EGP)是一种用于在自治系统之间传输路由选择信息的协议。 RIPng 在中等规模的 AS 中被用作 IGP 协议。对于较复杂的网络环境, RIPng 不适用。 RIPng 是一种距离向量(Distance Vector)算法。此协议所用的算法早在 1969 年, ARPANET 就用其来计算路由。然而该协议最初属于 XEROX 网络协议。 PUP 协议通过网关信息协议交换路由选择信息,而 XNS 则采用该协议的更新版本,命名为路由选择信息协议(RIP)实现路由选择信息交换。 Berkeley 的路由协议很大程度上与 RIP 相同,即能够处理 IPV4 及其它地址类型的通用地址格式取代了 XNS 地址,同时路由选择每隔 30 秒更新一次。正是因为这种相似性, RIP 既适用于 XNS 协议,也适用于路由类协议。 关于 IPV4 网络,路由选择信息协议即指 RIP / RIP2,具体内容可参照相关说明。本文主要阐述 RIPng 。 关于 IPV6 网络,路由选择信息协议即指 RIPng RIPng报文格式 RIPng是基于UDP的协议,并且使用端口号521发送和接收数据报。RIPng报文大致可分为两类:选路 信息报文和用于请求信息的报文。它们都使用相同的格式,由固定的首部和路由表项RTE(Route Table Entry)组成,其中路由表项可以有多个。 RIPng工作原理 路由器通常不会主动发出请求报文来进行路由请求,路由请求通常只是在路由器刚启动或是路由器正在寻找路由信息时才会发出请求报文以获得响应。路由器在查询响应、周期更新、触发更新三种情况下会收到响应报文。路由器根据响应报文判断是否对本地路由表进行更新。由于响应报文可能对本地路由表进行改动,因此对报文的来源必须进行严格的检查,以确认报文的合法性。 众所周知,基于距离矢量算法的路由协议会产生慢收敛和无限计数问题,这样就引发了路由的不一致。RIPng使用水平分割技术、毒性逆转技术、触发更新技术来解决这些问题,但是这些技术的引入,同时又带来了另一些问题,如采用触发更新技术后,如果不对产生的报文进行合理的控制,很容易产生广播风暴。 路由器周期性的报文广播和触发更新给网络造成很多额外的负载,为减少路由信息的数量,RIPng可以采用多播技术发送更新报文,同时利用一个小的随机时延对触发更新报文进行抑制。 介绍RIPng的工作原理就不能不提到定时器,定时器在RIPng中起着非常重要的作用,RIPng使用定时器来实现路由表的更新、报文的发送。周期性的报文广播是由定时器实现的,另外为防止路由表长时间未更新而失效,每个路由表项有两个定时器与之相联系,超时的路由表项最终将会被删除,以防止路由器广播和使用已经失效的路由。RIPng中使用的定时器主要有以下三个: 启动周期性广播的定时器。此定时器被设置成25s到35s之间的任一随机数。这样设置的目的是为了避免网络上所有路由器以相同的定时发送更新报文,利用随机间隔可以均衡通信量,从而减少路由器之间发生冲突的可能性。 期满定时器。路由器只要收到通往特定信宿路由,就对通往该信宿的期满定时器初始化。期满定时器被设定为180s,如果一条路由在期满定时器超时前未得到相关报文的更新,则该条路由不再有效,但仍保留在路由表中,以便通知其他路由器这条路由已经失效。 垃圾收集定时器。路由器对无效路由打上尺度为无穷大的无效标记并将垃圾收集定时器初始化。此时,定时器被设置为120s,在这段时间内这些路由仍然会被路由器周期性地广播,这样相邻路由器就能迅速从路由表中删除该路由。 RIPv1 RIPv2和RIPng的比较 根据上面的介绍,我们应该看到RIPng的目标并不是创造一个全新的协议,而是对RIP进行必要的改造以使其适应IPv6下的选路要求,因此RIPng的基本工作原理同RIP是一样的,其主要的变化在地址和报文格式方面。下面列举了一些RIPv1、RIPv2与RIPng之间的主要区别: 1. 地址版本。RIPv1、RIPv2是基于IPv4的,地址域只有32bit,而RIPng基于IPv6,使用的所有地址均为128bit。 2. 子网掩码和前缀长度。RIPv1被设计成用于无子网的网络,因此没有子网掩码的概念,这就决定了RIPv1不能用于传播变长的子网地址或用于CIDR的无类型地址。RIPv2增加了对子网选路的支持,因此使用子网掩码区分网络路由和子网路由。IPv6的地址前缀有明确的含义,因此RIPng中不再有子网掩码的概念,取而代之的是前缀长度。同样也是由于使用了IPv6地址,RIPng中也没有必要再区分网络路由、子网路由和主机路由。 3. 协议的使用范围。RIPv1、RIPv2的使用范围被设计成不只局限于TCP/IP协议簇,还能适应其他网络协议簇的规定,因此报文的路由表项中包含有网络协议簇字段,但实际的实现程序很少被用于其他非IP的网络,因此RIPng中去掉了对这一功能的支持。 4. 对下一跳的表示。RIPv1中没有下一跳的信息,接收端路由器把报文的源IP地址作为到目的网络路由的下一跳。RIPv2中明确包含了下一跳信息,便于选择最优路由和防止出现选路环路及慢收敛。与RIPv2不同,为防止RTE过长,同时也是为了提高路由信息的传输效率,RIPng中的下一跳字段是作为一个单独的RTE存在的。 5. 报文长度。RIPv1、RIPv2中对报文的长度均有限制,规定每个报文最多只能携带25个RTE。而RIPng对报文长度、RTE的数目都不作规定,报文的长度是由介质的MTU决定的。RIPng对报文长度的处理,提高了网络对路由信息的传输效率。 6. RIPng使用FF02::9这个地址进行组播更新。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。