L2TP(第二层隧道协议)

2025年1月7日 | 阅读 12 分钟

在本文中,我们将讨论计算机网络中的第二层隧道协议 (L2TP),包括其组件、特性、优点和局限性。

L2TP 简介

第二层隧道协议 (L2TP) 是计算机网络中一种流行的协议,尤其用于虚拟专用网络 (VPN)。它在数据链路层(OSI 模型的一部分)工作,其隧道协议可用于将各种网络协议封装其中。L2TP 是 **Microsoft** 和 **Cisco Systems** 合作开发的,结合了两种早期协议的最佳特性:**Cisco 的第二层转发 (L2F)** 和 **Microsoft 的点对点隧道协议 (PPTP)**。

  • L2TP 是一种协议,它通过公共网络(如互联网)为远程网络或设备提供可靠且安全的 VPN 连接以及安全的数据传输。它通过将数据包封装在第二层协议(即 **PPP (点对点协议)**)中,然后将数据包通过互联网或基于 IP 的网络进行传输来实现这一点。这种封装可以精确地恢复初始数据结构,并提供一种安全可靠的数据传输方式。
  • L2TP 的主要优点之一是它与多种身份验证和加密协议的兼容性,包括 **IPSec (互联网协议安全)**,后者可用于增强 L2TP 隧道(隧道)的安全性。
  • L2TP 包含两个主要组件:**L2TP 访问集中器 (LAC)** 和 **L2TP 网络服务器 (LNS)**。LAC 提供对网络的访问和终止,同时封装的数据将被持续转发直到到达目的地。这种客户端-服务器架构创建了一个工具,可确保通过互联网进行安全通信通道的建立,将客户端连接到公司网络或其他网络资源。

L2TP 的关键组件

L2TP 的几个关键组件如下:

  • L2TP 控制连接:L2TP 控制连接在 LAC 和 L2TP 网络服务器 (LNS) 之间建立隧道连接,并维护隧道状态。它在 **UDP (用户数据报协议)** 的 **1701 端口** 上运行,并考虑了会话和隧道的概念。LAC 激活 LAC,LNS 终止连接。在建立控制链路时,LAC 和 LNS 事先确定了隧道 ID、会话 ID 和控制消息类型等参数。控制连接建立一次,然后用于通信整个 IPSec 隧道设置和维护。
  • L2TP 数据隧道:隧道利用 L2TP 用户逻辑连接和网络控制连接来连接 LAC 和 LNS。另一方面,它是用于传输承载数据从一个传输链路的末端到另一个末端的分离数据包的主要通道。数据隧道下的数据流通过 **UDP 端口 1701** 进行,与控制连接相同。通过在控制通道中设置的隧道连接和 L2TP 参数的开始,第二层协议(如 L2TP)的数据包被封装在隧道中并发送。数据隧道确保了通信端点之间收敛通信的安全可靠传输。
  • 会话 ID 和 Cookie:会话 ID 和 Cookie 都是 L2TP 感知机制的关键元素,用于会话识别和验证目的。会话 ID 是通过 L2TP 隧道建立的每个会话的唯一编号。它在控制连接建立过程中传输到 LAC 和 LNS 元素,并用于区分穿过同一隧道的所有会话。Cookie 是一个完全随机生成并包含在发送到 LNS 的控制消息中的变量。LNS 身份验证会确定 Cookie 的有效性,并确保控制消息的正确性,防止重放攻击,因为每条消息都包含一个唯一的 Cookie 值。
  • L2TP 报头格式:L2TP 数据包报头格式用于定义 LAC 和 LNS 在控制和数据隧道之间来回发送的 L2TP 数据包的结构。L2TP 报头包含一些字段,如**长度、隧道 ID、会话 ID 和控制消息类型**。长度字段表示 L2TP 数据包中报头和有效载荷的总和。这两个会话标识符有助于区分数据包中的隧道和会话。例如,控制消息类型字段提供了有关隧道建立时发布的数据类型、正在传输数据还是隧道正在终止等详细信息。通过处理 L2TP 中指定的报头,节点可以根据 L2TP 协议的标准读取和更新传入的数据包。

L2TP 的操作

L2TP 在计算机网络中的一些操作如下:

建立控制连接

  • L2TP 整体操作过程的第一部分是通过控制连接在客户端和服务器之间创建隧道。它负责 LAC (L2TP 访问集中器) 和 LNS (L2TP 网络服务器) 之间的会话启动过程。L2TP 协议选择过程从通过 UDP 端口 **1701** 建立控制连接开始,该连接随后用于承载后续的数据隧道创建。同时,LAC 和 LNS 之间的连接建立协议,以及隧道 ID、会话 ID 和控制消息类型等参数的值是包含的关键参数。通过控制消息传输诸如通信模式、频率和符号速率之类的参数,以便端点同步并就数据传输参数达成一致。一旦 LSA 和 LNS 成功建立控制隧道,它们就可以继续设置 L2TP 数据隧道作为封装数据传输的媒介。

隧道过程

  • 封装过程将数据包打包,这是 L2TP 的核心功能,它有助于将数据包放入 L2TP 报头中以在网络上传输。隧道之外的 **L2TP** 层将 LAC 与 LNS 连接起来。例如,在隧道过程中,数据总是被封装在 L2TP 报头中,并使用先前建立的第二层协议 PPP。这些封装的数据包将通过已建立的数据隧道从 LAC 传输到 LNS。隧道过程的目的是通过创建逻辑连接来发送加密数据包到受保护的隧道中,从而使其对外部不可见,从而促进数据从一个端点到另一个端点在网络中的安全传输。
L2TP (Layer 2 Tunneling Protocol)

封装和解封装

  • L2CAP 隧道路由和解封装到 L2TP 端点由封装和解封装完成,允许数据包通过 L2TP 数据隧道进行传输。封装技术是指 L2TP (第二层隧道协议) 数据包,它是重构的第二层协议低级结构(即 PPP 帧),被封装起来。这包括添加额外的报头数据,其中隧道 ID 和会话 ID 是隧道数据的报头,数据通过 L2TP 数据隧道传输。相反,在目的地,会发生解封装,从 L2TP 报头中包含的原始 L2TP 报头中揭示数据包。此过程包括去除原始 L2TP 报头并提取相应的协议将复制的数据包。这些数据包根据其原始 LPP 标识被转发到指定目的地。封装和解封装允许对数据包进行加密,并允许通过 L2TP 数据隧道进行传输。它提供了远程设备和网络之间安全且正确通信的方式。

L2TP 的整个操作由这些组件按顺序管理,从建立控制连接一直到 L2TP 数据隧道内的 IP 数据包封装和解封装。

L2TP 与其他隧道协议的比较

1. 与 PPTP (点对点隧道协议) 的比较

**L2TP (第二层隧道协议) 和 PPTP (点对点隧道协议)** 都是用于创建 VPN 连接的隧道协议,但它们在几个方面有所不同。L2TP 在数据链路层安全地封装数据包以创建 VPN 连接,而 PPTP 是数据链路层的一种连接驱动协议,存在一些局限性,如下所示:

  • 安全性:**PPTP 是一种 **MPPE (Microsoft 点对点加密)** 解决方案,通常被认为比 IPSec 提供的加密选项弱。IPSec 通常与 L2TP 一起使用。与 IPSec 不同,L2TP 通过提供数据保密性、数据完整性和身份验证机制来实现其普遍增强安全性的目标。
  • 网络层:在 PPTP 中,OSI 模型的数据链路层(第二层)是操作模式,而在 L2TP 中,与 IPSec 结合使用时,它同时在 **数据链路层(第二层)和网络层(第三层)** 上运行。这种技术的发展使得 L2TP 不仅可以封装第二层协议,还可以封装第三层协议,因此,这种类型的协议被广泛使用。
  • 身份验证:**PAP、CHAP** 和 **EAP** 是同时支持服务器的几种身份验证协议。L2TP 与 IPSec 结合使用 IPSec 安全协议套件,这使其能够使用更广泛的身份验证方法,并通过提供与 IPSec 安全机制的集成点来增强安全性。
  • 性能:除了性能之外,L2TP 由于其额外的隐藏层可能会有稍多的开销,但与 IPSec 结合使用时不会太多。PPTP 作为一种简单的协议,在某些情况下可能更容易实现,但技术的安全性可能会受到影响。

2. 与 IPSec (互联网协议安全) 的比较

  • 范围:**IPSec** 是一个协议包,用于在 OSI 模型网络层(即第三层)上保护 IP 流量。它负责加密功能,包括允许 IP 数据包的加密、完整性、身份验证或密钥管理的功能。与前一个不同,L2TP 是一种封装协议,它使用其他网络协议在 L2TP 框架内以相同的方式工作。
  • 功能:与覆盖网络上每个 IP 数据包的 IPSec 不同,L2TP 提供了在公共网络和私有网络之间创建安全连接的手段。整个过程是 L2TP 封装原始 IP 数据包,然后这些数据包由 IPSec 加密和身份验证,然后发送出去。
  • 灵活性:L2TP 与 IPSec 结合不仅提供了多种身份验证方法,还提供了更多的加密算法和密钥交换协议。它能够根据组织管理员的个体需求和网络环境个性化安全条件。
  • 互操作性:IPSec 存在于许多网络设备标准中,也以软件形式存在于不同的操作系统中。L2TP 与 IPSec 结合通过在不同供应商和平台以及其他网络环境之间建立基于道德的 VPN 流量来利用这种互操作性。

L2TP 协议的优点

