RIPng原理介绍和应用:RIPng和RIP的区别
RIPng原理介绍和应用:RIPng和RIP的区别
RIPng(RIP next generation)是RIP协议在IPv6网络中的扩展版本,主要用于中小型IPv6网络的路由选择。本文将详细介绍RIPng的工作原理、报文格式及其与RIP的主要区别。
RIPng简介
RIPng是对IPv4网络中RIP version 2协议在IPv6网络上的扩展,大多数RIP的概念都可以应用于RIPng。RIPng协议基于D-V(Distance Vector,距离矢量)算法,用跳数来衡量到达目的主机的距离(也称为度量值或开销)。在RIPng协议中,从一个设备到其直连网络的跳数为0,到通过另一台设备可达的网络的跳数为1,如此类推,当跳数大于或等于16时,目的网络或主机就被定义为不可达。
为了在IPv6网络中应用,RIPng对原有的RIP协议进行了以下修改:
- UDP端口号:使用UDP的521端口(RIP使用520端口)发送和接收路由信息。
- 组播地址:使用FF02::9作为链路本地范围内的RIPng设备组播地址。
- 前缀长度:目的地址使用128比特的前缀长度(掩码长度)。
- 下一跳地址:使用128比特的IPv6地址。
- 源地址:使用链路本地地址FE80::/10作为源地址发送RIPng路由信息更新报文。
RIPng原理描述
RIPng协议是对RIP Version 2协议在IPv6网络上的扩展,RIPng使用与RIP Version 2相同的定时器。RIPng支持水平分割、毒性逆转和触发更新,用以避免路由环。
RIPng报文格式
RIPng报文由头部(Header)和多个路由表项RTEs(Route Table Entry)组成。在同一个RIPng报文中,RTE的最大数目根据接口的MTU值来确定。
RIPng报文格式
RIPng报文各字段含义如下:
- Command:该字段用于标识RIPng报文的类型。取值为1表示为Request报文,取值为2表示Response报文。
- Version:RIPng的版本号,该字段取值为1。
- Must be zero:在RIPng中,该字段取值为1。
- RTE(Route Table Entry):路由表项。
在RIPng里有两类RTE,分别是:
- 下一跳RTE:位于一组具有相同下一跳的“IPv6前缀RTE”的最前面,它定义了下一跳的IPv6地址。通常为0xFF。
- IPv6前缀RTE:位于某个“下一跳RTE”的后面,同一个“下一跳RTE”的后面可以有多个不同的“IPv6前缀RTE”。它描述了RIPng路由表中的目的IPv6地址及开销。
下一跳RTE的格式如图所示。
IPv6前缀RTE的格式如图所示。
IPv6前缀RTE格式各字段含义如下:
- IPv6 prefix:目的IPv6地址的前缀。
- Route tag:路由标记,用来区分外部路由。
- Prefix len:IPv6地址的前缀长度。
- Metric:路由的度量值。
路由聚合
产生原因
在大规模网络中,RIPng路由表的条目过多,不仅会占用系统资源,另外如果某IP地址范围内的链路频繁Up和Down也会导致路由振荡。RIPng路由聚合通过将多条同一个自然网段内的不同子网的路由在向其他网段发送时聚合成一个网段的路由发送,并只对外通告聚合后的路由,有效减少路由表中的条目,减少对系统资源的占用,同时也避免网络中的路由振荡。
实现过程
RIPng的路由聚合是在接口上实现的,在指定RIPng接口上配置路由聚合功能后,该接口发布出去的路由会按最长匹配原则聚合后发布出去,并且,聚合后的路由的度量值取原多条路由中最小值。
例如,RIPng可以要从某接口发布出去的路由有两条:2001:db8:11::24(Metric=2)和2001:db8:12::34(Metric=3),接口配置路由聚合功能后,得到的聚合路由为2001:db8::0/16,则最终发布出去的路由为2001:db8::0/16(Metric=2)。
多进程和多实例
为了方便管理,提高控制效率,RIPng支持多进程和多实例特性。多进程允许为一个指定的RIPng进程关联一组接口,从而保证该进程进行的所有协议操作都仅限于这一组接口。这样,就可以实现一台设备有多个RIPng协议进程,每个进程负责唯一的一组接口。而且每个RIPng进程的路由数据也是相互独立的,但进程之间可以相互引入路由。
对于支持VPN的设备,每个RIPng进程都与一个指定的VPN实例相关联。这样,所有附加到该进程的接口都应与该进程相关联的VPN实例相关联。
RIPng缺省配置
RIPng的缺省配置如表所示,实际应用的配置可以基于缺省配置进行修改。
参数 | 缺省值 |
---|---|
RIPng特性 | 未使能 |
RIPng路由的优先级 | 100 |
RIPng支持负载分担 | 等价路由的最大数量为64 |
RIPng与RIP的区别
RIPng的工作机制与RIPv2基本相同,但为了使其能够适应IPv6网络环境下的选路要求,RIPng对RIPv2进行了改进,主要体现在以下各方面:
1. 报文的不同
- 路由信息中的目的地址和下一跳地址长度不同:RIPv2报文中路由信息中的目的地址和下一跳地址只有32比特,而RIPng均为128比特。
- 报文长度不同:RIPv2对报文的长度有限制,规定每个报文最多只能携带25个RTE,而RIPng对报文长度、RTE的数目都不作规定,报文的长度与发送接口设置的IPv6 MTU有关。
- 报文格式不同:与RIPv2一样,RIPng报文也是由头部(Header)和多个路由表项(RTE)组成。但RIPng里有两类RTE,分别是下一跳RTE和IPv6前缀RTE。
- 报文的发送方式不同:RIPv2可以根据用户配置采用广播或组播方式来周期性地发送路由信息;RIPng使用组播方式周期性地发送路由信息。
2. 安全认证不同
RIPng自身不提供认证功能,而是通过使用IPv6提供的安全机制来保证自身报文的合法性。因此,RIPv2报文中的认证RTE在RIPng报文中被取消。
3. 与网络层的兼容性不同
RIP不仅能在IP网络中运行,也能在IPX网络中运行;RIPng只能在IPv6网络中运行。