HTTP三次握手四次挥手过程

一、HTTP协议三次握手过程

1.1名词解释。
  SYN(Synchronous 发送方和接收方相互确认序号,表示连接操作 ,建立联机)
  Seq(Sequence number 顺序号码)
  ACK(Acknowledge ACK控制位,客户端向服务器发送第一个网络包时,由于服务器还没有接收过网络包, 所以需要将 ACK 比特设为 0,客户端亦是)
  Ack(Acknowledge number 确认号码)


1.2握手过程详解
  参照下图所示进行解释:
这里写图片描述
  (1)第一次握手:主机A发送位码为SYN=1,随机产生Seq(seq number)=123456的数据包到服务器,主机B由SYN=1知道,主机A要求建立联机。

  (2)第二次握手:主机B收到请求后要确认联机信息,向A发送Ack(ack number)=123457(主机A的Seq+1),SYN=1,ACK=1,以及随机产生Seq(seq number)=654321的包。

  (3)第三次握手:主机A收到后检查Ack(ack number)是否正确,即主机A第一次发送的Seq+1,以及位码ACK是否为1,若正确,主机A会再发送Ack(ack number)=(主机B的Seq+1),ACK=1,主机B收到后确认Seq值与ACK=1则连接建立成功。

  (4)完成三次握手,主机A与主机B开始传送数据。


  举例解释

(1) IP 192.168.1.116.3337 > 192.168.1.123.7788: S 3626544836:3626544836
(2) IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 Ack 3626544837
(3) IP 192.168.1.116.3337 > 192.168.1.123.7788: Ack 1739326487,ACK 1

  (1)第一次握手:192.168.1.116发送位码SYN=1,随机产生Seq(seq number)=3626544836的数据包到192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建立联机。

  (2)第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送Ack(ack number)=3626544837(192.168.1.116的Seq+1),SYN=1,ACK=1,随机产生Seq(seq number)=1739326486的包。

  (3)第三次握手:192.168.1.116收到后检查Ack(ack number)是否正确,即是否为第一次发送的Seq(seq number)+1,以及位码ACK是否为1,若正确,192.168.1.116会再发送Ack(ack number)=1739326487(192.168.1.123的Seq+1),ACK=1,192.168.1.123收到后确认Seq(seq number)=Seq+1,ACK=1则连接建立成功。

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
HTTP三次握手四次挥手是TCP协议在建立连接和断开连接时的过程。为了确保双方的接收能力和发送能力都正常,需要进行三次握手。两次握手是不够的,因为在两次握手的情况下,如果客户端发送的连接请求在网络中滞留,那么服务器会误以为客户端已经关闭连接,从而导致服务器资源的浪费。而通过三次握手,可以确保双方都能够正常地发送和接收数据。 三次握手过程如下[^1]: 1. 客户端向服务器发送一个连接请求报文段,该报文段中包含了客户端的初始序列号(SYN)。 2. 服务器收到请求后,向客户端发送一个确认报文段,该报文段中包含了服务器的初始序列号(SYN)和确认序号(ACK)。 3. 客户端收到确认报文段后,再向服务器发送一个确认报文段,该报文段中包含了客户端的确认序号(ACK)。 四次挥手过程如下[^2]: 1. 客户端向服务器发送一个连接释放请求报文段,该报文段中包含了客户端的序列号(FIN)。 2. 服务器收到请求后,向客户端发送一个确认报文段,该报文段中包含了服务器的确认序号(ACK)。 3. 服务器向客户端发送一个连接释放请求报文段,该报文段中包含了服务器的序列号(FIN)。 4. 客户端收到请求后,向服务器发送一个确认报文段,该报文段中包含了客户端的确认序号(ACK)。 通过三次握手四次挥手,可以确保双方在建立和断开连接时的可靠性和稳定性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值