三次握手:
三次握手是建立TCP连接的过程,在这个过程中需要客户端和服务端总共发送3个包以确认连接的建立。其流程如下图所示:
状态流转:
TCP为一个连接定义了11种状态(下面粗体字),分别是
连接建立前:CLOSED, LISTEN, SYN_SENT, SYN_SCVD
数据发送中: ESTABLISHED
关闭连接: 被动关闭 CLOSE_WAIT(接收到FIN) LAST_WAIT(发送FIN,等待其ACK)
主动关闭 FIN_WAIT_1(主动发送FIN) FIN_WAIT_2(接收到被动关闭套接字发来的ACK) TIME_WAIT(接收到被动套接字发来的FIN,并发给其ACK,等待2MSL后回到CLOSED状态)
同时关闭 CLOSING