熟悉TCP/IP的读者应该知道,在互联网上通信的双方都必须有公网IP,然而公网IP的数量有限,往往是多个人通过NAT方式共享一个公网IP,所以只能是由私网的用户去访问公网的服务器,无法由公网的用户直接访问私网的主机。这在早期的互联网应用中倒也相安无事,因为当时上网主要是浏览新闻。
随着互联网的发展,p2p应用层出不穷,1999年诞生的napster顿时名动天下,因为它是第一个以p2p方式共享文件的软件。后来相继诞生了许许多多的p2p应用,然而它们都只是在应用层实现了p2p,软件提供什么应用,用户就只能使用这些应用,而SoftEther不同,它直接在网络层实现了p2p,换句话说就是用户透过SoftEther可以实现联网游戏、文件共享、远程访问、视频会议等大量的互联网应用,所以这在当时赢得大量网友的青睐,为什么?因为CS、因为魔兽,这些网络游戏需要在联网对战,而玩友的电脑大都隐匿在NAT之后,SoftEther为他们实现了互联的美好愿望。
2004年4月份,SoftEther公司成立。
2004年8月,SoftEther正式推出1.0版本,开始闭源,开始收钱。
2006年,推出2.0版,更名为PacketiX VPN,号称重写了全部源代码,跟SoftEther 1.0一点关系都没有,与个人用户渐行渐远……
提起SoftEther就不得不提VNN,VNN是国人开发的一款类似软件,虽然其推出的时间要比SoftEther早些,但是一直没有得到广泛的关注,后来2004年5月份,登游大抱怨VNN主页抄袭了SoftEther的主页样式,还在日本媒体中大势宣传。当时的CCF精品技术论坛上还掀起了一番激烈的讨论(http://bbs.et8.net/bbs/printthread.php?t=527295&pp=100),这时VNN才逐渐进入众人的视野。其实两款软件实现的原理有很大的不同,SoftEther通过在ssl over tcp来保证安全,而VNN使用udp进行封装;SoftEther客户端需要在互联网上找一个公用的虚拟hub来实现互联,而VNN的客户端需要到VNN公司的服务器上进行注册才能实现连接;SoftEther客户端之间的通信需要通过虚拟hub中转,而VNN客户端注册完毕之后就可以实现点对点的互联。它们之间唯一的共同点就是都使用了虚拟网卡。令人惊奇的是两家发生矛盾的原因竟然是主页过于雷同而不是源代码的抄袭,这在软件史上倒是头一遭,权当作是茶余饭后的谈资。
VNN是一款闭源软件,不提供服务器版本,用户需要登录到官方的服务器上进行验证之后然后才能建立p2p通信隧道。现在由北京宇华亿欣科技有限公司推广运营,已经发展到了4.0版,功能很丰富,只是需要收取服务费,这表明它已经不跟个人用户玩了。
有压迫的地方就有起义,有需求的地方就有市场,2005年,LogMeIn公司看中了p2p VPN的个人市场,推出了hamachi,它的实现原理跟VNN类似,而且可在多种OS中运行,win2k、win2k3、vista自然不在话下,还可以在Linux和OSX下跑,甚至破天荒的推出了Nokia770的版本(http://files.hamachi.cc/linux/nokia-770/),这对移动商务人士来说可是一大噱头。时至今日,hamachi已经发展到了1.0.3,值得一提的是hamachi的版本升级非常谨慎,从0.9.9.9到1.0,总共发布了61个测试版本,时间跨度为2年,除了foobar和wine,估计无人能敌了。
hamachi相对于SoftEther/VNN的优势在于:
l 对于个人用户免费;
l 零配置,使用非常简单;
l 体贴的管理功能,由用户自己组建网络,管理组内成员;
l 采用了RSA、DH group、AES256和HMAC-SHA1多种安全技术;
这些优势对个人用户是非常具有杀伤力的,单单免费这一项就可以把SoftEther和VNN踩在脚下,然而,hamachi的安全性还是值得怀疑,请看下图: