问一个关于网络连接并发的问题

2022-05-10 16:21:59 +08:00
 fumeboy

查询了一下 HTTP2 默认对于单条连接并发的 stream 数量有最大 100 的限制,但我的理解,既然 stream 取代了原先的 TCP connection 成为新的并发单位,那应该两点之间只需要一条 TCP connection ,然后所有并发请求都以 stream 的形式塞进去,不管是 100 个还是 100w 个?

782 次点击
所在节点    互联网
2 条回复
3dwelcome
2022-05-10 17:27:22 +08:00
TCP 网络不稳定会掉包。

以掉包率 5%来计算,如果你把所有的 stream 都塞进一个 tcp connection ,那么当 100 个 stream 都掉包的时候,最后一个 stream 重发 tcp 包,就必须要等前面 99 个 stream 都发完,属于串联性质,会增加总耗时。

如果有 100 条 tcp 同时连接,那么 IP 丢包重发就是并联的,不耗时间。
fumeboy
2022-05-10 18:31:19 +08:00
@3dwelcome 感激不尽

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/852005

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX