设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 536|回复: 0
收起左侧

[原创] IE-LAB网络实验室:HCNP培训机构 HCIE培训中心 HCIE认证培训 HCNA培训RIPng技术概述

[复制链接]
发表于 2019-11-19 11:11:03 | 显示全部楼层 |阅读模式

IETF在1997年为了解决RIP协议与IPv6的兼容性问题RIP协议进行了改进,制定了基于IPv6的RIPng(RIP next generation)标准,定义在RFC2080中RIPng又称为下一代RIP协议(RIP next generation),它是对原来的IPv4网络中RIP-2协议的扩展。大多数RIP的概念都可以用于RIPng。
为了在IPv6网络中应用,RIPng对原有的RIP协议进行了如下修改:
1. UDP端口号:使用UDP的521端口发送和接收路由信息。
2. 组播地址:使用FF02::9作为链路本地范围内的RIPng路由器组播地址。
3. 前缀长度:目的地址使用128比特的前缀长度。
4. 下一跳地址:使用128比特的IPv6地址。
5. 源地址:使用链路本地地址FE80::/10作为源地址发送RIPng路由信息更新报文。
RIPng协议是基于距离矢量(Distance-Vector)算法的协议。它通过UDP报文交换路由信息,使用的端口号为521。RIPng使用跳数来衡量到达目的地址的距离(也称为度量值或开销)。在RIPng中,从一个路由器到其直连网络的跳数为0,通过与其相连的路由器到达另一个网络的跳数为1,其余以此类推。当跳数大于或等于16时,目的网络或主机就被定义为不可达。RIPng每30秒发送一次路由更新报文。如果在180秒内没有收到网络邻居的路由更新报文,RIPng将从邻居学到的所有路由标识为不可达。如果再过120秒内仍没有收到邻居的路由更新报文,RIPng将从路由表中删除这些路由。
为了提高性能并避免形成路由环路,RIPng既支持水平分割也支持毒性逆转。此外,RIPng还可以从其它的路由协议引入路由。每个运行RIPng的路由器都管理一个路由数据库,该路由数据库包含了到所有可达目的地的路由项,这些路由项包含下列信息:
Ø 目的地址:主机或网络的IPv6地址。
Ø 下一跳地址:为到达目的地,需要经过的相邻路由器的接口IPv6地址。
Ø 出接口:转发IPv6报文通过的出接口。
Ø 度量值:本路由器到达目的地的开销。
Ø 路由时间:从路由项最后一次被更新到现在所经过的时间,路由项每次被更新时,路由时间重置为0。
Ø 路由标记(Route Tag):用于标识外部路由,以便在路由策略中根据Tag对路由进行灵活的控制。
报文格式:
RIPng报文由头部(Header)和多个路由表项(RTEs)组成。在同一个RIPng报文中,RTE的最大条数与发送接口设置的IPv6 MTU有关。
图片4.png
Ø Command:定义报文的类型。0x01表示Request报文,0x02表示Response报文。
Ø Version:RIPng的版本,目前其值只能为0x01。
Ø RTE(Route Table Entry):路由表项,每项的长度为20字节。
RIPng里有两类RTE,分别是:
下一跳RTE:位于一组具有相同下一跳的“IPv6前缀RTE”的前面,它定义了下一跳的IPv6地址。
IPv6前缀RTE:位于某个“下一跳RTE”的后面。同一个“下一跳RTE”的后面可以有多个不同的“IPv6前缀RTE”。它描述了RIPng路由表中的目的IPv6地址、路由标记、前缀长度以及度量值。
RIPng路由器启动后或者需要更新部分路由表项时,便会发出Request报文,向邻居请求需要的路由信息。通常情况下以组播方式发送Request报文。
收到Request报文的RIPng路由器会对其中的RTE进行处理。如果Request报文中只有一项RTE,且IPv6前缀和前缀长度都为0,度量值为16,则表示请求邻居发送全部路由信息,被请求路由器收到后会把当前路由表中的全部路由信息,以Response报文形式发回给请求路由器。如果Request报文中有多项RTE,被请求路由器将对RTE逐项处理,更新每条路由的度量值,最后以Response报文形式返回给请求路由器。
Response报文包含本地路由表的信息,一般在下列情况下产生:
Ø 对某个Request报文进行响应
Ø 作为更新报文周期性地发出
Ø 在路由发生变化时触发更新
收到Response报文的路由器会更新自己的RIPng路由表。为了保证路由的准确性,RIPng路由器会对收到的Response报文进行有效性检查,比如源IPv6地址是否是链路本地地址,端口号是否正确等,没有通过检查的报文会被忽略。
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这个地址进行组播更新。


   CCNP培训机构 CCIE培训中心 HCIE认证培训  HCNA培训
助教:马季
部分内容节选自H3C《RIPng技术介绍》


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-19 18:58 , Processed in 0.060209 second(s), 10 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表