**发布时间:** 2025-11-08
**厂商:** AZURE
**类型:** TECH-BLOG
**原始链接:** https://techcommunity.microsoft.com/blog/azurenetworkingblog/extending-layer-2-vxlan-networks-over-layer-3-ip-network/4466406
---
<!-- AI_TASK_START: AI标题翻译 -->
[解决方案] 在三层 IP 网络上扩展二层 VXLAN 网络
<!-- AI_TASK_END: AI标题翻译 -->
<!-- AI_TASK_START: AI竞争分析 -->
# 解决方案分析
## 解决方案概述
该解决方案阐述了如何利用 **VXLAN (Virtual Extensible LAN)** 技术,在 Layer-3 IP 网络之上构建一个 Layer-2 覆盖网络(Overlay),从而实现跨地理位置的二层网络连接。
- **核心问题**:解决企业在广域网(WAN)等三层路由网络上延伸二层 VLAN 的需求,以支持虚拟机迁移、灾备和统一网络分段等场景。
- **技术原理**:VXLAN 是一种网络虚拟化技术,它将完整的 Layer-2 以太网帧封装在 Layer-3 的 UDP/IP 包中进行传输。隧道两端的设备被称为 **VTEP (VXLAN Tunnel Endpoint)**,负责流量的封装与解封装。这种方式将逻辑二层网络与物理三层网络解耦,使得二层广播域可以跨越任意 IP 网络。
- **关键优势**:
- **大规模扩展**:VXLAN 使用 24 位的 **VNI (VXLAN Network Identifier)**,理论上可支持约 **1600 万**个独立的网络分段,远超传统 VLAN 的 4094 个限制,特别适用于大型云数据中心和多租户环境。
- **灵活性与移动性**:允许虚拟机或应用在不同物理站点间迁移而**无需更改 IP 地址**,因为它们始终处于同一个虚拟二层网络中。
- **适用场景**:
- 数据中心互联(DCI)
- 多租户云环境
- 跨站点灾难恢复(DR)
- 需要保持二层邻接关系的传统应用现代化改造
## 实施关键考量
### 1. MTU (最大传输单元) 与开销管理
- **技术细节**:VXLAN 封装会为原始数据包增加约 **50 字节**的额外开销(外部 IP 头、UDP 头、VXLAN 头)。一个标准的 1500 字节以太网帧在封装后将超过 1550 字节。
- **实施要求**:底层 IP 网络(Underlay)必须能够处理这些增大的数据包,否则会导致 IP 分片或丢包,严重影响性能。
- **解决方案**:
- **推荐方案**:在所有底层网络路径(包括核心和 WAN 链路)上启用巨型帧(Jumbo Frames),将 MTU 至少提升至 **1600 字节**或更高(如 9000 字节),为各类隧道协议预留充足空间。
- **替代方案**:如果无法修改底层网络 MTU,则必须**降低覆盖网络(Overlay)的 MTU**。例如,将 VLAN 接口的 MTU 调整为 1450 字节,以确保封装后的数据包不超过 1500 字节。
> **注意**:应极力避免 IP 分片,因为它会增加网络设备的处理负担,且部分设备或安全策略可能会直接丢弃分片报文。
### 2. 邻居故障检测与链路弹性
- **技术挑战**:VXLAN 隧道本身缺乏内置的“心跳”或状态检测机制。如果远端 VTEP 发生故障或网络路径中断,本端 VTEP 接口可能仍然保持“up”状态,导致流量被“黑洞”。
- **实施要求**:部署一种快速的故障检测机制来监控隧道的健康状况,以实现快速收敛和故障切换。
- **解决方案**:
- 采用 **BFD (Bidirectional Forwarding Detection)** 协议。BFD 是一种轻量级的检测协议,通过在 VTEP 之间高速发送微小的探测包(间隔可配置为毫秒级)来实时监控隧道的可达性。
- 当 BFD 检测到故障时(例如,在几百毫秒内),它可以立即通知上层路由协议(如 OSPF, BGP)或直接将 VXLAN 接口置为“down”状态,从而触发流量切换到备用路径,实现**亚秒级**的故障恢复。
## 方案客户价值
- **保留现有 VLAN 架构**
- 客户的 VLAN 标签在 VXLAN 隧道中被完整保留,实现了跨站点的无缝二层连接。不同地点的设备可以位于同一 VLAN 和 IP 子网中,简化了网络设计和管理。
- **提升网络扩展性与灵活性**
- 突破 4094 个 VLAN 的限制,支持高达 1600 万个逻辑网络,满足大规模多租户或复杂应用分段的需求。
- **简化底层网络运维**
- 中间的核心或广域网无需感知和配置客户的 VLAN 信息,只需负责 IP 路由。这避免了将复杂的生成树协议(STP)扩展到广域网,提高了核心网络的稳定性和可扩展性。
- **增强网络弹性和带宽利用率**
- 由于覆盖网络运行在 IP 之上,可以充分利用底层三层网络的成熟特性,如 **ECMP (Equal-Cost Multi-Path)**,实现多路径间的负载均衡和带宽聚合。当某条物理路径故障时,IP 路由协议可以快速重路由,保障业务连续性。
## 涉及的相关产品
- **VTEP (VXLAN Tunnel Endpoint)**
- 执行 VXLAN 封装和解封装功能的网络节点。它可以是物理交换机、路由器,也可以是虚拟交换机或服务器上的网络接口。该方案描述的技术原理具有厂商中立性。
## 技术评估
- **优势**
- **标准化与互操作性**:VXLAN 是由 IETF RFC 7348 定义的标准协议,具备良好的厂商互操作性。
- **架构解耦**:将逻辑网络与物理网络分离,为软件定义网络(SDN)和网络自动化奠定了基础。
- **性能与弹性**:能够利用底层 IP 网络的路由能力和多路径特性,提供比传统二层延伸技术更优的弹性和性能。
- **可能的限制与挑战**
- **配置复杂性**:正确配置 MTU 和部署 BFD 等高可用性机制需要仔细的规划和端到端验证,对网络工程师的技能有一定要求。
- **故障排查**:Overlay 网络增加了网络层次,当出现问题时,故障排查需要同时分析物理底层和逻辑覆盖层,可能比传统网络更复杂。
- **硬件依赖**:为获得最佳性能,VTEP 设备最好具备硬件加速能力以处理 VXLAN 封装/解封装,否则可能成为性能瓶颈。
<!-- AI_TASK_END: AI竞争分析 -->
<!-- AI_TASK_START: AI全文翻译 -->
# 通过三层 IP 网络扩展二层 (VXLAN) 网络
**原始链接:** [https://techcommunity.microsoft.com/blog/azurenetworkingblog/extending-layer-2-vxlan-networks-over-layer-3-ip-network/4466406](https://techcommunity.microsoft.com/blog/azurenetworkingblog/extending-layer-2-vxlan-networks-over-layer-3-ip-network/4466406)
**发布时间:** 2025-11-08
**厂商:** AZURE
**类型:** TECH-BLOG
---

Azure Networking Blog
# 通过三层 IP 网络扩展二层 (VXLAN) 网络
Nov 08, 2025
## 在现代企业网络中,跨越地理上分散的站点扩展二层连接通常至关重要——但在传统的三层网络上实现这一点会带来挑战。VXLAN (Virtual Extensible LAN) 通过将以太网帧封装在 IP/UDP 包中,提供了一种可扩展且不受厂商限制的解决方案,从而实现了跨路由基础设施的无缝 VLAN 扩展。本博客探讨了在三层 IP 网络上构建二层 VXLAN 覆盖网络的优势和用例,强调了 MTU 大小和分片风险等关键考虑因素,并解释了双向转发检测 (BFD) 如何通过实时检测隧道邻居故障来增强隧道的弹性。
## 引言
**虚拟可扩展局域网 (Virtual Extensible LAN, VXLAN)** 是一种网络虚拟化技术,它将二层以太网帧封装在三层 UDP/IP 包内。实质上,VXLAN 在 IP 网络之上创建了一个逻辑上的二层覆盖网络 (Overlay Network),允许以太网段 (VLAN) 或底层 IP 包跨越路由基础设施进行延伸。其一个关键优势是规模:VXLAN 使用 24 位的段 ID (VNI),而不是 12 位的 VLAN ID,支持大约 **1600 万个隔离网络**,而 VLAN 的上限仅为 4094 个。这使得 VXLAN 非常适合需要大量独立网络分段的大型云数据中心和多租户环境。
VXLAN 的二层覆盖网络为现代架构带来了 **灵活性和移动性**。由于 VXLAN 隧道可以跨越多个三层域,组织可以跨不同站点或子网扩展 VLAN——例如,只要底层的隧道 IP 可达,就可以创建一个跨越两个数据中心的 IP 广域网 (WAN) 隧道。这实现了无缝的工作负载迁移和灾难恢复:它还有助于虚拟机或应用程序在物理位置之间移动时 **无需更改 IP 地址**,因为它们仍处于同一个虚拟二层网络中。覆盖网络的方法还将逻辑网络与物理底层网络 (Underlay Network) 解耦,这意味着您可以在任何 IP 路由基础设施上运行熟悉的二层网段,同时利用等价多路径 (ECMP) 负载均衡等特性,并避免大型的生成树域。简而言之,VXLAN 结合了两者的优点——**二层邻接的简单性与三层路由的可扩展性**——使其成为云网络和软件定义数据中心的基础工具。
**在三层 IP 网络上构建二层 VXLAN 覆盖网络** 允许客户或边缘网络使用 IP 骨干网在地理上分散的站点之间延伸以太网 (VLAN) 网段。这种方法可以端到端地保留 VLAN 标签,并实现跨地域的灵活分段,**而无需** 在核心网络中扩展或维持一个连续的二层网络。它还有助于隐藏或避免底层 IP 网络的复杂性。
然而,至关重要的是要考虑 **MTU 开销** (VXLAN 增加了约 50 字节的头部),因此覆盖网络的 VLAN MTU 必须设置得比底层网络的 IP MTU 小——否则可能发生分片或丢包。此外,由于 VXLAN 本身不传递链路状态信号,在 VXLAN 接口上实施 **双向转发检测 (Bidirectional Forwarding Detection, BFD)** 可以快速检测邻居故障,确保在隧道端点宕机时能够迅速重新路由或恢复。
## VXLAN 覆盖网络的用例与优势
**虚拟可扩展局域网 (VXLAN)** 是一个标准协议 (IETF RFC 7348),可以将二层以太网帧封装到三层 UDP/IP 包中。通过这种方式,**VXLAN 在三层底层网络之上创建了一个二层覆盖网络**。VXLAN 隧道端点 (VXLAN Tunnel Endpoints, VTEPs),可以是路由器、交换机或主机,将原始以太网帧 (包括其 VLAN 标签) 用 IP/UDP 头部和一个 VXLAN 头部包裹起来,然后通过 IP 网络发送。VXLAN 的默认 UDP 端口是 4789。这种机制提供了几个关键优势:
- **保留 VLAN 标签和二层分段:** 整个以太网帧被完整传输,因此原始的 VLAN ID (802.1Q 标签) 在隧道中得以端到端保留。即使在入口处为本地隧道添加了额外的标签,**客户的内部 VLAN 标签在整个覆盖网络中仍然保持不变**。这意味着在一个站点定义的 VLAN 在另一个站点将被识别为同一个 VLAN,从而实现无缝的二层邻接。实际上,VXLAN 可以通过将每个 VLAN 或服务映射到一个 VXLAN 网络标识符 (VXLAN Network Identifier, VNI) 来 **透明地传输多个 VLAN**。
- **大规模的灵活网络分段:** VXLAN 使用 24 位的 VNI,支持 **约 1600 万个不同的网段**,远超传统 802.1Q 网络 4094 个 VLAN 的限制。这为架构师提供了在共享的 IP 基础设施上创建大量隔离的二层覆盖网络 (用于多租户场景、应用分层等) 的自由。**地理上分散的站点可以通过 VXLAN 共享相同的 VLAN** 和广播域,而无需在广域网路由器上进行任何 VLAN 配置。IP/MPLS 核心网络只看到经过路由的 VXLAN 包,而不是单个 VLAN,从而简化了底层网络的配置。
- **底层网络无需端到端的 VLAN:** 传统的二层扩展方案可能依赖于 MPLS/VPLS 或长距离以太网干线等方法,这些方法通常需要在整个广域网上配置 VLAN,并且扩展性不佳。在 VXLAN 覆盖网络中,**中间的三层网络对客户的 VLAN 毫不知情**,并且你 **不需要在广域网上做 VLAN Trunk**。每个站点的 VTEP 负责封装和解封装流量,因此核心路由器/交换机只需转发 IP/UDP 包。这种隔离提高了可扩展性和稳定性——核心设备无需承载来自所有站点的大量 MAC 地址表或生成树协议 (STP) 域。这也意味着底层网络可以使用健壮的 IP 路由协议 (如 OSPF、BGP) 和 ECMP,而不是跨站点扩展生成树。简而言之,**VXLAN 让你能将广域网视为一个 IP 云**,同时仍然在特定端点之间保持二层连接。
- **多路径与弹性:** 由于覆盖网络运行在 IP 之上,它自然可以利用 IP 路由的特性。例如,底层网络中的等价多路径 (ECMP) 可以在多条链路上对 VXLAN 流量进行负载均衡,这在跨广域网的单个桥接 VLAN 中是无法实现的。被封装流量的 UDP 头部甚至可以通过源端口哈希提供熵,以帮助在多条路径上进行负载分担。此外,如果一条底层路径发生故障,路由协议可以通过备用路径重新路由 VXLAN 包,而不会中断逻辑上的二层网络。与纯二层方案相比,这提高了可靠性和带宽利用率。
**示意图:跨三层广域网的 VXLAN 覆盖网络** – 下图简要说明了两个站点使用 VXLAN 覆盖网络的情况。“站点 A” 和 “站点 B” 各有一个本地 VLAN (例如 VLAN 100),它们希望通过 IP 广域网进行桥接。每个站点的 VTEP 将二层帧封装成 VXLAN/UDP 包,并通过 IP 网络发送。在隧道内部,原始的 VLAN 标签得以保留。在此示例中,一个 **BFD 会话** (红色虚线) 在 VTEP 之间运行,以监控隧道的健康状况,具体内容将在后文解释。

_图 1: 两个站点 (A 和 B) 使用 VXLAN 隧道跨 IP 广域网扩展 “VLAN 100”。内部 VLAN 标签在三层网络中得以保留。一个 BFD keepalive (每 900ms) 在 VXLAN 端点之间运行以检测故障。_
这种设计的 **实际效果** 是,站点 A 和站点 B 中的设备可以位于同一个 VLAN 和 IP 子网中,可以互相广播等,尽管它们是通过一个路由网络连接的。例如,如果站点 A 有一台机器在 VLAN 100 中,IP 为 10.1.100.5/24,而站点 B 有另一台在 VLAN 100 中,IP 为 10.1.100.10/24,它们可以像在同一个局域网中一样通信——地址解析协议 (ARP)、交换机和 VLAN 标记功能在隧道中均可正常工作。
## MTU 和开销的考量
部署 VXLAN 覆盖网络时一个关键的考量因素是处理因封装而 **增加的数据包大小**。一个 VXLAN 包在原始以太网帧之上增加了额外的头部:一个外部 IP 头部、UDP 头部和 VXLAN 头部 (以及在广域网接口上的一个外部以太网头部)。**这种封装为每个数据包增加了大约 50 字节的开销** (对于 IPv4;IPv6 约为 70 字节)。
在实践中,如果你的原始以太网帧是典型的 1500 字节负载 (加上以太网头部和 CRC 为 1518 字节,或带 VLAN 标签为 1522 字节),那么经过 VXLAN 封装后的版本将约为 1550 字节。**底层的 IP 网络 *_必须_* 能够容纳这些更大的帧**,否则你将遇到分片或丢包。许多网络链路默认只支持 1500 字节的最大传输单元 (MTU),因此如果不进行调整,承载一个全尺寸 VLAN 包的 VXLAN 将会超限。尽管现代网络支持巨型帧 (Jumbo Frames) (约 9k),但如果底层封装后的数据包帧超过 8950 字节,可能会引发问题,例如控制平面故障 (如 BGP 会话中断) 或数据包分片导致乱序。
**解决方案:** _要么提高底层网络的 MTU,要么在覆盖网络上强制使用更低的 MTU。_ 网络架构师通常倾向于 **增加核心网络的 IP MTU**,以便覆盖网络可以无分片地传输标准的 1500 字节以太网帧。例如,某厂商的指南建议在 **所有网络段上至少配置 1550 字节的 MTU**,以应对 VXLAN 约 50 字节的开销。在企业环境中,通常在数据中心/广域网中使用 “小型巨型帧” (例如 1600 字节) 或完整的巨型帧 (9000 字节) 来适应各种隧道开销。如果无法增加底层网络的 MTU (比如通过仅支持 1500 字节的 ISP),那么 **覆盖网络上的 VLAN MTU 应相应减小**——例如,将 VLAN 接口的 MTU 设置为 1450 字节,这样即使加上 50 字节的 VXLAN 开销,外部数据包仍保持在 1500 字节。这可以防止任何 IP 分片。
**为什么分片是不可取的:** VXLAN 本身不包含任何分片机制;它依赖于底层 IP 在需要时进行分片。但 IP 分片会损害性能,并且某些设备/丢弃策略可能会直接丢弃超大的 VXLAN 包而不是进行分片。事实上,某些实现 **不支持 VXLAN 隧道的分片或路径 MTU 发现**。安全的做法是确保任何封装后的数据包都不会超过物理 MTU。这意味着你需要端到端地规划 MTU:让核心链路的 MTU 略大于预期的最大覆盖网络数据包。
**示意图:VXLAN 封装与 MTU 分层** – 下图展示了 VXLAN 封装帧的组成部分及其如何影响数据包大小。原始的带 VLAN 标签的以太网帧 (黄色) 被新的外部以太网、IP、UDP 和 VXLAN 头部 (蓝色/绿色/红色/灰色) 包裹。这些额外的头部增加了约 50 字节。如果内部 (黄色) 帧的负载为 1500 字节加上 18 字节的以太网开销,那么外部数据包将变为约 1568 字节 (包括新的头部和 FCS)。实际上,**旧的 FCS 会被新的 FCS 替换**,因此净增长约为 50 字节。关键要点是:_IP 传输层必须能够处理这个总大小_。

_图 2: VXLAN 封装包的分层视图 (非等比例)。原始的带 VLAN 标签的以太网帧 (黄色) 被外部头部 (蓝色/绿色/红色/灰色) 封装,对于 IPv4 导致约 50 字节的开销。外部数据包必须在广域网 MTU 范围内 (例如,如果内部帧为 1468 字节,则外部为 1518 字节) 以避免分片。_
总而言之,**确保 IP 底层网络的 MTU 配置足以容纳 VXLAN 的开销**。如果在广域网上使用标准的 1500 字节 MTU,请将你的覆盖网络接口 (VLAN SVI 或网桥 MTU) 设置在 1450 字节左右。在许多情况下,如果可能的话,将广域网 MTU 提高到 1600 或全程使用巨型帧是提供充足空间的最佳实践。务必使用 ping 扫描 (例如,使用 DF 位和不同大小) 测试你的端到端路径,以验证封装后的数据包没有因为 MTU 限制而被丢弃。
## 使用 BFD 进行邻居故障检测
像 VXLAN 这样的覆盖网络面临的一个挑战是,**逻辑链路无法即时了解物理链路的状态**。如果 VXLAN 隧道的一端宕机或路径发生故障,另一端的 VXLAN 接口可能仍然保持 “up” 状态 (因为其自身的底层接口仍然是 up 的),这可能会导致流量黑洞,直到更高层的协议注意到问题。VXLAN 本身不会发送连续的 “链路存活” 消息来检查远程 VTEP 的可达性。
为了解决这个问题,网络工程师在 VXLAN 端点上部署了 **双向转发检测 (BFD)**。BFD 是一种轻量级协议,专门用于 **独立于介质或路由协议** 的快速故障检测。它的工作原理是两个端点之间定期发送非常快速、小巧的 hello 包 (通常每 50 毫秒或更短)。如果连续几个 hello 包丢失,BFD 就会宣告对端宕机——通常在 1 秒内,而传统检测方法则需要几秒钟 (甚至几十秒)。
**将 BFD 应用于 VXLAN:** 许多路由器和交换机厂商都支持在 VXLAN 隧道上或在 VTEP 的环回口邻接关系上运行 BFD。启用后,两个 VTEP 将以配置的间隔持续相互 ping。如果 VXLAN 隧道发生故障 (例如,一个站点失去连接),幸存一侧的 BFD 将迅速检测到响应丢失。**这可以触发纠正措施**:例如,BFD 可以为逻辑接口生成日志,或通知路由协议撤销通过该隧道的路由。在具有冗余隧道或冗余 VTEP 的设计中,BFD 有助于实现亚秒级故障切换——当主隧道发生故障时,流量几乎可以立即切换到备用 VXLAN 隧道。即使在单隧道场景中,BFD 也能及早向网络运营商或应用程序发出链路中断的警报,而不是悄无声息地丢弃数据包。
**示例:** 如果站点 A 和站点 B 之间有两条 VXLAN 隧道 (主用和备用),在每个隧道接口上运行 BFD 意味着,如果主用隧道的路径中断,站点 A 和 B 的 BFD 将在毫秒内检测到,并通知路由控制平面。网络随后可以立即将流量切换到备用隧道。如果没有 BFD,网络可能需要等待超时 (例如 OSPF 的 dead interval 甚至 ARP 超时) 才能意识到主隧道已死,从而导致明显的网络中断。
BFD 与协议无关——它可以与任何路由协议集成。对于 VXLAN,它纯粹是一个 **监控机制**:轻量级且对隧道的开销极小。它的消息是小型的 UDP 包 (通常使用端口 3784/3785),可以从 VTEP 的 IP 地址发出。发送频率是可配置的,取决于你需要的检测速度与可承受的开销;常见的计时器是 300 毫秒,乘数为 3 (约 1 秒内检测到),适用于中等速度要求;对于高速故障切换,甚至可以使用 50 毫秒,乘数为 3 (150 毫秒内检测到)。
**底线:** _实施 BFD 极大地提高了基于 VXLAN 的二层扩展的可靠性_。由于 **VXLAN 隧道不会自动发出邻居不可达的信号**,BFD 就像是心跳一样。许多平台甚至允许 BFD 直接影响接口状态 (例如,可以将 VXLAN 接口绑定为在 BFD 失败时进入 down 状态),以便任何更高级别的协议 (如虚拟路由器冗余协议 (VRRP)、动态路由等) 能够立即对链路丢失做出反应。这可以防止长时间的中断,并确保覆盖网络即使在复杂的广域网上也能保持健壮。
## 结论
在三层广域网上部署二层 VXLAN 覆盖网络 **解锁了强大的功能**:你可以继续在不同站点间使用熟悉的基于 VLAN 的分段,同时利用 IP 网络的可扩展性和弹性。这是一个在现代网络设备中得到广泛支持且不受厂商限制的解决方案。通过在隧道中 **保留 VLAN 标签**,VXLAN 使得将子网和广播域延伸到远程位置成为可能,以满足需要二层邻接的工作负载。凭借巨大的 VNI 地址空间,分段规模可以满足大型企业或云服务提供商的需求,远超传统 VLAN 的限制。
然而,要成功实现这些优势,**必须密切关注 MTU 和链路监控**。务必通过配置适当的 MTU (或调整覆盖网络的 MTU) 来容纳约 50 字节的 VXLAN 开销——这可以防止部署后难以排查的分片和丢包问题。而且,由于 VXLAN 隧道的健康状况默认情况下对交换机/主机是不可见的,因此应使用像 BFD 这样的工具来 **增加快速故障检测**,从而避免流量黑洞并缩短收敛时间。通过这样做,你可以确保你扩展的网络不仅功能正常,而且具有弹性和高性能。
By
**参考资料:** 为确保上述解释的准确性,本文参考了来自厂商文档和行业来源的 VXLAN 技术概述及最佳实践。这确保了本博客植根于经过实践检验的知识,同时保持厂商中立,适用于广大的云和网络专业人士。
更新于 Nov 08, 2025
版本 1.0
<!-- AI_TASK_END: AI全文翻译 -->