核心文档PPTP工作原理.docx

上传人:b****6 文档编号:3108128 上传时间:2022-11-17 格式:DOCX 页数:8 大小:68.63KB
下载 相关 举报
核心文档PPTP工作原理.docx_第1页
第1页 / 共8页
核心文档PPTP工作原理.docx_第2页
第2页 / 共8页
核心文档PPTP工作原理.docx_第3页
第3页 / 共8页
核心文档PPTP工作原理.docx_第4页
第4页 / 共8页
核心文档PPTP工作原理.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

核心文档PPTP工作原理.docx

《核心文档PPTP工作原理.docx》由会员分享,可在线阅读,更多相关《核心文档PPTP工作原理.docx(8页珍藏版)》请在冰豆网上搜索。

核心文档PPTP工作原理.docx

核心文档PPTP工作原理

 

核心文档:

PPTP工作原理(总6页)

PPTP

PPTP通过PPTP控制连接来创建、维护、终止一条隧道,并使用通用路由封装GRE(GenericRoutingEncapsulation)对PPP帧进行封装。

封装前,PPP帧的有效载荷即有效传输数据首先必须经过加密、压缩或是两者的混合处理。

PPTP协议假定在PPTP客户机和PPTP服务器之间有连通且可用的IP网络。

因此如果PPTP客户机本身已经是某IP网络的组成部分,那么即可通过该IP网络与PPTP服务器取得连接;而如果PPTP客户机尚未连入网络,譬如在Internet拨号用户的情形下,PPTP客户机必须首先拨打NAS以建立IP连接。

这里所说的PPTP客户机也就是使用PPTP协议的VPN客户机,而PPTP服务器亦即使用PPTP协议的VPN服务器。

在创建基于PPTP的VPN连接过程中,使用的认证机制与创建PPP连接时相同。

此类认证机制主要有:

扩展身份认证协议EAP(ExtensibleAuthenticationProtocol)、微软询问握手认证协议MS-CHAP(MicrosoftChallenge-HandshakeAuthenticationProtocol)、CHAP、Shiva口令字认证协议SPAP(ShivaPasswordAuthenticationProtocol)和口令字认证协议PAP(PasswordAuthenticationProtocol)。

PPTP继承PPP有效载荷的加密和压缩。

在Windows2000中,由于PPP帧使用微软点对点加密技术MPPE(MicrosoftPoint-to-PointEncryption)进行加密,因此认证机制必须采用EAP或MS-CHAP。

MPPE只提供连接加密(大概是隧道加密),而不提供端-端加密(大概是数据加密)。

端-端加密属于应用层的加密技术,如果应用中要求实现端-端加密,则可在PPTP隧道建立之后,使用IPSec对两端的IP数据流进行加密处理。

基于Internet的PPTP服务器即使用PPTP协议的VPN服务器,它的一个接口在Internet上,另一个接口在Intranet上。

一、PPTP封装路线图

