网络连接中的三次握手和四次挥手

三次握手和四次挥手都是TCP协议通信过程中建立和关闭连接的步骤。

三次握手的步骤如下:

  1. 客户端发送SYN包,进入SYN-SENT状态。
  2. 服务器接收到SYN包,回复一个ACK包和一个SYN包,进入SYN-RECEIVED状态。
  3. 客户端收到ACK包和SYN包,回复一个ACK包,建立连接并进入ESTABLISHED状态。

四次挥手的步骤如下:

  1. 客户端主动关闭连接,发送FIN包,进入FIN-WAIT-1状态。
  2. 服务器接收到FIN包,回复一个ACK包,进入CLOSE-WAIT状态。
  3. 服务器向客户端发送FIN包,进入LAST-ACK状态。
  4. 客户端接收到FIN包,回复一个ACK包,进入TIME-WAIT状态,等待2MSL(最长报文段寿命)后关闭。

下面是三次握手和四次挥手的示意图:

三次握手:

客户端                            服务器

SYN_SENT状态                      LISTEN状态

---------------SYN------------>

                                  SYN_RECEIVED

<---------ACK包和SYN------------

ESTABLISHED                       

四次挥手:

客户端                            服务器

ESTABLISHED状态                  

<---------------FIN------------

FIN_WAIT_1                        

                                  CLOSE_WAIT

<---------------ACK------------

FIN_WAIT_2                        

                                  LAST_ACK

                                  <-------FIN--------

TIME_WAIT                        

                                  <-------ACK--------

CLOSED                            

你可能感兴趣的:(网络编程,网络)