建立连接(三次握手)
- 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
- 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
- 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
- 完成三次握手,客户端与服务器开始传送数据,也就是ESTABLISHED状态。
连接终止协议(tcp四次挥手)
- 客户端A发送一个FIN(M),用来关闭客户A到服务器B的数据传送。
- 服务器B收到这个FIN,它发回一个ACK(M+1),确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
- 服务器B关闭与客户端A的连接,发送一个FIN(N)给客户端A。
- 客户端A发回ACK(N+1)报文确认,并将确认序号设置为收到序号加1