IPv6路由协议分析

时间:2022-09-25 08:27:58

IPv6路由协议分析

摘要:介绍了IPv6常见的几种路由协议,对其进行了比较分析,并指出当前情况下如何选择合适的路由协议。

关键词:IPv6;路由协议

中图分类号:TP393.03文献标识码:A文章编号:16727800(2011)012012902

作者简介:洪亮(1977-),男,江苏高邮人,硕士,扬州职业大学信息工程学院讲师,研究方向为多媒体技术、网络技术、教育技术。1IPv6路由协议概述

IPv6路由表是IPv6路由器进行IPv6报文转发的基础,路由器会根据IPv6报文的目的地址在路由表中查询下一跳的相关信息。IPv6路由表的每一条路由都应该包括以下的一些信息:①目的地址;②前缀长度;③下一跳地址;④本地接口;⑤优先级;⑥开销;⑦协议。IPv6路由的生成方法有三种:①通过链路层协议直接发现从而生出的直连路由;②手动配置的静态路由;③通过路由协议生成的动态路由。

根据路由协议作用的范围,IPv6路由协议可以分为两类。第一类为域内路由协议,又称为内部网关协议,适用于单个自治系统内部,目前常见的IPv6域内路由协议有RIPng、OSPFv3和IPv6-IS-IS;第二类为域间路由协议,又称为外部网关协议,适用于多个自治系统之间,目前IPv6最常见的IPv6域间路由协议为BGP4+。

2常见域内路由协议

2.1RIPng协议

RIPng(RIP next generation,下一代RIP)是在RIP-2协议的基础之上修改和增强而来,是针对IPv6的特性定义的新的版本。RIPng和RIP的区别体现在以下几个方面:①RIPng基于UDP,使用端口521发送和接受路由信息;RIP使用端口520;②RIPng使用FF02∷9作为本地RIPng路由器组播地址;③RIPng基于IPv6,下一跳地址是128位,子网掩码的概念在RIPng中没有,其目的地址使用128位前缀;RIP基于IPv4,地址是32位;④RIPng使用本地地址FE80∷/10发送路由信息更新报文;⑤RIPng不支持非IP的网络,RIP支持;⑥RIPng的下一跳作为单独RTE存在;⑦RIPng使用IPv6内嵌的IPsec协议进行身份验证,其本身不支持身份验证。

RIPng基于距离矢量算法,每隔30秒发送一次路由更新报文,如果180秒没有收到网络邻居的路由更新报文,则将其标识为不可达;如果再过120秒没有收到网络邻居的路由更新报文,则将其从路由表中删除。RIPng规定目标网络的跳数如果大于或等于16则为不可达到,所以运行RIPng的网络中到达目的地址所通过路由器不能超过15台。因为基于距离矢量算法的路由协议会产生慢收敛和无限计数问题,为了避免形成环路路由,RIPng支持水平分割、毒性逆转和触发更新等技术。

RIPng报文包括头和路由表项(Route Table Entry,RTE)组成(其格式如图1所示),RTE的条数取决于发送端口的MTU值。在RIPng中有两类RTE,它们是IPv6前缀RTE和下一跳RTE(其格式如图2、3所示)。IPv6前缀RTE描述路由表项中的目的地址、路由标志、前缀长度、度量值等属性。下一跳RTE中为下一跳IPv6的地址信息,位于一组具有同样下一跳的IPv6前缀RTE的前面。

图1RIPng报文格式图2IPv6前缀RTE格式

图3下一跳RTE格式图4OSPFv3报文格式

2.2OSPFv3协议

OSPFv3(Open Shortest Path First version 3,开放最短路径优先第3版)为IETF在1999年制定的,其在OSPFv2的基础上进行了相关的修改,使其能够支持IPv6。OSPFv3基本上延续了OSPFv2的框架,但也针对IPv6的特点进行了相应的修改,其不同之处表现在:

(1)用链路代替了网段、子网等概念。OSPFv2运行基于子网,路由器之间形成邻居关系其IP地址必须位于同一个网段。OSPFv3基于链路,同一链路即使不在同一个子网中,也能够建立邻居关系。

(2)OSPFv3中,RouterLSA、NetworkLSA中不包含地址信息,仅用来描述网络拓扑结构。Router ID、Area ID、Link State ID中不包含地址信息。地址信息仅仅包含在新增加的IntraAreaPrefixLSA中。IntraAreaPrefixLSA在区域范围内泛洪。此外增加了LinkLSA,用于向链路中其他路由器通告自己的链路本地地址以及IPv6地址前缀信息。LinkLSA在本地链路范围内泛洪。原OSPFv2中的Type3 LSA更名为InterAreaPrefixLSA,Type4 LSA更名为InterAreaRouterLSA。

(3) OSPFv3中支持同一链路上运行多个OSPF实例,使用Instance ID字段标识不同的实例。OSPFv2中只允许一条链路运行一个实例。

