TCP 是 TIME_WAIT状态的时候 会等待2MSL的时间 然后 进入CLOSED状态 但是不理解 按照书上说的TCP连接的主动释放流程:
1 客户发FIN包 2 服务器发ACK包 --->>>进入了单方面断开状态 客户可以收 但是不发了(ACK包除外)
3 服务器发FIN包 4 客户发ACK包 --->>>全面断开这个时候有2个问题:
问题1: 在第4步的时候 客户发完ACK包会立刻不再理会服务器方了 这个时候客户端的套接字状态也是TIME_WAIT吗? 应该可以进入CLOSED了吧问题2: 在第3步的时候 客户发完ACK包 服务器的套接字会进入什么状态?

解决方案 »

  1.   

    3次握手完毕,套接字状态ESTABLISHED。
      

  2.   

    TCP 是 TIME_WAIT状态的时候 会等待2MSL的时间 然后 进入CLOSED状态但是不理解 按照书上说的TCP连接的主动释放流程:
    1 客户发FIN包 2 服务器发ACK包 --->>>进入了单方面断开状态 客户可以收 但是不发了(ACK包除外)
    3 服务器发FIN包 4 客户发ACK包 --->>>全面断开这个时候有2个问题:
    问题1: 在第4步的时候 客户发完ACK包会立刻不再理会服务器方了 这个时候客户端的套接字状态也是TIME_WAIT吗? 应该可以进入CLOSED了吧,对,clinet 和 server都closed了。问题2: 在第3步的时候 客户发完ACK包 服务器的套接字会进入什么状态?TIME_WAIT状态
      

  3.   

    参见《TCP/IP详解》卷一的图18-2.