1 PPTP概述

PPTP(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控制消息报文格式:

数据通道则用于数据的转发,将原来的Ethernet数据包先封装成PPP packet,再使用增强GRE进行封装,通过Internet传送至接收端,数据报文的封装格式:

2 简要协商过程

TCP连接由PPTP客户端上分配的动态分配的端口到PPTP服务器的TCP端口1723建立,简要建立过程如下

  1. PPTP客户机使用动态分配的TCP端口号,与PPTP服务器使用的保留号1723建立控制连接
  2. 客户端与服务器通过控制连接来创建、维护和终止一条数据通道
  3. PPP帧的有效载荷经过加密、压缩等处理
  4. 使用GRE对PPP帧进行封装
  5. 将PPP帧封装入IP数据包中
  6. 服务器收到PPTP报文后进行解封装处理

下面是PPTP协商和维护隧道使用的控制报文类型:

3 PPTP协商的报文分析

(1)客户端向服务器发起控制连接请求Start-Control-Connection-Request,PPTP作为TCP的载荷,目的端口号是1723

(2)服务器给客户端发送请求相应报文Start-Control-Connection-Reply

(3)客户端向服务器发送Outgoing-Call-Request报文,设置Call ID,Call ID是客户端的标识,每条连接对应一对Call ID,该报文中客户端将自己的Call ID发送给服务器,Call ID还有另外一个用途就是ALG应用,此处不做讨论。

(4)服务器回应客户端Outgoing-Call-Reply报文,表示控制通道建立完毕。

(5)接下来是Set-Link-Info,用于设置链路参数。

至此,PPTP控制通道建立完毕,接下来是标准的PPP协商,即LCP协商->认证协商->IPCP协商,这部分内容在《PPPoE客户端连接协商过程》已经进行过分析,因此这里不再赘述。

PPTP拨号过程分析相关推荐

  1. 如何在路由器里设置L2TP和PPTP拨号?飞速云科技

    越来越多的朋友需要IP修改软件,又不想在电脑上安装软件设备,那么还有其他的好办法吗?有的,那么就是软路由器,软路由是什么顾名思义就是在路由器里面直接设置以PPTP和L2TP拨号的形式,让你手机和电脑只 ...

  2. L2TP或者PPTP拨号后只能访问远端内网而无法访问Internet的原因及解决办法

    原理 PPTP.L2TP拨号成功后,由于修改了主机的缺省路由,导致访问外网的数据都通过VPN隧道转发,也就是访问远端局域网以及外网的数据都发送给了TL-ER6110/6120,从而只能访问远端内网,而 ...

  3. Linux 3g上网卡 拨号,Ubuntu 3G上网卡拨号过程分析

    4>拨号入网 $ sudo wvdial --> WvDial: Internet dialer version 1.60      //Step 1, loading configura ...

  4. python pptp拨号_pptp拨号上网

    一.软件 dkms..pptpd 二.下载软件 wget http://sourceforge.net/projects/poptop/files/mppe%20module%20builder/dk ...

  5. Centos7 下部署PPTP

    1  虚拟专用网 1.1  PPTP介绍 PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支 ...

  6. fortinate防火墙使用本地用户三步开通PPTP ***

    1. 建立用户Local用户及用户组 2. 启用PPTP ***拨号功能 3. 建立***地址,并设置策略:让***用户可以访问内部和外部 (注:建***地址和策略时,接口选择是外部,因为是外部拨入的 ...

  7. 苹果IOS使用教程如何使用PPTP达到给手机换IP

    IOS系统下使用PPTP教程,默认IOS10及以上系统不再支持PPTP,以IOS8系统为教程,仅供参考 第一步:打开设置 第二步:找到通用按键 第三步:找到×××这个协议 第四步:添加×××设备 第五 ...

  8. PPTP配置实例(HiPER ReOS 2008 ×××配置手册)

    (一).配置HiPER作为PPTP服务器 图1 方案--HiPER作为PPTP服务器 在本方案中,某公司总部在上海.在北京有一个分公司希望可以实现两地局域网内部资源的相互访问.该公司还有一些出差和远程 ...

  9. 动态pptp、l2tp、sstp搭建脚本

    动态pptp搭建教程技术(动态搭建技术教程) 这次是为一个工作室做的ROS.他们主要业务是刷A-P-P榜.手游-代-练,客户要求是搭建成PPTP拨号,每次拨号换IP. 客户的网络环境 电信光钎固定IP ...

最新文章

  1. 预训练图像处理Transformer
  2. 解题报告:NOIP2013 车站分级(拓扑序递推求解差分约束、建图优化O(n+m)) 超详细讲解
  3. 人脸检测识别文献阅读总结
  4. javaweb:session
  5. c++新特性11 (12)weak_ptr类定义
  6. 红帽将召开“开放你的世界”在线论坛
  7. java之写接口回调编程经验改进
  8. js基础--变量、数据类型、循环、判断、函数定义
  9. Express 中间件 body-parser 原理分析
  10. 多伦多大学计算机科学升大二,加拿大多伦多大学优势专业排名_加拿大多伦多大学优势专业盘点...
  11. Docker与容器安全
  12. 7 天 600 stars, Mobi.css 是如何诞生的
  13. 45.MySQL Cluster
  14. EKF_SLAM一般过程
  15. android 进程(复习)
  16. Archlinux下启用Thinkpad功能键
  17. HTML+CSS网页制作——恒德电子
  18. 麟龙指标通达信指标公式源码_麟龙指标套三 麟龙特色指标 通达信主图+副图指标 贴图...
  19. 怎么修改背景图片大小的HTML代码,网页背景图片的大小的代码是什么
  20. python 已知平行四边形三个点,求第四个点

热门文章

  1. 电动汽车在受控电池能量
  2. 一个IT应届毕业生的求职总结
  3. pro坚果android耗流量,深度使用坚果Pro3一个月,憋了一肚子话,不吐不快​
  4. 3大全球性趋势宣告品牌长期主义时代已来,年轻一代消费者更追求感性价值 | 美通社头条...
  5. Android开发经验的有效总结,附架构师必备技术详解
  6. 【读书笔记】《当呼吸华为空气》读后感
  7. 智能补全模糊查询select2的下拉选择框使用
  8. R语言 for循环和while循环
  9. 什么是智慧班牌?在学校有什么用?
  10. php 爬虫ip被封,服务器反爬虫攻略Nginx/PHP禁止某些User Agent抓取网站