最近重读谷歌 2017 年发表的 QUIC 论文时,针对 QUIC 支持更多选择确认段这一特性,提到由于该特性 QUIC 可以 keep more bytes on the wire,
我一开始的理解是更多选择确认段应该是让发送端能更具体的知道哪些包丢了,从而重发这些包,避免重发冗余的包,因而觉得应该是 less bytes 而不是 more bytes。
因此尝试搜索资料或者向前辈请教,最后得知该这么理解这句话:
假设接收端收到三个包, 1-2 5-6 9-10,可知已丢失,3-4,7-8 两个包;
如果只能选择确认两个,那么可以确认 1-2,5-6,发送端只知道丢了 3-4,但不知道丢了 7-8,因此重传 3-4,等到超时才会重传 7-8,9-10;
假如可以选择确认三个,那么发送端可以知道 3-4,7-8 都丢了,此时立即重传 3-4,7-8,相比于确认两个可以发送更多的数据,也就是 keep more bytes on the wire。
即允许发送端快速重传丢失的包。
![](https://i-blog.csdnimg.cn/blog_migrate/f3bbc9806f53fdf9b0511e1b00cf1199.png)
谷歌 QUIC 论文:The QUIC Transport Protocol: Design and Internet-Scale Deployment