點對點隧道協議

规格

PPTP不是IETF建议的标准，是由微软、Ascend Communications（现在属于Alcatel-Lucent集团）、3Com等厂商联合形成的产业联盟开发。 1999年7月发布的RFC 2637是第一个正式的PPTP规格书。
PPTP以通用路由封装（GRE）协议向对方作一般的点对点传输。通过TCP1723端口来发起和管理GRE状态。因为PPTP需要2个网络状态，因此会对穿越防火墙造成困难。很多防火墙不能完整地传递连线，导致无法连接。
在Windows或Mac OS平台，通常PPTP可搭配MSCHAP-v2或EAP-TLS进行身份验证，也可配合微软点对点加密（MPPE）进行连接时的加密。
与PPTP相似的另一种常见的VPN协议是第二层隧道协议（L2TP）。

应用

PPTP因为易于设置和是首个支持微软拨号连线的协议而流行。自Microsoft Windows 95 OSR2开始包含PPTP客户端，但是被限制只可同时存2个向外链线。Windows XP的远程桌面连线包含PPTP。
以往，Linux缺乏完整的PPTP支持，这是因为MPPE是软件专利。但是，自从在2005年10月28日发布的Linux 2.6.14起Linux核心提供完整的PPTP支持（包含对自由版本的MPPE支持）。

实现

PPTP 是第一个被Microsoft 拨号网络支持的VPN 通信协议。自 Windows 95 OSR2 起，所有的Microsoft Windows 版本都内置了PPTP 客户端软件（虽然只能支持最多两个同时对外的连线）。
在 Mobile 版本上，Microsoft Windows Mobile 2003 与更新的版本也支持PPTP。Windows 的路由及远程访问包有包含PPTP 服务器。
Microsoft 的实现在MS-CHAP 认证协议内使用了单次DES 加密，但单次DES 常被认为无法提供数据足够等级的安全防护。[2]
Windows Vista 与更新版本的PPTP 开始支持PEAP。认证机制有PEAPv0 / EAP-MSCHAPv2 (使用密码) 还有PEAP-TLS (智能卡与证书)。
Windows Vista 同时停止了MSCHAP-v1 的认证协议。[3]
Linux 的 PPTP 服务器一般是使用PoPToP[4] 包加上PPP 与 MPPE 的 Kernel Module。PPTP的客户端程序从1997[5] 就开始提供了，但服务器部分要等到Matthew Ramsay 在 1999[6]开发的版本从Moreton Bay 以 GNU GPL 发行后才真正开始有人大量使用。但是，Linux发行版本一开始通常都不包含MPPE 的部分（因为担心有专利问题）所以不完整，直到 2005/10/28 发布的Linux Kernel 2.6.14 才正式支持MPPE。
SuSE Linux 10 是第一个有完整可用的PPTP 客户端程序的版本。另外还有ACCEL-PPP 包: 它提供了PPTP / L2TP / PPPoE 服务器[7]，可提供kernel 模式的PPTP 协议。
OpenBSD 跟 FreeBSD 在 "ports" 包系统里提供PoPToP。
OSX 与 iOS 则提供内置PPTP 客户端程序。 OS X Server 内置了PPTP 服务。 Cisco 与 Efficient Networks 有另外贩卖给旧版Mac OS 使用的PPTP 客户端程序。
许多 Android 智能形手机也支持PPTP。