(4) OSPFv3中使用链路本地地址作为报文源地址(不包括虚连接),所有路由器学习本链路中其他路由器的链路本地地址,作为下一跳的IP地址,因此网络中只负责报文转发的路由器不需要配置全局的IPv6地址,从而节约大量的IPv6全局地址资源。OSPFv2中每个运行OSPF的接口都需要配置一个全局的IPv4地址。

(5) OSPFv3可以支持对未知类型的LSA的处理,而在OSPFv2中仅仅作简单的丢弃。

(6) OSPFv3报文使用IPv6内嵌的IPsec协议进行身份验证,取消了OSPFv2中的验证字段(报文格式如图4),简化了OSPF协议的处理过程。

2.3IPv6ISIS协议

ISIS(Intermediate System to Intermediate System intradomain routing information exchange protocol,中间系统对中间系统域内路由信息交换协议)是一种链路状态协议。支持IPv6的ISIS协议称为IPv6ISIS动态路由协议,主要是增加了支持IPv6的两个TLV(TypeLengthValue,类型-长度-值)和一个NLPID(Network Layer Protocol Identifier,网络层协议标识符)值。IS-IS报文封装在数据链路层的帧结构之中,称为PDU(Protocol Data Unit,协议数据单元)。PDU由通用报头、专用报头和变长字段组成,其中变长字段由多个TLV组成。IPv6ISIS新添加的TLV有两个,它们是:(1)IPv6 Reachability对应于ISIS中的普通可达性TLV和扩展可达性TLV,用来表达网络的可到达性;(2)IPv6 Interface Address对应原来的IP Interface Address,只不过原32位IPv4地址改为128位IPv6地址。IPv6ISIS定义了一个新的NLPID值142(0x8E),表明当前路由器支持IPv6,在路由器交换链路信息和建立邻居关系时必须在协议报文中带有此信息。ISIS使用Hello报文来发现同一条链路上的邻居路由器并建立邻居关系,当邻居关系建立完毕后,将继续周期性的发送Hello报文来维持邻居关系。

3常见域间路由协议

BGP4(Border Gateway Protocol version 4,边界网关协议第4版)只能支持IPv4。BGP4+是对BGP4的扩展,提供了对IPv6、IPX和MPLS VPN的支持。为了适应多协议支持的新需求,BGP4+添加了两个新属性:(1)MPREACHNLRI多协议可达NLRI(Network Layer Reachable Information,网络层可达信息),(2)MPUNREACHNLRI多协议不可达NLRI。

MPREACHNLR描述了到达目的地的信息。该属性包含的信息有:①地址属于哪个网络层协议;②次级地址族标识符,表明本属性中的NLRI用于单播转发还是组播转发还是同时用于单播转发和组播转发;③到达目的前缀网络的下一跳地址;④下一跳地址的长度;⑤NLRI信息,NLRI以length/prefix形式表示,其中length是前缀的长度,prefix是可达性IPv6地址前缀。

MPUNREACHNLRI用于撤销不可达的路由,该属性包含的信息有:①地址属于哪个网络层协议;②次级地址族标识符;③被撤销路由的信息。

BGP属于一种自治系统间的动态路由发现协议,一般在两个自治系统的边界路由器之间建立对等关系。BGP既不是纯粹的链路状态算法,也不是纯粹的距离矢量算法。它能够与其他自治系统的BGP交换网络可达信息。各个自治系统可以运行不同的域内路由协议。

4当前情况下路由协议的选择

当前正处于IPv4向IPv6过渡的重要时期,网络路由协议的选择也需要考虑到这种过渡的需要。

在域内路由协议的选择问题上,应根据网络的特点和RIPng、OSPFv3和IPv6ISIS 3种协议本身的特点进行相应的选择。如果网络的规模比较小,结构比较简单,那么RIPng应该是非常不错的选择。RIPng基于距离矢量算法,用于规模较小的网络,其配置和维护简单。如果网络的规模比较大,使用基于链路状态算法的OSPFv3和IPv6ISIS都可,但是两种协议也各有其特点。OSPFv3相对成熟普及、容易使用、便于维护,其通用性较好,并且可扩展。OSPFv3是完全独立的路由协议进程,IPv6的LSA的拓扑计算和IPv4的LSA拓扑计算无关;好处是得到完全独立的一份IPv4路由表和一份IPv6路由表,部署非常灵活;缺点是OSPFv2和OSPFv3各占一个路由协议进程,资源消耗多,对路由器性能提出更高的要求。ISIS在一台路由器只需运行一个进程,就可同时支持IPv4和IPv6的拓扑计算,资源占用少,缺点是其中任何一个协议的崩溃都会导致另一个协议的崩溃,不够灵活。

域间路由协议目前BGP4+是最好的选择,能够满足域间交互路由信息的需要。而且BGP是当前因特网的标准,其过渡应该是比较平滑的。

参考文献:

[1]廖明华.浅谈IPv4到IPv6的路由协议及其选择[J].湖南财经高等专科学校学报,2005(1).

[2]唐拥政,周大为.基于IPv6的路由协议的研究[J].盐城工学院学报(自然科学版),2011(1).

上一篇:IPv6过渡技术在校园网建设中的研究与实现 下一篇:云计算数据中心网络安全的实现原理