论文部分内容阅读
VPN(Virtual Private Network)网络以其安全性高、QoS(Quality of Service)好、可扩充性和可管理性受到了广泛的关注,并以其优越的性价比得到了广泛应用,例如联通VPN,网通VPN网络等;除了基于ISP(Internet Service Providers)的VPN网络,还有很多基于用户的VPN软件产品,例如Windows操作系统中的RRAS VPN服务, FreeWan、PPTPD、SoftEther、VNN、OpenVPN等。基于用户组建的VPN网络是一种星形结构。这样的网络中,VPN Server是整个虚拟网络的中心,负责整个虚拟网络的通信。这种集中式的VPN网络存在VPN Server负载过重和单点故障的问题。
为解决上述问题,本文在VPN网络中引入P2P(Peer-to-Peer)的思想,提出了一种完全分布式的VPN系统架构—P2P VPN。在P2P VPN网络中,每个VPN Server构成P2P节点,每个节点处于平等地位,彼此之间采用VPN的隧道(tunnel)方式直接连接;任何两个VPN Server之间数据通信不需要第三方VPN Server转发。此外,还利用几个DHT Servers相互协作,提供高效、健壮和负载平衡的信息存取服务;并设计一个NAS Server作为访问服务器,利用DHT 中存储的网络信息,为VPN Server提供接入信息服务。
根据设计的P2P VPN系统架构,本文实现了P2P VPN的原型系统。在原型系统中,VPN Server处于用户空间,安全方便,配置简单。每个VPN Server既能够发起安全隧道建立请求,也能够接受安全隧道建立请求;采用认证和不对称加密协议来保证数据传输的机密性,采用HMAC来保证数据传输完整性和有效性,使用LZO压缩传输数据。
测试显示,P2P VPN网络在多个Server之间需要相互通信的时候,能够显著提高Server之间的传输性能,具有明显优势。同时P2P VPN很好解决了传统集中式VPN网络中VPN Server负载过重和单点故障问题,能够显著提高VPN网络的健壮性、可用性、灵活性和可扩展性,对下一代VPN网络发展和应用具有重要意义。