《ipv6关键技术应用研究大学论文.doc》由会员分享,可在线阅读,更多相关《ipv6关键技术应用研究大学论文.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、防 灾 科 技 学 院毕 业 设 计题目IPv6关键技术应用研究学生姓名学号系 别专 业班级开题时间答辩时间指导教师职 称IPv6关键技术应用研究 作 者: 指导教师:摘要 随着网络厂商和开发商逐渐在不同的平台引入IPv6,IPv6和IPv4将长期共存于网络,IPv4向IPv6的过渡是一个较长的过程,如何在两者之间进行过渡是一个很重要的研究课题。本文对IETF制定的有关IPv6的RFC进行了深入研究并同现有IPv4的标准进行对比,深入分析了两者之间的主要区别。本文主要研究隧道、双协议栈、应用层代理网关(ALG)及NAT/PT等流行技术。主要成果有:构造了IPv6环境并开发出了基于IPv6的攻击
2、集成平台;对整个的IPv6环境下的攻击进行尽可能全面地模拟;实现了网络探测收集和自身研究;构造了一个校园网的网络,研究了Ipv6在校园网中的应用。关键词:IPv6;IPv4;隧道;NAT/PT; IPSecIPv6 Application Research on key Technologies Author Instructor Abstract With network vendors and developers on different platforms gradually introduce IPv6, IPv6 and IPv4 will be stored in the net
3、work of long-term. The transition from IPv4 to IPv6 is a long process, how the transition between the two is a very important research topic.This paper researched RFC about IPv6 conducted by the IETF and comparised with the existing IPv4 standard, analysis of the main differences between the two. Th
4、is paper researched mainly popular technologies of the tunnel, dual stack, the application layer proxy gateway (ALG) and NAT / PT etc.The main results of this study are: IPv6 environment is constructed and developed attacks integration platform based on IPv6. simulate attack of the IPv6 environment
5、with the whole as possible.achieve a network probing to collect and own research.constructed a campus network, studied the application of ipv6 in the campus network.Keywords:Ipv6;Ipv4;tunnels;NAT/PT;IPSec目 录1绪论11.1 IPv6产生背景及应用11.2研究内容12 IPv6简介32.1 IPv6概述32.2 IPv6报头分析32.3 IPv6地址分析52.3 ICMPv6分析62.4邻节点
6、发现(ND)92.5 IPv6路由92.6 I Pv6自动配置103 IPv6过渡及相关技术研究133.1共存的机制133.2常见的IPv4/IPv6互通转换的技术标准154 IPv6在校园网中的应用164.1 IPv6相关配置164.2 IPv6客户端的安装21结论23致谢24参考文献25防灾科技学院毕业设计1绪论1.1 IPv6产生背景及应用 IPv41(IP version 4)为传统的IP,定义的IP地址长度是32位,Internet上每个主机都分配了一个(或多个)32位的IP地址。在DARPA时代,32位地址的互联网还是足够使用的,网络地址的分类(A、B、C、D、E类)和提取也提高了
7、路由的效率。但到了80年代初期,令人预想不到的是互联网用户会出现爆炸性的增长。到今天Internet会发展到如此大的规模,有如此大的成长,是互联网的设计者们所预想不到的,更没有预测到今天Internet因为发展规模所陷入的困境。有人在1987年做了一个统计,这个统计表明将来可能需要分配多达100,000个网络,然而,在1996年这个记录已经被打破。自从1992年以来,特别是WWW服务普及之后,网络节点的数目开始以几何级数的增长。 在IPv4的地址空间出现危机时提出了IPNG2(IP Next Generation)问题,促使IPNG问题产生的直接原因是地址即将耗尽和路由表的过度膨胀。IPv4协
8、议是在十几年前设计的,当时的互联网远远没有达到今天的规模,网络连接的速度十分有限,网络应用的类型也比较单一,以文本数据的传输为主。互联网商业化,特别是WWW发明以来,互联网在规模和应用上发生了革命性了变化。声音、图像、甚至触觉都已经或者即将进入互联网络,在分组交换网络中传输这些业务希望具有实时特性,纯粹的“best effort”的传输已经很难满足要求;其次,可连接规模的扩大,导致安全成为日益重要的问题,人们希望能够确认信息的确发给了正确的节点,同时还不希望在传输的中途被截留或者监听;再者,人们一直幻想“在任何时间(whenever)任何地点(wherever)同任何人(whomever)”进
9、行通信,随着通信技术的迅速发展,移动性成为对未来互联网的重要期望。因此IPNG的目标是设计一个全新的互连网络协议。90年代初,人们开始讨论新的互联网络协议。IETF的IPNG工作组在1994年9月提出了一个正式的草案“The Recommendation for the IP Next Generation Protocol”,1995年底确定了IPNG的协议规范,分配了版本号6(版本号5已经被分配另一种草案),称为“IP version 6”(IPv6),同现在使用的版本4相区别;1998年又作了较大的改动。 1 .2研究内容本论文通过分析IPv6标准的体系结构,主要集中研究IPv6的特点、
10、如何从IPv4向IPv6过渡3及IPv6网络安全,论文包括以下几个部分:(1) IPv4平滑地过渡到IPv6。互联网上成千上万的主机、路由器等网络设备都运行着IPv4协议。这就决定了IPv4的网络向IPv6演进将是一个浩大而且烦杂的进程,IPv6和IPv4网络将会在很长一段时间内共同存在,如何从IPv4平滑地过渡到IPv6是一个非常复杂的问题。基本的方式有以下几种:隧道4、双协议栈5、传输层中继技术、应用层代理网关及NAT/PT6等。我们需要进行深入研究并且提出一个完整方案来过渡;全面的分析和阐述IPv6协议,并仔细分析IPv4向IPv6过渡7的各种方案,分析各种方案的应用范围及优缺点。并且在
11、此基础之上,提出一种IPv4向IPv6过渡方法8。对IPv6的组网和互连进行初步的实验;阐述了一个NAT/PT转换网关的设计和实现,并在IPv6组网的支持下对转换网9关连同双协议栈和隧道机制进行了测试,对结果进行分析。(2) IPv6标准11的研究。对于Ipv6标准的研究,主要是通过对IETF制定的有关IPv6的RFC进行深入研究,对IPv6标准的基本内容、IPv6格式及报头进行分析并同现有IPv4的标准进行对比,探讨二者的主要区别,为下一步理解和掌握过渡技术打基础。(3) IPv6在WINDOWS环境下的实现。如何在现有WINDOWS环境下安装IPv6协议,对于现有基于WINDOWS应用程序
12、的升级,特别是网络类应用程序如何适应IPv6的变化对于系统开发人员要特别重要。2IPv6简介2. 1 IPv6概述IPv612是为了解决现行Internet出现的问题而诞生的。地址枯竭和路由表急剧膨胀是现存的IPv4网络的两大危机。这时候IPv6应运而生,相比IPv4,IPv6有很多优点:(1)地址容量大大扩展,地址长度由32位变成128位,地址空间增大了2的96次方倍。(2)报头格式大大简化,灵活的IP报文头部格式,使用一系列固定格式的扩展头部取代了IPV4中可变长度的选项字段,减小了设备对报头处理的开销,使路由器可以简单路过选项而不做任何处理,加快了报文处理速度。(3)提高了安全性。保证了
13、网络层端到端通信的完整性和机密性,身份认证和隐私权是IPV6的关键特性。(5)支持更多的服务类型13。(6)允许协议继续演变,增加新的功能,使之适应未来技术的发展。2. 2IPv6报头分析2. 2. 1 IPv6数据包结构 IPv6数据包由一个IP报头、多个扩展报头和一个上层协议数据单元组成。IPv6报头扩展报头上层协议数据单元IPv6包头去掉了IPv4中一切可选项,IPv6报头总是存在的,其长度固定为40字节,只有8个字段是必须存在的,因此虽然IPv6地址长度为IPv4的四倍,但IPv6包头长度仅为IPv4的二分之一。其中的各个字段分别为:Version:为IP协议的版本号,长度为4位,字段
14、值为6。Traffic Class14(通信类别):字段长度为8位,指示IPv6数据流通信类别或优先级。类似于IPv4的服务类型(TOS)字段。 Flow Label(流标记):长度为20位,其中包括包净荷的字节长度,即IPv6头后的包中包含的字节数,IPv6新增字段,标记需要IPv6路由器特殊处理的数据流。IPv6报头中的流标记是为了用来标记那些需要IPv6路由器特殊处理的信息包的顺序,这些特殊处理包括非默认质量的服务或“实时”服务15。在IPv6中,同一信源和信宿之间可以有多种不同的数据流,彼此之间以非“0”流标记区分。如果不要求路由器做特殊处理,则该字段值置为“0”。Payload Le
15、ngth(负载长度):有效负载长度使用16位无符号整数表示的。负载长度包括扩展头和上层PDU,16位最多可表示65535字节负载长度,超过这一字节数的负载,该字段值置为“0“。Next Header(下一包头):这是一个个8位的选择器,IPv6报头后面的报头的类型是用它来标识的,IPv6协议中下一个报头域的使用和它是一样的。Hop Limit(跳段数限制):这个域是用8位无符号整数表示的,当被转发的信息包经过一个节点时,该值将减1,一直减到0,将会丢弃该包。Source Address(源地址):128位,发送方主机地址。Destination Address(目的地址):128位,在大多数情
16、况下,目的地址即信宿地址。但如果存在路由扩展头的话,目的地址可能是发送方路由表中下一个路由器接口,信息包的预期接收者的地址。2. 2. 2 I Pv6和IPv6报头对比分析IPv6的新的报头结构比IPv416简单得多,IPv6报头中省略了IPv4报头中许多不常用的域,将它放入了报头扩展或可选项中17;对IPv6中的可选项下达了更严格的定义。IPv4中包括2个地址空间、若干个选项、10个固定长度的域,IPv6中只有2个地址空间和6个域。如表1.1、表1.2所示:表1.1 IPv4报头格式0 3 7 15 31版本号报头长度服务类型(TOS)数据报长度标识符标志分段偏移生存时间传输协议报头校验和源
17、IP地址目的IP地址选项填充表2 IPv6报头格式0 3 7 15 31版本号优先级流标签净核长度下一报头HOP限制源IP地址目的IP地址2.3 IPv6地址分析IPv4和IPv6最明显的变化就是网络地址的长度变长了。RFC 2373 和RFC 2374定义的IPv6地址,也介绍了不同类型的地址类型及结构。IPv4地址长度为32位,IPv6地址为128位;IPv6地址的表达形式一般采用32个十六进制数。2.3.1 IPv6地址表示 RFC2373(IPv6寻址体系结构)中描述的IPv6寻址体系结构18。IPv6地址长度4倍于IPv4地址,表达起来的复杂程度也是IPv4地址的419倍。IPv6地
18、址的基本表达方式是X:X:X:X:X:X:X:X,其中X是一个4位十六进制整数(16位)。每一个数字包含4位,每个整数包含4个数字,每个地址包括8个整数,共计128位(4X4X8 =128)。例如:FE80:0000:0000:0000:AAAA:0000:00C2:0002 是一个合法的IPv6地址。要是嫌这个地址看起来还是太长,这里还有种办法来缩减其长度,叫做零压缩法。如果几个连续段位的值都是0,那么这些0就可以简单的以:来表示,上述地址就可以写成FE80:AAAA:0000:00C2:0002。这里要注意的是只能简化连续的段位的0,其前后的0都要保留,比如FE80最后的这个0,不能被简化
19、。还有这个只能用一次,在上例中的AAAA后面的0000就不能再次简化。当然也可以在AAAA后面使用:,这样的话前面的12个0就不能压缩了。这个限制的目的是为了能准确还原被压缩的0。不然就无法确定每个:代表了多少个0。2001:0DB8:0000:0000:0000:0000:1428:00002001:0DB8:0000:0000:0000:1428:00002001:0DB8:0:0:0:0:1428:00002001:0DB8:0:0:0:1428:00002001:0DB8:1428:0000都是合法的地址,并且他们是等价的。但2001:0DB8:1428:是非法的。同时前导的零可以省略
20、,因此:2001:0DB8:02de:0e13等价于2001:DB8:2de:e13一个IPv6地址可以将一个IPv4地址内嵌进去,并且写成IPv6形式和平常习惯的IPv4形式的混合体。IPv6有两种内嵌IPv4的方式:IPv4映像地址和IPv4兼容地址。IPv4映像地址有如下格式::ffff:192.168.89.9这个地址仍然是一个IPv6地址,只是0000:0000:0000:0000:0000:ffff:c0a8:5909的另外一种写法罢了。IPv4映像地址布局如下:| 80bits |16 bits | 32bits |0000.0000 | FFFF | IPv4 address
21、|IPv4兼容地址写法如下:192.168.89.9,如同IPv4映像地址,这个地址仍然是一个IPv6地址,只是0000:0000:0000:0000:0000:0000:c0a8:5909的另外一种写法罢了。IPv4兼容地址布局如下:| 80bits |16 | 32bits |0000.0000 | 0000 | IPv4 address |IPv4兼容地址已经被舍弃了,所以今后的设备和程序中可能不会支持这种地址格式。2. 3. 2 IPv6的地址类型所有类型的IPv6地址都被分配到接口20,而不是节点。特定的IPv6地址类型是由地址中的前导位定义的。包含这些前导位的变长字段称作格式前缀
22、(FP)。IPv6单播地址被划分为两部分。第一部分包含地址前缀,第二部分包含接口标识符。表示 IPv6 地址/前缀组合的简明方式如下所示:ipv6 地址/前缀长度。以下是具有 64 位前缀的地址示例。2FEE:EEEE:0:CD30:0:0:0:0/64.此示例中的前缀是 2FEE:EEEE:0:CD30。该地址还可以以压缩形式写入,如2FEE:EEEE:0:CD30:/64。IPv6 定义以下地址类型21:单播:一个单接口的标识符。送往一个单播地址的包将被传送至该地址标识的接口上。 任意播:一组接口(一般属于不同节点)的标识符。送往一个泛播地址的包将被传送至该地址标识的接口之一(根据选路协议
23、对于距离的计算方法选择“最近”的一个)。 组播:一组接口(一般属于不同节点)的标识符。送往一个组播地址的包将被传送至有该地址标识的所有接口上。2. 3 ICMPv6分析ICMPv6报文22主要分为两类:(1)差错报文:由目标节点或者中间路由器发送,用于报告在转发和传送IPv6数据包过程中出现的错误。在所有的ICMPv6差错报文中,8位类型字段中的最高位都为0,。因此,对于ICMPv6差错报文的类型字段,其有效值范围就是0127。ICMPv6的差错报文包括以下几种类型:目标不可达(Destination unreachable)、数据包过长(Packet Too Big)、超时(Time Exc
24、eeded)和参数问题(Parameter Problem)。(2)信息报文:提供诊断功能和附加的主机功能,比如多播侦听发现23(MLD)和邻节点发现(ND)24。在所有的ICMPv6报文中,8位类型字段中的最高位都为1。因此其有效值的范围就是128255。根据RFC2463,ICMPv6的信息报文包括会送请求报文(Echo request)和会送应答报文(Echo Reply)。ICMPv6的报头由前一个报头中的下一个报头字段的值58来标识。ICMPv6报头中的字段包括:类型。表示ICMPv6报文的类型,此字段长度为8位。在ICMPv6差错报文中,此字段的最高位为0,在ICMPv6信息报文中
25、,此字段的最高位为1。代码。区分某一给定类型报文中的多个不同报文,此字段的长度为8.对某一类型的第一个(或者只有一个)报文,代码字段的值为0。校验和。存放ICMPv6报文的校验和25。此字段的长度为16位。当计算校验和时,IPv6的伪报头被加到ICMPv6报文之前。报文主体。包括ICMPv6报文专有的(message-specific)数据26。2.3.1 ICMPv6报头IPv6的报头去掉了IPv4报头中不需要或者是很少使用的字段,加入了更好的支持实时通信流的字段。结构如下:版本。字段长度为4位,固定值为6。IP层协议的版本是通过链路层报头中的协议标识字段来标识的。在Ethernet 27的
26、以太网链路层封装中,使用一个16位的EtherType来标识以太网帧的有效载荷。对于IPv4的数据包这个类型的值是0x0800,IPv6的报文则是0x86DD。因此,对于以太网有效载荷的协议的确定,发生在数据包传递给IPv4或者IPv6协议层之前。通信流类别。通信流类别字段表示IPv6数据包的类或者优先级。字段长度为8位,提供类似于IPv4的服务类型字段的功能。流标签28。流标签字段表示这个数据包属于源节点和目标节点之间的一个特殊序列,它需要由中间IPv6路由器进行特殊处理。字段长度为20位。对于默认的路由器处理,流标签的字段值为0。在源节点和目标节点之间可能存在多条流,可以用非零的流标签来实
27、现区分。有效载荷长度。有效载荷长度字段包括扩展报头和上层PDU的长度,16位。最大可以表示65535字节的有效载荷。如果有效载荷的长度超过65535,则置零,实际有效载荷的长度由逐跳选项扩展报头中超大有效载荷来表示。下一个报头 下一个报头字段表示第一个扩展报头(如果存在)的类型,或者上层PDU29中的协议(TCP、UDP、ICMPv6等)。长度为8位,使用与IPv4协议中定义的相同值来表示上层协议。跳限制。跳限制表示的是IPv6的数据包在被丢弃前可以通过的最大链路数。当一个路由器的跳限制字段的值减为0时,路由器向源节点发送ICMPv6超时-跳限制超时报文,并且丢弃该包。 源地址128位。目的地
28、址128位。在大多数情况下,目的地址字段的值为最终目的地址。但是如果存在路由扩展报头,则目的地址字段的值可能为下一个中间目标的地址。2. 3. 2 I CMPv6报文类型差错报文差错报文由目标节点或者中间路由器发送,用于报告在转发和传送IPv6数据包过程中出现的错误。它包括以下几类:目标不可达(Destination unreachable)(类型1)数据包过长(Packet Too Big)(类型2)超时(Time Exceeded)(类型3)参数问题(Parameter Problem)(类型4)现实中我们为了节约网络带宽,ICMPv630差错报文并不是和每个错误一一对应的关系,有可能很多
29、个错误对应一个差错报文,而且ICMPv6差错报文在速率上有一定的限制,可以基于以下两种方案之一:(1)计时器:计时器就是规定一个或任何一个发送方每发送一个差错报文要间隔T毫秒。在RFC2463中建议的T值为1000ms。(2)带宽百分比:整个链路带宽的百分之P为每个接口发送差错报文的速率,在RFC2463中建议P取值2%。目标不可达。当数据包无法被转发到目标节点或者上层协议时,路由器或者目标节点发送ICMPv6目标不可达差错报文。报文结构为类型+代码+校验和+未用字段+数据包的被丢弃部分。在目标不可达报文中,类型字段为1,代码字段取值范围是04。紧随校验和字段之后的是一个32位的未使用字段和被
30、丢弃数据包的前导部分。被丢弃数据包的前导部分是经过处理的,以使包含ICMPv6报文的整个IPv6数据包的长度不大于1280字节(最小的IPv6 MTU)。如果报文中有IPv6扩展头,那么报文中的被丢弃数据包的字节数是可变的。对于不含扩展报头的ICMPv6报文,被丢弃数据包的前导部分最多可以有1232个字节(1280减去40字节的IPv6报头和8字节的ICMPv6目标不可达报头)。目标不可达报文中代码字段的值:0 没有能到达目标的路由1 与目标通信被管理策略禁止2 超出源站的地址范围3 地址不可达4 端口不可达2.数据包太长当接收某包的路由器由于包长度大于将要转发到的链路的MTU,而无法对其进行
31、转发时,将会产生包太长报文。该ICMPv6错误报文中有一个字段指出导致该问题的链路的MTU值。在路径MTU发现过程中这是一个有用的错误报文。在此报文中,类型字段的值为2,代码字段的值为0。2.4邻节点发现(ND)ND取代了IPv4中的ARP,ICMP,还提供了额外的功能。节点使用ND。解析IPv6数据包发往的邻节点的链路层地址;确定邻节点链路层地址发生改变的时间;确定邻节点的可达性。主机使用ND:发现邻节点路由器;自动配置地址、地址前缀、路由及其他配置参数;路由器使用ND;通告自己的存在、主机配置参数、路由及链路前缀;提醒主机用于向特定目标转发数据包更好的下一跳地址;邻居请求和邻居公告。2.5
32、IPv6路由 IPv6 的最大优点是路由机制相对比较灵活。由于分配 IPv4 网络 ID 所用的方式,要求位于 Internet中枢上的路由器维护大型路由表。这些路由器必须知道所有的路由,以便转发可能定向到 Internet 上的任何节点的数据包。通过其聚合地址能力,IPv6 支持灵活的寻址方式,大大减小了路由表的规模。在这一新的寻址结构中,中间路由器必须只跟踪其网络的本地部分,以便适当地转发消息。这大大降低了路由器的寻路和存储开销。IPv6协议所带来的另一个特点是提供数据流标签,即流量识别。路由器可以识别属于某个特定流量的数据包,并且这条信息第一次接收时即被记录下来,下一次这个路由器接收到同
33、样的流量数据包后,路由器采用识别的记录情况,而不需查对路径选择表,从而减少了数据处理的时间。IPv6主要使用三种路由协议:RIPv6 (Routing Information Protocol,路由信息协议)、OSPFv6 (Open Shortest Path First,开放最短路径优先)和IDRPv2 (Inter-Domain Routing Protocol,域间路由协议)以及可能的EIGRP和双层的IS-IS.RIPv6是可以与IPv6共同使用的RIP版本。更新后的RIP允许接收128位地址,没有增加新特性,没有消除以前限制的相关前缀长度。这种选择的原因是为了保持RIPv6的简单性
34、,这样它可以在非常简单的设备上实现。 OSPFv6是可以用于IPv6的OSPF版本,它也是IPv6推荐的内部网关路由协议(IGP),作为所有路由器厂商的标准实现,它适于大型网络。OSPFv6作为OSPF的更新,允许传送新的128位地址和相关的前缀长度,在OSPFv6中,区域定义为128位地址。2.6 I Pv6自动配置2.6.1自动配置设备的IP地址IPv6有一个特性,它可以自动配置设备的IP地址,步骤如下:(1)主机需要一个前缀(就好像IPv4的网络地址)来配置它自身的interface,它会发送一个RS(路由器申请)请求来得到这个前缀。这个RS请求会以组播的形式向每个路由器的组播地址发送,
35、实际发送的内容是一个ICMPmessage,number是133。(2)路由器会通过一个RA(路由器公告)来响应这个请求,该RA信息也是一个组播包,它会向每个节点的组播地址进行组播,ICMPnumber是134。RAmessage会以定期的方式发送,但主机可以通过发送RS情趣来立即得到响应而不需等待下一个RA周期。(3)主机会将前缀加上自己的MAC地址来配置自身的IP地址,当然,由于MAC地址只有48位,而interfaceID有64位,所以会在48位MAC地址中间加上FFFE。那么,路由器的前缀又是如何定义的呢? 首先,我们得配置好路由器相应端口的IP地址 Router(config-if)
36、#ipv6address2001:db8:3c4d:1:/64eui-64 注意,这里定义了路由器某个接口的ipv6地址,它并不是完整的地址,只有前面的64位是我们定义的,后面的64位将由路由器自己根据其MAC地址来确定。另外,也可以像IPv4那样通过设置DHCP服务器来进行IP地址配置。当IPv4的客户端启动,它会发出一个DHCP发现消息来查找DHCP服务器。但记住,在IPv6,首先发生的是上面的那种自动配置,即RS和RA处理过程。如果网络中有一个DHCPv6服务器,RA会返回客户端来告诉它该DHCP服务器是否可用,如果客户端找不到路由器,它会发送一个DHCP请求消息(一个组播消息,地址是f
37、f02:1:2),所有DHCP代理,包括server和relays都会收到该消息。CiscoIOS也提供简单的无状态DHCP服务器功能。2.6.2 IPv6无状态自动配置 IPv6同时定义了无状态和有状态地址自动配置机制。有状态地址自动配置通过DHCPv6为主机动态分配IPv6地址,通过NDP自动配置无状态地址。在无状态地址自动配置中,主机通过接收链路上的路由器发出的RA消息,结合接口的标识符而生成一个全球单播地址。(1)路由器的发现路由器发现是指主机定位本地链路上的路由器和确定其配置信息的过程,主要包含以下3方面内容:路由器发现(Router Discovery):路由器发现是指选择某一个路
38、由器作为默认网关及一个主机发现邻居路由器的过程。前缀发现(Prefix Discovery):指的是主机发现本地链路上的一组IPv6前缀并且生成前缀列表。该列表用于主机的地址自动配置和on-link判断。参数发现(Parameter Discovery):主机发现相关操作参数的过程,如MTU、报文的默认跳数限制、地址分配方式等信息。(2)重复地址检测DAD(Duplicate Address Detection,重复地址检测)是节点确定即将使用的地址是否在链路上唯一的过程。所有的IPv6单播地址,包括自动配置或手动配置的单播地址,在节点使用之前必须要通过重复地址检测。DAD机制是通过NS和NA
39、报文实现的。一个节点会发送相应的NS报文,它的源地址是未被指定的地址,目的地址是接口配置的IPv6地址。当NS报文被发送到链路上以后,如果在相应的时间内没有收到应答的NA报文,那我们认为这个单播地址在这个链路上是唯一的,并把它分配给接口;相反,如果收到了应答的NA报文,则不能配置到接口,因为这个单播地址在这个链路上不是唯一的。(3)前缀重新编址前缀重新编址(Prefix Renumbering)允许网络从以前的前缀平稳地过渡到新的前缀,用于提供对用户透明的网络重新编址能力。路由器通过RA报文中的优先时间和有效时间参数来实现前缀重新编址。优先时间(Preferred Lifetime):无状态自
40、动配置得到的地址保持优先选择状态的时间。有效时间(Valid Lifetime):地址保持有效状态的时间。对于一个地址或前缀,优先时间小于或等于有效时间。当地址的优先时间到期时,该地址不能被用来建立新连接,但在有效时间内,该地址还能用来保持以前建立的连接。在重新编址时,站点内的路由器会继续通告当前前缀,但是有效时间和优先时间将被减小到接近于0;同时,路由器开始通告新的前缀。这样,在每个链路上至少有两个前缀共存,RA消息中包括一个旧的和一个新的IPv6前缀信息。(4)无状态地址自动配置过程除了状态自动配置,IPv6还采用了一种被称为无状态自动配置(Stateless Auto Configura
41、tion)的自动配置服务。NDP的无状态自动配置包含两个阶段:链路本地地址的配置和全球单播地址的配置。需要说明的是,一个链路本地地址的优先时间和有效时间是无限的,永远不超时。对于主机上全球单播地址的配置步骤如下:主机节点Node A在配置好本地链路地址后,发送RS报文,请求路由器的前缀信息。路由器会先收到RS报文,然后会发送单播RA报文,接着会携带前缀信息用于无状态地址自动配置,同时路由器也会周期性地发送组播RA报文。Node A首先会收到RA报文,然后会根据前缀信息和配置信息临时生成一个的全球单播地址。同时也会启动DAD,发送NS报文验证临时地址是否唯一,这时候的地址处于临时状态。如果没有用
42、户使用该地址,链路上的其他节点收到DAD的NS报文后会丢弃报文,相反则产生应答NS的NA报文。NodeA如果没有收到DAD的NA报文,说明地址是全局唯一的,则接口会被该临时地址初始化,之后地址进入有的效状态。地址完成自动配置后,路由器可以自动进行NUD,周期性地发送NS报文,探测该地址是否可达。3 IPv6过渡及相关技术研究3.1共存的机制要与现有IPv4网络结构共存,并最终过渡到仅支持IPv6的网络结构中,需要以下的机制。3.1.1双协议栈 简单地说,IPv6和IPv4是功能相近的网络层协议,两者都基于一样的物理的平台,而且加载于其上的传输层的TCP协议和UDP协议又没有任何区别。如果一台主
43、机既支持IPv6又支持IPv4协议,那么该主机既能与支持IPv4协议的主机通信,又能与支持IPv6协议的主机通信,这就是双协议栈技术的工作原理。3. 1. 2 IPv6穿越IPv4的隧道隧道技术是将IPv6数据分组进行封装,通过现有的IPv4网络进行传输,并利用隧道代理接入IPv6网络。其实现原理是:IPv6的数据分组被路由器将封装入IPv4,隧道入口和出口的IPv4地址分别是IPv4分组的源地址和目的地址。在隧道的出口处,再将IPv6分组取出转发给目的站点。在隧道的入口和出口处进行修改是隧道技术的基本要求,没有要求对其他部分进行修改,所以比较容易实现。但是隧道技术不能实现IPv4主机与IPv
44、6主机的直接通信。根据对隧道终点IPv4地址获取方式的不同,可分为手工配置隧道和自动隧道,ISATAP和6to4是常见的两种自动隧道。3.1.3 NAT-PT NAT-PT(Network Address Translation-Protocol)附带协议转换器的网络地址转换器。是一种纯IPv6节点和IPv4节点间的互通方式,所有包括地址、协议在内的转换工作都由网络设备来完成。支持NAT-PT的网关路由器是具有IPv4地址池的,在从IPv6向IPv4域中转发包的过程中使用,把IPv6报文中的源地址转换成地址池中的地址。此外,网关路由器需要DNS-ALG和FTP-ALG这两种常用的应用层网关的支
45、持,在IPv6节点访问IPv4节点时发挥作用。NAT-PT原理通过中间的NAT-PT协议转换服务器,实现纯IPv6节点和纯IPv4节点间的互通NAT-PT服务器分配动态IPv4地址来标识IPv6主机(与DNS配合)NAT-PT服务器向相邻IPv6网络宣告96位地址前缀信息,用于标识IPv4主机NAT-PT服务器负责IPv4-to-IPv6,或IPv6-to-IPv4的报文转换优点:只需设置NAT-PT服务器。缺点:资源消耗较大,服务器负载重3.2过渡期间I Pv6和I Pv4互通的解决方案。在I Pv4-IPv6过渡的过程中,必须遵循如下的原则和目标:保证IPv4和IPv6主机之间的互通。从单
46、向互通到双向互通,从物理互通到应用互通;在更新过程中避免设备之间的依赖性(即某个设备的更新不依赖于其它设备的更新);对于网络管理者和终端用户来说,过渡过程易于理解和实现;过渡可以逐个进行;用户、运营商可以自己决定何时过渡以及如何过渡。对于IPv4向IPv6技术的演进策略,业界提出了许多解决方案。特别是IETF组织专门成立了一个研究此演变的研究小组NGTRANS,已提交了各种演进策略草案,并力图使之成为标准。纵观各种演进策略,主流技术大致可分如下几类:双栈策略在IPv6结点中加入IPv4协议栈是实现IPv6结点与IPv4结点互通的最直接的方式。我们称“IPv6/v4结点”具有双协议栈,这些结点可以收发IPv4分组和IPv6分组。它们可以使用IPv4与IPv4结点互通,也可以直接使用IPv6与IPv6结点互通。有些IPv6/v4结点只支持手工配置隧道,有些既支持手工配置也支持自动隧道。隧道技术在IPv6发展初期,必然有许多小部分的IPv6网络,这些IPv6网络大部分被IPv4骨干网络隔离,我们采