VPN技术介绍

之前实习的时候用过VPN,但并不是特别了解相关的原理,今天突然想深入学习一下VPN技术,就查了一些网上的和公司的相关资料。

VPN全称为Virtual Private Network,虚拟专用网络。
IETF 组织对基于IP 的VPN 解释为:通过专门的隧道加密技术在公共数据网络上仿真一条点到点的专线技术。所谓虚拟,是指用户不再需要拥有实际的长途数据线路,而是使用Internet公众数据网络的长途数据线路。所谓专用网络是指用户可以为自己制定一个最符合自己需求的网络。
简单点说,你可以通过VPN在外网直接与公司内网的服务器在一条虚拟的,专用的隧道上进行安全通信。

看到上面应该清楚,VPN技术的实质是使用各种隧道技术,对数据进行加解密。下面从不同层介绍了各种隧道技术。

下面技术的详细介绍摘抄自网上资料。

1、应用层 SSL VPN。

安全套接字层(Secure Socket Layer,SSL)属于高层安全机制,广泛应用于Web 浏览程序和Web 服务器程序,提供对等的身份认证和应用数据的加密。在SSL中,身份认证是基于证书的。服务器方向客户方的认证是必须的,而SSL 版本3中客户方向服务方的认证只是可选项,但是并没有得到广泛的应用。SSL 会话中包含一个握手阶段,在这个阶段通信双方交换证书,生成会话密钥,协商以后通信使用的加密算法。完成了握手以后,对于B/S的应用,应用程序就可以安全地传输数据而无需做很大修改,除了在传输数据时要调用SSL API而不是传统的套接字API,但是对于C/S结构的应用软件,其解决方案与会话层的VPN异曲同工。
SSL 是一个端到端协议,因而是在处于通信通路端点的机器上实现(通常是在客户机和服务器上),而不需要在通信通路的中间节点(如路由器或防火墙)上实现。虽然理论上SSL可以用于保护TCP/IP 通信,但事实上SSL的应用几乎只限于HTTP。在SSL通信中,服务器方使用443端口,而客户方的端口是任选的。

2、网络层VPN 技术 GRE、IPSec协议

IPSec 也是IETF 支持的标准之一,它和前两种不同之处在于它是第三层即IP层的加密。 IPSec 不是某种特殊的加密算法或认证算法,也没有在它的数据结构中指定某种特殊的加密算法或认证算法,它只是一个开放的结构,定义在IP数据包格式中,不同的加密算法都可以利用IPSec定义的体系结构在网络数据传输过程中实施。
IPSec协议可以设置成在两种模式下运行:一种是隧道(tunnel)模式,一种是传输(transport)模式。在隧道模式下,IPSec 把IPv4 数据包封装在安全的IP帧中。传输模式是为了保护端到端的安全性,即在这种模式下不会隐藏路由信息。隧道模式是最安全的,但会带来较大的系统开销。

3、链路层VPN 技术 PTP协议、L2TP协议

L2F(Layer 2 Forwarding)是由Cisco 公司提出的,可以在多种介质(如ATM、FR、IP)上建立多协议的安全VPN 的通信方式。它将链路层的协议(如HDLC、PPP、ASYNC等)封装起来传送,因此网络的链路层完全独立于用户的链路层协议。该协议1998 年提交给IETF,成为RFC2341。
L2F远端用户能够通过任何拨号方式接入公共IP网络。首先,按常规方式拨号到ISP 的接入服务器(NAS),建立PPP 连接;NAS 根据用户名等信息发起第二次连接,呼叫用户网络的服务器,这种方式下,隧道的配置和建立对用户是完全透明的。L2F允许拨号服务器发送PPP帧,并通过WAN 连接到L2F 服务器。L2F 服务器将包去封装后,把它们接入到企业自己的网络中。与PPTP 所不同的是,L2F 没有定义客户。 L2F 的主要缺陷是没有把标准加密方法包括在内,因此它基本上已经成为一个过时的隧道协议。

综合来看,就是在网络模型的不同层上实现专有隧道技术。现在用的最多的应该是链路层和网络层的技术,用的最多的就是链路层的L2TP以及网络层的GRE技术。

VPN的搭建有不同的实现方式,一是在内部网络搭建VPN服务器,提供一种VPN解决方案,是一种永远在线的VPN,价格较低,不用花费太多的花费,一般企业都是这种实现方式。
还有一种叫做拨号VPN,也叫VPDN,是通过拨号上网的方式提供VPN业务,VPDN(Virtual Private Dial-up Networks,又称无线数据专网)是指以移动终端拨号接入方式上网,以移动分组数据网为承载,通过对网络数据的封包和加密在公网上传输私有数据,达到私有网络的安全级别,从而利用EDGE/WCDMA/LTE网络来构筑企业之私有网络。这一版由网络运营商提供,它需要企业建立一条专线直接连入到运营商的VPDN平台。这种方式安全性较高,花费较贵。最普遍的例子就是银行的ATM机,就是通过VPDN平台实现的VPN业务。

移动终端通过我们的移网访问公司内部服务器,每次访问时,它必须经历过多次的AAA认证,认证通过后,才可正常访问。使用的VPN隧道技术是L2TP隧道。

它的一个流程是: 1、终端用户拨号*99#;
2、SGSN通过查询HLR检查APN名称合法性,如HLR中该号码有APN业务,则通过DNS解析APN名称得到GGSN地址;
3、拨号请求到达GGSN,GGSN向联通侧平台中心AAA请求验证;
4、对卡号、APN接入点名称、用户域名认证通过后,将一次认证结果发送到用户LNS;
5、用户LNS向用户AAA发起二次认证请求;
6、用户AAA对用户名密码认证通过后,将二次认证结果发送到用户LNS;
7、用户LNS给用户移动终端分配IP地址,将认证结果及地址信息发送给GGSN;
8、 GGSN将认证结果及IP地址信息发送给用户移动终端;
9、GGSN与LNS协商建立L2TP隧道;
10、终端获得IP地址成功,用户移动终端通过L2TP隧道访问用户后台应用。

--------EOF---------
微信分享/微信扫码阅读