VPN-X程式运行截图(Mac OS X)
| |
开发者 | BirdsSoft 软件公司: http://www.birdssoft.com/downloads/ • Linux [2] • Mac OS X [2] • Windows [4] |
---|---|
稳定版本 | 2.4.1.39(2009年9月26日) |
操作系统 | 跨平台 |
类型 | VPN 解决方案 |
许可协议 | 免费软件(付费购买服务器) |
网站 |
原理[编辑]
VPN-X目前应用TUN与TAP技术来完成虚拟网卡(封装以太网数据-传递以太网数据-恢复以太网数据)。在未来的版本中可能不依赖TUN/TAP技术,还可以使用其它技术来完成以太网数据的封装。
传输方式上VPN-X可以选用以下协议:UDP,TCP,Java SSL(JSSE),OpenSSL。VPN-X支援在同一进程中使用上述协议。至于穿越NAT方面,VPN-X支持UDP穿越NAT,而不支持其它协议穿越NAT。
兼容性[编辑]
但是值得注意的是,在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 驱动程序设计原理
外部链接[编辑]
from https://zh.wikipedia.org/wiki/VPN-X