RSS订阅
RSS订阅TT网络

基于SOCKS地IPv4向IPv6过渡技术(一)

2008-6-18  选择字号:  | |
打印本文章

导读:由于IPv6与IPv4相比具有诸多的优越性,IPv6代替IPv4已经成为网络发展的必然趋势

关键词:IPv4 IPv6 SOCKS BIA SOCKS64

正在加载数据...

    一、概述

    由于IPv6与IPv4相比具有诸多的优越性,IPv6代替IPv4已经成为网络发展的必然趋势。然而现有IPv4网络是如此的庞大,以至于短时间之内不可能将它全部废除。因此,需要寻找一种合适的过渡技术来解决这一难题。由于无状态IP/互联网控制消息协议翻译算法(SIIT)、网络地址翻译-协议转换器(NAT-PT)和栈内凸块(BIS)等过渡技术都存在着这样那样的缺点,隧道技术又不能解决IPv6节点与IPv4节点之间相互通信的问题,而在网络中应用代理服务既可以充分利用IP地址资源,又能够保证网络安全,尤其是全能代理协议SOCKS,它可以完成网页浏览、文件传输和远程登陆等所有工作的代理,是可用的功能最强大、应用最灵活、安全性较高的代理,因而基于具有强大功能的SOCKS代理的IPv4向IPv6过渡技术已经成为一种不错的选择。基于SOCKS的过渡技术分为两种。一种是API内凸块(BIA)技术,这种技术直接在双栈主机上实现IPv4和IPv6的地址转换;另一种是SOCKS64技术,这种技术是通过一个双栈网关来进行IPv4和IPv6的地址转换。

    二、BIA技术

    BIA技术在双栈主机的SocketAPI模块与TCP/IP模块之间加入一个API翻译器(如图1所示)。API翻译器包含三个模块:域名解析器,地址映射器和函数映射器。其中,域名解析器负责对IPv4应用程序的请求域名返回一个正确的应答,地址映射器在主机内部维护一张IPv4与IPv6地址对的表格(分配的IPv4地址来自IPv4地址池中,采用未使用的IPv4地址,如0.0.0.1~ 0.0.0.255),函数映射器负责在IPv4的Socket API函数与IPv6的Socket API函数间相互翻译。

图1  采用BIA机制的双栈主机的结构模型

    图1  采用BIA机制的双栈主机的结构模型

    RFC3338中描述了采用BIA机制的双栈主机与IPv6主机之间相互通信的过程。其中双栈主机DualStack向IPv6主机Host6发起通信的过程如下:

  •     当双栈主机DualStack上的IPv4应用向它的域名服务器(DNS)发送查询目的主机的地址请求时,域名解析器拦截了这个请求,并产生一个新的查询请求转发给DNS来解析A和AAAA两种记录。
  •     DNS解析出Host6的AAAA记录后,将它返回给域名解析器。
  •     域名解析器要求地址映射器为IPv6地址分配一个IPv4地址。
  •     地址映射器在IPv4地址池中选择一个未用的保留地址,在映射表中注册后返回给域名解析器。
  •     域名解析器为分配的IPv4地址产生一条A记录,返回给IPv4应用程序。
  •     IPv4应用程序调用IPv4的SocketAPI函数,函数映射器对调用命令进行拦截,判断其是否来自于IPv6的应用。若不是,跳过翻译程序;否则,函数映射器向地址映射器请求该IPv4地址对应的IPv6地址,地址映射器从映射表中查找后将结果返回。函数映射器使用收到的这个AAAA型地址调用Host6上相应的IPv6socketAPI函数。
  •     当函数映射器接收到Host6上IPv6socketAPI函数的应答后,向地址映射器请求与Host6对应的IPv4地址。然后,函数映射器利用此IPv4地址继续完成socketAPI函数的调用。

    由IPv6主机Host6发起到双栈主机DualStack的通信过程相对简单一些。Host6通过它的DNS解析DualStack的AAAA记录,然后向DualStack发送一个IPv6的数据包。为了通过调用IPv4的API函数和IPv4应用通信,函数映射器检测到IPv6数据包到达Dual Stack后,向地址映射器发送一个IPv4地址请求,并用返回的IPv4地址发起一个IPv4的Socket API调用。然后,函数映射器再向地址映射器请求与该IPv4地址对应的原来的IPv6地址,按照这个地址对Host6答复。

    三、SOCKS64技术

    SOCKS64技术是原有SOCKS协议(IETFRFC1928)的扩展,相当于IP层的代理,其原理如图2所示。它增加了两个新的功能部件*SocksLib*和*Gateway*。*SocksLib*是在客户机一端引入的,它位于应用层和Socket层之间,可以替代应用程序的Socket API和DNS域名解析API。在*Socks Lib*中有一个DNS域名解析代表,它在源节点(客户机C)全权代表到中继服务器(网关G)的域名解析行为。*Gateway*是安装在IPv6和IPv4双栈网关上的一个增强型的SOCKS服务器,可以完成客户机C(IPvX)和目的端D之间的任何协议组合类型的中继。当*Socks Lib*调用中继时,由父*Gateway*来产生出一个*Gateway*进程(线程)来负责中继连接。

 

