一、VPDN简介
VPDN(Virtual Private Dial Network,虚拟私有拨号网)是指利用公共网络(如ISDN和PSTN)的拨号功能及接入网来实现虚拟专用网,从而为企业、小型ISP、移动办公人员提供接入服务。 
VPDN采用专用的网络加密通信协议,在公共网络上为企业建立安全的虚拟专网。企业驻外机构和出差人员可从远程经由公共网络,通过虚拟加密隧道实现和企业总部之间的网络连接,而公共网络上其它用户则无法穿过虚拟隧道访问企业网内部的资源。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

VPDN有下列两种实现方式: 
1)NAS通过隧道协议,与VPDN网关建立通道的方式。这种方式将客户的PPP连接直接连到企业的网关上,目前可使用的协议有L2F与L2TP。其好处在于:对用户是透明的,用户只需要登录一次就可以接入企业网络,由企业网进行用户认证和地址分配,而不占用公共地址,用户可使用各种平台上网。这种方式需要NAS支持VPDN协议,需要认证系统支持VPDN属性,网关一般使用路由器或×××专用服务器。 
2)客户机与VPDN网关建立隧道的方式。这种方式由客户机先建立与Internet的连接,再通过专用的客户软件(如Win2000支持的L2TP客户端)与网关建立通道连接。其好处在于:用户上网的方式和地点没有限制,不需ISP介入。缺点是:用户需要安装专用的软件(一般都是Win2000平台),限制了用户使用的平台。 
VPDN隧道协议可分为PPTP、L2F和L2TP三种,目前使用最广泛的是L2TP。 

其中,LAC表示L2TP访问集中器(L2TP Access Concentrator),是附属在交换网络上的具有PPP端系统和L2TP协议处理能力的设备。LAC一般是一个网络接入服务器NAS,主要用于通过PSTN/ISDN网络为用户提供接入服务。LNS表示L2TP网络服务器(L2TP Network Server),是PPP端系统上用于处理L2TP协议服务器端部分的设备。 
LAC位于LNS和远端系统(远地用户和远地分支机构)之间,用于在LNS和远端系统之间传递信息包,把从远端系统收到的信息包按照L2TP协议进行封装并送往LNS,将从LNS收到的信息包进行解封装并送往远端系统。LAC与远端系统之间可以采用本地连接或PPP链路,VPDN应用中通常为PPP链路。LNS作为L2TP隧道的另一侧端点,是LAC的对端设备,是被LAC进行隧道传输的PPP会话的逻辑终止端点。 
3)L2TP协议的技术细节 
A)L2TP协议结构

上图所示L2TP协议结构描述了PPP帧和控制通道以及数据通道之间的关系。PPP帧在不可靠的L2TP数据通道上进行传输,控制消息在可靠的L2TP控制通道内传输。 
通常L2TP数据以UDP报文的形式发送。L2TP注册了UDP 1701端口,但是这个端口仅用于初始的隧道建立过程中。L2TP隧道发起方任选一个空闲的端口(未必是1701)向接收方的1701端口发送报文;接收方收到报文后,也任选一个空闲的端口(未必是1701),给发送方的指定端口回送报文。至此,双方的端口选定,并在隧道保持连通的时间段内不再改变。

B) 隧道和会话的概念 
在一个LNS和LAC对之间存在着两种类型的连接,一种是隧道(Tunnel)连接,它定义了一个LNS和LAC对;另一种是会话(Session)连接,它复用在隧道连接之上,用于表示承载在隧道连接中的每个PPP会话过程。在同一对LAC和LNS之间可以建立多个L2TP隧道,隧道由一个控制连接和一个或多个会话(Session)组成。会话连接必须在隧道建立(包括身份保护、L2TP版本、帧类型、硬件传输类型等信息的交换)成功之后进行,每个会话连接对应于LAC和LNS之间的一个PPP数据流。控制消息和PPP数据报文都在隧道上传输。 
L2TP使用Hello报文来检测隧道的连通性。LAC和LNS定时向对端发送Hello报文,若在一段时间内未收到Hello报文的应答,该会话将被清除。

C) 控制消息和数据消息的概念 
L2TP中存在两种消息:控制消息和数据消息。控制消息用于隧道和会话连接的建立、维护以及传输控制;数据消息则用于封装PPP帧并在隧道上传输。控制消息的传输是可靠传输,并且支持对控制消息的流量控制和拥塞控制;而数据消息的传输是不可靠传输,若数据报文丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。 
控制消息和数据消息共享相同的报文头。L2TP报文头中包含隧道标识符(Tunnel ID)和会话标识符(Session ID)信息,用来标识不同的隧道和会话。隧道标识相同、会话标识不同的报文将被复用在一个隧道上,报文头中的隧道标识符与会话标识符由对端分配。 
4)两种典型的L2TP隧道模式 
a. 由远程拨号用户发起。 
远程系统拨入LAC,由LAC通过Internet向LNS发起建立通道连接请求。拨号用户地址由LNS分配;对远程拨号用户的验证与计费既可由LAC侧的代理完成,也可在LNS侧完成,在这里MA5200充当LAC 。
b. 直接由LAC客户(指可在本地支持L2TP协议的用户)发起。 
此时LAC客户可直接向LNS发起通道连接请求,无需再经过一个单独的LAC设备。此时,LAC客户地址的分配由LNS来完成。