佳工机电网 在线工博会 我的佳工网 手机版 English
关键字  
  选择展区 >>
您的位置: 首页 > ERP/制造业信息化展区 > 网络/安全/存储产品展厅 > 产品库 > 技术论文 > 正文 产品库 会展 人才 帮助 | 注册 登录  
网络/安全/存储产品
 按行业筛选
 按产品筛选
查看本类全部文章
e展厅 产品库 最新动态 技术文章 企业目录 资料下载 视频/样本 反馈/论坛
  技术应用 | 基础知识 | 外刊文摘 | 业内专家 | 文章点评 投稿 发表科技文章 
NAT-PT过渡策略中地址欺骗技术的研究
作者:陈淳鑫 白天力 文辉 赵晓宇
欢迎访问e展厅
展厅
5
网络/安全/存储产品展厅
无线上网卡, 光纤设备, 网络布线产品, 计算机干扰器, 网关, ...
摘 要:分析了NAT-PT用到的地址欺骗技术,详细阐述了地址欺骗技术的原理并且在此基础上提出了解决方案。
关键词:NAT-PT IPv6 地址欺骗

当前Internet的基础技术IPv4面临的两个最大问题是地址资源耗尽和骨干路由器路由表规模爆炸,这两个问题是IPv4协议本身存在的缺陷,只有对其进行较大的修改才能解决。经过多年的讨论、各种方案的比较权衡,下一代IP协议目前已经基本制定完成,并分配了版本号6,称为IPv6。

IPv6大规模普及面临的一个关键问题:如何渐进地、无伤害地由基于IPv4的网络过渡到基于IPv6的网络,同时尽可能减少过渡的成本。IETF已成立专门的工作组NGTRANS来研究从IPv4向IPv6的过渡问题。目前提出的解决方案主要有三种:双协议栈(Dual Stack) [5]、隧道(Tunnel)[7]和网络地址/协议翻译(NAPT-PT)[3]。

由于现有的IPv4网络仍在工作而且工作得不错,而升级到IPv6的成本很高,所以可以预测,最先升级到IPv6的肯定是那些IPv4很难满足需求的特殊应用驱动的网络,譬如第三代移动通信(3G)、信息家电等。这些网络将会采用纯粹的IPv6,而不是IPv4/IPv6共存的双协议栈。

但是现有网络资源绝大多数存在于IPv4网络中,必须保证纯IPv6网络能够与现有IPv4网络通信。网络地址翻译/协议翻译(NAT-PT)[3]作为一种支持纯IPv6网络与现有IPv4 Internet透明通信的技术,具有其独特的优势。

1 IPv4向IPv6过渡机制研究现状

在未来的一段时间里,IPv4与 IPv6将同时并存,相互作用。从IPv4到IPv6的演进必然是一个渐进的过程。引入IPv6技术并实现全球IPv6网络互联,仍然需要一段时间,才能使所有服务都实现对IPv6的支持。在这种情况下,可以预见,Internet由IPv4向IPv6过渡需要一个相当长的时间才能完成,完全升级。

目前,解决IPv4网络向IPv6过渡问题成熟的技术主要有三种:

·双协议栈技术(Dual Stack);
·隧道技术(Tunnel);
·协议翻译技术(NAT-PT)。

1.1双协议栈技术[5](Dual Stack, RFC2893)

主机同时运行IPv4和IPv6两套协议栈,同时支持两套协议。IPv6和IPv4是功能相近的网络层协议,两者都基于相同的物理平台,而且加载于其上的传输层协议TCP和UDP又没有任何区别。由图1所示的协议栈结构可以看出:如果一台主机同时支持IPv4和IPv6两种协议,那么该主机既能使用IPv4与支持IPv4协议的主机通信,又能使用IPv6与支持IPv6协议的主机通信,这就是双协议栈技术的工作机理。


图1 双协议栈的协议间关系

“双栈”这个称呼本身有些误导。大多数IPv6实现并不提供两个完全不同的TCP/IP栈分别为IPv4和IPv6服务,而是提供一个混合的栈,在两套协议栈中共享大部分代码。

1.2 隧道技术[7] (Tunnel, RFC3053)

这种机制用来在IPv4网络之上连接IPv6的站点,站点可以是一台主机,也可以是多个主机。隧道技术将IPv6的分组封装到IPv4的分组中,封装后的IPv4分组将通过IPv4的路由体系传输,分组报头的“协议”域设置为41,指示这个分组的负载是一个IPv6的分组,以便在适当的地方恢复出被封装的IPv6分组并传送给目的站点。隧道技术只要求在隧道的入口和出口处进行修改,对其它部分没有要求,因而非常容易实现。但是隧道技术不能实现IPv4主机与IPv6主机的直接通信。

1.3 NAT-PT[3]技术(Network Address Translation-Protocol Translation,RFC2766)