图2  采用SOCKS64技术的网络通信原理

    图2  采用SOCKS64技术的网络通信原理


IPv6 vs. IPv4
 IPv4与IPv6包头结构比较
 IPv6报头结构与IPv4的比较
 浅谈IPv6相对于IPv4在安全方面改进
 IPv4/IPv6过渡技术和方案分析(一)
 IPv4/IPv6过渡技术和方案分析(二)
 IPv4与IPv6协议的比较(一)
 IPv4与IPv6协议的比较(二)
 基于SOCKS地IPv4向IPv6过渡技术(一)
 基于SOCKS地IPv4向IPv6过渡技术(二)
 IPv4向IPv6过渡技术研究(一)
 IPv4向IPv6过渡技术研究(二)
 IPv4-IPv6组播过渡技术(一)
 IPv4-IPv6组播过渡技术(二)
 IPv4/IPv6双栈方法
 IPv6相对于IPv4在安全方面的改进
 综合组网:如何选择IPv4或IPv6
 IPv4/IPv6过渡时期的DSL宽带接入
 Pv4网络和IPv6网络互连技术
 如何在IPv4骨干网中应用IPv6
 IPv4与IPv6的集成网络原则说明

来源:巧巧读书    
相关的白皮书
在ipv4协议中我们通常应用一个/24子网掩码在255台主机上设计我们的子网。那么,在ipv6中,在LAN和VLAN上创建子网的思维过程是怎样的呢?
近日,由中国互联网络信息中心(CNNIC)等主办的2008IP地址资源研讨会在天河软件园召开,据会议透露出的消息,IPv4地址资源按照目前的分派速度只剩下830多天……
思科的研究员Fred Baker说:到关键时刻,NAT也许是我们把IPv6添加到互联网的惟一办法。如果我们拥有纯IPv4网络和纯IPv6网络,NAT是两种网络相互连接的惟一途径。
思科的研究员Fred Baker说:到关键时刻,NAT也许是我们把IPv6添加到互联网的惟一办法。如果我们拥有纯IPv4网络和纯IPv6网络,NAT是两种网络相互连接的惟一途径。
现在大多数考虑采用IPv6协议并且提出实施解决方案的人都考虑了IPv4/IPv6共存。但IPv6的迅速发展将IPv4的推向了终结的边缘。

如果你曾经有过处理HTTP错误码的经历,你肯定知道这个过程是很让人头痛的。往往,这些神秘的代码有多种意思而让你摸不着头脑。

随着无线网络的广泛应用,网络管理者在进行无线网络的监控、分析和测试的过程中需要应用到多种工具,如iPerf、频谱分析器和Pilot等。本专题对这些工具的应用进行了总结,供大家参考。

在这一专题中我们将按OSI分层角度探讨网络安全。我们将深入研究OSI堆栈,从物理层开始直到应用层。从分析每一层的漏洞出发,假想攻击这些漏洞的各种可能性。
最新更新
专家答疑
技巧
Lisa Phifer
问:在不同的无线技术中,分别在什么时候应用WLAN、Wi-Fi和WiMax?Wi-Fi和WLAN的最主要的不同是什么?
chris Partsenidis
因特网网络连接中经常会遇到两种连接方式:因特网连接共享(ICS)与XP中两个网络适配器(NIC)间桥接,这两种连接有什么区别?
Michael Gregg
问:我在工作中应用遗传算法(genetic algorithm)来进行入侵监控。我是这个领域的新手,我想请教专家为了进行算法工作,我该怎样进行编码?