N2N概述

2008年,ntop的作者Luca Deri开始研究p2p VPN,他一方面看到公众对p2p VPN有着强烈的需求,另一方面又不满足已有产品的现状,于是n2n诞生了。

N2N是一个二层架构的VPN网络,其中super node提供场所,让两个位于NAT/防火墙之后的edge node进行会面,一旦双方完成首次握手,剩下的数据流就之发生在两个edge node之间,如果有一方的NAT属于对称型(symmetrical),super node则还需继续为双方提供数据包的转发;edge node负责数据流的加解密,原理很简单。

对于一个VPN而言,主要涉及封装和加解密两个步骤,edge node使用UDP协议进行封装,目的是为了更好的兼容防火墙的策略,因为很多防火墙禁用了非TCP/UDP协议禁用。加密算法则采用了twofish,好处开源、简便,处理速度快。
为了降低设计难度,N2N利用了tap/tun虚拟网卡,这样做得好处是一方面软件尺寸极小,一方面源码的依赖性极低,可以很容易移植到嵌入式设备中,目前有openwrt的版本,在未来的计划中,还将移植到android和iPhone中。
 
相对于hamachi,N2N最大的优势在于:
1. 开源,任何人都可以检查代码,看看是否有猫腻,而hamachi是闭源的,LogMeIn是否会截获密钥不得而知,一旦截获密钥,就可以对流经 hamachi服务器的数据包进行解码。N2N的加解密过程由edge node实现,只有两端的用户知道协商好的共享密钥,super node无从知晓。
 
2. 灵活性,N2N允许用户在Internet上自行创建super node,也可以利用任何一个公开的super node。
hamachi用户则必须登录到LogMeIn服务器才能创建隧道。
N2N支持的OS也非常广,Linux、FreeBSD、MAC OSX、甚至windows
 
官方网站:http://www.ntop.org/N2N/

软件下载:http://sourceforge.net/projects/ntop/files/