PPTP/L2TP协议讲述以及应用部署 一、基本概念
PPTP
PPTP是对端对端协议(PPP)的一种扩展,它采用了PPP所提供的身份验证、压缩与加密机制。PPTP能够随TCP/IP协议一道自动进行安装。PPTP与Microsoft端对端加密(MPPE)技术提供了用
MPPE将通过由MS-CHAP、MS-CHAP v2身份验证过以对保密数据进行封装与加密的VPN服务。
服务。
程所生成的加密密钥对PPP帧进行加密。为对PPP帧中所包含的有效数据进行加密,虚拟专用网络
身份验证协议。
客户端必须使用MS-CHAP、MS-CHAP v2身份验证协议。
L2TP
与PPTP不同,Windows所支持的L2TP协议并非利用MPPE对PPP帧进行加密。L2TP依靠Internet 协议安全性(IPSec)技术提供加密服务。L2TP与IPSec的结合产物称为L2TP IPSEC VPN。VPN客户端与VPN
服务器都必须支持L2TP和IPSec。也可以单独使用L2TP,这就需要修改windows主机
隧道”中讲述。
的注册表,具体的修改过程,在建立“简单的L2TP隧道”中讲述。
二、数据封装
PPTP
tcp ip协议设置怎么填1.控制连接和隧道维护
PPTP控制连接建立在PPTP客户端机IP地址和PPTP服务器IP之间,PPTP客户端机使用动态分配的TCP端口号,而PPTP服务器则使用保留TCP端口号1723。PPTP控制连接携带PPTP呼叫控制和管理信息,用于维护PPTP隧道,其中包括周期性地的发送回送请求和回送应答消息,用于检测出客户端与服务器之间可能出现的连接中断。PPTP控制连接数包包括一个IP报头,一个TCP报头
和PPTP控制消息。
控制消息。
IP TCP PPTP Control Message
Star-Control-Connection-Request:由PPTP客户机发出,请求建立控制连接
客户机发出,请求建立控制连接 Star-Control-Connection-Reply:PPTP服务器对Star-Control-Connection-Request回应
回应
Outgoing-Call- Request:由PPTP 客户机发出,请求创建PPTP 隧道,该消息包含GRE 报头中call id ,该id 可唯一地标识一条隧道可唯一地标识一条隧道
Outgoing-Call- Repl y :PPTP 服务器对Outgoing-Call- Request t 回应回应
Set-Link-Info :由PPTP 客户机或服务器任一方发出,设置PPP 协商选项协商选项
Call-Clear-Request :由PPTP 客户机发出,请求终止隧道客户机发出,请求终止隧道
Call-Disconnect-Notify :PPTP 服务器对Call-Clear-Request 回应或者其他原因指示必须终止隧道回应或者其他原因指示必须终止隧道
Stop-Control-Connection-Request :由PPTP 客户机或者服务器任一方发出,通知对端控制连接将被终止被终止
Stop-Control-Connection-Reply :回应Stop-Control-Connection-Request 消息消息
2.PPTP 数据封装
将原来Ethernet 数据包先封装成PPP packet ,再由GRE 封装,通过Internet 传送至接收端(注意:当身份认证协议选择MS-chap 以及MS-chapv2的时候,ppp payload 将被加密)将被加密)
L2TP
1. L2TP 控制连接
L2TP 控制连接建立在L2TP 客户端机IP 地址和L2TP 服务器IP 之间,PPTP 客户端机使用动态分配的UDP 端口号,而L2TP 服务器则使用保留UDP 端口号1701。L2TP 控制连接用于隧道和会话
连接的建立、维护以及传输控制。L2TP 控制连接数包包括一个IP 报头,一个UDP 报头和L2TP 控制消息。消息。
IP 头部UDP 头部L2TP 隧道协议
控制连接建立和会话建立控制连接建立和会话建立
首先由客户端发起隧道建立请求SCCRQ (start-control-connection-request ) 服务器收到后用SCCRP (start-control-connection-reply )
客户端收到应答后返回确认SCCCN (start-control-connection-conneted ) 服务器收到之后用ZLB (zero-length boby )消息作为最后应答,消息作为最后应答,其中其中ZLB 消息是一个只有L2TP 头的控制消息,其作用是作为一个明确应答,以确保控制消息的可靠传输控制消息,其作用是作为一个明确应答,以确保控制消息的可靠传输 客户端发起建立请求ICRQ (incoming-call-request ) 服务器收到请求后返回应答ICRP (incoming-call-reply ) 客户端收到应答会返回确认ICCN (incoming-call-conneted ) 服务器收到ICCN 后,用ZLB 消息作为最后的应答,会话建立消息作为最后的应答,会话建立
2. L2TP 数据连接
L2TP 数据消息用于封装PPP 帧,并在隧道上传输。帧,并在隧道上传输。
IP 头部
UDP 头部L2TP 隧道协议PPP 协议IP 头部原始数据
3. 工作原理
原始用户数据为IP 报文,先经过PPP 封装,然后链路层将PPP 帧进行L2TP 封装,将其封装成UDP ,并继续封装成可以在internet 上传输的IP 报文,此时的结果就是IP 报文中有PPP 帧,PPP 帧中还有IP 报文,但两个IP 地址不同,里面的IP 头部是私有地址(原地址为L2TP 服务器动态分配的地址,目的地址为公司内网服务器的地址),外层IP 头部的原IP 是客户端的原始地址,目的IP 是L2TP 服务器的地址,服务器的地址,至此完成客户端数据封装,至此完成客户端数据封装,至此完成客户端数据封装,然后通过然后通过L2TP 隧道将报文发送到L2TP 服务器,L2TP 服务器收到封装的IP 报文,发现外层IP 头部的目的地址是指定自己的,头部的目的地址是指定自己的,然后然后L2TP 服务器解封装报文,得到里面的IP 报文,然后根据IP 头部的的目的IP 地址将数据包发送到内网局域网服务器。地址将数据包发送到内网局域网服务器。
4. L2TP IPSEC VPN
IP header
IPSEC ESP header
UDP header L2TP header PPP header
PPP payload
IPSEC ESP trailer IPSEC ESP Auth trailer
Encrypted
可以发现L2TP IPSEC VPN 的数据封装是在原始L2TP 数据连接的IP 头部后面加入ESP 字段的,所以这是一种传输模式的IPSEC 隧道。因为ESP 后面的数据是经过加密的,所以这里就不例举抓包结果了。结果了。
三.协议和算法介绍 PPP 1.工作流程
一个IP 分组需要传输,出发PPP 层启动连接过程,LCP 协议负责完成连接的建立过程,P AP 或
者CHAP协议完成身份认证,IPCP协议进一步完成网络层协议协商,当以上过程都成功完成之后,
IP分组封装在PPP帧中传输到对方
帧中传输到对方
2.协议分析
LCP:负责链路的建立,维护以及拆除
:负责链路的建立,维护以及拆除
CHAP:对客户端进行身份认证
:对客户端进行身份认证
IPCP:负责协商IP地址以及DNS等信息
等信息
CCP:负责压缩的协商
:负责压缩的协商
GRE
1.概述
GRE(通用路由封装)定义了在任意一种网络层协议上封装任意一个其它网络层协议的协议。 2.封装
在大多数情况下,系统拥有一个有效载荷包,需要将它封装并发送某个目的地。首先将有效载荷
封装在一个GRE包中,然后将此GRE包封装在其它某协议中并进行转发。比如在PPTP隧道中,IP
包封装GRE包,在IP头部中指明下层协议GRE的协议号47,GRE包封装PPP包,在GRE头部中
指明下层协议PPP的协议号0x880b
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论