L2TP协议
L2TP(Layer 2 Tunneling Protocol) 第二层隧道协议。该协议是工业标准的Internet隧道协议。
L2TP实现的两种方式
LAC (L2TP Access Concentrator L2TP访问集中器)是附属在交换机网络中具有PPP端系统和L2TP协议处理能力的设备。LAC一般是一个网络接入服务器NAS(Network Access Server),主要用于通过PSTN/ISDN网络为用户提供接入服务。
LNS (L2TP Network Server L2TP网络服务器)是PPP端系统上用于处理L2TP协议服务器端部分的设备。
VPDN (virtual Private Dial Network,虚拟私有拨号网) 指利用公共网络(如ISDN,PSDN)的编号功能及接入网来实现虚拟专用网。
(1)PC机和LNS直连
(2)PC机通过LAC拨号连接到LNS
L2TP封装
PC机的报文在PPP内网环境中发送到LAC,由LAC封装L2TP,再通过外网的报文正常转发给LNS的报文封装过程。
隧道和会话
LAC和LNS之间存在两种连接,隧道连接(一对LAC和LNS之间可以有多个L2TP隧道)和会话连接(复用在隧道连接之上,用于表示承载在隧道连接中的每个PPP会话进程)
隧道由一个控制连接和一个或多个会话连接组成。会话必须在隧道建立(包括身份保护、L2TP版本、帧类型、硬件传输类型等信息的交换)成功之后进行,每个会话连接对应于LAC和LNS之间的一个PPP数据流。控制消息和PPP数据报文都在隧道上传输。
L2TP使用Hello报文来检测隧道的连通性。LAC和LNS定时向对端发送Hello报文,若在一段时间内未收到Hello报文的应答,该隧道连接将被断开。
L2TP报文头中包含隧道标识符(Tunnel ID)和会话标识符(Session ID)信息,用来标识不同的隧道和会话。隧道标识相同、会话标识不同的报文将被复用在一个隧道上,报文头中的隧道标识符与会话标识符由对端分配。
消息类型
L2TP是数据链路层协议,报文分为数据消息和控制消息。数据消息用PPP帧,该帧作为L2TP报文的数据区,L2TP不保证数据消息的可靠投递,若报文丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。
控制消息用以建立、维护和终止控制连接及会话,L2TP确保其可靠投递,并支持对控制消息的流量控制和拥塞控制。
L2TP/IPSec
通常,L2TP会和IPSec结合使用,IPSec提供加密功能,此时数据封装形式为:
L2TP vs PPTP
(1)PPTP要求互联网络为IP网络,L2TP只要求隧道媒介提供面向数据包的点对点连接。L2TP可以在IP(使用UDP),帧中继永久虚拟电路,ATM 虚拟电路网络上使用
(2)PPTP只能在两端点之间建立单一隧道,L2TP支持在两端点见使用多隧道。使用L2TP,用户可以针对不同的服务质量创建不同的隧道
(3)L2TP可以提供包头压缩。当压缩包头时,系统开销占用4个字节,而PPTP协议要用6个字节
(4)PPTP依靠MPPE提供加密服务,而L2TP依靠IPSec提供加密服务