2. 多云网络基础与Overlay定位

在多云架构中,网络往往是最先暴露矛盾的一层。业务系统可能同时运行在公有云 A 的 VPC、公有云 B 的 VPC 以及自建数据中心,每个环境都有自己的地址规划、路由表、安全策略和网关设备。如果只依赖底层物理网络和云厂商原生网络能力,跨云通信会迅速变得复杂:地址冲突、路由不可达、策略不一致、链路不可观测等问题会同时出现。Overlay 网络正是在这种背景下成为多云互联的核心手段。

理解 Overlay,首先要区分它与 Underlay 的关系。Underlay 是承载一切流量的底层网络,包括物理交换机、路由器、云专线、VPN 网关、云骨干以及云内虚拟网络基础设施。它负责把数据包从一台物理或虚拟设备送到另一台设备,关注的是可达性、带宽、时延和底层链路质量。Overlay 则是在 Underlay 之上构建的逻辑网络,通过隧道封装把原始报文包裹在底层可路由的报文中传输。对 Overlay 而言,Underlay 更像一张“透明的 IP 传输网”,只要底层能够把封装后的外层报文送到对端隧道端点,Overlay 就可以在两端之间建立自己的逻辑拓扑、地址空间和转发策略。

隧道封装是 Overlay 的实现基础。常见封装方式包括 VXLAN、GENEVE、GRE、IPsec 以及云厂商提供的专线或 VPN 封装。以 VXLAN 为例,原始以太网帧被封装进 UDP 报文,外层使用 Underlay 的源和目的 IP 地址,UDP 目的端口通常为 4789,VXLAN 头部中包含 24 位的 VNI,用于标识不同的逻辑网络。这样,即使两个云环境的业务网段都是 10.0.0.0/24,只要它们被分配到不同的 VNI,就可以在同一套 Underlay 上彼此隔离、互不干扰。封装后的报文在 Underlay 中只表现为普通的 IP/UDP 流量,底层设备不需要理解 VNI 或原始业务地址,从而实现了“底层简单、上层灵活”的分工。

Underlay 与 Overlay 分层关系及隧道封装 Underlay 底层承载网络 云A 物理/虚拟网络 VPC-A 10.1.0.0/16 云专线 / VPN 网关 IP 可达 · 带宽 · 时延 云B 物理/虚拟网络 VPC-B 10.2.0.0/16 VTEP-A VTEP-B Overlay 逻辑网络 逻辑子网 A VNI 100 · 10.0.0.0/24 Overlay 控制平面 路由分发 · 策略下发 逻辑子网 B VNI 200 · 10.0.0.0/24 隧道封装报文结构(以 VXLAN 为例) 外层 IP 头 UDP 头 VXLAN 头 原始以太帧 VNI 标识 隧道端点之间建立逻辑通道 控制平面 路由计算 策略决策 拓扑学习 数据平面 封装/解封装 转发查表 策略执行 控制平面下发转发表项 → 数据平面执行

控制平面与数据平面的分离,是 Overlay 能够适应多云环境的关键设计。控制平面负责“决定怎么走”:它通过路由协议、控制器或云厂商 API 学习各站点的地址前缀、下一跳和策略,计算出转发表项,并把这些表项下发到各隧道端点。数据平面负责“实际怎么转”:它只根据已经下发的表项执行封装、解封装和转发,不参与路由决策。这种分离带来两个直接好处。第一,转发性能可以独立优化,数据平面可以用硬件或内核加速,不必为复杂路由计算付出代价。第二,网络策略可以集中控制,控制平面可以根据业务意图统一编排跨云路由,而不需要在每台设备上手工维护静态路由。

