主题
本教程怎么用
写给谁
假设你:
- 能在 Linux 命令行里干活,
ip addr、ping、tcpdump不陌生 - 知道 MAC 地址、IP 网段、VLAN 大概是什么
- 没有用过 Open vSwitch,或者用过但一直是照抄命令,没搞懂背后发生了什么
不假设你懂 SDN、OpenFlow、OpenStack。这些会在需要的时候从零讲。
学完能做到什么
- 看懂一台 OVS 交换机的配置,知道每个字段在数据库的哪张表里
- 用 OpenFlow 流表实现转发策略,而不只是靠
NORMAL让它自己学 - 在两台机器之间用 VXLAN 打通一个 Overlay 网络
- 遇到"包不通"时,有一套确定的排查顺序,而不是重启大法
每一章长什么样
固定的六段节奏,读起来会有肌肉记忆:
text
① 场景 一句话说清这章要解决什么问题
② 拓扑 图 + 起环境的命令,让你有个能敲命令的现场
③ 动手 你自己敲,每一步都告诉你"敲完应该看到什么"
④ 观察 用 ovs-vsctl / ofctl / dpctl / appctl 把内部状态挖出来看
⑤ 原理 回头解释刚才那些输出为什么是那样
⑥ 检查 ./verify.sh 自动核对,附一份自测清单顺序是刻意的:先让它跑起来,再解释为什么。反过来讲概念,你会记不住。
实验目录的四个脚本
每个实验目录都是同一套接口,学一次就够:
| 脚本 | 干什么 |
|---|---|
./start.sh | 把拓扑拉起来,配好主机地址。交换机上是空白的 —— 那是你要做的部分 |
./solve.sh | 参考答案。卡住了或者想对答案就跑它 |
./verify.sh | 检查本章目标是否达成,顺带把关键状态打印出来 |
./stop.sh | 拆掉环境。玩坏了随时重来 |
start.sh 故意不替你配交换机。整个教程的价值就在那几行 ovs-vsctl 和 ovs-ofctl 是你自己敲的。
建议的读法
别只看,一定要跑
本教程里大量内容是"观察输出"。MAC 地址表里为什么是这三条、datapath 缓存里为什么 packets:4 而不是 5 —— 这些只有在自己的环境里看到实际数字,才会真的留下印象。
- 第一遍:按顺序读,每章都跑一遍实验,
verify.sh全绿再往下走 - 卡住了:先看该章末尾的"常见问题",再看排错方法论
- 当手册用:装完实验环境以后,直接跳到需要的章节
下一步
如果你想先弄明白"为什么不用 Linux bridge 就好",从为什么需要虚拟交换机开始。
如果你更想先有个能敲命令的环境,直接去搭建实验环境。