Está en la página 1de 3

VNN 与 SoftEther 的比较

浏览 VNN 早期网站和使用 VNN 的用户很容易想到了一个类似的日本软件 softether,于是我们作了一番


比 较 。

--------------------------------------------------------------------------------

数 据 封 装

SoftEther 使用 ssl/tcp 进行数据封装,需要一个 hub 进行中转,而实际情况是,最大的麻烦在于,找不


到这个 hub。而且,没有一个稳定的 hub 可用。此外,麻烦还在于,如果大家都用一个 hub,那么带宽如
何 可 想 而 知 。 而 如 果 2 个 不 熟 悉 的 人 之 间 , 他 们 如 何 协 商 一 个 hub ?
VNN 使用 udp 进行数据封装,封装上比 ssl/tcp 封装效率要高(ip in udp 肯定是要比 ip in tcp 高),
但是同时也有一个缺点,就是在某些封闭了 udp 端口的环境中没办法用了。因为 vnn 考虑的并非是突破
firewall , 更 优 先 考 虑 的 是 点 到 点 之 间 的 互 联 , 所 以 vnn 使 用 了 udp 。
VNN 使 用 的 是 与 SoftEther 完 全 不 同 的 封 装 技 术 , 也 是 针 对 不 同 的 设 计 目 标 。

--------------------------------------------------------------------------------

数 据 转 发

VNN 的数据通讯的时候,在绝大多数情况下,不会通过服务器转发,目前我们测试的环境只有一种情况
下会遇到这种情况,就是两边都是 cisoc 的 pix,而且两边的用户都很多。因此,你可以想象,vnn 提供的
两 个 nat 后 面 的 主 机 之 间 的 点 到 点 直 连 。
softether 是大家都去 hub 上中转。所以 vnn 的速度要比 softether 快得多。而且不存在寻找一个 hub 的
问题,当然也不会有大家都用一个 hub,最后非常慢的情况发生。大家可以实际测试一下速度,以确认
vnn 提 供 的 速 度 几 乎 是 线 路 速 度 。
VNN 提 供 的 端 到 端 的 直 连 , 而 SoftEther 完 全 依 赖 于 转 发 。

--------------------------------------------------------------------------------

架 设 服 务 器

VNN 代码不公开,因此用户无法轻易架设自己 VNN 服务器。但是 VNN 对于个人用户将一直免费。对于要


求服务器软件的用户,如果你的确需要架设专用 VNN 服务器,VNN 完全提供,但是需要提醒大多数用户
的是,服务器软件较难配置,而且需要 2 个以上的 public staic ip,如果你是个人或者小型企业用户,已
经 有 了 如 此 多 的 ip , 那 么 实 在 很 难 理 解 你 还 有 什 么 理 由 需 要 使 用 softether 和 vnn 。
因此,对于需要服务器软件的普通和小型用户,你可以想象一下,如果你拿到 msn/qq 的服务器软件,
你有什么用处吗?架设自己的服务器?但是那只限于几个好朋友之间的聊天,失去了广泛意义了,为什么
不 直 接 使 用 msn/qq 呢 ?
VNN 完全支持架设专用服务器,但鼓励大家利用 VNN 提供的服务器并在的确需要架设专用服务器前进行
充 分 评 估 。

--------------------------------------------------------------------------------

其 它

VNN 还有一个好处是集成了 DNS,也就是说,不管另一方在哪里,都可以通过 dns 访问,例如 ftp


wang.user.vnn.cn,或者\\wang.user.vnn.cn,有了 dns,你可以很方便的配置你得应用。你甚至可以
申 请 一 个 music.user.vnn.cn , 给 大 家 提 供 下 载 服 务 , 尽 管 你 在 一 个 nat 后 面 。

--------------------------------------------------------------------------------

小 结

SoftEther 是需要找一个 hub,需要转发,而且不是全局的。VNN 最大的特点是,应用透明的,双 nat 环


