TCP/IP协议三次握手、四次挥手

1.TCP报文格式
TCP/IP协议三次握手、四次挥手
一行四个字节

三次握手:

  • 首先客户端向服务器端发送一段TCP报文,其中: 标记位为SYN,表示“请求建立新连接”; 序号为Seq=X(X一般为1);随后客户端进入SYN-SENT阶段。
  • 服务器端接收到来自客户端的TCP报文之后,结束LISTEN阶段。并返回一段TCP报文,表示服务器能正常接收客户端发送的数据,并同意创建新连接”(即告诉客户端,服务器收到了你的数据);
  • 客户端接收到来自服务器端的确认收到数据的TCP报文之后,明确了从客户端到服务器的数据传输是正常的,表示“确认收到服务器端同意连接的信号”
    此后客户端和服务器端进行正常的数据传输。

四次挥手:
所谓的四次挥手即TCP连接的释放(解除)。连接的释放必须是一方主动释放,另一方被动释放。以下为客户端主动发起释放连接的图解:

  • 首先客户端想要释放连接,向服务器端发送一段TCP报文,请求释放连接
  • 服务器端接收到从客户端发出的TCP报文之后,确认了客户端想要释放连接,并返回一段TCP报文,表示“接收到客户端发送的释放连接的请求”
  • 服务器端自从发出ACK确认报文之后,经过CLOSED-WAIT阶段,做好了释放服务器端到客户端方向上的连接准备,再次向客户端发出一段TCP报文,表示“已经准备好释放连接了”
  • 客户端收到从服务器端发出的TCP报文,确认了服务器端已做好释放连接的准备,并向服务器端发送一段报文,表示“接收到服务器准备好释放连接的信号”。