在云网络中,underlay要访问overlay,有哪几种方式

74 阅读5分钟

这是一个非常典型的 云网络架构问题,考察你对 Underlay 与 Overlay 网络解耦、通信机制、虚拟化网络模型 的理解。

我们来系统性地拆解:


✅ 一、简明结论(面试可用)

在云网络中,物理主机(Underlay)访问 VM(Overlay) 的核心挑战是:
如何跨越“物理网络”与“虚拟网络”的边界

主要有 4 种方式

  1. 通过集中式网关(L3 Gateway)
  2. 通过分布式网关(Distributed Logical Router)
  3. 通过服务链(Service Insertion)或负载均衡器
  4. 直接路由打通(Underlay 与 Overlay 路由互通)

所有方式的本质都是:将 Overlay 中的 VM IP 映射到 Underlay 可达的路径上


✅ 二、背景说明

角色网络位置IP 范围
物理主机Underlay192.168.1.0/24(物理网络)
VMOverlay(如 VXLAN)10.0.0.0/24(租户网络)
  • VM 之间通过 VXLAN/Geneve 封装通信
  • 物理主机无法直接看到 VM 的 10.0.0.x IP
  • 需要 网关或路由机制 实现互通

✅ 三、四种主要方式详解

🔹 方式 1:通过集中式网关(Centralized L3 Gateway)

📌 架构

深色版本
物理主机 (192.168.1.10)
        ↓
[ 核心交换机 / 边缘路由器 ][ 集中式网关(L3 Gateway)]
        ↓ (VXLAN 封装)
[ 宿主机 ][ VM (10.0.0.50) ]

✅ 实现机制

  • 在 网络边缘设备(如 Top-of-Rack 交换机、防火墙、路由器)上配置:

    • VXLAN VTEP
    • L3 接口10.0.0.1/24(作为 VM 的默认网关)
  • 物理主机配置静态路由:

    Bash
    深色版本
    ip route add 10.0.0.0/24 via 192.168.1.1  # 指向网关
    
  • 网关收到 10.0.0.50 的包后,封装成 VXLAN 发送到 VM 所在宿主机

✅ 优点

  • 架构清晰,易于管理
  • 安全策略集中(可集成防火墙)

❌ 缺点

  • 流量绕行,延迟高(Hairpin 转发)
  • 网关成为瓶颈

🌐 典型场景

  • 传统数据中心
  • Cisco ACI、VMware NSX-V

🔹 方式 2:通过分布式网关(Distributed Logical Router, DLR)

📌 架构

深色版本
物理主机 (192.168.1.10)
        ↓
[ TOR 交换机 ][ 宿主机 A (192.168.1.20) ] ← 同一宿主机或直连
        ↓ (本地路由)
[ VM (10.0.0.50) ]

✅ 实现机制

  • 每个宿主机上运行一个“分布式逻辑路由器”实例(如 Open vSwitch、NSX DLR)

  • 路由器实例拥有:

    • 上行接口:连接 Underlay(192.168.1.20
    • 下行接口:连接 Overlay(10.0.0.1/24
  • 物理主机配置路由:

    Bash
    深色版本
    ip route add 10.0.0.0/24 via 192.168.1.20
    
  • 当包到达宿主机,本地路由器实例直接路由到 VM,无需 VXLAN 封装(同宿主机)或仅跨宿主机时封装

✅ 优点

  • 东西向流量本地转发,性能好
  • 无单点瓶颈
  • 支持 ECMP

❌ 缺点

  • 控制面复杂(需要控制器同步路由)

🌐 典型场景

  • VMware NSX-T
  • OpenStack + OVN
  • 阿里云 VPC(自研分布式网关)

🔹 方式 3:通过服务链或负载均衡器(Service Insertion)

📌 架构

深色版本
物理主机 → [ 7层负载均衡 / API 网关 / Ingress Controller ][ 后端 VM ]

✅ 实现机制

  • 物理主机不直接访问 VM IP
  • 而是访问一个 代理服务(如 Nginx、Envoy、ALB)
  • 该代理部署在 Underlay 可达的位置,但后端指向 Overlay 中的 VM
  • 代理收到请求后,通过 VXLAN 封装转发给 VM

✅ 优点

  • 安全(VM 不暴露)
  • 可做认证、限流、日志

❌ 缺点

  • 增加延迟
  • 仅适用于应用层访问

🌐 典型场景

  • Kubernetes Ingress
  • AWS ALB → EC2
  • 微服务网关

🔹 方式 4:Underlay 与 Overlay 路由打通(BGP 路由宣告)

📌 架构

深色版本
物理主机 (192.168.1.10)
        ↓
[ TOR 交换机(运行 BGP)][ 宿主机(运行 BGP Speaker,如 BIRD)][ VM (10.0.0.50) ]

✅ 实现机制

  • 宿主机上的 BGP 客户端(如 BIRDFRR)向 TOR 交换机宣告:

    Text
    深色版本
    Network: 10.0.0.0/24, Next-hop: 192.168.1.20
    
  • TOR 交换机学习到路由,广播给整个 Underlay

  • 物理主机自动可达 10.0.0.0/24(无需静态路由)

✅ 优点

  • 完全自动化
  • 支持大规模扩展
  • 适合裸金属接入 VPC

❌ 缺点

  • 需要交换机支持 BGP
  • 路由表膨胀风险

🌐 典型场景

  • MetalLB(K8s 裸金属 LB)
  • Calico BGP 模式
  • 阿里云、AWS 的本地网关(Local Gateway)

✅ 四、总结对比表

方式是否需要 VXLAN 封装性能管理复杂度典型场景
集中式网关是(跨子网)一般传统 DC
分布式网关否(本地)/是(跨宿主)⭐ 高云平台
服务链代理微服务
BGP 路由打通否(Underlay 直达)⭐ 高裸金属接入

✅ 五、关键技术点

1. VXLAN 封装由谁完成?

  • 如果是跨宿主机通信:源宿主机的 VTEP(内核/OVS)
  • 如果是本地通信:不需要封装,直接二层转发

2. ARP 如何解析?

  • 分布式网关:网关代理 ARP 响应
  • 集中式网关:网关响应 ARP

3. 安全考虑

  • 通常配合 安全组(Security Group)  或 微隔离 控制访问

✅ 六、面试回答模板

“在云网络中,物理主机访问 Overlay 中的 VM,主要有四种方式:

  1. 集中式网关:流量经外部设备封装 VXLAN,简单但有绕行;
  2. 分布式网关:每个宿主机本地路由,性能最好,现代云平台主流;
  3. 服务链代理:通过 LB/网关间接访问,适合应用层;
  4. BGP 路由打通:自动宣告 VM 网段,适合大规模裸金属接入。

核心思想是:让 Underlay 网络知道 Overlay 网络的可达性,封装通常由宿主机完成。”


✅ 七、总结

问题回答
物理机如何访问 VM?通过网关、代理或路由打通
VXLAN 谁封装?宿主机(VTEP)
哪种方式最快?分布式网关(本地转发)
云厂商用哪种?分布式网关 + BGP(如阿里云、AWS)

掌握这四种模式,说明你对 云网络的控制面与数据面协同 有深刻理解,是云架构师的核心能力。