RFC1631详细说明了NAT(Network Address Translator)技术的基本原理。虽然NAT技术是针对IPv4网络提出的,但只要将IPv4地址和IPv6地址分别看作NAT技术中的内部地址和全局地址,就能适用于IPv6技术的演进,这时NAT就演进成了NAT-PT。利用转换网关在IPv4和IPv6网络之间转换IP报头的地址,同时根据协议不同对分组做相应的语义翻译,就能使纯IPv4和纯IPv6站点之间透明通信。

2 基于NAPT-PT的方案中地址欺骗技术的研究与实现

2.1 什么是地址欺骗技术

由于当前的IPv6兼容IPv4的机制基于双栈,要实现纯IPv6主机对纯IPv4主机的访问,这时要做类似的地址欺骗和转换。基于NAPT-PT的过渡方案是在纯IPv4或纯IPv6的网络中提供一个或多个特殊的DNS[1~4]服务器作“地址欺骗”, 同时提供一个或多个双栈的服务器做NAPT-PT网关。DNS服务器为整个站点服务,当纯IPv6主机(ADDR6)发起一个DNS查询时,如果DNS服务器发现目的主机只有IPv4地址(ADDR4),将会返回该IPv4主机一个按某种策略选定的IPv6地址(ADDR46)作为查询结果,同时通知NAPT-PT网关ADDR6、ADDR4和ADDR46这三个地址之间的对应关系,这样NAPT-PT网关就可以根据这些信息进行地址/协议翻译了。其中,ADDR46必须是站点内可以路由的。在边界网关处将把目的地址是ADDR46的报文路由到相应的NAPT-PT网关。

2.2 地址欺骗解决方案

本方案是建立一张hash表,如表1所示。

表1 hash表

同时提供一个配置文件:
其中与hash表有关的内容包括:

·欺骗用的公有IPv4地址,例如:210.25.132.120/29
·欺骗用的IPv6地址[4]前缀,例如:CHEATING_IP6_ADDR_PF = 0x3f,0xfe,0x81,0xb1,0x00,0x01,0x03,0x00,0x00,0x00,0x00,0x00

NAT-PT解决方案如图2所示。


图2 NAT-PT方案图

首先,对于纯IPv6主机(Host6)发起的访问纯IPv4主机(Host4)的情况:

(1)首先Host6对DNS 服务器发出对Host4的域名解析请求;
(2)DNS服务器解析出Host4的地址是ADDR4,同时发现它是一台纯IPv4主机;
(3)DNS服务器通过配置文件naptgw6.conf进行地址欺骗,将目的IPv4地址加上IPv6欺骗地址前缀组成ADDR46,作为目的主机的IPv6地址,返回给Host6,同时通知NAT-PT网关进行相应处理;
(4)NAT-PT网关通过hash算法得到hash表索引值,在hash表中相应位置保留源IPv6地址和源端口信息;
(5)hash算法得到的索引值作为Host6欺骗用的IPv4源端口值,同时NAT-PT网关通过配置文件naptgw6.conf选择一个欺骗用IPv4地址ADDR64作为协议翻译后的源地址;
(6)Host6向ADDR46发出IPv6报文,IPv6报文路由到支持双栈的边界路由器Router_dualstack,路由器Router_dualstack接收到IPv6报文,把它路由给NAT-PT网关,Router_dualstack的路由表如表2所示;

表2 Router_dualstack路由表项

(7)NAT-PT网关发现该报文的目的地址是ADDR46,于是将源地址改为ADDR64,将目的地址改为ADDR4,然后做协议转换,以IPv4数据报方式发给Host4。

对纯IPv4主机(Host4)回访纯IPv6(Host6)的情况:

(1)Host4收到Host6发来的数据报,并返回IPv4数据报给ADDR64;
(2)返回IPv4数据报通过路由器Router_dualstack路由到NAT-PT网关,根据Host4源端口值在hash表中查到对应的表项作为目的IPv6地址和端口;
(3)同时源IPv4地址加欺骗前缀后地址变为ADDR46,随后做协议转换,通过NAT-PT网关以IPv6数据包方式发给Host6;
(4)Host6收到返回数据报,一次报文交换成功。

当Host4与Host6通信时过程正好相反。

2.3 实现负载均衡的方法

在最简单的情况下,假设要使用两个协议翻译网关(GW1和GW2)实现负载均衡,只需要为GW1使用10.0.0.0/9和2001:1000:1::/64做地址欺骗,为GW2使用10.129.0.0/9和2001:1000:2::/64做地址欺骗,在边缘IPv4/v6双栈路由器如表3所示。


表3 负载均衡路由表项

GW1和GW2理论上自动分配各一半的流量,而所有的设置只需要在网络边缘进行,程序代码不需要做任何修改;对于被服务的站点也是透明的,只需更改DNS服务器的设置。

2.4数据结构

map_tbl数据结构的主要作用是记录hash表中的数据,包括索引值、源IPv6地址和源IPv6端口,以及是否使用标志位。

map_tbl数据结构如下:
struct map_tbl[INDEX]
{
unsigned char    used;
struct in6_addr src_ipv6_addr;
in_port_t      src_port;
};
hash表存取地址的效率高低直接影响NAT-PT网关的连接速度,因此hash表中INDEX的算法很重要。为了尽量避免冲突,提高效率,hash函数涉及的参数有源IPv6地址、源IPv6端口、目的IPv4地址(欺骗用IPv6地址的8~11byte)、目的IPv4端口。这些参数对于每次新的连接都是变化的,通过这些参数相加计算出hash表的INDEX(16位)值,取1025~65535(去掉0~1024端口值)作为hash表的索引,同时标志位置为1表示已占用,算法计算公式如下所示:

hash程序的简单处理流程如图3所示。


图3 hash函数处理流程

对于hash表地址发生冲突的处理,通过检验标志位得知此索引处是否已存有欺骗地址,然后INDEX值自动加1,继续检验标志位,直至发现没有被占用INDEX。

2.5 方案测试

具体测试方案如表4~6所示。

表4 测试环境

表5 Ping测试

表6 Telnet测试

2.6 方案总结

基于NAPT-PT的方案只是增加了几台设备,而没有对现有设备做任何改动,特别是不要求客户端做任何改动,只需要客户端操作系统实现纯IPv4协议栈或纯IPv6协议栈即可。由于这个方案可以很自然地实现负载均衡,所以可以被大的ISP用来为下面接入的所有站点服务,并可以保证被服务的IPv4站点中的任意部分可以在任意时刻升级成双栈,从而实现平稳过渡。

总的来说,本方案具有以下特点:

·适用于纯IPv4与纯IPv6站点间的通信;
·对被服务的站点的主机完全透明;
·不需要主机做任何修改,路由器也不需要升级;
·能与其他现存的过渡技术结合使用,而且保持透明。

从理论上讲,采用NAPT-PT并不是一种完美的过渡方案,最好的方案是采用双协议栈技术,保持现有IPv4的体系不变,逐渐在IPv4体系上增加IPv6支持,直到最后整个网络都变成双协议栈,建立起全球的IPv4与IPv6共存的体系。然后逐渐去掉IPv4协议,最终过渡到纯粹的IPv6网络。但是这种想法带有很强的理想主义色彩,实际上很难做到。很有可能在过渡的某个阶段出现这种情况:Internet的大部分已经支持双栈并实现了IPv6的连接,但是还有一部分仍然是纯粹的IPv4网络,同时由于IPv4地址耗尽等种种原因,有些网络需要马上就使用纯IPv6,因此在现实过渡过程中使用地址欺骗技术的NAPT-PT方案情况的可能性要远远大于前者。

参考文献
1 S. Deering, R. Hinden. Internet Protocol, Version 6 (IPv6) Specification[S]. RFC2460,December 1998
2 S. Thomson, C. Huitema.DNS Extensions to support IP ver-sion 6[S]. RFC1886, December 1995
3 G. Tsirtsis, P. Srisuresh. Network Address Translation-Proto-col Translation (NAT-PT) [S]. RFC 2766, February 2000
4 M. Crawford, C. Huitema. DNS Extensions to Support IPv6 Address Aggregation and Renumbering[S]. RFC2874, July 2000
5 R. Gilligan, E. Nordmark. Transition Mechanisms for IPv6 Hosts and Routers[S]. RFC 2893, August 2000
6 P. Srisuresh, K. Egevang. Traditional IP Network Address Translator (Traditional NAT) [S]. RFC 3022, January 2001
7 A. Durand, P. Fasano, I. Guardini, D. Lento. IPv6 Tunnel Broker[S]. RFC 3053, January 2001(end)
文章内容仅供参考 (投稿) (如果您是本文作者,请点击此处) (4/30/2005)
查看更多网络/安全/存储产品相关文章: more
·四因素决定网络管理水平 newmaker (1/5/2006)
·病毒杀不死的原因和相应对策 newmaker (4/29/2005)
·存储分析:软件决定存储版图 newmaker (4/28/2005)
·解析来自Autorun.inf文件的攻击 (4/28/2005)
·企业如何选择合适的平台级网管软件 青鸟网软产品经理 刘伟 (4/27/2005)
·Mono-3D:新型三维实体的图像处理技术 Georg Lambert (4/26/2005)
·千兆防火墙技术及产品导购 newmaker (4/26/2005)
·网管员管理实时通信软件的三个方案 newmaker (4/26/2005)
·综合布线的产品选型与工程规范 (4/26/2005)
·网络防御--构筑成长的盾牌 newmaker (4/25/2005)
查看相关文章目录:
·ERP/制造业信息化展区 > 网络/安全/存储产品展厅 > 网络/安全/存储产品文章
文章点评 查看全部点评 投稿 进入贴吧


对 网络/安全/存储产品 有何见解?请到 网络/安全/存储产品论坛 畅所欲言吧!


网站简介 | 企业会员服务 | 广告服务 | 服务条款 | English | Showsbee | 会员登录  
© 1999-2024 newmaker.com. 佳工机电网·嘉工科技