1      介绍

RIPng(RIP next generation),工作在IPv6层的RIP路由协议,RFC 2080

与RIP的相同点:

1.        一样的报文类型,request和response;

2.        一样的计时器,更新计时器(30s),老化定时器(180s),垃圾收集定时器(120s);

3.        一样的水平分割和毒性逆转特性;

4.        一样的算法和防环机制;

5.        一样的支持路由控制(filter policy、metricin、metricout、import-route)

与RIP的不同点:

1.        RIPng使用UDP521端口,RIP使用UDP520;

2.        RIPng接受和通告的是128bit的IPv6前缀长度;

3.        RIPng工作在链路本地地址(link-local,FE80::/10)上;

4.        RIPng路由的下一跳是链路本地地址;

5.        RIPng使用组播发送路由,FF02::9(链路本地范围的组播);

6.        RIPng使用头部(Header)与多个路由表项(RTE),RTE的数目由MTU决定,不受RIP路由数量25的限制;

7.        RIPng没有验证功能,验证功能由IPv6实现。

2      RIPng报文格式

RIPng学习笔记_第1张图片

相比于RIP固定500字节的UDP载荷,RIPng无此限制,受限于IPv6的MTU大小,RIPng每个路由块固定20字节,RIPng报文头同RIP报文头大小一致,4字节。

RIPng头部

Command:8bit,报文类型,1表示request报文,2表示response报文;

Version:8bit,版本,RIPng版本号为1

Must be zero:16bit,必须为0字段,只出现在头部;

路由表项RTE(Route table entry)

RTE分为两种,一种为下一跳RTE,一种为IPv6前缀RTE。

下一跳RET:位于具有相同下一跳的路由(IPv6前缀RTE)前面,它定义了下一跳的IPv6地址。格式如下:

RIPng学习笔记_第2张图片

IPv6前缀RTE:位于下一跳RTE的后面,同一个下一跳RTE后面跟随多个的不同路由(IPv6前缀),它们的下一跳都为前面的这个下一跳RTE。格式如下:

RIPng学习笔记_第3张图片

3      RIPng下一跳

如报文格式所示,RIPng的报文的RTE里并没有定义下一跳,默认使用报文的源地址作为路由的下一跳,如果某条路由需要特定的下一跳,那么单独使用下一跳的RTE,路由RTE跟在下一跳RTE后面。