IPV4 IPV6转换网关的设计与实现.docx
《IPV4 IPV6转换网关的设计与实现.docx》由会员分享,可在线阅读,更多相关《IPV4 IPV6转换网关的设计与实现.docx(15页珍藏版)》请在冰豆网上搜索。
![IPV4 IPV6转换网关的设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-12/16/147ce9fe-63d3-4cce-b932-c25c0739bac2/147ce9fe-63d3-4cce-b932-c25c0739bac21.gif)
IPV4IPV6转换网关的设计与实现
毕业论文(设计)
论文(设计)题目:
IPV4/IPV6转换网关的设计与实现
系别:
专业:
学号:
姓名:
指导教师:
时间:
毕业论文(设计)开题报告
系别:
计算机与信息科学系专业:
计算机科学与技术
学号
姓名
张铃
论文(设计)题目
IPV4/IPV6转换网关的设计与实现
命题来源
教师命题□学生自主命题□教师课题
选题意义:
本选题的目的是实现IPv4地址向IPv6地址的平滑过渡。
IPv4,是互联网协议(InternetProtocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议,IPv4可以运行在各种底层网络上,网络的发展必然离不开IPv4。
IPv4最大的问题是不能满足网络节点的快速增长,这主要体现在IPv4地址的耗尽,IPv4地址的安全问题。
IPv6地址具有IPv4所不具有的巨大优势,比如地址数近乎无限,解决了地址可拓展性问题,用实名制的方式为解决网络用户的诚信问题提供了保证;安全性能优于IPv4等等。
由此,IPv4向IPv6过渡是必然的,两个版本之间的过渡研究具有极其重要的现实意义。
IPv4/IPv6协议翻译网关NAT-PT的目标就是解决纯IPv6网络与纯IPv4网络相互通信的问题,NAT-PT过渡机制具有地址翻译和协议翻译的功能。
NAT的配置都是在NAT-PT网关上进行,使用NAT-PT,无需对现有网络进行任何改变就可以实现IPv4与IPv6之间相互通信。
研究综述:
迄今为止,已有的IPv4向IPv6过渡技术可以分为协议翻译类和隧道类。
至今值得注意的是,双栈技术给出了目前最成熟可靠、升级风险低的方案,但却无法从根本上解决IPv4地址资源短缺的问题。
能够真正引入IPv6丰富地址的是协议翻译类和隧道类这两类过渡技术。
但是隧道技术并不能解决IPv6节点与IPv4节点之间相互通信的问题,并且手工配置隧道扩展性较差,配置和维护的工作量较大等不足。
协议翻译类技术没有这些不足,它利用了SIIT技术的工作机制,同时又利用传统的IPv4下的NAT技术来动态地给访问IPv4节点的IPv6节点分配IPv4地址,很好地解决了SIIT技术中备用全局IPv4地址池规模有限的问题。
协议翻译类NAT-PT是用于实现IPv4向IPv6平滑过渡的协议转换技术。
它的技术关键点也即本题重点讨论的问题包括以下几方面:
(1)NAT-PT通常与SIIT(无状态IP/ICMP转换算法)技术结合以实现地址、协议的转换,与DNSALG(应用层网关)技术结合实现IPv4和IPv6间的域名系统解析或寻址。
这又可细分为以下几个技术要点:
IPv4报文中UDP头部的转换、ICMP头部的转换、ICMP错误消息的转换。
(2)NAT-PT由网络地址翻译技术(NetworkAddressTranslation,NAT)和协议翻译技术(ProtocolTranslation,PT)2个部分组成。
(3)NAT技术是IPv4和IPv6间的网络地址转换技术,一般需要设置一个IPv4地址池,当IPv6地址转换成IPv4地址时,从地址池中获取一个IPv4地址,并把IPv6源地址转换成该IPv4地址,提取IPv6目的地址中的主机地址部分作为IPv4目的地址,并重新计算包头的校验和。
把该地址转换记录在地址映射表中。
将IPv4地址转换成IPv6地址时,可以根据地址映射表中的地址转换记录来实现。
研究目标和主要内容:
本文研究的主要是NAT-PT技术实现IPv4网络和IPv6之间的通信问题。
IPv6过渡中的协议翻译技术是由IPv4的NAT技术发展而来的,就是将IPv6数据包中的每个字段与IPv4数据包中的每个字段建立起一一映射关系,从而在两个网络的边缘实现数据报文的转换。
在具体的实现中,需要综合慎重解决的问题有以下几方面:
1.复杂性。
由于需要单独处理每个报文的翻译,因此不可避免需要处理ALG、DNS翻译及分段等问题,实现较为复杂。
此外,有状态协议翻译还需要进一步处理状态的维护、同步等各种问题,因此,实现就更为复杂。
2.适用范围。
协议翻译技术由于其本身的复杂性,因此,只能应用于网络范围较小的一侧,以减小系统的负担。
3.有状态与无状态协议翻译选择。
考虑到系统实现的复杂度,应尽可能使用无状态协议翻译技术。
4.ALG问题。
协议翻译方案中,ALG是目前存在的最主要问题,维护成本高,较难使用硬件来实现,对设备的性能要求也比较高。
因此,在协议翻译器中,可考虑仅实现最为基本应用的ALG转换,对于其他复杂的转换,可以采用其他方式来实现。
拟采用的研究方法
a)查找并阅读相关资料,了解基本的内容,利用需求分析文档,对整个系统有个初步的架构。
b)搜寻实验用的文件文档集和研究过程中用到的各种工具软件。
c)参考Linux中有关的资料。
c)运用网络模拟软件模拟装换效果。
研究工作的进度安排
2010年11月24号-11月29号 与指导老师沟通交流,完成毕业论文选题。
2010年12月10号-12月19号 搜集资料,查阅文献,完成开题报告。
2010年12月20号-2010年1月1日 完成文献综述
2011年1月2号—1月15号 定出实现IPv4,IPv6转换网关的需求分析文档
2011年1月16号—1月30号 整理相关资料并完成概要和详细设计
2011年2月1号—3月30号 进行IPv4,IPv6转换网关的相关配置和必要性测试
2011年4月1号—4月15号 后期的调试和测试
2011年4月16号—4月30号 总结毕业设计的整个过程,完成毕业设计论文初稿
2011年5月1号—5月30号 修改毕业论文定稿,打印装订,参加答辩
参考文献目录
[1]李津生,洪佩琳.下一代Internet网络技术[M].北京:
人民邮电出版社,2001
[2]张万光,李长利.基于Windows系统组建IPv6/IPv4实验网络[N].南开大学报.2003
[3]吴江,赵慧玲.下一代的IP骨干网络技术[M],北京:
人民邮电出版社,2001
[4]PeteLoshin沙斐等译.IPv6详解第一版[M],北京:
机械工业出版社,2000
[5]杜根远,邱颖豫.基于NATPT技术的IPv6迁移策略[J].华中科技大学学报(自然科学版),2003,(S1).
[6]王树森,周国征.基于NAT-PT技术的IPv4/IPv6互通信实现方案研究[J].济源职业技术学院学报,2005,(03).
指导教师意见
该生的选题拟探讨IPv4/IPv6转换技术,试图实现IPv4和IPv6协议头之间的转换,技术上比较新颖,难度适中,也有实用价值,工作量符合要求,同意开题。
签名:
年月日
教研室主任意见
同意指导教师意见,同意开题。
签名:
年月日
目录
摘要……………………………………………………………………………………1
关键词…………………………………………………………………………………1
引言……………………………………………………………………………………………1
1IPv4与IPv6协议的比较……………………………………………………………………1
1.1报头格式………………………………………………………………………………2
2过渡技术制约因素…………………………………………………………………………2
3过渡技术……………………………………………………………………………………3
3.1IPv4向IPv6过渡所采用的过渡技术及实现原理……………………………………3
3.1.1IPv6/IPv4双协议栈………………………………………………………………3
3.1.2隧道技术…………………………………………………………………………4
3.1.3协议翻译技术(NAT-PT)………………………………………………………5
3.2协议翻译技术(NAT-PT)……………………………………………………………5
3.2.1无状态IP/ICMP转换算法SIIT(StatelessIP/ICMPTranslation)………………6
3.2.2应用层网关(ALG)原理…………………………………………………………6
3.3NAT-PT分类……………………………………………………………………………8
3.3.1静态NAT-PT………………………………………………………………………9
3.3.2动态NAT-PT……………………………………………………………………9
3.3.3NAPT-PT…………………………………………………………………………9
4配置举例…………………………………………………………………………………10
小结…………………………………………………………………………………………11
参考文献……………………………………………………………………………………11
Abstract………………………………………………………………………………12
Keywords……………………………………………………………………………12
致谢…………………………………………………………………………………………12
IPV4/IPV6转换网关的设计与实现
计算机科学与技术专业张铃指导教师杨云峰
[摘要]当今,IPv4地址将近耗尽,由IPV4向IPV6过渡是必然的趋势。
如何实现从IPv4到IPv6的平稳过渡,这是部署下一代互联网首先必须解决的问题,也是取得成功的关键。
几种比较成熟的IPv4/IPv6转换技术,其中一种是NAT-PT方案。
与一些隧道技术不同,NAT-PT只要求在IPv4和IPv6之间互联的网络转换设备上启用,协议转换的目的是实现IPv4和IPv6协议头之间的转换,地址转换则是为了让IPv4和IPv6网络中的主机互相识别对方。
另外,NAT-PT通过与应用层网关(ALG)相结合,实现了只安装IPv6的主机和只安装了IPv4主机的大部分应用的相互通信。
[关键词]网络地址翻译;协议转换;IPv4协议;IPv6协议
引言
如何实现IPv4到IPv6地址的转换,目前主要有3种技术。
其一双栈技术,双栈技术在其节点上同时运行IPv4和IPv6两套协议栈。
其二隧道技术,隧道技术巧妙地利用了现有的IPv4网络,它的意义在于提供了一种使IPv6的节点之间能够在过渡期间通信的方法。
其三,网关转换技术(NAT-PT),网关转换(NAT-PT)转换网关除了要进行IPv4地址和IPv6地址转换,还要包括协议并翻译。
转换网关作为通信的中间设备,可在IPv4和IPv6网络之间转换IP报头的地址,从而使纯IPv4和纯IPv6站点之间能够透明通信。
由于NAT-PT技术比较突出的优点,本文重点讨论NAT-PT技术。
1IPv4与IPv6协议的比较
;E"u5A)r3P+I$s+全球IPv4位址即将全部发完,IPv6是下一版本的互联网协议,在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等。
相比IPv4,IPv6有许多的优点,如更大的地址空间,更小的路由表,增强的组播(Multicast)支持以及对流的支持(Flow-control),加入了对自动配置(Auto-configuration)的支持,更高的安全性等。
1.1 报头格式
IPv6报头采用128bit地址长度,这是IPv4与IPv6最主要的区别。
IPv4采用32bit长度,理论上可以提供大约43亿个IP地址,随着网络的发展已经可用明显看出不能满足对IP地址的需求,造成了对网络发展的一个瓶颈。
IPv6采用128bit长度,相对IPv4,增加了296倍的地址空间。
IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。
IPv6报头采用基本报头+扩展报头链组成的形式,这种设计可以更方便地增添选项以达到改善网络性能、增强安全性或添加新功能的目的。
IPv6基本报头被固定为40bit,使路由器可以加快对数据包的处理速度,提高了转发效率,从而提高网络的整体吞吐量,使信息传输更加快速。
2过渡技术制约因素
目前各种转换技术相对来说还不是十分成熟,因此在IPv4/v6综合组网具体技术的选择时要重点考虑如下几点:
安全性:
安全性包括组网技术是否会破坏原网络的安全性,组网技术本身是否存在安全漏洞或隐患等等多个方面;
性能:
组网技术的性能主要包括对原有网络的网络性能的影响、自身的网络性能如何两方面;
主机需求:
主要需求包括协议栈、IPv4地址(全局还是临时、如何获得和管理)需求、IPv6地址(地址类型、分配策略等)需求等;
路由器需求:
IPv4地址需求:
当在网络中按照某个组网技术组网时,其对IPv4地址的需求量如何,需要全局地址还是临时地址,地址如何管理等;
IPv6地址需求;
易用性:
组网技术的复杂性直接制约了其应用的范围,一个复杂的、不易理解的组网技术对网络的采用会带来诸多问题(维护与管理、实施成本等);
易管理性;
应用场景与应用阶段:
每种网络迁移策略及其相应的组网技术均有其各自的优点和缺点,有着各自的适用环境,这些特性直接影响了在综合组网中组网技术的选择;
其他因素:
IPv6技术增加了一些和网络安全、QoS保证等方面的支持能力,但是在一些综合组网环境中,这些附加的特性可能不能得以体现。
协议翻译技术仍处在发展期,可用的成熟技术相对较少。
在具体的应用中,需要综合考虑以下四个因素。
复杂性。
由于需要单独处理每个报文的翻译,因此不可避免需要处理ALG、DNS翻译及分段等问题,实现较为复杂。
此外,有状态协议翻译还需要进一步处理状态的维护、同步等各种问题,因此,实现就更为复杂。
适用范围。
协议翻译技术由于其本身的复杂性,因此,只能应用于网络范围较小的一侧,以减小系统的负担。
3过渡技术
3.1IPv4向IPv6过渡所采用的过渡技术及实现原理
现阶段主要的过度技术有3种,IPv6/IPv4双栈技术、隧道技术、协议翻译技术。
这3种技术各有优缺点,各有适用范围,需要根据实际情况,实际需求应用。
3.1.1IPv6/IPv4双协议栈
IPv6/IPv4双栈技术是指在网元中同时具有IPv4和IPv6两个协议栈,允许用IPv4或IPv6进行通信。
“双栈”路由器中具备IPv4与IPv6两个协议栈,这样路由器可以同两个不同版本的网络通讯。
IPv4/IPv6双栈节点当链路层接收到数据段,拆开并检查包头。
如果IPv4/IPv6头中的第一个字段,即IP包的版本号是4,该包就由IPv4栈来处理;如果版本号是6,则由IPv6栈处理。
IPv6数据报按照IPv6路由协议得到的路由表转发,IPv4数据报按IPv4路由协议得到的路由表转发。
双栈可以在一个单一的设备上实现,也可以是一个双栈骨干网。
对于双栈骨干网,其中的所有设备必须同时支持IPv4/IPv6协议栈,连接双栈网络的接口必须同时配置IPv4地址和IPv6地址。
图1-1双栈节点示意图
双栈节点具有三种工作模式:
(1)只运行IPv6协议;
(2)只运行IPv4协议;
(3)双栈模式。
双栈技术是IPv4向IPv6过渡的基础,所有其它的过渡技术都以此为基础。
IPv6/IPv4双栈技术对IPv4和IPv6提供了完全的兼容,但是对于IP地址耗尽的问题却没有任何帮助。
并且还有其他的限制,如要求网络设备不但支持IPv4路由协议,而且支持IPv6路由协议,这就要求其维护大量的协议和数据。
另外,网络升级改投资大、建设周期长。
3.1.2隧道技术
在IPv6发展初期,必然有许多局部的纯IPv6网络,为了使这些IPv6网络能够联系起来,就可以采取现存IPv4因特网的隧道技术,逐步扩大IPv6的实现范围。
简单说,隧道技术就是用一种协议的数据格式封装另一种协议的数据,然后再在此协议的网络中传输另一种协议的数据。
隧道通常包括双栈节点的隧道入口和隧道出口。
在隧道入对另外一种协议数据进行封装发送;在隧道出口对接受到的协议数据解封装,并做相应的处理。
总之,隧道技术能够充分利用现有的网络投资,因此在过渡初期是一种方便的选择。
IPv6网络边缘设备收到IPv6网络的IPv6报文后,将IPv6报文封装在IPv4报文中,成为一个IPv4报文,在IPv4网络中传输到目的IPv6网络的边缘设备后,解封装去掉外部IPv4头,恢复原来的IPv6报文,进行IPv6转发。
图1-2IPv6穿越IPv4隧道
但是隧道技术并不能解决IPv6节点与IPv4节点之间相互通信的问题。
而且因为在隧道的入口处会出现负载协议数据包的拆分,在隧道出口处会出现负载协议数据包的重组。
这就增加了隧道出入口的实现复杂度,不利于大规模的应用。
3.1.3协议翻译技术(NAT-PT)
协议翻译技术,一方面是IPv4与IPv6协议层的翻译,另一方面是IPv4应用与IPv6应用之间的翻译。
前者是通过NAT-PT技术实现的,后者则通过应用代理网关ALG来实现。
NAT-PT是一种纯IPv6节点和IPv4节点间的互通方式,所有转换工作都由网络设备来完成。
支持NAT-PT的网关路由器应该具有一个IPv4地址池,当IPv6的网络向IPv4的网络通讯时,用以对应IPv6地址,实现地址间的翻译等等。
双栈技术给出了目前最成熟可靠、升级风险低的方案,但却无法从根本上解决IPv4地址资源短缺的问题。
而能够真正引入IPv6丰富地址的协议翻译类和隧道类这两类过渡技术。
NAT-PT相比其他的的转换技术还有另外的有点。
NAT-PT不必修改已经存在的IPv4网络,就可以实现内部网络的IPv4主机对外部网络IPv6主机的访问,且通过上层协议映射使大量的IPv6主机使用同一个IPv4地址,节省了IPv4地址资源。
从这个角度,它是一个很实用的IPv4和IPv6之间的过渡技术。
另外,NAT-PT修改协议报头来转换网络地址,使IPv4节点和IPv6节点互通。
与一些隧道技术不同,NAT-PT只要求在IPv4和IPv6之间互联的网络转换设备上启用,这样其他网络设备的压力就会变小很多。
3.2协议翻译技术(NAT-PT)
在网络的过渡时期必然存在纯IPv4主机和纯IPv6主机之间进行通信的需求,由于协议栈的不同很自然地需要对这些协议进行翻译转换。
NAT-PT是用于实现IPv4向IPv6平滑过渡的协议转换技术。
NAT-PT由网络地址翻译技术(NetworkAddressTranslation,NAT)和协议翻译技术(ProtocolTranslation,PT)2个部分组成。
NAT技术是IPv4和IPv6间的网络地址转换技术,一般需要设置一个IPv4地址池,当IPv6地址转换成IPv4地址时,从地址池中获取一个IPv4地址,并把IPv6源地址转换成该IPv4地址,提取IPv6目的地址中的主机地址部分作为IPv4目的地址,并重新计算包头的校验和。
把该地址转换记录在地址映射表中。
将IPv4地址转换成IPv6地址时,可以根据地址映射表中的地址转换记录来实现。
3.2.1无状态IP/ICMP转换算法SIIT(StatelessIP/ICMPTranslation)
在NAT-PT的实现中最重要的一部分就是协议部分的转换算法,也就是无状态IP/ICMP转换算法(SIIT)。
NAT-PT将SIIT技术和IPv4网络中动态地址翻译技术(NAT)相结合。
利用了SIIT技术的工作机制,同时又利用了传统的IPv4下的NAT技术,为动态地访问IPv4节点的IPv6节点分配IPv4地址,很好地解决了SIIT技术中的全局IPv4地址池规模有限的问题。
转换方法包括如下几个大的方面:
从IPv4转换到IPv6:
(1)IPv4头部到IPv6头部的转换
(2)IPv4UDP头部的转换
(3)IPv4的ICMP头部转换为IPv6的ICMP头部
(4)IPv4的ICMP错误消息转换为IPv6的ICMP错误消息
从IPv6转换到IPv4:
(1)IPv6头部到IPv4头部的转换
(2)IPv4的ICMP头部转换为IPv6的ICMP头部
(3)IPv4的ICMP错误消息转换为IPv6的ICMP错误消息
上述转换中,重点描述一下IPv4到IPv6转换过程中UDP头部的转换。
在IPv4报文中,UDP头部校验和可以不填写,即UDP头部校验和可以是0。
但是在IPv6协议中,IPv6头部没有校验和,为了保证UDP数据包的正确性,UDP头部中校验和字段必须填写。
3.2.2应用层网关(ALG)原理
NAT-PT只能提供从IPv6到IPv4的单向连接,要实现从IPv4外网到IPv6网络的访问,这就必须结合DNS-ALG进行域名支持。
工作过程主要有以下几点:
(1)IPv4主机要与IPv6主机通信,首先向IPv6网络的DNS发出请求;
(2)请求到达NAT-PT网关后,NAT-PT网关对报文的头部进行转换;
(3)IPv6内的DNS服务器收到报文后,查询自己的记录表;
(4)报文到达NAT-PT网关后,NAT-PT对其头部进行转换;
(5)IPv4主机在收到此DNS应答后,就知道IPv6主机IPv4地址,IPv4主机就可以发起到IPv6主机的连接。
(6)报文到达NAT-PT网关后,由于它已经记录了IPv4地址与IPv6地址之间的映射,就可以对地址进行转换;
(7)报文到达IPv6主机后,IPv6主机对此报文回复;
(8)NAT-PT网关再按照原有记录的信息对此报文进行地址转换。
原理举例:
IPv6网络中主机和IPv4中主机通讯寻址比较简单,就是说IPv4地址可以直接加上NAT-PT前缀成为IPv6地址,如:
IPv4主机地址为10.18.34.1,NAT-PT设备设定的前缀为2222:
:
/64,则IPv4主机对应的IPv6地址就是2222:
:
10.18.34.1。
反过来,IPv4网络中主机不能这样和IPv6网络中主机通讯,这就需要DNS-ALG的帮助,通过IPv6主机对应的域名访问。
如下图所示:
图1-3DNS-ALG
IPv4主机10.18.34.117需要访问IPv6主机2000:
:
1,IPv4主机域名为www.IP,IPv6主机域名为www.IP。
两个不同网络中的连接主要有以下4步:
(1)DNS请求。
IPv4主机发送DNS请求给IPv4网络中的DNS服务器,此DNS服务器无IPv6网络的资源记录。
现在IPv4网络中的DNS服务器替IPv4主机发送DNS请求给IPv6网络的DNS服务器。
由于NAT-PT设备上有两个DNS服务器的地址对应关系,因而NAT-PT再次发送经过转换的DNS请求给IPv6的DNS服务器。
(2)返回DNS请求。
IPv6中的DNS服务器接收到NAT-PT转换过的DNS请求后,发送DNS应答给IPv4中的DNS服务器。
期间经过NAT-PT的转换。
(3)NAT-PT设备发送经过转换之后的DNS应答报文给IPv4的DNS服务器。
(4)IPv4的DNS服务器收到应