如果是这样,是否有任何合理的猜测应用程序可以进行,或者更好的是API调用,以确定空闲多长时间导致窗口缩小?
需要低延迟的应用程序是否会在空闲时定期发送不必要的流量以保持窗口大小?
换个说法-- Google做了什么(除了避免tcp本身和只使用ip /udp之外)?
发布于 2017-12-13 01:51:59
RFC2581建议:“如果TCP在超过重传超时的间隔内没有发送数据,则在开始传输之前,TCP应将cwnd设置为不超过初始窗口的RW。”重新传输超时可能在几个往返时间的数量级上,因此您需要保持相当高的发送速率来避免这种情况。也就是说,假设您正在使用的实现遵循此建议。我不确定今天的普遍做法是什么。
如果您控制平台,则可以使用tcp配置参数对其进行设置。在Linux上: tcp_slow_start_after_idle注释,然而,关闭它可能会导致在空闲后过大的突发。当发送处于活动状态时,发送窗口将是满的,因此只有在ack到达时,新数据段才会计量到网络中。在一段空闲时间后,您将被允许在单个突发中填充该窗口。
https://stackoverflow.com/questions/15626982
复制相似问题