一、相关知识铺垫:
(1)虚拟隧道协议
一种通过公共网络的基础设施,在专用网络或专用设备之间实现加密数据通信的技术,通信的内容是可以是任何通信协议的数据包。隧道协议将这些协议的数据包重新封装在新的包中发送,新的包提供了路由信息,从而使封装的数据能够通过公共网络传递,传递时所经过的逻辑路径成为隧道。当数据包到达通信终点后,将被拆封并转发到最终的目的地。隧道技术是指包括数据封装、传输和数据拆封在内的全过程。
(2)IPSEC(互联网安全协议)
一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)
(3)PPP协议
点到点协议(Point to Point Protocol,PPP)是为在同等单元之间传输数据包(简单链路) 设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
(4)GRE
(5) PSTN
(6)ISDN
(7) ADSL
二、正式开始介绍
(1)L2TP和PPTP分别是什么?
L2TP(Layer Two Tunneling Protocol)第二层隧道协议,是一种虚拟隧道协议,通常用于虚拟专用网。L2TP协议自身不提供加密与可靠性验证的功能,可以和安全协议搭配使用,从而实现数据的加密传输。L2TP要求面向数据包的点对点连接,在IP网络中,L2TP协议使用注册端口UDP 1701。此外,控制层面、数据层面使用同一个通信通道,即用一个IP tunnel ,或同一个UDP tunnel ,简化网络的实现与部署。
PPTP由微软公司牵头设计的企业标准,后来标准化,但是还是留下深深的企业烙印,对应标准RFC2637。PPTP是一种点对点隧道协议,将控制包与数据包分开,控制包采用TCP控制,用于严格的状态查询及信令信息 ,数据包部分先封装在PPP协议中,然后封装到GRE V2协议中.
(2)两者的联系与区别
联系:两者都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网上的传输
区别:PPTP要求互联网使用IP网络。L2TP只要求隧道媒介提供面向数据包的点对点的连接。
PPTP只能在两端点之间建立单一隧道。L2TP支持在两端点之间使用多隧道。使用L2TP,用户可以针对不同的服务质量创建不同的隧道。
L2TP提供包头压缩,当压缩包头时,系统开销占用4个字节,而PPTP协议下要占用6个字节。
L2TP可以提供隧道验证,而PPTP不支持隧道验证。当两者与IPSEC共同使用时,可由IPSEC提供隧道验证,不需在第2层协议上验证隧道。
最主要的是L2TP的隧道(Tunnel)是安全的(IPSec),而PPTP仅仅是在PPP协议上进行了加密而已,实际上并不是安全的隧道(GRE)。
从设计的角度来看主要差别在于:
- L2TP是IETF标准协议,意味着各种设备厂商的设备之间用L2TP一般不会有问题;而PPTP是微软出的,有些非微软的设备不一定支持。
- L2TP使用AES或者3DES加密(256位密钥),用IPSec协商加密方式,并且有电脑/用户双重认证机制,而PPTP只支持MPPE(最多128位密钥),只用PPP协商加密方式,并只有用户一层认证机制,相对来说L2TP更安全。
- L2TP使用的IPSec,绝大多数防火墙都支持,而PPTP使用GRE,有些防火墙可能有问题。
- L2TP由于封装了更多安全隧道的信息,所以开销更高,而PPTP开销低,所以相对而言PPTP速度更快。