通俗解释:
">PP协议,点对点协议,相当于你乘飞机的廊桥,把飞机和登机大厅物理连接起来,然后把旅客(IP Packet)送到飞机(Internet)上。
而如果没有廊桥,需要摆渡车,L2TP与">PTP就相当于这个摆渡车。
L2TP是一辆敞篷车,没有安全,为了全车旅客的安全,配备了安全人员(IP security),保护所有乘客(IP Packet),安全到达目的地,然后再登机(Internet)。
">PTP是两辆车,一辆负责开道(控制通道,TCP Port 1723,用于建立安全通道),一辆运送旅客(IP/GRE)安全通道,运送旅客的车配备了一些安全人员,只负责保卫VIP旅客(IP Packet,end user traffic)的安全,其它旅客(IP Packet,control traffic)就没有人保卫,最终也到达目的地,登机(Internet)。
你可以看出,它们是殊途同归,最终的目的都是为了把旅客(IP Packet)送上飞机(Internet),只是途径不一样,安全级别也不一样。
专业同学通道:
">PTP:Point to Point Protocol Tunnel Protocol
L2TP: Layer 2 Tunnel Protocol
如果非要说他们有什么联系,那就是他们都能把PPP协议作为自己的Payload,封装PPP协议,这是他们之间唯一的联系,那有人一定要问,PPP作为点对点协议用在拨号网络好好的,为什么要把它封装起来?还要用什么PPTP,L2TP做啥?文章有点长,坚持看下去,你将会有不一样的收获。
即然他们都和PPP协议有关,那我们一定要谈谈PPP,这是一种拨号上网协议,无论是传统电话网络PSTN、ISDN、还是ADSL,最终来完成用户认证,分配用户电脑/modem IP地址的都是由PPP协议来完成的,他们之间的差别只是传输介质不同,过程是殊途同归,就是在PPP client 和PPP server之间完成PPP会话,认证用户,分配IP地址。但是这三种传统的部署方式最大的不足:太不灵活了!需要client 和server 之间是点对点连接,无论是PSTN circuit 、ISDN circuit、ADSL subscriber,都需要在同一台电信局端设备上,第一完成电路的终结( circuit termination),第二完成PPP会话的终结 ( PPP session termination),见下图:
这就需要在PSTN 接入服务器(NAS)、ISDN NAS、DSLAM NAS上:
配置PPP 服务器
配置认证服务器
配置地址池
这将会有很多很多的NAS存在于不同的网络,这种非常分散的方式不利于管理,而且管理成本很高。
于是就有了一种设想,能否把电路的终结与">PP会话的终结这两个功能物理分离,在一台设备上完成电路的终结,另一台设备完成PPP会话的终结。在这两台物理分离的设备上,以IP网络为传输介质,建立一个隧道tunnel, 来把电路终结剥离出来的PPP封装在这个隧道上,传输到PPP服务器,完成PPP会话的终结,这样我们只需要一台、二台集中的PPP服务器就可以了,见下图,值得庆幸的是,我们恰恰有这两种隧道协议可以完成这个设想。
这两种隧道协议就是PPTP和L2TP,虽然它们最终实现的目标一致,即封装PPP协议,穿越IP网络/ATM云/MPLS云,到达PPP Server,完成PPP会话,以及PPP用户数据流量,但是它们的实现方式大相径庭,所以我们还是分开介绍,先来谈谈PPTP协议。
">PTP
由微软公司牵头设计的企业标准,后来标准化,但是还是留下深深的企业烙印,对应标准RFC2637。
分 control connection 和 tunnel connection 两个层次:
Control connection是一种基于TCP的连接,用于协商如何建立、释放、修改tunnel,如何区别这些tunnel。
">AC -----------TCP 1723-------------PNS
Tunnel connection 是一种基于增强型GRE,跑在IP层上,协议号47,所谓增强型,是GRE头有Key Tunnel ID,一方面可以区分tunnel,另一方面可以无障碍穿越NAT设备。
">AC -----------Enhanced GRE-------------PNS
综上,无论是控制、数据层面都是跑在IP层以上的,所以PPTP离不开IP网络的支持。另外控制层面、数据层面的分离,多通道的模式使实现起来较复杂,配置防火墙策略也要同时考虑2个通道。
另外PPTP只是靠被封装的PPP协议来提供安全性,TCP会话以及GRE Tunnel都是明文方式,安全性强度不够高。
L2TP
我们这里谈的是L2TPv2,即由思科公司牵头开发的协议,对应的标准是RFC2661。
即然是由思科来牵头设计这个协议,那肯定要考虑网络的多样性,而不能像微软公司设计PPTP那样,仅仅考虑IP网络作为底层传输网络,所以L2TP可以传输在以下网络上:
1)IP网络
协议号:115
LAC -----------IP 115------------LNS
优点是协议头较小,但不利于NAT Transversal
2)IP/UDP
UDP PORT 1701
LAC -----------UDP 1701-----------LNS
方便NAT transversal
3)二层ATM交换网络
LAC -----------ATM-----------LNS
可以承载在ATM云上
4)MPLS
LAC -----------MPLS-----------LNS
可以承载在二层、三层MPLS VPN上
5)Frame Relay
LAC -----------Frame Relay-----------LNS
可以承载在帧中继交换网络上
此外,控制层面、数据层面使用同一个通信通道,即用一个IP tunnel ,或同一个UDP tunnel ,简化网络的实现与部署。
综合以上对网络多样性的支持、以及单通道的实现,使的L2TP获得更广泛的支持,所以L2TP获得了发展与升级,现在最新版是L2TPv3,不仅支持对PPP的封装,还支持Ethernet 、ATM、HDLC、Frame Relay 的封装,几乎可以和Layer 2 MPLS匹敌了,对应的协议标准RFC3931。
但是L2TP本身也不提供安全加密,需要借助IP security来加密L2TP tunnel,因为是加密整个tunnel,所以安全性更高。
以上PPTP,L2TP都是配置在接入网,其实这两个协议非常灵活,只要有IP网络的主机、服务器、路由器都可以使用,我们来谈谈PPTP、L2TP配置在用户电脑上的场景。
用户希望PPTP、或者L2TP+ IP security 来远程拨号到公司服务器,获得公司VPN的连接。
这里有一个前提,就是用户已经ADSL上网了,有了IP connectivity ,这个时候这两种协议都可以实现,只要保证以下前提:
a) PPTP
防火墙开放 TCP 1723
防火墙开放 IP protocol 47,即GRE
NAT设备 支持enhanced GRE
b) L2TP
采用UDP tunnel欢迎光临 中神通公司技术论坛 (http://trustcomputing.com.cn/bbs/) | Powered by Discuz! 6.0.0 |