CS 168 · LECTURE 23 · 2026-11-19 · 群体通信

覆盖网络、多播与超越客户端—服务器

客户端—服务器不是唯一通信形态:多播要把一个对象送给一组动态成员,overlay 则在端系统上构造逻辑拓扑。

版本快照:Fall 2026 官方课表与在线教材,核对日期 2026-09-02;官网仍标注 under construction,日期与政策可能变化。

  1. 互联网地基
  2. 路由
  3. 传输
  4. 应用与端到端
  5. 数据中心
  6. 群体通信
  7. 无线与移动

本章核心问题

向 N 个接收者发送同一数据时,复制发生在源、端系统还是路由器,成本和部署性如何变化?

1 · 源树与共享树

DVMRP 类 source-based tree 按源建立 reverse-path forwarding 状态,能接近源到成员的最短路,但状态接近每源每组。core-based tree 为组选择核心,成员向 core join,共享一棵树,状态更少但路径可能绕远。

树的正确性包含 membership、loop-free 与 pruning。组成员变化时,控制消息要及时恢复/裁剪分支,否则浪费带宽或漏送。

2 · RPF 的局部判断

路由器只在 multicast 包从“自己返回源的最短路接口”到达时转发,否则丢弃。Reverse Path Forwarding 用已有单播路由避免广播式重复环路,不需要包携带整棵树。

RPF 依赖单播路径与多播期望反向路径一致;非对称策略或变化会使调试复杂。

3 · overlay 的部署取舍

overlay 节点用普通 unicast 隧道连接,互联网路由器无需升级,部署容易;但同一物理链路可能承载多个重复副本,逻辑邻近也不等于物理邻近。

stretch 是 overlay 路径成本与底层最短路成本的比。优化树时还要考虑端节点上传容量、故障恢复和成员 churn。

4 · 从多播到协作通信

直播/软件分发常是一对多;分布式训练的 collective 更进一步,每个参与者既发送也接收,并按操作组合数据。Broadcast tree 的思路会进入 Reduce、AllGather 与 AllReduce,但负载均衡和同步要求更强。

下一讲会把“共享路径”转成可量化的轮数、每节点字节数和关键路径。

纠错:最容易带走的错误模型

闭卷推演

在同一五节点拓扑上画 source tree、core tree 和 overlay tree,计算一个源到三个成员的总链路字节与最慢到达时间。

检查:RPF 接受一个多播包的核心条件是?

机制工作台:before → event → after

Before / local state

sender 创建 overlay packet 或 multicast state

Event / after / output

sender 创建 overlay packet 或 multicast state;中间节点按 group/tree state 复制;receiver 只得到自己订阅的数据。

检查:判断一个实现分支是否必要,最有力的问题是什么?

Explain It Yourself

在一棵四叶树上标出每条链路的副本数。

自检方法

答案必须出现 packet/message、local state/table、触发 event、after state 与 output;只给定义不算完成。

一手资料

正文是 CourseStack 的中文解释与重新绘制的教学例子;官方页面负责课程原始定义,历史仓库只提供你的实现证据。