TCP连接的建立与关闭(三次握手与四次握手)

TCP的高可靠性:

  1. 建立连接(源端和目标端建立逻辑链接)
  2. 建立连接的TCP报文段只有报文头,没有数据区
  3. 数据传输(超时重发,流量控制,数据确认重排校验)
  4. 关闭连接
  5. 握手:建立一条连接的通信双方要交换报文

建立连接——三次握手
(客户机主动提出通信请求,服务器被动响应)

  1. 第一次握手:客户机的应用层进程向其传输层TCP协议发送建立连接的命令,客户机TCP向服务器上提出某特定服务的端口发送一个建立连接的报文段,该报文段SYN被置为1,同时包含一个初始***。在这里插入图片描述
  2. 第二次握手:服务器收到建立连接的报文段,发送一个服务器初始***y,SYN被置为1,确认号置为x+1的报文段作为应答在这里插入图片描述
  3. 第三次握手:客户机收到服务器的应答报文段后,也必须向服务器发送确认号为y+1的报文段进行确认。同时客户机的TCP协议层通知应用层进程,连接已经建立,可以进行传输了。
    在这里插入图片描述

关闭连接——四次握手
(以客户机提出关闭连接的请求为例)

  1. 第一次握手:客户机应用进程向其TCP协议层发出终止命令,客户机TCP协议层向服务器TCP协议层发送一个FIN被置1的关闭连接的TCP报文段在这里插入图片描述
  2. 第二次握手:服务器的TCP协议层收到关闭连接的报文段后,发出确认,确认号为已收到的最后一个字节的***加1,同时把关闭连接的连接通知其应用进程,告诉它客户机已经终止了数据传送
    在这里插入图片描述
  3. 第三次握手:如果服务器应用进程也没有要发送给客户方的数据,就通告其TCP协议层关闭连接。这是服务器的TCP协议层向客户机TCP协议层发送一个FIN置1的报文段,要求关闭连接。
    在这里插入图片描述
  4. 第四次握手:客户机收到关闭连接的报文段后,向服务器发送一个确认,确认号为已收到数据的***加1。当服务器收到确认后,整个连接被完全关闭。

在这里插入图片描述