我们的应用程序在 Amazon 服务器上运行,我们不断面临与 TCP 握手相关的问题。有时我们无法连接到我们的应用程序或服务器端口 80 上的 telnet。我在 Google 上搜索并找到了解决方案,即通过禁用 TCP 窗口缩放和 TCP 时间戳可以解决问题。我这样做了,问题得到了解决。
解决方案如下:为什么服务器不会发送 SYN/ACK 数据包来响应 SYN 数据包
现在,禁用服务器上的 tcp 窗口缩放和时间戳可以吗?如果不行,那么我将如何解决我的问题(握手问题)。
答案1
关闭这两者是“可以的”,但可能会有缺点。
窗口缩放允许将公布的窗口缩放到大于 64 千字节的值。如果您的路径在任一方向上的带宽延迟乘积(最小带宽乘以往返时间)大于 64 千字节,则您需要使用窗口缩放才能达到更高的比特率。
例如,在某些情况下,时间戳可以防止虚假重传或序列号回绕。通常不是关键,但一如既往,“这取决于……”:p