richardx
新新人类
帖子
34
精华
0
无忧币 93
积分 42
阅读权限 20
|
发表于:2008-4-1 12:01
标题:VPN-X 是SSL VPN也是P2P VPN ---VPN也玩"混合动力"
<上一帖 |
下一帖>
由于国内目前无法看到中文维基的文章,特转贴到这里供大家讨论.
欢迎大家访问博客,http://blog.chinaunix.net/u2/64843/showart.php?id=511026
原理
VPN-X目前应用TUN与TAP技术来完成虚拟网卡(封装以太网数据-传递以太网数据-恢复以太网数据). 在未来的版本中可能不依赖TUN/TAP技术,还可以使用其它技术来完成以太网数据的封装.
传输方式上VPN-X可以选用以下协议:UDP,TCP,Java SSL(JSSE),OpenSSL。VPN-X支援在同一进程中使用上述协议。至于穿越NAT方面,VPN-X支持UDP穿越NAT,而不支持其它协议穿越NAT。
兼容性
得益于Java跨平台特性,目前VPN-X可在Microsoft Windows 2000 以上、Linux、Mac OS X等系统之上运行。
但是值得注意的是,在Linux平台上需要内核支持TUN/TAP模块;Mac OS X也需要第三方提供的驱动。这并非VPN-X特有的操作,Hamachi等软件目前也需要类似的操作。幸运的是VPN-X Mac OS X版本目前已经集成这些驱动,用户不用再理会那些安装驱动的命令行了.
安全性
VPN-X支持两种加密模式:
对称加密
VPN-X建立UDP及TCP传输通道时会利用对称加密技术来对数据进行加密解密.该加密方式适合普通用户加密要求.
非对称加密,即公钥私钥机制.
VPN-X建立SSL传输通道时会利用SSL自带的非对称加密技术来加密解密.该加密方式适合企业级的应用及对加密有特殊要求的用户.目前VPN-X可以支持Java SSL和OpenSSL.注意对OpenSSL支持将在VPN-X 3.0中完成,目前还在Alpha测试.VPN-X 3.0 支持 SSL 2, SSL 23, SSL 3, TLS 1.0, DTLS 1.0.
争论
Java性能一直是争论的焦点。由Java实现的VPN,目前主流是基于浏览器的,比如SSL-Explorer等。VPN-X则使用了VPN的另一种实现方式,即使用TUN/TAP。VPN-X亦受Java的速度影响,但是VPN-X核心是使用JNI技术来完成Java和C语言对接,这样可以改善VPN的性能表现。
VPN技术主要可以解决两个问题:
安全性(SSL/TLS可以解决这个问题)
将Internet转换成局域网。这一转换涉及到速度问题,但是Java并非网络传输的主要瓶颈。相比之下,Internet目前的传输速度在性能上的影响更大,所以Java在VPN的应用上还是可以进一步延伸,而不是只停留在浏览器的应用上。
参考文档
虚拟网卡 TUN/TAP 驱动程序设计原理(简体中文)
外部链接
Mac OS X TUN/TAP驱动(英文)
为龙芯Debian Linux添加TUN/TAP设备支持
利用VPN-X建立的游戏网(挪威文)
[ 本帖最后由 richardx 于 2008-4-4 21:25 编辑 ]
|
 网络虽虚拟,技术无边界,来看看大家“真面目”! |
|