我在同一个VMWare主机上托管了两台Windows 2012 R2计算机(122和115)。我们在这两台机器之间的应用层有一个心跳,不时会有tcp重新传输。根据wireshark日志,看起来重新传输发生在12-45毫秒,重新传输可能发生在122或115.例如,最新的日志之一(此日志在122机器上捕获)看起来像:
- 在10:30:42.654764 115发送到122:PSH + ACK Seq = 28457 Ack = 26914 Win = 524032 Len = 59
- 在10:30:42.668642 122发送到115:ACK Seq = 26914 Ack = 28516 Win = 524800 Len = 0
- 在10:30:42.668764 115发送到122:[Tcp重传] PSH + ACK Seq = 28457 Ack = 26914 Win = 524032 Len = 59
- 在10:30:42.668787 122发送到115:ACK Seq = 26914 Ack = 28516 Win = 524800 Len = 0 SLE = 28457 SRE = 28516
醇>
所以看起来115认为122在34毫秒后超时(即使122实际上稍早回应)然后尝试重新传输。我试图在注册表中找到这种重新传输超时无济于事。 (我当时正在寻找像InitialRtt这样的东西)我的问题:
- 标准做法是34毫秒吗?
- VMWare可以与此有关吗?
- 任何理由为什么122在ACK中速度慢? (两端的软件都由我们编码,但我们认为我们没有尝试调整这个值,因为我没有亲自编写代码,所以我可能错了。)
醇>