第274篇:Overlay 网络中隧道终结与网关
关键词
Overlay 网关、隧道终结、VXLAN 网关、分布式网关、云网关、南北向流量、东西向流量、NAT 网关
一、隧道终结的概念
1.1 什么是隧道终结
隧道终结(Tunnel Termination)是指从 Overlay 封装中提取原始数据包的过程:
隧道终结理解:
| VXLAN 隧道 ┌─────┐ VXLAN 封装 ┌─────┐ └──┬──┘ └──┬──┘ ┌──┴──┐ ┌──┴──┐ | VTEP 封裝 VM 內層 IP | ────────────────► 原始帧→VXLAN→IP | VTEP 解封裝 VM 內層 IP | |
|---|---|---|---|---|
隧道终结完成三件事: 1. 剥离 Outer MAC/IP/UDP/VXLAN 头 2. 提取原始二层帧 3. 根据原始帧的目标 MAC 查找转发
隧道端点的位置决定了网络架构: VTEP 在 Leaf 上 → 网络 VTEP(硬件加速) VTEP 在服务器上 → 服务器 VTEP(软件/智能网卡) VTEP 在网关设备 → 集中式网关
1.2 隧道终结的场景
场景 1:VM-to-VM(东西向,跨主机)
┌─────┐ VXLAN ┌─────┐
│ VM1 ├─► VTEP1 ────► VTEP2 ├─► VM2
└─────┘ └─────┘
VTEP1 终结 VM1 的二层帧
VTEP2 终结 VXLAN 隧道 → 送给 VM2
场景 2:VM-to-External(南北向)
┌─────┐ VXLAN ┌────────┐
│ VM1 ├─► VTEP1 ────► GW(VTEP)├─► 外网
└─────┘ └───┬────┘
│
终结 VXLAN
路由到外网
场景 3:数据中心互联(跨 DC)
DC1: VM1 → VTEP_DC1 → VXLAN → WAN → VTEP_DC2 → VM2 :DC2
隧道终结在 DC 出口网关
WAN 上传输的是外层 IP 包
二、Overlay 网关类型
2.1 L2 网关(二层网关)
L2 网关——连接 Overlay 和物理二层网络:
功能:
将 VXLAN VNI 映射到物理 VLAN
实现 Overlay 到物理网络的桥接
┌──────────────────────────────────────────┐
│ Overlay 网络 物理网络 │
│ │
│ VNI 10001 ──── L2 GW ──── VLAN 100 │
│ VM MAC-X ──── ──── 物理服务器 │
│ VXLAN↔VLAN │
│ 转换 │
└──────────────────────────────────────────┘
工作原理:
从 Overlay 收到帧 → 剥离 VXLAN → 打 VLAN 标签 → 发到物理端口
从物理端口收到帧 → 剥离 VLAN → 打 VXLAN → 发到 Overlay
配置(华为 CE):
bridge-domain 10001
vxlan vni 10001
#
interface 100GE1/0/1
port link-type trunk
port trunk allow-pass vlan 100
bridge-domain 10001 # 绑定到 BD
2.2 L3 网关(三层网关)
L3 网关——连接 Overlay 和物理三层网络(路由):
功能: 终结 VXLAN 后做三层路由 Overlay 网络到物理网络的 IP 连通
Overlay 网络 L3 GW 物理网络 VNI 10001 192.168.1.0/24 ─── 路由 ─── 10.0.0.0/8 默认路由 0.0.0.0/0
工作原理: VM 发送到外网的包 → Leaf(VTEP) → VXLAN 到 L3 GW L3 GW 终结 VXLAN → 路由查找 → 从物理接口转发
两种实现: 集中式 L3 GW:专用设备(一对) 分布式 L3 GW:每 Leaf 都是 L3 GW
2.3 NAT 网关
NAT 网关——为 Overlay 网络中的 VM 提供公网访问:
功能: SNAT:VM 私有 IP → 公网 IP DNAT:公网 IP → VM 私有 IP
| Overlay 网络 NAT GW Internet 192.168.1.10 VM1 ────────── SNAT ────────── 203.0.113.5 ├── 203.0.113.6:80 → 192.168.1.11:80 | DNAT |
|---|---|
云中的 NAT 网关类型: 1. 公网 NAT——VM 直通公网 2. 私网 NAT——VPC 间 IP 转换(地址重叠时) 3. NAT64——IPv6 到 IPv4 转换
华为云 NAT 网关配置: # 创建 SNAT 规则 openstack floating ip create public-net openstack server add floating ip vm1 203.0.113.5
三、分布式网关 vs 集中式网关
3.1 在云网络中的选择
云网络中的网关选择:
┌──────────────────────────────┐
│ Spine │
│ 纯 IP 转发(无 VXLAN 终结) │
└────────┬─────────────┬───────┘
│ │
| Leaf1 (GW+VTEP) | Leaf2 (GW+VTEP) | |
|---|---|---|
| │ │ | ||
| VM1(租户A) | VM2(租户A) | |
| --- | --- | --- |
东西向流量(VM1 ↔ VM2): 分布式网关:Leaf1 → Spine → Leaf2(2 跳) 集中式网关:Leaf1 → Spine(GW) → Leaf2(2 跳但 Spine 做路由)
南北向流量(VM1 → 外网): 分布式网关:Leaf1 → Spine → 出口 Leaf → 外网(3 跳) 集中式网关:Leaf1 → Spine(GW) → 外网(2 跳)
云场景的选择: 大部分云厂商使用分布式网关(东西向为主) 出口方向设独立的出口网关
四、云网关高可用
4.1 网关冗余
云网关的高可用设计:
集中式网关:
Active-Active 模式:
┌──── GW1 (Active) ────┐ VRF + ECMP
┌──── GW2 (Active) ────┐ VRF + ECMP
Leaf 通过 ECMP 将流量分发到两个 GW
一个 GW 故障 → 流量自动到另一 GW
无状态网关(L3 GW): 故障切换只需要路由收敛 BFD 检测 → BGP 路由撤销 → ECMP 自动切换 切换时间 < 1s
有状态网关(NAT GW): NAT 会话表需要同步 主备模式(会话同步) 切换时间 < 100ms(含会话同步)
4.2 网关伸缩
云网关的水平伸缩:
横向扩展(Scale-Out):
初始:2 个 GW,每个 40Gbps
扩容:增加到 4 个 GW,每个 40Gbps
总吞吐从 80Gbps 到 160Gbps
伸缩方式: 1. 增加 GW 设备数量 2. Leaf 自动发现新 GW(通过 IGP/BGP) 3. ECMP 自动新增下一跳 4. 流量逐渐均衡
自动化:
云控制器(如华为 iMaster NCE) 监测 GW 负载 > 70% → 触发扩容 新 GW 上线 → 自动配置 BGP/VRF 流量自动分担 → 负载恢复到 < 50%
五、华为云网关方案
5.1 VGW(Virtual Gateway)
华为 CloudFabric 的虚拟网关方案:
华为 CloudEngine 交换机 VXLAN 分布式网关 每 Leaf 支持 1000+ VRF 每 VRF 支持 1000+ VNI 功能: - VXLAN 终结 - 三层路由(IPv4/IPv6) - 分布式 NAT - 安全组(流表实现) - QoS
特点: 硬件 VTEP(线速转发) VRF 隔离(租户级别隔离) EVPN 自动控制面 Telemetry 实时监控
5.2 出口网关设计
华为云出口网关设计:
| Egress GW1 Active 连接到 DC 出口路由器 | Egress GW2 Active 连接到 DC 出口路由器 | |
|---|---|---|
| │ │ | ||
| └────┬─────┬─────┘ | ||
| │ │ | ||
| Spine | Spine | |
| --- | --- | --- |
| │ │ | ||
| Leaf1 | Leaf2 | |
| --- | --- | --- |
流量路径: VM → Leaf(分布式 GW)→ Spine → Egress GW → 出口路由器 → Internet
每个 Egress GW 支持: 1000 万+ 并发连接 200Gbps+ 吞吐 NAT 会话同步 DDoS 防护
六、总结
| 知识点 | 核心要点 |
|---|---|
| 隧道终结 | 剥离 Overlay 头,提取原始帧,查找转发 |
| L2 网关 | VXLAN ↔ VLAN 桥接,连接物理二层 |
| L3 网关 | VXLAN 终结 + 三层路由,连接外部网络 |
| NAT 网关 | SNAT/DNAT,私有 IP ↔ 公网 IP |
| 分布式网关 | 每 Leaf 终结 VXLAN,东西向直连 |
| 集中式网关 | 专用网关设备终结,南北向汇聚 |
| 高可用 | Active-Active ECMP + 会话同步 |
| 伸缩 | Scale-Out 增加 GW 设备,自动负载分担 |
七、思考
- VXLAN 隧道终结需要执行哪几步操作?为什么说隧道终结的位置决定了网络架构?
- L2 网关和 L3 网关在功能上的区别是什么?在什么场景下需要同时使用两者?
- 云网络中分布式网关相比集中式网关对南北向和东西向流量有什么影响?
- 有状态网关(如 NAT)的高可用和无状态网关(如 L3 路由)的高可用有什么区别?为什么 NAT 需要会话同步?
- 出口网关在云网络中承担哪些功能?如果出口网关故障,如何保证不影响现有连接?
下篇预告:第275篇《Kubernetes 网络:CNI、Pod 网络与 Service》——K8s 网络的三大核心课题:Pod 间通信、Service 抽象与 Cluster IP、以及 CNI 插件机制。