使用PPTP方式的VPN连接时,VPN服务器端保持着1723端口与客户端一任意端口的TCP连接,TCP端口1723上跑的是PPTPControlMessage,包括了PPTP隧道创建,维护和终止之类的日常管理工作(建立/断开VPN连接的请求等).客户端通过TCP与服务器1723端口建立连接后,进入基于GRE(通用路由协议--IP协议编号为47,TCP的IP协议编号为6)的PPP协商,包括了用户验证,数据传输等所有通讯.断开VPN连接时又用到了基于1723端口的PPTPControlMessage.
也就是说,PPTP方式的VPN连接,VPN客户端的建立/断开连接请求都是通过和服务器的TCP1723端口用PPTP协议联系的,至于具体的用户验证,数据传输等都是通过PPP协议来通讯的,而PPP协议又是跑在GRE(和TCP,UDP协议平行的协议,GRE的IP协议编号为47)之上的.
PPTP方式的VPN有以下几个特点:
1.VPN客户端可以使用私有地址通过NAT服务器来连接具有合法地址VPN服务器;
2.VPN连接时只有一层验证--就是用户身份验证
使用L2TP方式VPN连接时,VPN服务器保持着1701端口与客户端1701端口的UDP"连接".由于Microsoft不鼓励将L2TP直接暴露在网络中,因此自动为L2TP连接创建一个使用证书方式认证IPsec策略(当然可以通过修改注册表使证书认证变成与共享密钥认证)
因此L2TP通讯就被裹在IPsec策略创建的Ipsec隧道内,用ipsecmon可以看清楚实际上还是1701<-->1701的UDP通讯
VPN开始通讯时,需要双方交换密钥,这是通过UPD500端口的ISAKMP来实现的.从此以后所有的VPN通讯,包括建立/断开连接请求,用户验证,数据传输都是通过ESP(与TCP,UDP协议平行的协议,ESP的IP编号为50)之上传输的.
L2TP/IPsec方式的VPN有以下几个特点:
1.VPN客户端无法使用私有地址来连接具有合法地址的VPN服务器(2002年末经过Microsoft公司的努力(MicrosoftKnowledgeBaseArticle-818043),使用了NAT-T技术,可以让L2TP/IPsec方式的VPN可以穿越内网)
2.VPN连接需要两层验证:密钥验证和用户身份验证(其中密钥是Ipsec层面的认证)
【编辑推荐】