IP包>VPN接口(NDIS)(封装PPP)>PPTP协议驱动程序(封装GRE)>TCP/IP协议驱动程序(封装IP,此IP为PPTP对端的IP)>拨号接口(NIC)((封装PPP或其它协议的帧)>MAC驱动程序>INTERNET网上对端

二、PPTP控制连接与隧道维护

PPTP控制连接建立在PPTP客户机IP地址和PPTP服务器IP地址之间,

PPTP客户机使用动态分配的TCP端口号,而PPTP服务器则使用保留TCP端口号1723。

PPTP控制连接携带PPTP呼叫控制和管理信息,用于维护PPTP隧道,其中包括周期性地发送回送请求和回送应答消息,以期检测出客户机与服务器之间可能出现的连接中断。

PPTP控制连接数据包包括一个IP报头,一个TCP报头和PPTP控制信息,数据包格式见图八。

图八所示的PPTP控制连接数据包还包括数据链路层报头和报尾。

图八、PPTP控制连接数据包

下表列出了PPTP控制连接中用到的主要控制信息。

表一、PPTP呼叫控制和连接管理信息

PPTP报文类型

用途

Start-Control-Connection-Request

由PPTP客户机发出,请求建立控制连接。

PPTP隧道要求在发送任何其他PPTP消息之前,先建立一条控制连接。

Start-Control-Connection-Reply

由PPTP服务器发出,回应Start-Control-Connection-Request消息。

Outgoing-Call-Request

由PPTP客户机发出,请求创建PPTP隧道。

utgoing-Call-Request消息包含GRE报头中的CallID,该ID可唯一地标识一条隧道。

Outgoing-Call-Reply

PPTP服务器对Outgoing-Call-Request消息的回应

Echo-Request

作为保持连线机制,可由PPTP客户机或服务器任一方发出。

若Echo-Request没有应答,则PPTP隧道逐渐终止。

Echo-Reply

对Echo-Request的应答。

注:

PPTP的Echo-Request和Echo-Reply消息与ICMP回送请求和回送应答消息无关。

WAN-Error-Notify

由PPTP服务器向所有VPN客户机发出,指示服务器的PPP接口处于错误状态。

Set-Link-Info

可由PPTP客户机或服务器任一方发出,设置PPP协商选项。

Call-Clear-Request

由PPTP客户机发出,请求终止隧道。

Call-Disconnect-Notify

PPTP服务器回应Call-Clear-Request,或因其他原因指示必须终止隧道。

如果PPTP服务器终止隧道,则发送出Call-Disconnect-Notify消息。

Stop-Control-Connection-Request

可由PPTP客户机或服务器任一方发出,通知对方控制连接将被终止。

Stop-Control-Connection-Reply

回应Stop-Control-Connection-Request消息

有关PPTP控制连接消息的详细内容,请参阅RFC2637。

三、PPTP数据封装

PPTP数据的隧道化过程采用多层封装的方法。

图九为封装后在隧道中传输的数据包格式。

图九、在隧道中传输的PPTP数据包格式

1)PPP帧的封装(我理解:

在传输层)

初始PPP有效载荷如IP数据报、IPX数据报或NetBEUI帧等经过加密后,添加PPP报头,封装形成PPP帧。

PPP帧再进一步添加GRE报头,经过第二层封装形成GRE报文。

GRE是采用第47号IP协议的客户端协议,为在IP网络上进行数据封装提供了一种简单,轻巧的通用机制。

有关GRE详细文档可参见RFC1701和RFC1702。

在GRE报头中,协议类型即PPP帧的EtherType值应设置为0x880B。

2)GRE报文的封装

PPP有效载荷的第三层封装是在GRE报文外,再添加IP报头。

IP报头包含数据包源端及目的端IP地址。

注解:

GRE(GenericRoutingEncapsulation)即通用路由封装协议是对某些网络层协议(如IP和IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。

3)数据链路层封装

数据链路层封装是IP数据报多层封装的的最后一层,依据不同的外发物理网络再添加相应的数据链路层报头和报尾。

例如,如果IP数据报将在以太网上传输,则用以太网报头和报尾对IP数据报进行数据链路层封装;如果IP数据报将在点-点WAN上传输,如模拟电话网或ISDN等,则用PPP报头和报尾对IP数据报进行数据链路层封装。

4)PPTP数据包的接收处理

PPTP客户机或PPTP服务器在接收到PPTP数据包后,将做如下处理:

1.处理并去除数据链路层报头和报尾

2.处理并去除IP报头

3.处理并去除GRE和PPP报头

4.如果需要的话,对PPP有效载荷即传输数据进行解密或解压缩。

5.对传输数据进行接收或转发处理

四、PPTP数据包和Windows2000网络体系结构

下图描述了某使用模拟modem进行远程访问的VPN连接中,VPN客户机端数据报在Windows2000网络体系结构中的封装流程。

图十、PPTP数据包的封装流程

具体步骤如下:

1.IP数据报、IPX数据报或NetBEUI帧由各自协议提交给对应于VPN连接的虚拟接口。

该接口符合网络驱动程序接口规范(NDIS)。

(注:

NetworkDriverInterfaceSpecification是微软所提供的网络接口卡(NIC)API,使NIC和多个协议进行通信成为可能,功能相当于OSI资料链路层的逻辑链路控制(LLC)。

2.NDIS将数据报提交给NDISWAN,由NDISWAN负责对数据进行加密、压缩处理后,添加PPP报头进行第一步封装。

该PPP报头仅含一个PPP协议标识域,不附加任何帧校正序列FCS或其他标记。

3.NDISWAN将PPP帧提交给PPTP协议驱动程序,该驱动程序负责在PPP帧外添加GRE报头进行第二步封装。

该GRE报头中,CallID域的值唯一地标识了一条隧道。

4.PPTP协议驱动程序将GRE报文提交给TCP/IP协议驱动程序。

5.TCP/IP协议驱动程序再对GRE报文添加IP报头进行第三步封装,封装后提交给拨往本地ISP的拨号连接接口,该接口符合网络驱动程序接口规范NDIS。

6.NDIS再次将数据报提交给NDISWAN,NDISWAN给数据报添加PPP报头、报尾进行最后的数据链路层封装。

7.NDISWAN将最终形成的PPP帧提交给与拨号硬件相对应的WAN微端口驱动程序。

(例如modem连接中的异步端口

总结

1)PPTP原理(实现机制)

概要:

(1)PPTP客户机与服务器建立控制连接;

(2)通过控制连接来创建、维护、终止隧道;

(3)PPP帧的有效载荷经过加密、压缩或是两者的混合处理;

(4)使用GRE对PPP帧进行封装;

(5)将PPP帧封装进IP数据报中,通过IP网络或其他专用Intranet等发给服务器;

(6)服务器接收到PPTP数据包后进行常规处理。

详细:

首先,PPTP客户机使用动态分配的TCP端口号,与PPTP服务器使用的保留TCP端口

号1723建立控制连接(PPTP控制连接携带PPTP呼叫控制和管理信息,用于维护

PPTP隧道);

其次,客户端与服务器通过控制连接来创建、维护、终止一条隧道;

然后,PPP帧的有效载荷经过加密、压缩或是两者的混合处理;

接着,使用通用路由封装GRE(GenericRoutingEncapsulation)对PPP帧进行封装;

再者,将PPP(Point-to-PointProtocol)帧封装进IP数据报中,通过IP网络如Internet

或其他企业专用Intranet等发送给PPTP服务器;

最后,服务器接收到PPTP数据包后进行常规处理。

2)PPTP控制连接数的数据包格式

包括一个IP报头,一个TCP报头和PPTP控制信息,还包括数据链路层报头和报尾。

3)封装后在隧道中传输的数据包格式。

(1)PPP帧的封装(二层)

初始PPP有效载荷如IP数据报、IPX数据报或NetBEUI帧等经过加密后,添加PPP报头,封装形成PPP帧。

PPP帧再进一步添加GRE报头,经过第二层封装形成GRE报文。

GRE是采用第47号IP协议的客户端协议,为在IP网络上进行数据封装提供了一种简单,轻巧的通用机制。

(2)GRE报文的封装

PPP有效载荷的第三层封装是在GRE报文外,再添加IP报头。

IP报头包含数据包源端及目的端IP地址。

(3)数据链路层封装

数据链路层封装是IP数据报多层封装的的最后一层,依据不同的外发物理网络再添加相应的数据链路层报头和报尾。

例如,如果IP数据报将在以太网上传输,则用以太网报头和报尾对IP数据报进行数据链路层封装;如果IP数据报将在点-点WAN上传输,如模拟电话网或ISDN等,则用PPP报头和报尾对IP数据报进行数据链路层封装。

4)P

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1