TCP链接的几种状态

通常情况下,一个正常的TCP连接,都会有三个阶段:

TCP三次握手;
数据传送;
TCP四次挥手
里面的几个概念:

SYN: (同步序列编号,Synchronize Sequence Numbers)
ACK: (确认编号,Acknowledgement Number)
FIN: (结束标志,FINish)
I. TCP三次握手
客户端发起一个和服务创建TCP链接的请求,这里是SYN(J)
服务端接受到客户端的创建请求后,返回两个信息: SYN(K) + ACK(J+1)
客户端在接受到服务端的ACK信息校验成功后(J与J+1),返回一个信息:ACK(K+1)
服务端这时接受到客户端的ACK信息校验成功后(K与K+1),不再返回信息,后面进入数据通讯阶段

II. 数据通讯
客户端/服务端 read/write数据包

III. TCP四次握手
客户端发起关闭请求,发送一个信息:FIN(M)
服务端接受到信息后,首先返回ACK(M+1),表明自己已经收到消息。
服务端在准备好关闭之前,最后发送给客户端一个 FIN(N)消息,询问客户端是否准备好关闭了
客户端接受到服务端发送的消息后,返回一个确认信息: ACK(N+1)
最后,服务端和客户端在双方都得到确认时,各自关闭或者回收对应的TCP链接。