土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 基于SOCKS的IPv4向IPv6过渡技术

基于SOCKS的IPv4向IPv6过渡技术

发布于:2007-01-14 15:11:14 来自:建筑设计/CAD下载及教程 [复制转发]
一、概述

由于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的地址转换。

全部回复(4 )

只看楼主 我来说两句
  • 枫松柏
    枫松柏 沙发
    五、结语
    基于SOCKS的IPv4向IPv6过渡技术主要有BIA与SOCKS64两种,它们都采用双栈主机和IPv4预留地址思想,使IPv4应用在不作任何修改的情况下与IPv6主机通信。BIA技术提供的是具有IPv4和IPv6协议的双栈主机直接与IPv6主机通信的解决方案,SOCKS64技术是提供了IPv4主机通过双栈网关与IPv6主机通信的解决方案。也正由于它们是两种不同的解决方案,才使得它们分别具有各自的优点和缺点。在实际应用时,可以根据具体情况确定采用哪种技术,并根据需要对它们加以改进。

    2007-01-14 15:12:14

    回复 举报
    赞同0
  • 枫松柏
    枫松柏 板凳
    四、技术比较分析

    虽然BIA与SOCKS64都是为了使IPv4能够顺利过渡到IPv6的技术,都是基于SOCKS的技术,都是采用双栈主机思想,都需要使用伪IP地址,但是它们的出发点却各有侧重,也各有优缺点。

    1.适用性

    BIA与SOCKS64都可以使IPv4应用在不作任何修改的情况下与IPv6主机通信。BIA技术提供的是具有IPv4和IPv6协议的双栈主机直接与IPv6主机通信的解决方案,SOCKS64技术是提供了IPv4主机通过双栈网关与IPv6主机通信的解决方案。

    2.预留IP地址的使用

    BIA与SOCKS64都使用预留IP地址。虽然BIA技术中的地址池可以在节点中以不同的粒度来实现,然而如果大量的IPv4应用和IPv6的主机通信时,可能耗尽可用地址,导致IPv4应用不能和IPv6的主机通信,所以需要对地址池内的地址进行有效管理。SOCKS64技术由于主要使用FQDN信息、通过DNS域名解析代表在*SocksLib*处负责域名管理工作,伪地址必须被作为临时值来处理,所以不需要为地址映射预留很大的地址空间,也不需要复杂的地址申请和垃圾收集机制。



    3.对应用的支持

    BIA与SOCKS64的初衷都是不需要修改IPv4应用而与IPv6主机通信。但是它们对应用的支持都不能达到尽善尽美。对于BIA来说,由于需要转换嵌在应用层协议中的IP地址(例如FTP),所以这种机制可能不适用于那些其负载中包含地址的新应用。BIA仅支持单播通信,如果要支持组播通信,还需要在函数映射模块中增加新的功能。BIA只是从语义上将IPv4SocketAPI函数转换成相应的IPv6Socket API函数,如果在API函数中转换内嵌于应用层协议的IP地址,其实现有赖于操作系统。由于IPv6的API具有新的高级参数,转换带有这种参数的 IPv6 API是很困难的,因此接收到的带有高级参数的IPv6数据包会被丢弃。对于SOCKS64来说,虽然它是直接继承SOCKS机制的技术,但是在使用时仍有一定的问题。SOCKSv5协议由三个命令(CONNECT、BIND和UDP ASSOCIATE)组成,所有这三个命令在SOCKS64中都能使用。其中,主要的命令也是使用最频繁的命令CONNECT没有明确的弱点,可以不加考虑地随意使用它。而BIND命令基本上是为支持FTP类型应用的反向通道聚合而设计的,所以通常的BIND命令的使用可能会导致一些问题。UDP ASSOCIATE命令基本上是为简单UDP应用(如archie)而设计的,所以在支持同时使用TCP和UDP的一大类应用时通用性还不够。另外,如果有些应用使用了非常灵活的、特别的方式创建连接,SOCKS64技术就无能为力了。

    4.DNS查询结果与另一端应用程序版本不匹配问题
    对于BIA,若正在使用的服务器端应用不支持IPv6,但是它又运行在一台支持其他 IPv6服务的主机上,而且这台主机还在DNS中以AAAA型记录出现,在DNS的查询结果和服务器应用的版本之间就出现了不匹配的情况。这时,使用 BIA的IPv4客户端应用可能连接不到这个服务器端应用上。解决方法是尝试所有在DNS中列出的地址,而不应只尝试一次即宣告失败。但是对于 UDPsocket,即便可能,BIA也很难发现可工作的IP地址,因此应用必须重复尝试各种可能的地址,直到发现一个可用地址为止。另一种避免这种问题的方法是仅当通信对端的A型记录不存在时,BIA才发生作用。这样,一台采用BIA的双栈主机上的应用到另一台双栈主机的数据流只使用IPv4协议。对于 SOCKS64则不存在这个问题。
    5.安全性
    对于BIA,由于它采用了API翻译器,很难实现端到端的安全性,而且传输层和应用层的安全也同样无法实现。但是,由于翻译机制发生在socketAPI层,采用BIA机制运行IPv4应用的主机和其他IPv6主机通信时,可以利用网络层的安全策略(如IPsec)。另外,由于预留IP地址的使用,有地址耗尽的可能,这就使得使用这种机制的主机易于遭到拒绝服务攻击。对于 SOCKS64,由于它是直接建立在SOCKSv5协议基础上的,其安全方面的特点与SOCKSv5相一致。它同样不提供从原始源节点到最终目的节点的整体端到端的安全保证。但是由于它建立了应用层两个“分开的”连接的中继,所以端到端的安全就由这两个被中继的链接来提供保证。

    2007-01-14 15:12:14

    回复 举报
    赞同0
加载更多
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.08 万条内容 · 666 人订阅

猜你喜欢

阅读下一篇

IEXPLORE.EXE大量占用内存的解决方法

有人说是灰鸽子,目前卡巴还是可以识别灰鸽子的。这里讲的是杀毒人间不认为他是病毒的时候。 该病毒感染的迹象:1,在启动到桌面的时候以system为用户名建立iexplore.exe或是IEXPLORE.EXE进程,不仅占用大量内存,而且每过几秒种就自动复制一个!2,具有很深的隐藏性,不容易被用户所发现。通过定位该进程始终指向正常的C:\Program Files\Internet Explorer\IEXPLORE.EXE

回帖成功

经验值 +10