TCP保文首部: 1.SYN 同步(建立连接握手的信号SYN=1)只要传过去SYN=1后接到ACK=1就建立了一个单向连接,三次握手正是由两个单向连接组成。 2.ACK 确认(确认字符)ACK=1确认号才有效 3.seq序列号 4.ack确认号(期望收到对方下次的seq) 5.FIN释放连接(与SYN差不多,只不过功能相反FIN=1用来表示释放连接) TCP三次握手: 第一次握手:客户端发送同步数据包SYN=1,序列号seq=x,客户端进入SYN_SENT状态。 第二次握手: 服务器发从同步确认数据包SYN = 1,ACK = 1,序列号seq=y,确认号ack=x+1,服务器进入SYN_RCVD状态。 第三次握手:客户端发送确认数据包ACK = 1,序列号seq=x+1,确认号ack=y+1,客户端进入ESTABLISHED状态。 随后服务端收到数据包也进入ESTABLISHED状态。
TCP四次挥手 第一次挥手:客户端发送连接释放数据包,FIN=1,seq=u,客户端进入FIN_WAIT-1状态。 第二次挥手:服务器发送确认数据包,ACK=1,seq=v,ack=u+1,客户端进入COLSE_WAIT状态。 第三次挥手:服务器发送连接释放数据包,FIN=1,ACK=1,seq=w,ack=u+1,客户端进入LAST_ACK状态。 第四次握手:客户端发送确认数据包,ACk=1,seq=u+1,ack=w+1,客户端进入TIME_WAIT状态 最后客户端等待2MSL进入CLOSED状态,服务器接收数据包后进入CLOSED状态。
|