Skip to content

路线图

本教程分 6 个部分。加粗的是已经写完、实验可跑的部分,其余按这个顺序推进。

第 0 部分 · 起步

理解 OVS 是什么、由哪几个进程组成,并把实验环境搭起来。

第 1 部分 · 基础

把交换机的基本功搞扎实,并第一次看见慢路径和快路径。

  • 实验 1:第一个网桥 —— add-br / add-port,MAC 学习,快路径缓存的实证
  • 实验 2:OVSDB 数据模型 —— Open_vSwitch / Bridge / Port / Interface 四张表的关系
  • 实验 3:端口类型 —— internal、patch、veth 各自该用在哪
  • 实验 4:慢路径与快路径 —— upcall 的完整链路,megaflow 是怎么生成的

第 2 部分 · OpenFlow

从"配置交换机"转向"给交换机编程"。这是 OVS 和传统网桥的分水岭。

  • 实验 5:流表模型 —— 匹配、动作、优先级、table
  • 实验 6:ovs-ofctl 实战 —— 用流表手写二层转发,替掉 NORMAL
  • 实验 7:多级流表 —— resubmit 与 goto_table 组成的 pipeline
  • 实验 8:ofproto/trace —— 排错最重要的一个命令,值得单独一章

第 3 部分 · 二层进阶

  • 实验 9:VLAN —— access 与 trunk,tag / trunks 配置
  • 实验 10:用流表手写 VLAN —— push_vlan / pop_vlan,看清 tag 是怎么加上去的
  • 实验 11:链路聚合 —— bond 与 LACP
  • 实验 12:端口镜像与流量采样 —— mirror、sFlow、NetFlow

第 4 部分 · Overlay 网络

  • 实验 13:隧道原理 —— VXLAN / GRE / Geneve 的封装格式与取舍
  • 实验 14:两台 OVS 之间打通 VXLAN
  • 实验 15:多租户 —— 用 VNI 做租户隔离

第 5 部分 · 高级特性

  • 实验 16:连接跟踪 —— ct 动作与有状态 ACL
  • 实验 17:QoS 与 Meter —— 队列、限速
  • 实验 18:外部控制器 —— OpenFlow 控制器接管流表
  • 实验 19:用户态 datapath —— netdev 模式与 DPDK 简介
  • OVN 是什么 —— 点到为止,说清它和 OVS 的关系

第 6 部分 · 排错与实践

  • 四层排错方法论 —— ovs-vsctl → ofproto/trace → ovs-dpctl → tcpdump 该按什么顺序用
  • 常见坑合集
  • 性能观测与调优入口