PPTP协议介绍
- 客户端发起PPTP请求
- 设备回复PPTP请求,建立GRE隧道
- 客户端发送PPP认证协议,通过GRE封装
- 设备解GRE封装,交给PPP处理程序处理认证
- 设备从认证报文里取得用户名和密码HASH,和认证数据库比对
- 设备PPP服务程序回复认证结果给PPTP服务程序,PPTP服务程序把回复的PPP包用GRE封装,返回客户端
- 余下PPP握手流程同上
PPP握手完成,客户端发送使用GRE封装的PPP包,PPP包负载IP包,发送到设备。
前面三个阶段使用TCP1723端口协商,后面4个阶段使用GRE协议交互,GRE协议本身没有端口处于ip层的协议,协议号47号协议。
如下pptp协商交互的数据包可看出前面红色表明的地方数据包交互使用的端口TCP1723
后续的数据包在d_port这一项是空的。
L2TP协议介绍
L2TP是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。
L2TP协商过程使用的端口UDP500 4500与标准ipsec类似如下图所示: