IPsec/L2TP/SSLVPN/PPTP VPN技术学习笔记( 二 )


L2TP数据报文封装(UDP 1701):

IPsec/L2TP/SSLVPN/PPTP VPN技术学习笔记

文章插图
# L2TP Data encapsulation
若经过IPsec NAT穿越,则在外层IP与ESP Header之间再增加一个UDP头(端口为4500)
 
L2TP/IPsec Tunnel的不足之处:
  1. 使用windows终端(Win10/Win8等),进行L2TP/IPsec第一次拨号时,必须先添加如下注册表项,否则无法顺利接入
Windows Registry Editor Version 5.00[HKEY_LOCAL_macHINESYSTEMCurrentControlSetServicesPolicyAgent]"AssumeUDPEncapsulationContextOnSendRule"=dword:000000022. L2TP/IPsec接入时,无法自动下发路由信息,终端用户必须手动添加路由才能访问Server提供的子网访问路劲
3. L2TP/IPsec配置复杂,且性能很低下,大多不会采用这个隧道方式
 
PPTP VPNPPTP(Point to Point Tunneling Protocol),即点对点隧道协议 。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网,可以通过密码验证协议,可扩展认证协议等方法增强安全性 。远程用户可以通过ISP、直接连接Internet或者其他网络安全地访问企业网;
PPTP实现需要完成2个动作:协商PPTP/GRE隧道和协商建立PPTP虚拟链路,PPTP和FTP类似,是一种多通道协议,具体而言,即PPTP存在控制通道和数据通道 。控制通道建立在PPTP客户端和服务器之间,PPTP客户机使用动态分配的TCP端口号,而PPTP则使用保留TCP端口号1723 。控制通道用于PPTP隧道的协商和维护 。PPTP控制通道协商数据包包括一个IP包头,一个TCP报头和PPTP控制消息:
PPTP控制报文格式:
IPsec/L2TP/SSLVPN/PPTP VPN技术学习笔记

文章插图
# PPTP Control message
PPTP数据报文封装:
IPsec/L2TP/SSLVPN/PPTP VPN技术学习笔记

文章插图
# PPTP data encapsulation
由MS-CHAP、MS-CHAP v2或EAP-TLS身份验证过程所生成的加密密钥对PPP帧进行加密
 
PPTP控制连接的建立流程分析PPTP控制连接建立过程可以分为以下几步:
  1. 建立TCP连接
  2. PPTP控制连接和GRE隧道建立

IPsec/L2TP/SSLVPN/PPTP VPN技术学习笔记

文章插图
 
3. PPP协议的LCP协商
IPsec/L2TP/SSLVPN/PPTP VPN技术学习笔记

文章插图
 
4. PPP协议的身份验证
IPsec/L2TP/SSLVPN/PPTP VPN技术学习笔记

文章插图
 
5. PPP协议的NCP协商
NCP协议是PPP协议的网络控制协议,主要用来协商双方网络层接口参数,配置虚拟端口,分配IP,DNS等信息 。图中的IPCP是NCP基于TCP/IP的接口协商协议 。Server和Client都要把自己的Miniport信息发送给对方
IPsec/L2TP/SSLVPN/PPTP VPN技术学习笔记

文章插图
 
6. PPP协议的CCP协商
CCP协议协商PPP通讯中数据加密的协议
 
L2TP和PPTP区别:
  • L2TP:公有协议、UDP1701、支持隧道验证,支持多个协议,多个隧道,压缩字节
  • PPTP:私有协议、TCP1723、不支持隧道验证,只支持IP、只支持点到点
PPTP只能在两端间建立单一隧道,L2TP支持在两端点间使用多隧道,这样可以针对不同的用户创建不同的服务质量
L2TP可以提供隧道验证机制,而PPTP不能提供这样的机制,但当L2TP或PPTP与IPsec共同使用时,可以由IPsec提供隧道验证,不需要在第二层协议上提供隧道验证机制
PPTP要求互联网络为IP网络,而L2TP只要求隧道媒介提供面向数据包的点对点连接,L2TP可以在IP(使用UDP),FR,ATM,x.25网络上使用
L2TP可以提供包头压缩 。当压缩包头时,系统开销(overhead)占用4个字节,而PPTP协议下要占用6个字节
 
IPsec VPNIPsec协议的设计目标:是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务 。
IPsec VPN:是基于IPsec协议族构建的在IP层实现的安全虚拟专用网 。通过在数据包中插入一个预定义头部的方式,来保障OSI上层协议数据的安全,主要用于保护TCP、UDP、ICMP和隧道的IP数据包 。

【IPsec/L2TP/SSLVPN/PPTP VPN技术学习笔记】


推荐阅读