境 下 的 直 连 。
所 以 softether 的 特 点 在 于 使 用 ssl/tcp 进 行 封 装 , 而 vnn 的 最 大 特 点 在 于 nat 直 连 。
如果将 vnn 类比成一个 qq/msn,我们知道 qq/msn 不管你是不是在 nat 后面,你都可以聊天(当然他
们 是 用 服 务 器 转 发 聊 天 内 容 ) 。
实 际 上 vnn 不 仅 仅 是 对 聊 天 , vnn 是 和 所 有 应 用 无 关 的 , 所 以 你 可 以 做 任 何 事 情 。
而且,因为 VNN 使用了很好的 nat 穿越的技术,所以你无需考虑转发带宽的问题(想想通过 msn 传文件
是 不 是 常 常 痛 苦 不 堪 ? 通 过 QQ 更 是 需 要 成 为 会 员 。 )
换言之,softether 是一个小范围的解决方案,qq/msn 等不能应用透明,而且 nat 穿越做得也不够好。
VNN 考虑的是一个大范围的解决方案,是个平台,例如几十万人的 p2p 网络。用户可以把它看成一个应
用 透 明 的 更 好 的 qq/msn , 也 可 以 看 成 一 个 更 好 的 softether 。

--------------------------------------------------------------------------------

一 点 多 余 的 话

实际上,VNN 并没有借用 SoftEther 的任何概念,我们在 2003 年下半年才第一次知道 SoftEther——


都不懂日语。那个站点没有 e 文网页。VNN 的开发者有很长时间的 IPSec 开发经验,vlan card 的概念很
早就在 ipsec 的实施中使用了。事实上,vnn 是从做一个更好的 vpn 的理念出发而逐渐形成的(一开始我
们自己也不知道要做一个什么,最后是一个什么样子),因为实施 ipsec 的情况下,同样要遇到 nat 的问
题,而那些在中国(IP 地址缺乏)做语音视频、文件传输,所有 p2p 应用的,都会遇到 nat 的问题,所以
从 2002 年夏天,我们就开始研究 nat 的问题,在阅读了网上可以找到的几乎所有相关文章之后,从
2002 年底开始进行详细设计。大部分 nat 的解决方案用转发,这很显然很不愉快。我们常常遇到这样的情
况:某人和好朋友都是高速 internet 接入,但是因为都处于 nat 后面,结果他们没办法用视频和语音
(那时候 msn 还是 4.7,后来 msn6.0 可以转发,但是速度很慢)。开发者中,有些人需要和女友聊天,
有 些 人 需 要 和 mm 打 游 戏 , 有 些 人 需 要 快 速 的 共 享 xxx.rm , 最 倒 霉 的 一 个 人 某 天 需 要 remote
desktop 女友的桌面,因为她的机器配置有问题。这些事情很显然非常令人不愉快,因此我们就开始寻找
解 决 之 道 , 当 时 的 目 标 是 :
1、应用必须透明,不能有限支持某些应用,因为你永远不会想到你明天会需要什么;
2 、 必 须 直 传 而 不 是 转 发 ;
3、必须用 id 号,而不是 ip,而且必须集成 dns,必须和现有的应用软件很好的兼容,最起码可以 ping
a.user.vnn.cn , 或 者 ftp a.user.vnn.cn 或 者 http a.user.vnn.cn ;
4 、 配 置 需 要 尽 可 能 的 简 单 , 复 杂 度 不 应 该 超 过 msn/qq ;
5、VNN 象是在防火墙/nat 中开了一个口子,所以 vnn 本身必须有不错的 firewall 和加密,提供必须的安
全 保 证 。
现在看来,VNN 0.x 把目标 1 和 2 实现了,VNN 1.x 把目标 1、2、3、4 实现了,而 VNN 2.0 则已经把这
5 个 目 标 都 实 现 了 。
我们有时候用一个很简单的局域网聊天工具进行聊天和传输文件,或者用 flashget 下载巨大的 xxx.rm,
或者远程桌面上去调整配置,调试代码。这件事情带给我们的最大的后果是:从此很少担心 nat 的问题,
和那些在公司高速接入 internet 但是却通过 nat 上网的朋友愉快地交换影碟(通常\\a.user.vnn.cn,然
后直接点击那个 rm,然后远程观看);另一个一个后果就是,即使是在公司,通过 2 个 nat 上网,依然
必须小心翼翼的配置 os 的登陆口令,以前没有人可以访问我们的私人机器,现在完全不同了,必须设置
很长的口令才行。