浅谈三次挥手与四次握手(面试用)

文章目录

  • 一、TCP三次握手
    • 1.什么是TCP三次握手
    • 2.为什么要三次握手
    • 3.第2次握手传回了ACK,为什么还要传回SYN?
  • 二、TCP四次挥手
    • 1 为什么建立连接协议是三次握手,而关闭连接却是四次握手?
    • 2.为什么客户端发出第四次挥手的确认报文后要等2MSL的时间才能释放TCP连接?(字节面试问到过)

一、TCP三次握手

1.什么是TCP三次握手

浅谈三次挥手与四次握手(面试用)_第1张图片
一个虚拟连接的建立是通过三次握手来实现的
TCP三次握手是建立一个TCP连接的过程,它包括以下三个步骤:
第一次握手(SYN):
客户端向服务器发送一个带有SYN(同步序列编号)标志的TCP报文段。这表示客户端请求建立连接,并选择一个初始的序列号(seq)。

第二次握手(SYN + ACK):
服务器收到客户端的SYN报文段后,会发送一个带有SYN/ACK(同步/确认)标志的TCP报文段作为响应。该报文段中的确认号(ack)设置为客户端的初始序列号加1,同时服务器也选择一个自己的初始序列号。

第三次握手(ACK):
客户端收到服务器的SYN/ACK报文段后,会发送一个带有ACK(确认)标志的TCP报文段作为确认。该报文段中的序列号设置为收到的确认号加1,同时将确认号设置为服务器的初始序列号加1。
浅谈三次挥手与四次握手(面试用)_第2张图片
SYN、ACK是标志位:确认方ACK=发起方Seq+1࿰

你可能感兴趣的:(操作系统,网络通信)