华为云Stack网络节点拆解:BR、vRouter、ENAT这些网元虚拟机到底在忙什么?

华为云Stack网络架构VXLAN网络流量
于 2026-05-30 12:14:04 修改
·本内容遵循CC 4.0 BY-SA版权协议

华为云Stack网络节点深度解析:从流量视角看BR、vRouter与ENAT的协同机制

在云计算的网络架构中,华为云Stack以其高度模块化和分布式的设计脱颖而出。对于云平台架构师和网络设计者而言,理解这些网络节点内部如何协同工作,是优化整体网络性能的关键。本文将深入剖析BR(Border Router)、vRouter和ENAT(Elastic NAT)三大核心网元虚拟机的工作原理,以及它们在不同流量场景下的具体行为。

1. 华为云Stack网络架构概览

华为云Stack采用Spine-Leaf网络架构与VXLAN技术相结合的设计,构建了一个灵活、可扩展的云网络基础。在这个架构中,网络节点承担着流量转发、地址转换和策略实施等关键功能。

核心网元虚拟机及其定位

网元名称 全称 主要职责 部署位置
BR Border Router 外部网络边界路由、带宽控制 网络节点
vRouter Virtual Router VPC间路由、对等连接 网络节点
ENAT Elastic NAT 弹性IP地址转换 网络节点

提示:在实际部署中,vRouter和ENAT通常会被部署在同一台虚拟机上,以优化内部通信效率。

网络节点通过多个物理网口(eth0-eth3)和逻辑接口(trunk0等)连接不同平面:

  • eth0:管理面流量
  • eth1:vRouter流量(包括Tunnel_bearing平面和公共服务区访问)
  • eth2:基础云专线流量
  • eth3:ENAT网元流量

2. BR网元:云网络的边界守卫者

作为连接内部网络与外部世界的网关,BR网元承担着多项关键功能。从流量视角看,BR的工作可以分为数据平面和控制平面两个维度。

BR的核心处理流程

  1. 流量接收:通过Inter_Connect网段接收来自外部网络的流量
  2. 路由决策:基于路由表确定下一跳(可能是ENAT、NETGW或其他内部网关)
  3. 策略实施
    • 带宽限制(QoS策略)
    • 安全策略检查
  4. 流量转发:将处理后的流量发送到目标网元
BASH
# 示例:查看BR网元上的流表规则(简化版)
ovs-appctl dpctl/dump-flows system@ovs-system | grep "BR特定匹配规则"

在典型的EIP(弹性IP)访问场景中,BR与ENAT的协同工作流程:

  1. 外部流量到达BR的eth1接口
  2. BR识别目标EIP并查询映射关系
  3. 流量被转发到对应的ENAT实例
  4. ENAT完成地址转换后,通过内部网络将流量送达目标虚拟机

3. vRouter:VPC间流量的智能调度中心

vRouter是华为云Stack中实现VPC网络隔离与互联的核心组件。与传统的物理路由器不同,vRouter通过软件定义的方式提供灵活的路由功能。

vRouter的三大核心能力

  • VPC路由:为每个VPC维护独立的路由表
  • 对等连接:实现不同VPC之间的可控互通
  • 路由优化:基于SDN控制器下发的流表实现最优路径选择

典型流量处理案例:跨VPC访问

当VM1(VPC-A)需要访问VM2(VPC-B)时:

  1. VM1发出的流量到达源vRouter
  2. vRouter检查目标IP属于对等连接的VPC-B
  3. 流量被封装为VXLAN隧道报文(携带VNI标识)
  4. 通过Underlay网络传输到目标vRouter
  5. 目标vRouter解封装并将流量转发到VM2
BASH
# 对等连接流表示例(简化)
tunnel(tun_id=0x49397,src=192.168.32.12,dst=10.72.10.3,flags(-df-csum+key)),
recirc_id(0),in_port(12),packet_type(ns=0,id=0),
eth_type(0x0800),ipv4(dst=11.0.0.61/255.255.255.0,frag=no),
actions:ext_action(route,table_index=2;vrf=3;resubmit=yes)

注意:vRouter在处理跨VPC流量时,会严格检查双方VPC的安全组规则,确保只有明确允许的通信才能通过。

