心太 |
2004-04-30 15:16 |
VNN 与 softether的比较 浏览本网站和使用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的数据通讯的时候,在绝大多数情况下,不会通过服务器转发,目前我们测试的环境只有一种情况下会遇到这种情况,就是两边都是cisoc的pix,而且两边的用户都很多。因此,你可以想象,vnn提供的两个nat后面的主机之间的点到点直联。
softether是大家都去hub上中转。所以vnn的速度要比softether快得多。而且不存在寻找一个hub的问题,当然也不会有大家都用一个hub,最后非常慢的情况发生。大家可以实际测试一下速度,以确认vnn提供的速度几乎是线路速度。
VNN服务器 VNN代码不公开,因此用户无法轻易架设自己VNN服务器。但是VNN对于个人用户将一直免费。对于要求服务器软件的用户,如果你的确需要服务器软件,VNN可以提供,但是需要提醒大多数用户的是,服务器软件较难配置,而且需要2个以上的public staic ip。如果你已经有了如此多的ip,那么实在很难理解你还有什么理由需要使用softether和vnn。
因此,对于需要服务器软件的用户,你可以想象一下,如果你拿到msn/qq的服务器软件,你有什么用处吗?架设自己的服务器?但是那只限于几个好朋友之间的聊天,失去了广泛意义了,为什么不直接使用msn/qq呢?
其它 vnn还有一个好处是集成了DNS,也就是说,不管另一方在哪里,都可以通过dns访问,例如ftp wang.user.vnn.cn,或者\\wang.user.vnn.cn,有了dns,你可以很方便的配置你得应用。你甚至可以申请一个sex.user.vnn.cn,给大家提供下载服务,尽管你在一个nat后面。
小结 softether是需要找一个hub,需要转发,而且不是全局的。vnn最大的特点是,应用透明的,双nat环境下的直连。所以softether的特点在于使用ssl/tcp进行封装,而vnn的最大特点在于nat直连。如果将vnn类比成一个qq,msn,我们知道qq,msn不管你是不是在nat后面,你都可以聊天(当然他们会用服务器转发)。而实际上vnn不仅仅是聊天,vnn是和应用无关的,所以你可以做任何事情。而且,因为使用了很好的nat穿越的技术,所以你无需考虑转发带宽的问题(想想通过msn传文件是不是常常痛苦不堪?)
换言之,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和加密,提供必须的安全保证。 现在看来,这些目标基本都实现了,我们有时候用一个很简单的局域网聊天工具进行聊天和传输文件,或者用flashget下载巨大的xxx.rm,或者远程桌面上去调整配置,调试代码。这件事情带给我们的最大的后果是:从此很少担心nat的问题,和那些在公司高速接入internet但是却通过nat上网的朋友愉快地交换影碟(通常\\a.user.vnn.cn,然后直接点击那个rm,然后远程观看);另一个一个后果就是,即使是在公司,通过2个nat上网,依然必须小心翼翼的配置os的登陆口令,以前没有人可以访问我们的私人机器,现在完全不同了,必须设置很长的口令才行。
转自:http://www.vnn.cn |
|