[英]TCP TIME_WAIT problem
我读过一本TCP和套接字编程书。 我有个问题,
如书中所述,TCP的TIME_WAIT状态应保持2MSL时间段。 但是,像应用程序这样的Internet浏览器又没有这个问题呢?
根据文档,这是4分钟,但是在Internet浏览中,我不必等待10秒钟即可刷新网页吗?
这是怎么回事? 我很困惑,请解释。
有几种可能性,下面列出了其中一些。
第一个是根本不是所有会话都经过TIME_WAIT
状态。 如果另一端关闭连接,则本地转换为ESTABLISHED
, CLOSE_WAIT
, LAST_ACK
和CLOSED
,因此不涉及TIME_WAIT
。
其次, TIME_WAIT
状态适用于会话,该会话为5元组{protocol,source-ip,source-port,dest-ip,dest-port}
。
如果这些值中的任何一个在下一个会话(通常是源端口)上发生更改,则不受上一个会话的影响。
最后,浏览器没有每个请求后关闭会话。 (为了提高效率)更有可能维护一个打开的会话池以重新使用它们,例如,当您要下载包含五十个图像的页面(一个会话而不是五十一个)时。
页面完全加载后,它甚至可以使此类会话保持打开状态,您可以不定期访问该服务器上的其他内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.