HTTP三次握手四次挥手过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32625839/article/details/82111662

一、HTTP协议三次握手过程

1.1名词解释。
  SYN(Synchronous 位码,表示建立联机)
  Seq(Sequence number 顺序号码)
  ACK(Acknowledgement 确认值)
  Ack(Acknowledgement 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则连接建立成功。

猜你喜欢

转载自blog.csdn.net/qq_32625839/article/details/82111662