TCP三次握手+四次挥手

TCP采用三次握手建立一个连接:

第一次握手:客户端发送SYN报文到服务器端,该报文把SYN标志位置1,并指明客户端打算连接的目的服务器端的端口,并进入SYN_SEND状态,等待服务器确认。

第二次握手:

服务器端收到SYN报文,必须确认客户端的SYN,同时自己也发送一个SYN报文,即SYN+ACK报文,即SYN标志位和ACK标志位都置1,此时服务器端进入SYN_RECV状态。

第三次握手:

客户端收到服务器端的SYN+ACK报文,向服务器端发送确认报文(ACK),即SYN标志位置0,ACK标志位置1;此包发送完毕,客户端和服务器端都进入ESTABLISHED状态,完成三次握手。

TCP采用四次挥手断开连接:

由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个FIN只意味着这一方向上没有数据传输,一个TCP连接在收到一个FIN后仍能发送数据。

(1)客户端发送一个FIN,用来关闭客户端到服务器端的数据传输。

(2)服务器端收到FIN,它发回一个ACK,确认序号为收到的序号加1.

(3)服务器端关闭与客户端的连接,发送一个FIN给客户端。

(4)客户端收到FIN,它发回一个ACK报文确认,并将确认序号置为收到序号加1。

你可能感兴趣的:(TCP三次握手+四次挥手)