受益L2TP对PPP报文进行封装,在公共网络上建立虚拟链路传输企业的私有数据,节省了租用物理专线的高额费用。同时将企业从复杂和专业的网络维护中解放出来,只需要维护私有网络和远程接入的用户,降低了维护成本。
L2TP还具有如下特点,可以为企业提供方便、安全和可靠的远程用户接入服务。
灵活的身份验证机制以及高度的安全性
L2TP使用PPP提供的安全特性(如PAP、CHAP),对接入用户进行身份认证。
L2TP定义了控制消息的加密传输方式,支持L2TP隧道的认证。
L2TP对传输的数据不加密,但可以和因特网协议安全协议IPSec(Internet Protocol Security)结合应用,为数据传输提供高度的安全保证。
多协议传输
L2TP传输PPP数据包,PPP可以传输多种协议报文,所以L2TP可以在IP网络,帧中继永久虚拟电路(PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用。
支持RADIUS(Remote Authentication Dial-in User Service)服务器的验证
L2TP对接入用户不仅支持本地认证,还支持将拨号接入的用户名和密码发往RADIUS服务器进行认证,为企业管理接入用户提供了更多的选择。
支持私网地址分配
应用L2TP的企业总部网关,可以为远程用户动态分配私网地址。
可靠性
L2TP协议支持备份LNS,当一个主LNS不可达之后,LAC可以与备份LNS建立连接,增强了VPN服务的可靠性。
工作原理L2TP协议架构L2TP协议包含两种类型的消息,控制消息和数据消息,消息的传输在LAC和LNS之间进行。L2TP协议通过这两种消息,扩展了PPP的应用。
图1-3说明了PPP报文、控制消息和数据消息在L2TP协议架构中的位置和关系。
图1-3 L2TP协议架构
控制消息承载在L2TP控制通道上,控制通道实现了控制消息的可靠传输,将控制消息封装在L2TP报头内,再经过IP网络传输。
数据消息携带PPP帧承载在不可靠的数据通道上,对PPP帧进行L2TP封装,再经过IP网络传输。
L2TP协议使用UDP端口1701,这个端口号仅用于初始隧道的建立。L2TP隧道发起方任选一个空闲端口向接收方的1701端口发送报文;接收方收到报文后,也任选一个空闲端口,给发起方的选定的端口回送报文。至此,双方的端口选定,并在隧道连通的时间内不再改变。
L2TP报文结构远程用户拨号产生的PPP报文经L2TP封装后的报文格式如图1-4所示。
图1-4 L2TP报文格式
L2TP报文进行了多次封装,比原始报文多出38个字节(如果需要携带序列号信息,则比原始报文多出42个字节),封装后报文的长度可能会超出接口的MTU值,而L2TP协议本身不支持报文分片功能,这时需要设备支持对IP报文的分片功能。当L2TP报文长度超出发送接口的MTU值时,在发送接口进行报文分片处理,接收端对收到分片报文进行还原,重组为L2TP报文。
L2TP报文封装L2TP是PPP的扩展,使PPP报文可以通过隧道方式在公网网络中传输。
如果组网中只应用PPP,则PPP终端发起的拨号,最远只能到达拨号网络的边缘节点NAS,此时NAS可以称为PPP会话的终止节点。而应用L2TP,则可以使PPP报文在公网透传,到达企业总部的LNS,此时LNS相当于PPP会话的终止节点。
图1-5 L2TP报文封装图
如图1-5所示,企业分支发送报文到企业总部,有以下过程:
- PPP终端:IP数据报文进行PPP(链路层)封装,发送报文。
- LAC:收到PPP报文后,根据报文携带的用户名或者域名判断接入用户是否为VPDN用户。
- 是VPDN用户:对PPP报文进行L2TP封装,根据LNS的公网地址,再对L2TP报文进行UDP和IP封装。封装后的报文最外层为公网IP地址,经过公网路由转发到达LNS。
- 非VPDN用户:对PPP报文进行PPP解封装,此时LAC为PPP会话的终止节点。
- LNS:收到L2TP报文后,依次解除外层的IP封装、L2TP封装、PPP封装,得到PPP承载的信息,即PPP终端发送的IP数据报文。根据报文中的目的地址,查找路由表使报文达到企业总部的目的主机。
企业总部回应分支用户时,回应报文到达LNS后查找路由表,根据转发接口进行L2TP处理,报文封装的过程和分支到总部一致。
L2TP报文传输L2TP传输PPP报文前,需要建立L2TP隧道和会话的连接。对于首次发起的L2TP连接,有如下流程:
建立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解封装处理,根据路由转发表发送至目的主机,完成报文的传输。