主题
路线图
本教程分 6 个部分。加粗的是已经写完、实验可跑的部分,其余按这个顺序推进。
第 0 部分 · 起步
理解 OVS 是什么、由哪几个进程组成,并把实验环境搭起来。
- 本教程怎么用
- 为什么需要虚拟交换机 —— 和 Linux bridge 逐项对比,说清 OVS 多出来的是什么
- OVS 的三个进程 —— ovsdb-server / ovs-vswitchd / 内核 datapath,以及一个包的完整旅程
- 搭建实验环境 —— netlab + containerlab + 容器化的 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 该按什么顺序用
- 常见坑合集
- 性能观测与调优入口