zoukankan      html  css  js  c++  java
  • TCP状态变迁流程

    主动建立TCP链接情况:

    被动建立TCP链接情况

    主动断开链接的情况

    被动断开连接的情况

    在TIME_WAIT阶段需要停留2倍的MSL,MSL即Maximum Segment Lifetime,表示任何报文被丢弃前在网络内的最长时间,TCP/IP详解中额外注解了:RFC793指出MSL为2min,然而实现中常用的值是30s,1min或2min。如此处理的原因是:当TCP之行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的时间为2被的MSL,这样可让TCP再次发送最后的ACK,以防这个ACK丢失(另一端超时并重发最后的FIN)。

    这种2被的MSL等待的另外一个结果是:在TIME_WAIT期间,连接所使用的socket(SIP:SPORT:DIP:DPORT)不能再被使用,只能在2MSL之后才能被使用。但对于本地的IP:DPORT,可以设置socket的SO_REUSEADR选项绕过这个限制,这也是现在服务端之行监听的socket通常会设置SO_REUSEADDR选项的原因。

    处于TIME_WAIT阶段时,该链接上任何迟到的报文都将被丢弃。

  • 相关阅读:
    7. 整数反转
    14. 最长公共前缀
    13. 罗马数字转整数
    从web解析到网络空间
    python实例:霍兰德人格分析雷达图
    从数据处理到人工智能
    Python第三方库的安装
    Python之os库的使用
    Python第三方库的安装
    Python程序设计思维
  • 原文地址:https://www.cnblogs.com/lanyuliuyun/p/3813637.html
Copyright © 2011-2022 走看看