计算机网络-L2TP VPN基础概念与原理
一、概述
前面学习了GRE和IPSec VPN,今天继续学习另外一个也很常见的VPN类型-L2TP VPN。
L2TP(Layer 2 Tunneling Protocol) 协议结合了L2F协议和PPTP协议的优点,是IETF有关二层隧道协议的工业标准。L2TP是虚拟私有拨号网VPDN(Virtual Private Dial-up Network)隧道协议的一种,它扩展了点到点协议PPP(Point-to-Point Protocol)的应用,是应用于远程办公场景中为出差员工远程访问企业内网资源提供接入服务的一种重要VPN技术。
L2TP的主要使用场景可以为移动办公提供直接远程接到企业网络的功能,以及在企业分支与总部建立网络互联提供支持。
二、L2TP基础架构与原理
L2TP主要由以下几部分组成:
-
NAS,NAS网络接入服务器(Network Access Server)主要由ISP维护,连接拨号网络 -
LAC,L2TP访问集中器LAC是交换网络上具有PPP和L2TP协议处理能力的设备 -
LNS,LNS是LAC的对端设备,即LAC和LNS建立了L2TP隧道 -
隧道和会话,L2TP隧道在LAC和LNS之间建立,一对LAC和LNS可以建立多个L2TP隧道,一个L2TP隧道可以包含多个L2TP会话。
现实情况下可以理解为L2TP是C/S架构,一般情况下企业出口设备作为LNS(服务器端),映射端口、分配地址池等待LAC(客户端)连接。 从图中可以看到主要两种模式,一种是电脑终端直接通过L2TP客户端连接到服务器访问内网资源,另外一种类似于IPSec在LNS和LAC间建立隧道实现联通。
2.1 NAS网络接入服务器(Network Access Server)
NAS网络接入服务器(Network Access Server)主要由ISP维护,连接拨号网络,是距离PPP终端地理位置最近的接入点。NAS用于传统的拨号网络中,ISP在NAS上部署LAC,可为远程拨号用户提供L2TP服务,和企业总部建立隧道连接。
2.2 LAC
L2TP访问集中器LAC是交换网络上具有PPP和L2TP协议处理能力的设备。LAC根据PPP报文中所携带的用户名或者域名信息,和LNS建立L2TP隧道连接,将PPP协商延展到LNS。在不同的组网环境中,LAC可以是不同的设备: NAS-Initiated场景:在传统的拨号网络中,ISP在NAS上部署LAC,或在企业分支的以太网络中,为PPP终端配备网关设备,网关作为PPPoE服务器,同时部署为LAC。
企业分支在网关设备配置可以主动向LNS发起L2TP隧道连接请求的L2TP Client,不需要远端系统拨号触发,L2TP Client为LAC。出差人员使用PC或移动终端接入Internet,在PC或移动终端上使用L2TP拨号软件,则PC或移动终端终端为LAC。
LAC可以发起建立多条L2TP隧道使数据流之间相互隔离,即LAC可以承载多条L2TP连接。
2.3 LNS
L2TP网络服务器LNS是终止PPP会话的一端,通过LNS的认证,PPP会话协商成功,远程用户可以访问企业总部的资源。对L2TP协商,LNS是LAC的对端设备,即LAC和LNS建立了L2TP隧道;对PPP,LNS是PPP会话的逻辑终止端点,即PPP终端和LNS建立了一条点到点的虚拟链路。
LNS位于企业总部私网与公网边界,通常是企业总部的网关设备。 必要时,LNS还兼有网络地址转换(NAT)功能,对企业总部网络内的私有IP地址与公共IP地址进行转换。
通过上面的一些理论知识大致可以知道L2TP是基于PPP的基础上采用账号密码认证的方式与企业总部建立VPN隧道连接的一种VPN方式,可以在企业网关间建立L2TP隧道,也可以直接在电脑终端上通过拨号软件与企业网关建立L2TP连接。
三、L2TP数据包
L2TP协议包含两种类型的消息,控制消息和数据消息。
-
控制消息用于L2TP隧道和会话连接的建立、维护和拆除。 -
数据消息封装PPP数据帧并在L2TP隧道上传输。
控制消息,用于L2TP隧道和会话连接的建立、维护和拆除。在控制消息的传输过程中,使用消息丢失重传和定时检测隧道连通性等机制来保证控制消息传输的可靠性,支持对控制消息的流量控制和拥塞控制。控制消息承载在L2TP控制通道上,控制通道实现了控制消息的可靠传输,将控制消息封装在L2TP报头内,再经过IP网络传输。
数据消息,用于封装PPP数据帧并在隧道上传输。数据消息是不可靠的传输,不重传丢失的数据报文,不支持对数据消息的流量控制和拥塞控制。数据消息携带PPP帧承载在不可靠的数据通道上,对PPP帧进行L2TP封装,再经过IP网络传输。
简单说就是控制消息用于建立连接,数据消息用于传输业务数据流量。
四、L2TP工作过程
L2TP能够传输数据,工作过程基本需要3步:
-
建立L2TP隧道 -
建立L2TP会话连接 -
传输PPP报文
建立L2TP隧道连接,LAC收到远程用户的PPP协商请求时,LAC向LNS发起L2TP隧道请求。LAC和LNS之间通过L2TP的控制消息,协商隧道ID、隧道认证等内容,协商成功后则建立起一条L2TP隧道,由隧道ID进行标识。
建立L2TP会话连接,如果L2TP隧道已存在,则在LAC和LNS之间通过L2TP的控制消息,协商会话ID等内容,否则先建立L2TP隧道连接。会话中携带了LAC的LCP协商信息和用户认证信息,LNS对收到的信息认证通过后,则通知LAC会话建立成功。L2TP会话连接由会话ID进行标识。
传输PPP报文,L2TP会话建立成功后,PPP终端将数据报文发送至LAC,LAC根据L2TP隧道和会话ID等信息,进行L2TP报文封装,并发送到LNS,LNS进行L2TP解封装处理,根据路由转发表发送至目的主机,完成报文的传输。
这里写的是网关设备间建立L2TP的过程,其实移动端也差不多意思,理解一下就好,具体的还是需要通过实验才能更好的看到现象。
五、L2TP应用场景
总结:L2TP基于PPP与VPN技术,在LNS与LAC间建立L2TP隧道和会话实现网络互联,可以在网关设备间建立也可以在终端通过软件连接到企业网关出口LLNS,通常L2TP作为移动办公的选择。
本文由 mdnice 多平台发布