基于Linux下的IPv4/IPv6透明网关研究

来源 :吉林大学 | 被引量 : 0次 | 上传用户:linxuekai
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着Internet的技术的发展,到2005和2015年之间就会面临着IPv4地址耗尽的问题,为此IETF开发了IP协议的一个新版本——IPv6,它使70年代设计的IPv4更具有现代化。人们预期随着Internet的增长和对即插即用的解决方案需求,IPv6将得到更广泛的采用,并在不久的将来完全取代IPv4。IPv4到IPv6将会有很长的过渡时期,在这个过渡时期,IPv4节点与IPv6节点的共存和相互通信是必要的,一个强壮的、灵活的IPv4-to-IPv6过渡和共存机制将是必需的。除此之外,互通技术应该对普通用户做到“无缝”,对信息传递做到高效。所以必须实现IPv4网络与IPv6网络之间的互操作及平滑升级机制。目前已有多种技术可以实现从IPv4向IPv6的转换,但都仍有局限性。 按工作原理可划分为:双协议栈(RFC 2893 obsolete RFC1933):采用该技术的节点上同时运行IPv4和IPv6两套协议栈。缺点是:由于它仍旧要使用IPv4地址,所以它并不能缓解IP地址空间的耗尽问题。隧道技术(RFC 2893):是指将一种协议报头封装在另一种协议报头中,这样,一种协议就可以通过另一种协议的封装进行通信。缺点是:不能实现Ipv4网络与Ipv6网络的之间的相互通信。NAT-PT(RFC 2766):适用于纯IPv4站点和纯IPv6站点之间的通信。除了地址的翻译之外,还要包括协议的翻译。从以上方式可以看出来,要想实现IPv4节点与IPv6节点的通讯,最好的方法只有采用NAT-PT方式。本论文主要研究解决在此过渡过程中IPv6网络中的主机与IPv4网络中的主机之间的通讯问题,也就是对连结IPv4与IPv6两个网络的桥梁——协议网关的问题的深入研究。 <WP=73>为了更好地提高了传输性能,IPv6报头与IPv4报头相比较而言有很大的变动:与IPv6相比较,IPv4报头中有6个域被删除,3个域的名称或部分功能被改变,并新增加了2个域。因此,我们在实现IPv6网络与IPv4网络之间的相互通信中,必须解决地址的转换和协议的转换两部分内容。本文仅仅研究基于NA(P)T-PT实现IPv4与IPv6网络的互访需要解决的问题。这种方法提供一个透明网关方式来解决IPv6网络与IPv4网络之间的主机相互通讯的问题。通过结合网络地址转换和协议转换,这种方法得以实现。NAT-PT是IPv6网络区域和IPv4网络区域的边界网关。它通常是一个运行着双协议栈的机器,有至少一个接口链接IPv4网络,另一个端口联接着IPv6网络,NAT-PT可以在路由器或者诸如Linux/FreeBSD/Windows等多种计算机平台得到实现。带有协议转换功能的Microsoft IPv6 协议栈,也是NAT-PT的具体应用。NAT-PT可分为如下几类:传统NAT-PT模式(Traditional-NAT-PT)传统的NAT-PT模式只能解决纯IPv6域中的主机能访问IPv4域中的主机,也就是说,发起方只能是IPv6域中的主机。其又可分为基本模式和NAPT-PT模式:<1>綨AT-PT模式,预留一个IPv4的地址池,实现一个IPv6地址与地址池中的某一个IPv4地址的对应转换。<2>NAPT-PT模式可以实现多个的IPv6主机地址,多路复用到同一个IPv4地址。具体的实现类似与普通的IPv4的NAPT。 双向NAP-PT模式 (Bi-directional-NAT-PT)发起方既可以是IPv6域中的主机,也可以是IPv4域中的主机。双向NAP-PT模式扩展了传统的NAP-PT模式。为了实现这个功能,我们使用了DNS应用层网关(DNS-ALG)达到双向互访的目的。本次透明网关的实现采用相对照的方法,来深入的分析NAP-PT <WP=74>(NAPT-PT)系统的实现过程和性能。第一种实现是在Linux平台上完成用户态的双向NAT-PT,数据包的捕获和数据包的处理都是在用户态完成的,数据包的捕获和过滤采用了Berkeley包过滤器(BPF),我们用这种方式实现了吉大IPv6实验网与外部IPv4网的相互通讯,包括域名解析、网页浏览、FTP、SSH等功能。这种方式固然有程序设计方便,便于扩展的优点,但是网络通讯的大量的开销是花费在数据包从Adapter到内核然后再到用户层的拷贝的过程中了,这极大的影响了协议转换传输的性能,在数据流量比较大的时候,丢包现象十分的明显,为了进一步的提高数据包截获的成功率,我们在第二种方案中利用Linux 内核便于扩展的特点实现内核态的协议转换。linux从2.4.x的内核以后,提供了一套功能强,性能稳定的Netfilter 框架,我采用了Netfilter 框架作为数据包的捕获和过滤框架,并且把协议转换部分也移植到内核中,并且实现了NAPT的功能,减少了对IPv4地址的占用;把整个的NAPT-PT都移植到了内核之中,以内核模块的形式插入内核,在性能上收到了比较满意的结果。理论上任何一个在净荷中包含了地址信息的协议都需要借助ALG(应用层网关)的帮助,才能正确的对这些协议提供支持,ALG是某些特定应用程序的代理(Agent),用让V6 node可以和V4 node互相通讯。因为有些应用协议会把网络地址存在封包的payload 中,可是NAT-PT 本身并无法知道payload 里存的是什么,因为NAT-PT只是处理IP首部中的内容。利用ALG可以帮助NAT-PT来达到这个功能,对这些应用协议提供支持。在这里,主要使用DNS-ALG和FTP-ALG。在当今的研究协议转换的各个研究单位个人,主要是在用户层完成此功能,系统之间相互调用和转换不可避免的浪费了宝贵的时间。我们采用的方案是在内核态完?
其他文献
掌纹在线识别是利用人的手掌掌纹图像对其身份进行认证的一种生物特征识别技术.掌纹识别作为生物识别技术的一个重要分支,具有采样简单、信息丰富的特点,是一个值得深入研究
随着计算机网络和通信技术的飞速发展,数字媒体(包括数字图像、数字视频、数字音频)已得到了广泛的应用,随之而来的数字媒体的信息安全、知识产权保护和认证等问题也变得日益突出
计算机网络的出现使世界的联系变得更加紧密。但是,开放式网络上和分布式系统上不断增长的各种应用尤其是电子商务的蓬勃发展,对系统的安全提出了巨大挑战,不能有效地解决计算机
软件复用是解决软件危机、实现软件产业工业化生产方式的有效途径.软件复用活动包含两个相关的阶段:可复用软件资产的生产阶段和基于可复用软件资产的应用系统开发阶段.领域
网络服务是当前最引人关注的计算机技术之一.随着网络服务需求的不断增长,选择好的网络服务显得越来越重要.服务选择是指调用者在拥有相同接口的多个网络服务中做出合适选择
信息社会的发展、网络及计算机技术的进一步普及,使得对网络上提供高质量的视频/音频等多媒体服务的需求越来越大。视频会议技术就是一种让身处异地的人们通过某种传输介质实
地理信息产业是信息产业的一个重要组成部分,地理信息技术是IT技术的一个重要分支,地理信息系统软件是一类特殊的计算机信息系统软件,它是以各类空间数据及其属性为基础,为各种应
近年来,社交网站和社会媒体等在线社会关系网络逐渐成为互联网服务和应用的主流。人人参与信息的产生、传播和获取,人们信息传播和信息共享的诉求得到了极大程度地满足,获得了前
随着计算技术和通信技术的发展,不仅台式计算机变得非常普及,非PC设备也正以惊人的速度成为市场的主流,计算已经不只限于桌面,它渗透到人们生活和工作的各个环节,这就是所谓
目前,在社会化标签系统中推荐搜索研究主要聚焦在标签的推荐。也就是说给定一个用户和一个资源,推荐系统预测用户用什么样的标签来解释这个资源,怎样去开发面向资源的个性化