我有一个应用程序,它发送 100 个 186 字节(不包括标头)的 TCP 消息,从主机 A 到主机 B 之间没有间隙。
我运行 tcpdump 来捕获主机 A(发件人所在的位置)上的数据包,我注意到在几条消息(如 9 条)之后,接下来的约 25 条消息合并为一条 5+K 条消息。
我已经在sender应用程序中通过setsockopt()关闭了Nagle的算法,计算出的TCP windows一直超过14K字节。因此,前 9 条消息似乎没有填满主机 B 并且主机 B 要求主机 A 放慢速度。
关于如何找出 TCP 消息合并的原因的任何提示?
谢谢!