网络虚拟化与 SDN
虚拟交换机(vSwitch)
CAS 使用 OVS(Open vSwitch)作为虚拟交换机,连接 VM 与物理网络:
VM1 VM2 VM3
| | |
└────┴────┘
|
OVS(虚拟交换机)
|
物理网卡(上行链路)
|
物理交换机OVS 基本操作
bash
# 查看 OVS 网桥
ovs-vsctl show
# 查看流表
ovs-ofctl dump-flows br-int
# 添加端口
ovs-vsctl add-port br-int vnet0
# 查看端口统计
ovs-ofctl dump-ports br-intVxLAN Overlay 网络
VxLAN(Virtual Extensible LAN)是 CAS 网络虚拟化的核心技术:
VM(192.168.1.10)
↓ 原始以太网帧
OVS(VxLAN 封装)
↓ UDP 封装(目标端口 4789)
↓ 外层 IP 头(物理网络 IP)
物理网络传输
↓
目标宿主机 OVS(VxLAN 解封装)
↓ 原始以太网帧
目标 VM(192.168.1.20)VxLAN 关键参数
| 参数 | 说明 |
|---|---|
| VNI(VxLAN Network Identifier) | 24 位,支持 1600 万个虚拟网络 |
| VTEP(VxLAN Tunnel Endpoint) | 封装/解封装 VxLAN 的节点(宿主机) |
| UDP 端口 | 4789(IANA 标准) |
| MTU | 物理网络 MTU 需 ≥ 1600(VxLAN 头部 50 字节) |
H3C SDN 控制器集成
架构
CloudOS / CAS 管理平台
↓ REST API(网络编排请求)
H3C SDN 控制器(iMC/VCF)
↓ OpenFlow 1.3 / NETCONF
OVS(软件 VTEP)+ H3C 物理交换机(硬件 VTEP)硬件 VTEP 优势
传统纯软件 VxLAN 的封装/解封装由宿主机 CPU 完成,消耗计算资源。H3C 支持硬件 VTEP(在物理交换机上完成 VxLAN 处理):
纯软件方案:
VM → OVS(CPU 封装)→ 物理交换机(透传)→ OVS(CPU 解封装)→ VM
硬件 VTEP 方案:
VM → OVS(透传)→ H3C 交换机(硬件封装)→ H3C 交换机(硬件解封装)→ VM
优势:宿主机 CPU 开销降低 30-50%,网络延迟更低分布式虚拟路由(DVR)
DVR(Distributed Virtual Router)将路由功能分散到每台计算节点,避免网络节点成为瓶颈:
传统集中式路由:
VM → 计算节点 → 网络节点(路由)→ 外部网络
问题:网络节点是单点,流量瓶颈
DVR 分布式路由:
VM → 计算节点(本地路由)→ 外部网络
优势:每台计算节点独立路由,横向扩展网络策略
QoS(服务质量)
bash
# 为 VM 网卡设置带宽限制
# 限制 VM 出方向带宽为 100Mbps
ovs-vsctl set Interface vnet0 \
ingress_policing_rate=102400 \
ingress_policing_burst=10240
# 通过 Neutron API 设置 QoS
openstack network qos policy create bw-limit-policy
openstack network qos rule create bw-limit-policy \
--type bandwidth-limit \
--max-kbps 102400 \
--max-burst-kbits 10240 \
--egress安全组实现原理
VM 发出数据包
↓
OVS 流表匹配安全组规则
↓
允许:转发到目标
拒绝:DROP(不发送 ICMP 拒绝,防止信息泄露)安全组规则存储在 OVS 流表中,规则变更实时生效(< 1 秒)。
网络故障排查
bash
# 1. 检查 VM 网卡是否连接到 OVS
virsh domiflist <vm-name>
ovs-vsctl show | grep <tap-interface>
# 2. 检查 OVS 流表是否有对应规则
ovs-ofctl dump-flows br-int | grep <vm-mac>
# 3. 检查 VxLAN 隧道状态
ovs-vsctl show | grep -A5 "type: vxlan"
# 4. 抓包分析
# 在宿主机上抓 VM 的流量
tcpdump -i <tap-interface> -n
# 抓 VxLAN 封装后的流量
tcpdump -i eth0 -n udp port 4789
# 5. 检查物理网络连通性
ping <对端宿主机IP>