-
1.
L2TP
简介
L2TP
(
Layer
2
Tunneling
Proto
col
,二层隧道协议)是
VPDN
(
Virtual
Private
Dial-up
Network
,虚
拟私有拨号网)隧道协议的一种。
VPDN
隧道协议主要包括以下三种,目前使用最广泛的是
L2TP
。
?
PPTP
(
Point-to-
Point Tunneling
Protocol
,点到点隧道协议)
?
L2F
(
Layer 2
Forwarding
,二层转发)
?
L2TP
L2TP
的网络拓扑图如下所示:
1
)远端系统
远端系统是要接入
VPDN
网络的远地用户和远地分支机构,
通常是一个拨号用户的主
机或私有网络的一台路由设备。
2
)
LAC
(
L2TP
Access Concentrator
,
L2TP
访问集中器)
LAC
是附属在交换网络上的具有
PPP
端系统和
L2TP
协议处理能力的设
备,
通常是一
个当地
ISP
的
NAS
,主要用于为
P
PP
类型的用户提供接入服务。
LAC
位于
LNS
和远端系
统之间,
用于在
LNS
和远
端系统之间传递信息包。
它把从远端系统收到的信息包按照
L2
TP
协议进行封装并送往
LNS
,<
/p>
同时也将从
LNS
收到的信息包进行解封装并送往远端系统。
LAC
与远端系统之间采用本地连接或
PPP
链路,
VPDN
应用中通常为
PPP
链路。
3
)
LNS
(
L2TP Network
Server
,
L2TP
网络服务器)
LNS
既是
PPP
端系统,又是
L2TP
协议的服务器
端,通常作为一个企业内部网的边缘
设备。
LNS
作为
L2TP
隧道的另一侧端点,
是
LAC
的对端设备,是
LAC
进行隧道传输的
PPP
会话的逻辑终止端点。通过在公网中建立
L2TP
隧道,将远端系统的
PPP
连接的另一
端由原来的
LAC
在逻辑上延伸到了企业网内部的
LNS
。
p>
隧道和会话的概念
在一个
LNS
和
LAC
对之间存在着两种类型的连接,一种是隧道(
Tunnel
)连接,一对
LAC
和
LNS
中可以有多个
L2TP
隧道;另一种是
会话(
Session
)连接,它复用在隧道连接
之上,用于表示承载在隧道连接中的每个
PPP
会话
过程。
隧道由一个控制连接和一个或多个会话
(
Session
)
组成。<
/p>
会话连接必须在隧道建立
(包
括身份保护
、
L2TP
版本、帧类型、硬件传输类型等信息的交换)成功之
后进行,每个会话
连接对应于
LAC
和
LNS
之间的一个
PPP
数据流。控制消息和
PPP
数据报文都在隧道上传<
/p>
输。
L2TP
使用
Hello
报文来检测隧道的连通性。
LAC
和
LNS
定时向对端发送<
/p>
Hello
报文,
若在一段时间内未收到
Hello
报文的应答,该隧道连接将被断开。
L2TP
报文头中包含隧
道标识符(
Tunnel
ID
)和会话标识符(
Session ID
< br>)信息,用来标
识不同的隧道和会话。
隧道标识相同、<
/p>
会话标识不同的报文将被复用在一个隧道上,
报文头
中的隧道标识符与会话标识符由对端分配。
<
/p>
隧道(
tunnel
)和会话(
session
)的关系,如图
4
所示;可以形象的理解为会话是建立
在隧道之中的,隧道想成一个有
10
个车道的高速公路,一台拨号
PC
的数据流为一个会话,
相当于占用了一个车道(告诉公路有多少车道是设
备规定好的)
,这个车道只能跑这个运载
这个
< br>PC
的报文的卡车。
(比如某型号设备每条隧道最多支持
1000
个会话)
。
< br>
2.
L2TP
协议背景
PPP
定义了一种封装技术,可以在二层的点到点链路上传输
多种协议数据包,当用户
与
NAS
之间运行
PPP
协议时,二层链路端点与
PPP
会话
点驻留在相同硬件设备(
NAS
)
上。
L2TP
(
RFC
2661
)是一种对
PPP
链路层数
据包进行隧道传输的技术,允许二层链路端
点(
LAC
)和
PPP
会话点(
LNS
)驻留在通过分组交换网络连接的不同设备上,从而扩展
了
PPP
模型,使得
PPP
会话可以跨越帧中继或
Internet
等网络。
L2TP
结合了
L2F
和
PPTP
的各自优点,成为
IETF
有关二层隧道协议的工业标准。
L2
TP
有两种消息类型:控制消息和数据消息。
控制消息用于隧道和会话连接的建立、
维护以及传输控制。
它的传输是可靠传输,
并且
支持对控制消息的流量控制和拥
塞控制。
数据消息用于封装
PPP
帧,并在隧道上传输。它的传输是不可靠传输,若数据
报文丢
失,不予重传,不支持对数据消息的流量控制和拥塞控制。
PPP Frame
L2TP Data
Messages
|
|
L2TP Control
Messages
L2TP Control Channel
(reliable)
L2TP Data Channel
(unreliable)
Packet Transport (UDP, FR, ATM, etc)
L2TP
隧道建立与释放流程
L2TP
隧道的建立与释放流程见下图所示:
MN
PDSN/LAC
LNS
FAAA
1. PPP LCP协商
2.
PPP 认证请求
-Request
4. Access-
Accept
6. SCCRP
7.
SCCCN
8. ICRQ
9.
ICRP
10. ICCN
11.
发记账开始请求
PPP 会话中继到LNS上
12. PPP
LCP Terminate request
13.
CDN
14. 发记账结束请求
15.
释放A10/A11会话
16. STOPCCN