4. ENAT:弹性IP的转换引擎

ENAT网元负责弹性IP(EIP)与私有IP之间的转换工作,是云平台实现公网访问的关键组件。与传统的NAT设备相比,ENAT具有更高的弹性和可扩展性。

ENAT的核心转换机制

  1. SNAT(源地址转换)

    • 当内部VM访问公网时,将私有IP转换为EIP
    • 维护连接跟踪(conntrack)确保回包正确路由
  2. DNAT(目的地址转换)

    • 当公网访问EIP时,将目标IP转换为VM的私有IP
    • 可配置端口映射规则(PAT)

ENAT的高可用设计

  • 主备部署:通过VRRP协议实现故障自动切换
  • 会话同步:主备节点间实时同步NAT会话状态
  • 分布式架构:支持水平扩展以应对大流量场景
BASH
# ENAT处理后的流表示例(东西向流量)
tunnel(tun_id=0x493e0,src=10.72.10.2,dst=10.72.10.4,flags(-df-csum+key)),
recirc_id(0),in_port(12),packet_type(ns=0,id=0),
eth(src=fa:16:3e:3d:31:10,dst=fa:16:3e:79:79:1e),
eth_type(0x0800),ipv4(dst=192.168.51.104,tos=0/0x3,ttl=62,frag=no),
actions:set(eth(src=fa:16:40:02:00:00,dst=fa:16:3e:60:30:43)),
set(ipv4(dst=12.0.0.214,ttl=61)),...

5. 典型流量路径分析

理解华为云Stack网络服务的关键在于掌握不同场景下的具体流量走向。下面我们分析两种典型场景。

5.1 EIP南北向流量

公网访问云主机场景

  1. 公网用户发起请求到EIP(如12.0.0.214)
  2. 流量到达BR网元,识别目标EIP
  3. BR将流量转发到对应的ENAT实例
  4. ENAT执行DNAT,将目标IP转换为VM的私有IP(如192.168.0.100)
  5. 通过内部网络将流量路由到目标VM

关键数据转换

阶段 源IP 目标IP 处理网元
初始 用户IP 12.0.0.214 (EIP) -
经过BR 用户IP 12.0.0.214 BR
经过ENAT 用户IP 192.168.0.100 ENAT
到达VM 用户IP 192.168.0.100 -

5.2 VPC对等连接东西向流量

跨VPC访问场景

  1. VM1(VPC-A)发起对VM2(VPC-B)的请求
  2. 源vRouter检查目标IP属于对等连接的VPC-B
  3. 流量被封装为VXLAN报文(携带VNI=299905)
  4. 通过Underlay网络传输到目标vRouter
  5. 目标vRouter解封装并转发到VM2
BASH
# 对等连接的关键流表项
table_index=2 vrf=3 ip=11.0.0.61
vm_mac=FA:16:3E:E6:D2:1E
gw_mac=FA:16:40:01:00:01
local_ip=10.72.10.3
remote_ip=192.168.32.30
vni=299905

6. 性能优化与故障排查

在实际运维中,网络性能优化和问题排查是架构师的重要工作。以下是针对华为云Stack网络节点的实用技巧。

性能优化建议

  1. BR网元

    • 合理设置带宽限制策略
    • 监控出口流量峰值,适时扩容
  2. vRouter

    • 优化路由表规模
    • 对频繁通信的VPC对配置路由缓存
  3. ENAT

    • 根据EIP数量合理分配ENAT实例
    • 监控NAT端口使用率

常见故障排查命令

BASH
# 查看网元虚拟机的流表统计
ovs-appctl dpctl/dump-flows system@ovs-system
 
# 跟踪特定流量的处理路径
ovs-appctl ofproto/trace ovs-system "流量特征描述"
 
# 检查ENAT会话状态
ovs-appctl nat/show

注意:在进行任何流表修改前,务必在测试环境验证,避免影响生产流量。

华为云Stack的网络设计体现了软件定义网络的核心理念,通过BR、vRouter和ENAT等网元的分工协作,实现了灵活高效的云网络服务。掌握这些网元的工作原理和流量处理机制,将帮助架构师更好地设计和优化云平台网络架构。