L2TP 在计算机网络中的一些优点如下:

  • 多功能性:L2TP 能够支持多种第二层协议,涵盖 **以太网、帧中继** 和 **PPP** 等技术。这种灵活性使其能够适应和定制以适应不同的网络条件和广泛的需求。
  • 与 IPSec 集成:最重要的是,L2TP 可以与 IPSec 顺畅协作,为 L2TP 连接添加安全层。L2TP 用于安全隧道,IPSec 用于加密、身份验证和完整性保护。因此,L2TP/IPSec 结合了两者的优点。
  • 广泛的平台支持:L2TP 在许多操作系统、网络设备和 VPN 客户端中得到使用和普遍支持,并作为 VPN 部署的通用标准。这种广泛的跨平台支持是促进平台的一个因素,确保了在各种情况下的互操作性和平稳过渡。
  • 可伸缩性:L2TP 可以在隧道中拥有更多会话,从而提高效率并促进 L2TP 容量的扩展,以适应大量 VPN 用户。此类 VPN 的规模足以满足企业级部署。或者,VPN 的可伸缩性可能是企业级参与。
  • 效率:L2TP 在第二层和第三层上运行,使其能够包含 OSI 模型较低层和较高层的协议。由于这个特性,该协议可以与不同的网络正确地共享信息,并且传输各种流量类型没有障碍。

L2TP 协议的缺点

L2TP 在计算机网络中的一些缺点如下:

  • 复杂性:与 L2TP 与 IPSec 结合相比,对于那些对组织的网络和安全资源了解有限的人来说,部署可能很复杂。因此,部署 L2TP/IPSec VPN 需要仔细考虑安全策略、加密算法和密钥管理协议的所有方面。
  • 开销:L2TP 由于封装而产生开销,这是 L2TP 与 IPSec 结合进行加密的结果。该领域的额外费用也可能导致网络速度降低,尤其是在处理高流量或资源受限设备时。
  • 依赖第三方身份验证和授权机制:L2TP 没有固有的能力来验证或分配身份验证或授权角色。在实践中,部署 IPSec L2TP VPN 的 VPN 提供商必须依赖 **RADIUS** 和 **LDAP** 等集成解决方案来进行用户身份验证和访问控制。
  • NAT 穿透问题的可能性:L2TP/IPSec VPN 解决了 NAT 设备经常遇到的困难,例如执行路由器或防火墙功能的 NAT 设备。通过 UDP 封装和 NAT-T (网络地址转换穿透) 确保 NAT 穿透可以缓解这些问题,但由于 NAT-T (网络地址转换穿透) 的部署会增加复杂性。

L2TP 的应用

L2TP 在计算机网络中的一些应用如下:

  • 远程访问 VPN:L2TP 通常用于远程访问 VPN 情况,其中员工需要通过其无线连接安全地连接到公司网络和资产。当远程工作人员使用 VPN (L2TP/IPSec) 时,他们可以通过建立连接安全地访问内部资源(如文件、应用程序和内联网网站)。
  • 站点到站点 VPN:L2TP 也用于 **站点到站点** 设置,以连接分支机构或远程站点与中央组织的总部或数据中心。通过在路由器或 VPN 网关之间设置 L2TP/IPSec 隧道,企业组织可以实现跨地域分布式位置的安全可靠通信通道。
  • 电信服务:L2TP 是电信机构提供托管 VPN 服务的常见选择。提供商可以利用 L2TP/IPSec 作为定制化、安全连接解决方案的基础,以适应企业的需求,使其能够互连分支机构、启用远程访问等,以及云连接。
  • 运营商级应用:L2TP 具有适合 **DSL 服务** 和宽带接入网络等大型运营商级解决方案的特性。在其访问集中器和网络网关中,提供商可以确保其部署能够为家庭和企业客户提供安全且可扩展的连接,并有效地管理网络内部的流量。
  • 远程监控和管理:L2TP 也称为 **远程监控和管理 (RMM)** 解决方案,IT 管理员和服务提供商可以通过集中式位置安全地远程访问和管理服务器和交换机等设备。**L2TP/IPSec VPN** 隧道保护远程布局期间交换的信息,并确保软件更新、故障排除和配置管理的加密和身份验证通信通道。
  • 安全互联网访问:对于需要互联网安全的组织中的远程位置,L2TP 用于过滤用户远程浏览的网页。L2TP/IPSec VPN 通过 VPN 隧道路由网站流量,从而加密数据传输,防止恶意网络攻击,并启用内容过滤,从而增强合规性和保护。

其他方面

  • 服务提供商网络互连:L2TP 是一种复合传输控制信号,用于连接不同服务提供商的域网络,从而实现顺畅的数据传输和流量传输。组织可以使用 L2TP 隧道来定义包容性的对等关系和相互流量交换,提供安全且集成化的流量。此外,这种效果超越了 VPN 提供商,适用于不同的网络场景,包括 IP 传输、内容交付和云连接。
  • 服务提供商边缘 (SPE) 部署:L2TP 通常在 SPE 部署,作为客户 VPN 连接汇聚的中心。不同位置的 SPE 作为服务提供商网络与家庭用户网络之间的边界,实现 **流量终止、QoS 执行** 和 **策略执行** 等功能。支持 L2TP 的 SPE 构成了一个强大的平台,使服务提供商不仅能够提供,还能增加各种服务,包括第二层和第三层 VPN、MPLS 伪线和托管网络服务。