【发布时间】:2014-10-03 00:32:53
【问题描述】:
我无法理解 SPDY 如何解决 HOL 阻塞问题。
引用自:http://chimera.labs.oreilly.com/books/1230000000545/ch02.html#TCP_HOL
要理解为什么会这样,回想一下,每个 TCP 数据包在连接到网络时都带有一个唯一的序列号,并且数据必须按顺序传递给接收器(图 2-8)。如果其中一个数据包在发送到接收器的途中丢失,则所有后续数据包都必须保存在接收器的 TCP 缓冲区中,直到丢失的数据包被重新传输并到达接收器。因为这项工作是在 TCP 层内完成的,所以我们的应用程序无法看到 TCP 重传或排队的数据包缓冲区,并且必须等待完整序列才能访问数据。相反,它只是在尝试从套接字读取数据时看到了传递延迟。这种影响称为 TCP 线头 (HOL) 阻塞。
因此存在 HOL 阻塞是因为 TCP 保证按顺序交付。但是here 用户igrigorik 说SPDY 允许数据包以不同的顺序出现。但是,SPDY 不只是 HTTP 的替代品吗?这意味着它仍然通过 TCP 运行(来自here)。
【问题讨论】:
标签: networking tcp spdy