章节摘要:报文在两端之间流动,这一章把两端各自拆开:控制器的内部分层与南北向职责、交换机的软件与硬件实现谱系、以及拓扑发现如何靠 LLDP 报文织出全局视图。读完你能评估一款控制器是否适合你的场景,看懂交换机"宣称支持 OpenFlow 1.3"背后的能力差异,并理解链路发现的确切报文机制。
阅读完本章,你应当能够:
一句金句:控制器卖的是全局视图,交换机卖的是转发确定性——理解了各自的"卖点",选型就有了坐标系。
从消息循环到北向 API 的分层结构,主流实现对比与集群化。
软件与硬件两条实现路线,能力协商为什么必须逐台核对。
控制器怎么用 Packet-Out 注入 LLDP、用 Packet-In 收集答案。
3.1 与 3.2 是解剖台两侧的静态结构,3.3 是两侧协作的第一个非平凡案例——链路发现完全用已学的消息机制搭建。
3.1 控制器(大脑)◄── LLDP 问答 ──► 3.2 交换机(肌肉) └──── 3.3 拓扑发现把两者串成网络 ────┘
本章把镜头从协议拉到角色内部,可检验的点包括:能否画出控制器的四层结构并说明一次 Packet-In 事件逐层穿过它们的路径;能否比较 Ryu、OpenDaylight、ONOS 三者的适用场景并给出选型理由;能否解释 Master/Slave/Equal 三种角色的语义与脑裂风险的来源;能否描述 OpenFlow 交换机的三段式结构,以及 ovs-ofctl dump-flows 与 ovs-dpctl dump-flows 各自看到的是什么;能否复述 TCAM 的三条硬约束(宽度、容量、指令模式)对规则设计的具体影响;能否完整讲出 LLDP 拓扑发现的闭环(注入、上送、拼图)并解释为什么组播 MAC 的"不转发"特性是关键。
本章与第 2 章的关系是"词汇表到造句":第 2 章给的消息与字段,在本章被组织成角色的内部结构。3.3 的 LLDP 拼图直接被 5.3 的路由应用复用;3.2 的能力协商在 4.5 的扩展通道里再次登场。前置要求是第 1 章的实验台可正常复现,因为本章多个验证步骤直接跑在它上面。
再强调一次本章的方法论位置:第 2 章教你读报文,本章教你读系统——控制器与交换机各自的内部结构,决定了同样的报文在不同实现上有不同的行为边界。读完本章回头看第 2 章的任何一个字段,应当能多回答一句"这个字段谁产生、谁消费、在两边的哪一层被处理"。这种双向对照的读法,是从"认识协议"到"运维协议"的分水岭,也是第 5 章部署设计与第 6 章安全加固反复调用的底层能力。
本章动手素材集中在三处:3.1 的 Ryu 骨架可直接扩展成自己的实验应用;3.2 的两套 dump-flows 对照是 OVS 排障的常用组合键;3.3 的 LLDP 抓包建议至少完整拆解一次字段树。