TCP三次握手和四次挥手(一看就懂版)

TCP三次握手:

TCP三次握手和四次挥手(一看就懂版)_第1张图片

TCP四次挥手:

TCP三次握手和四次挥手(一看就懂版)_第2张图片

先解释关键字:

连接时:SYN是请求建立连接,所以在连接时SYN=1;(三次握手前两次SYN=1双向连接,第三次后面解释)

断开时:FIN是请求断开连接,所以在断开连接时FIN=1;(四次挥手中出现两次,因为是双向连接需要双向断开)

seq是序列号,因此第二次请求发下一个包时序列号seq+1;(数据被拆分成数据包发送,因此需要序列号在接受时连城完整的数据)

ack的值是下一个包的序列号,表示希望收到的包的序列号是seq+1;

ACK表示收到了,=1;

然后是具体过程:

三次握手:

  • 客户端发送SYN=1请求建立连接,并发送一小段数据包seq=x;
  • 服务器收到seq=x,发送ACK=1表示确认,并发送自己的数据包seq=y、希望下次收到的数据包ack=x+1和建立连接的请求SYN=1;
  • 客户端收到服务器发来的seq=y、ack=x+1和请求连接的SYN=1,然后发出确认信号ACK=1、服务器请求的数据包seq=x+1和它请求服务器接下来要发的数据包ack=y+1。
  • 连接成功。

四次挥手:

  • 客户端请求断开连接,发送FIN=1和数据包seq;
  • 服务器收到断开请求发出确认信号ACK=1和希望收到的序列号为ack=seq+1和自己的seq;
  • 服务器请求断开连接FIN=1,ack和seq;
  • 客户端收到并回复ACK=1的确认信号和ack、seq;
  • 连接断开

 

 

转载于:https://www.cnblogs.com/littlepudding/p/10595998.html

你可能感兴趣的:(TCP三次握手和四次挥手(一看就懂版))