概述工作过程
L2TP 能够传输数据,工作过程基本需要 3 个主要节点:
建立 L2TP 隧道(6)
LAC 收到远程用户的 PPP 协商请求时,LAC 向 LNS 发起 L2TP 隧道请求。LAC 和 LNS 之间通过 L2TP 的控制消息,协商隧道 ID、隧道认证等内容,协商成功后则建立起一条 L2TP 隧道,由隧道 ID 进行标识;
建立 L2TP 会话(7)
如果 L2TP 隧道已存在,则在 LAC 和 LNS 之间通过 L2TP 的控制消息,协商会话 ID 等内容,否则先建立 L2TP 隧道连接。会话中携带了 LAC 的 LCP 协商信息和用户认证信息,LNS 对收到的信息认证通过后,则通知 LAC 会话建立成功。L2TP 会话连接由会话 ID 进行标识;
传输 PPP 报文(8)
L2TP 会话建立成功后,PPP 终端将数据报文发送至 LAC,LAC 根据 L2TP 隧道和会话 ID 等信息,进行 L2TP 报文封装,并发送到 LNS,LNS 进行 L2TP 解封装处理,根据路由转发表发送至目的主机,完成报文的传输;
数据报文交换
在建立 L2TP 连接时,在「服务器」和「客户端」间交换许多「控制包」,以为每个方向建立「隧道」和「会话」。「一个对等体」请求「另一个对等体」通过这些「控制包」分配特定的「隧道」和「会话 ID」,然后使用此「隧道」和「会话 ID」,「数据包」同「压缩的 PPP 帧」作为有效负载进行交换;
「LAC」和「LNS」间交换的 L2TP「控制包」列表,用于握手(在「自愿隧道」方法中建立「隧道」和「会话」之前):
Start-Control-Connection-Request (SCCRQ)
通过 Wireshark 进行抓包,其交互过程如下:
708 38.269742497 172.31.252.20 1701 60.176.11.162 1701 L2TP 156 Control Message - SCCRQ (tunnel id=0, session id=0) 709 38.271743904 60.176.11.162 1701 172.31.252.20 1701 L2TP 119 Control Message - SCCRP (tunnel id=57980, session id=0) 710 38.271820108 172.31.252.20 1701 60.176.11.162 1701 L2TP 62 Control Message - SCCCN (tunnel id=2, session id=0) 711 38.272129481 172.31.252.20 1701 60.176.11.162 1701 L2TP 90 Control Message - ICRQ (tunnel id=2, session id=0) 712 38.283319940 60.176.11.162 1701 172.31.252.20 1701 L2TP 70 Control Message - ICRP (tunnel id=57980, session id=24096) 713 38.283450563 172.31.252.20 1701 60.176.11.162 1701 L2TP 92 Control Message - ICCN (tunnel id=2, session id=2) 714 38.298413061 172.31.252.20 1701 60.176.11.162 1701 PPP LCP 72 Configuration Request 715 38.345307252 60.176.11.162 1701 172.31.252.20 1701 L2TP 60 Control Message - ZLB (tunnel id=57980, session id=0) 772 41.301906122 172.31.252.20 1701 60.176.11.162 1701 PPP LCP 72 Configuration Request 773 41.311269282 60.176.11.162 1701 172.31.252.20 1701 PPP LCP 77 Configuration Request 774 41.311339667 172.31.252.20 1701 60.176.11.162 1701 PPP LCP 77 Configuration Ack 775 41.312169430 60.176.11.162 1701 172.31.252.20 1701 PPP LCP 72 Configuration Ack ...
应用场景
L2TP 主要可分为以下三种工作场景,其工作过程并不相同:
1)CLI-Initiated:移动办公用户访问企业内网,主要应用于出差用户的远程接入;
2)LAC-Initiated:通过 LAC 自主拨号实现企业内网互连;内网无需 PPP 拨号,而是由 LAC 主动拨号,形成一条隧道;
3)NAS-Initiated:拨号用户通过 NAS 访问企业内网;