如果连接空闲,TCP滑动/拥塞窗口是否会缩小?

如果连接空闲,TCP滑动/拥塞窗口是否会缩小?,tcp,tcp-ip,Tcp,Tcp Ip,如果是这样的话,应用程序是否可以做出合理的猜测,或者最好是通过API调用来确定空闲多长时间会导致窗口收缩 需要低延迟的应用程序是否在空闲时定期发送不必要的流量以保持窗口大小 另一种表达问题的方式——谷歌做了什么(除了避免tcp本身和只使用ip/udp之外)?[RFC2581]建议如下:“tcp应该将cwnd设置为no more 如果TCP 未在超过重新传输间隔的时间内发送数据 超时。“ 重传超时可能只有几次往返时间,因此您需要保持相当高的发送速率才能避免这种情况。这是假设您使用的实现遵循此建议。

如果是这样的话,应用程序是否可以做出合理的猜测,或者最好是通过API调用来确定空闲多长时间会导致窗口收缩

需要低延迟的应用程序是否在空闲时定期发送不必要的流量以保持窗口大小


另一种表达问题的方式——谷歌做了什么(除了避免tcp本身和只使用ip/udp之外)?

[RFC2581]建议如下:“tcp应该将cwnd设置为no more 如果TCP 未在超过重新传输间隔的时间内发送数据 超时。“ 重传超时可能只有几次往返时间,因此您需要保持相当高的发送速率才能避免这种情况。这是假设您使用的实现遵循此建议。我不确定今天的惯例是什么

如果您控制平台,您可能可以使用tcp配置参数来设置它。在Linux上:tcp\u慢速\u空闲后启动\u
但是,请注意,关闭它可能会导致空闲后出现过大的突发。当发送处于活动状态时,发送窗口将满,因此只有在ack到达时,才会将新的段计量到网络中。空闲时间过后,将允许您在单个突发中填充窗口。

[RFC2581]建议如下:“TCP应将cwnd设置为不再 如果TCP 未在超过重新传输间隔的时间内发送数据 超时。“ 重传超时可能只有几次往返时间,因此您需要保持相当高的发送速率才能避免这种情况。这是假设您使用的实现遵循此建议。我不确定今天的惯例是什么

如果您控制平台,您可能可以使用tcp配置参数来设置它。在Linux上:tcp\u慢速\u空闲后启动\u
但是,请注意,关闭它可能会导致空闲后出现过大的突发。当发送处于活动状态时,发送窗口将满,因此只有在ack到达时,才会将新的段计量到网络中。空闲一段时间后,您可以在一次突发事件中填充窗口。

这是一个离题的问题,不是一个真正的问题。为什么它会缩小这两扇窗户?是什么让你认为这个问题甚至存在?除非有一个我不知道的tcp/ip论坛,否则几乎没有脱离主题。而且,这不仅仅是一个真实的问题,而是一个精确的技术问题。TCP连接的速度或调整速度以适应不断变化的条件是长期存在的网络问题。也就是说,要详细说明为什么它可能会缩小窗口(我认为只有一个窗口以两种不同的方式调整,但这是一个不同的问题)。有两个不同的目标:流量控制和拥塞控制/避免。对于流量控制,不触摸窗口是有意义的,因为如果远程服务器可以在以后默认为相同的速率之前以一定的速率使用,则可以合理地使用相同的速率。然而,对于拥塞控制,拥塞程度可能已经改变。如果网络当时没有拥塞,但现在可能会拥塞,那么缩小窗口并重新调整是有意义的。1。它是离题的,除非它与实际的计算机编程有某种关系,即您可以编写的代码。2.你需要根据你的问题决定是谈论一个窗口,还是根据你的评论谈论两个窗口。3.拥塞窗口是失败发送的函数。如果没有发送,则没有理由对其进行调整。我可以编写代码,在空闲时发送非必要流量,以保持窗口大小,如果答案是窗口缩小。如果答案是窗口缩小,我就不需要编写代码。2.我的问题和评论很清楚,据我所知,只有一个窗口——只有你的评论提到了两个窗口“其中任何一个窗口”,我从未听说过这样要求人们“决定他们相信什么”,而这与编码问题(第“1”部分)无关,不管有多少个窗口。3.现在这是迈向答案的一步!这既离题,也不是一个真正的问题。为什么它会缩小这两扇窗户?是什么让你认为这个问题甚至存在?除非有一个我不知道的tcp/ip论坛,否则几乎没有脱离主题。而且,这不仅仅是一个真实的问题,而是一个精确的技术问题。TCP连接的速度或调整速度以适应不断变化的条件是长期存在的网络问题。也就是说,要详细说明为什么它可能会缩小窗口(我认为只有一个窗口以两种不同的方式调整,但这是一个不同的问题)。有两个不同的目标:流量控制和拥塞控制/避免。对于流量控制,不触摸窗口是有意义的,因为如果远程服务器可以在以后默认为相同的速率之前以一定的速率使用,则可以合理地使用相同的速率。然而,对于拥塞控制,拥塞程度可能已经改变。如果网络当时没有拥塞,但现在可能会拥塞,那么缩小窗口并重新调整是有意义的。1。它是离题的,除非它与实际的计算机编程有某种关系,即您可以编写的代码。2.你需要根据你的问题决定是谈论一个窗口,还是根据你的评论谈论两个窗口。3.拥塞窗口是失败发送的函数。如果没有发送,则没有理由对其进行调整。我可以编写代码,在空闲时发送非必要流量,以保持窗口大小,如果答案是窗口缩小。如果答案是窗口缩小,我就不需要编写代码。2.我的问题和评论很清楚,据我所知,只有一个窗口——只有你的评论提到了两个窗口“其中任何一个窗口”,