本文转自: https://ccie.lol/knowledge-base/l2tpv3/

1、L2TP 协议之前的版本:

L2TPv1 是思科私有协议,当时叫做 L2F;L2TPv2 是为远程访问设计的,只支持 PPP。

2、什么是 L2TP:

L2TP(Layer 2 Tunneling Protocol)是一种工业标准的 Internet 隧道协议,功能大致和 PPTP 协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如 PPTP 要求网络为 IP 网络,L2TP 要求面向数据包的点对点连接;PPTP 使用单一隧道,L2TP 使用多隧道;L2TP 提供包头压缩、隧道验证,而 PPTP 不支持。

简而言之,L2TPv3 是 L2VPN 基于 IP 网络的解决方案。L2TPv3的前身是 Cisco 的私有协议 —— 通用传输协议(UTI)。

其他相关文章:

3、L2TP 的会话:

L2TPv3的会话
L2TPv3 的会话

如上图所示,L2TP 为两个 CE 提供 L2VPN 服务,此时有一条 L2TP 控制会话和一条 L2TP 数据会话;

如下图所示,如果 PE 要向多个 CE 提供 L2VPN 服务,那么 L2TP 数据会话将会有多条,但这个时候 L2TP 控制会话还是只有一条。

L2TPv3 为多个用户提供 L2VPN 服务
L2TPv3 为多个用户提供 L2VPN 服务

如上图所示,L2TPv3 需要为两个客户提供 L2VPN 服务:

  • 一个是左右两端各一个的 CE,两个 CE 之间要实现 L2VPN 通信;
  • 另一个是 LAN1 和 LAN2,LAN1 和 LAN2 之间也要实现 L2VPN 通信。

所以此时控制会话只有一条,但是数据会话将会有两条。

4、L2TPv3 的 Control Plane 和 Data Plane:

  • Control Plane:使用带内信令来管理 L2TP 端点之间的控制连接和数据连接;
  • Data Plane:负责伪线仿真并提供数据转发服务。

5、L2TPv3 的报头结构:

L2TPv3的数据包报头结构
L2TPv3的数据包报头结构

L2TPv3 有两种报头结构(或分组格式):

  • 一种是 IP 协议号为 115(如上图左侧所示,思科路由器用这种方式);
  • 另一种是 UDP 端口号为 1701(如上图右侧所示)。

如下图所示,这是 Wireshark 的截图。在该图上可以看到思科路由器采用的是 IP 协议号为 115 的方式来标记 L2TPv3 数据包。

带有 L2TPv3 数据包的 Wireshark 截图
带有 L2TPv3 数据包的 Wireshark 截图

其他相关文章:

6、L2TPv3 控制消息报文格式:

L2TPv3 控制消息报文格式
L2TPv3 控制消息报文格式

7、L2TPv3 控制会话建立过程:

L2TPv3 控制会话建立过程
L2TPv3 控制会话建立过程

LCCE 的意思是:Local Control Connect  End-point / Local Control Connect Equipment(本地控制连接终端设备)。

CE 和 LCCE 之间的链路叫做 AC ;AC 的意思是:Attachment Circuit,附接链路。

SCCRQ 的意思是:Start Control Connect Request,开始控制连接请求。

SCCRP 的意思是:Start Control Connect Reply,开始控制连接响应。

SCCCN 的意思是:Start Control Connect Connection,开始控制连接链路建立。

8、L2TPv3 数据会话建立过程:

L2TPv3 数据会话建立过程
L2TPv3 数据会话建立过程

数据会话建立从 ICRQ 开始,SCCRQ、SCCRP 和 SCCCN 是控制会话的建立过程。

ICRQ 的意思是:Incoming Request,入向请求。

ICRP 的意思是:Incoming Reply,入向响应。

ICCN 的意思是:Incoming Connection,入向链路建立。

9、L2TPv3 维护机制:

L2TPv3 维护机制
L2TPv3 维护机制

维护机制就是通过发送 Hello 包来实现。

10、L2TPv3 链路拆除(Teardown):

L2TPv3 链路拆除(Teardown)
L2TPv3 链路拆除(Teardown)

CDN 的意思是我个人觉得是:Connection Down,链路拆除。

11、L2TPv3 的配置:

L2TPv3 的配置方式有两种
L2TPv3 的配置方式有两种

L2TPv3 的配置方式有两种:

  • 配置 L2TPv3 可以使用动态会话;
  • 配置 L2TPv3 也可以使用静态会话。

一般都使用动态会话,就好像一般都会使用动态路由协议而不是静态路由一样。

12、L2TPv3 的动态会话配置步骤:

L2TPv3 的动态会话配置步骤
L2TPv3 的动态会话配置步骤

Step 1 to 2 很好理解,现在来看 Step 3 to 5:

L2TPv3 的动态会话配置步骤
L2TPv3 的动态会话配置步骤

其中 Step 3 是为了配置 L2TPv3 的安全认证,如果不需要配置认证的话,Step 3 是可以不用配置的。

关于动态会话的配置步骤,详情请见这个实验:《【实验】IP L2VPN下,Point-to-Point的L2TPv3实验

13、L2TPv3 的静态会话配置步骤:

L2TPv3 的静态会话配置步骤
L2TPv3 的静态会话配置步骤

如上图所示,这是 L2TPv3 的静态会话配置步骤,简直是一个噩梦。_(:з」∠)_