来古计算机 > 通信技术 > 正文

什么是VPN技术

 现代企业中为了实现异地办公的需要,广泛使用了VPN技术。这一节我们就来谈谈VPN。什么是VPN呢?

一、VPN的基本概念
     VPN,即Virtual Private Network的缩写,是将物理分布在不同地点的网络通过公用骨干网,尤其是Internet连接而成的逻辑上的虚拟子网。Virtual指VPN是逻辑上存在的,真实中只是借助了Internet;Private指VPN有着严格的身份认证和报名性,只对特定的用户开放;Network指VPN需要特定的设备建立通信。
     VPN主要有三种类型:1. Access VPN,即所谓的移动VPN,主要用于企业内部人员流动频繁或远程办公的情况;2. Intranet VPN,即所谓的网关对网关的VPN,在异地两个网络的网关之间建立了一个加密的VPN隧道,两端的内部网络可以通过该VPN隧道安全地进行通信,常用于企业总部与远程办事处、分支机构的连接;3. Extranet VPN,也是一种网关对网关的VPN,只不过范围进一步扩大,加入了企业合作伙伴的网络,即在不同企业的网络之间组建了VPN。
     从上面的叙述可以看出来,VPN的优点是:降低成本(不需要铺设专线)、易于扩展(VPN设备添加)、保证安全(加密与认证)。

二、VPN技术
     VPN的关键考虑是保证数据传输的机密性和完整性,而这两个属性主要由加密和身份认证来实现。加密方面支持非对称密码体制RSA\ElGamal等管理VPN密钥,采用对称密码体制DES、AES、RC4/5等加密传输的数据。身份认证方面主要有非PKI体系和PKI体系认证。PKI体系借助公钥密码体制,需要有CA颁发的数字证书作为身份的认证凭证;而非PKI体系一般使用用户名+口令的方式进行认证,如PAP(口令认证协议)、CHAP(询问握手认证协议)等。
     隧道封装技术主要有第二层和第三层两种:
1. 第二层隧道协议是在数据链路层进行的,先把各种网络协议封装到PPP包中,再把整个数据包装入隧道协议中,这种经过两层封装的数据包由第二层协议进行传输,一般第二层隧道协议有以下几种:L2F、PPTP(RFC 2637, Point-to-Point Tunneling Protocol)、L2TP(RFC 2661, Layer Two Tunneling Protocol)
2. 第三层隧道协议是在网络层进行的,把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输,第三层隧道协议有以下几种:IPSec、GRE(RFC 2784, General Routing Encapsulation)。
     密钥管理技术主要是密钥分发的技术,手工配置一般适用于小型网络,对于大型网络而言,还是使用SKIP或ISAKMP框架。

三、第二层隧道协议
     这部分来稍微细致地看看这一层的隧道协议,对于隧道协议,包括三个部分:乘客协议、封装协议、传输协议:

26275986_13908010887e8n.jpg

     乘客协议就是实际要传输的数据内容,可以是IP、PPP、SLIP等;封装协议用于建立、保持和拆卸隧道,即将讨论的L2F、PPTP、L2TP、GRE就属于封装协议;乘客协议被封装之后使用传输协议,可以是TCP/IP或者UDP。目前普遍使用的是自愿隧道模式,即由计算机客户端发起的VPN连接;对于强制隧道模式,由ISP支持的VPN拨号接入服务来配置和创建。
1. PPTP(Point2Point Tunneling Protocol)
     PPTP协议将PPP数据包封装在IP数据包内通过IP网络进行传送,PPTP协议需要PPTP客户端和服务器的协议安装;PPTP客户端和服务器间的报文分为控制报文和数据报文,其中:
(1). 控制报文:携带PPTP呼叫控制和管理信息,用于维护PPTP隧道,其中包括周期性地发送回送请求和回送应答报文,以期检测出客户机与服务器之间可能出现的连接中断。PPTP控制连接包括一个IP报头、一个TCP报头和PPTP控制信息:

26275986_1390802887GPgj.jpg

(2). 数据报文:真正数据经过加密和压缩之后,再依次经过PPP、GRE、IP的封装最终得到一个IP包,PPTP服务器收到该包后会依次读取报头层层解包:

26275986_1390803015Z7b3.jpg

     这里的GRE协议是第三层的隧道协议,GRE(Generic Routing Encapsulation,通用路由封装协议)由Cisco和NetSmiths共同研发,GRE支持全部的路由协议,如RIP或OSPF等,在GRE中,乘客协议可以使任何协议的数据包,传输协议就是IP,GRE是一种通用的封装形式。
2. L2TP(Layer Two Tunneling Protocol,第二层隧道协议)
     L2TP是由RFC 2661定义的,结合了L2F与PPTP协议的优点,可以让用户从客户端或访问服务器端发起VPN连接。L2TP已经成为了二层隧道协议的工业标准,并得到众多网络厂商的支持。L2TP协议主要使用IPSec协议保证其安全性。用户通过LAC发起到LNS的VPN连接,认证通过后可以建立VPN。与PPTP不同的是,L2TP的控制和数据报文均使用UDP传输,其控制报文封装为:

 26275986_1390803899XZYJ.jpg

 其中的UDP报文是IPSec加密的部分。L2TP的数据报文格式为:

26275986_1390803971DCsh.jpg

PPTP与L2TP协议都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网上的传输。尽管两个协议非常相似,但是仍存在以下几方面的不同:
(1). PPTP要求互联网络为IP网络,L2TP只要求隧道媒介提供面向数据包的点对点连接,可以在帧中继永久虚拟电路上使用;
(2). PPTP只能在两点间建立单一隧道,L2TP支持两点间使用多隧道;
(3). L2TP可以提供包头压缩;
(4). L2TP可以提供隧道验证,而PPTP不支持隧道验证;

推荐文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

标签列表
网站分类
最新留言

Powered By Z-BlogPHP and Terry

Copyright @ laigucomputer.com 来古计算机 工信部备案号:粤ICP备18009132号