在多云互联场景中,Overlay 的核心作用可以归纳为三点。第一,屏蔽底层差异。不同云厂商的 VPC 实现、网关类型、路由表模型各不相同,Overlay 用统一的隧道封装和逻辑地址空间把这些差异封装在底层,上层业务只需要面对一致的逻辑网络。第二,解决地址重叠。多云环境经常出现多个 VPC 使用相同私网网段的情况,Overlay 通过 VNI 或类似标识把相同地址映射到不同逻辑网络,再通过 NAT 或路由策略实现受控互通。第三,提供端到端策略与可观测性。Overlay 的隧道端点天然是策略执行点和流量观测点,可以在封装前后分别采集流量、应用安全组或网络策略,从而在多云之间形成统一的策略边界。

下面以一个典型的多云互联场景为例,说明 Overlay 的实际工作过程。假设云 A 的 VPC 网段为 10.1.0.0/16,云 B 的 VPC 网段为 10.2.0.0/16,自建数据中心网段为 10.3.0.0/16。三地之间通过云专线和 VPN 建立 Underlay 可达性,云 A 的隧道端点为 192.168.1.10,云 B 的隧道端点为 192.168.2.10,数据中心的隧道端点为 192.168.3.10。控制平面在三个隧道端点之间分发 10.1.0.0/16、10.2.0.0/16 和 10.3.0.0/16 的路由,并为每个业务租户分配独立的 VNI。当云 A 中 10.1.1.5 需要访问云 B 中 10.2.1.8 时,云 A 的隧道端点根据控制平面下发的表项,把原始报文封装为外层源 192.168.1.10、外层目的 192.168.2.10 的 VXLAN 报文,通过 Underlay 发送到云 B 的隧道端点。云 B 的隧道端点解封装后,根据 VNI 和原始目的地址把报文转发到 10.2.1.8。整个过程对两端主机透明,主机只看到自己的默认网关,不需要知道跨云隧道的存在。

在实际部署中,有几个参数和判断点需要特别关注。VNI 的规划必须全局唯一,避免不同租户或不同业务复用同一个 VNI 导致逻辑网络串扰。隧道端点的 Underlay 地址必须可达,且 MTU 需要预留封装开销,例如 VXLAN 通常增加 50 字节,如果 Underlay MTU 为 1500,则 Overlay 内主机 MTU 建议设置为 1450 或更低,否则会出现大包分片或丢弃。控制平面的路由收敛时间直接影响跨云故障切换速度,需要根据业务 SLA 选择合适的心跳间隔和路由协议参数。数据平面的封装模式也要与底层能力匹配,例如云专线通常支持标准 VXLAN,而某些云环境可能要求使用 IPsec 或云厂商私有封装。

判断 Overlay 是否正常工作的基本方法:在两端主机上互相 ping 业务地址,观察是否可达;在隧道端点上查看 VNI 对应的转发表项是否存在;抓取 Underlay 接口流量,确认封装后的外层 IP 和 UDP 端口是否正确;检查 MTU 设置,用大包 ping 验证是否存在分片或丢包。如果业务地址可达但大包不通,优先排查 MTU 和封装开销。

需要强调的是,Overlay 并不是要取代 Underlay,而是与 Underlay 协同工作。Underlay 的质量决定了 Overlay 的上限:底层链路抖动、带宽不足或路由震荡,都会直接反映为 Overlay 的时延升高和丢包。因此,在多云网络设计中,合理的做法是先保证 Underlay 的稳定性和可观测性,再在其上构建 Overlay 逻辑网络,并通过控制平面统一编排路由和策略。这样既能利用云厂商底层网络的高可用能力,又能获得跨云一致的逻辑网络体验。

从定位上看,Overlay 在多云互联中扮演的是“逻辑粘合层”的角色。它把分散在不同云、不同地域、不同管理域的网络资源抽象成一张统一的逻辑网络,让业务系统可以像在同一个数据中心内一样规划地址、部署策略和观测流量。理解 Underlay 与 Overlay 的分层关系、隧道封装的基本原理以及控制平面与数据平面的分离机制,是后续学习多云路由架构、跨云策略编排和故障排查的基础。