text: 漫谈拥塞控制: pacing rate
  基于综合效能结合排队论解释过 pacing 发送的益处：为什么 pacing？但该解释仍没有揭露 pacing 的本质。pacing 的本质是出让时间槽。出让时间槽无法降低整体等待时延，但可降低甚至消除抖动，即在任意短的采样周期内保持等待时延收敛到固定值。参考 交换式以太网的诞生，从总线以太网引出出让时间槽。和总线以太网类比是因为 CSMA/CD 是统计复用仲裁机制典范。总线以太网限制最大帧长 1500B，原因在于避免一个帧过久占据线路，试想一列火车穿过平交道路的场景。过长的帧将造成大量冲突，进而引入大量退避时间而浪费发送能耗。CSMA/CD 的方式是切分数据为 packet，冲突后随机退避出让时间槽，获得一个统计稳态。交换式以太网的统计复用方式和 CSMA/CD 总线以太网是同一回事。总线以太网的冲突表现为交换以太网中的排队，而退避时延表现为排队时延，如果交换机 buffer 有限而 buffer overflow，则可能会引入重传时延，也可归入退避时延的等效时延。既然都一回事，那么总线以太网中出让时间槽在交换式网络中即表现为 pacing 发送，所谓 pacing 就是在发送两个连续的 packet 之间插入一段时间。 而 burst 在总线以太网中则表现为连续发送帧或发送一个超长帧，这是要避免的。但总线以太网随机退避中的 “随机” 这个修饰最有趣。随机是分布式控制达到稳态的最有效手段，所谓遇事不决就随机。但对于交换式网络，交换机利用 buffer 集中冲突仲裁取代主机分布式仲裁，这赋予主机对时间槽的可测量特征，主机可通过测量 packet 的传输速率而获得交换机对 packet 的仲裁细节。sender 就按照测量速率导出的时间槽间隔 pacing 发送，即可最小化 buffer 占用，这是所有 rate-based cc 的基础，自带 anti-bufferbloat 属性。bbr 在此基础上携带一个动态带宽自适应机制而已。话虽如此，但很多人依然觉得 burst 好，因为当他使用 pacing 的时候，吞吐确实下降了，这属实你没测量好，而不是 pacing 的锅，说到底还是算法不行。以上就是关于 pacing 的一个随笔，数学论证就不写了，可参考李永乐的这个视频，挺有意思：葫芦娃救爷爷为啥一个一个上，pacing vs burst 背后也是一个类似的概率统计问题，设 n 为 burst 率，求证 n = 1 时通过率最高。浙江温州皮鞋湿，下雨进水不会胖。