TIME_WAIT状态的作用

TIME_WAIT状态:

  1. 主动关闭的那端最后经历的状态,一般为2MSL秒(1~4分钟).

两个原因:

  1. 保证当最后一个ack丢失后,能收到对端重传的fin包.
  2. 保证ack包消失,不会影响下一个连接.

关于原因2: 重传时间一般为几百毫秒,而延时的数量级可能为几十秒(MSL数量级),所以延迟到达的包可能是曾经的fin包或其他,如果是fin,会影响下一个连接.

例外(源自unp):

如果到达的SYN的序号大于前一连接的结束序列号,berkeley实现将给当前处于time_wait状态的连接启动新连接.rsh命令具备这种能力,RFC1185讲述了其陷阱.

上一篇:关于前端惰性加载(jquery_lazyload)的使用和原理分析


下一篇:动态规划(DP)