TCP拥塞是否会影响其他端口?

时间:2016-01-09 18:59:54

标签: sockets networking tcp udp

我听说TCP数据包丢失时,一切都因拥塞而卡住,直到最终收到丢失的数据包。例如服务器在同一端口上发送这些数据包:

1(UDP), 2(UDP), 3(TCP), 4(UDP), 5(UDP), 6(UDP)

因此,如果数据包3丢失,客户端将无法接收4,5,6,直到收到数据包3,对吧?

如果应用程序使用两个端口,一个用于TCP,另一个用于UDP,则TCP拥塞会影响UDP端口性能吗?我的意思是UDP数据包会被卡住吗?

1 个答案:

答案 0 :(得分:3)

TCP拥塞应该只影响当前连接(套接字)。

简而言之,对于每个连接,都有一个TCP sliding window用于组装数据包。如果一个数据包丢失,则会收到同一连接上的其他数据包并将其放在窗口中,除非该窗口已满。

https://technet.microsoft.com/cc162519.fig02_L.gif

所以这不应该影响其他连接。

请参阅TCP window scale optionCongestion windowTCP Receive Window Auto-Tuning