多路复用与队头阻塞:传输层设计的关键权衡

多路复用与队头阻塞:传输层设计的关键权衡

多路复用让多个请求共享一条连接,省掉了重复的握手开销,但也让一个包的丢失影响到了所有请求——这就是队头阻塞。

队头阻塞从哪来

在严格按序交付的传输层上,前面的包没到,后面的数据即使已经到达也无法交给上层,只能等待重传。

折中方案一:按流独立交付

把不同请求映射到独立的流,单个流内的顺序仍然保证,但流之间互不影响。这是现代协议的主流做法。

折中方案二:有限乱序交付

对实时性极高的小包允许有限乱序,牺牲严格顺序换取更低的等待延迟,适合音视频与控制信令。

要点速览

  • 多路复用省握手,但引入队头阻塞
  • 按流独立交付是主流解法
  • 实时小包可允许有限乱序以降低等待
想直接体验文中提到的能力?

下载客户端,全平台支持,新用户可享免费体验时长。

立即下载