前提:
A:主动关闭;
B:被动关闭;
A执行主动关闭,发送FIN,B收到FIN,发送ACK,进入CLOSE_WAIT,B发送FIN,进入LAST_ACK等待最后一个ACK到来;
关闭方式:
(1) 收到A发送回来的ACK进入CLOSED状态;
(2) 未收到A发送回来的ACK,重传FIN,此时A处于FIN_WAIT_2(之前B发的FIN丢了)或者TIME_WAIT(之前A发的ACK丢了),A收到FIN之后,发送ACK,B收到ACK,进入CLOSED状态;
(3) 未收到A发送回来的ACK,重传FIN,此时A已经进入CLOSED状态,因连接丢失,A回复RST,B收到RST进入CLOSED状态;