Tcp的三次握手和四次挥手的过程

2022-08-23 14:19:24

主要参考博客:TCP的三次握手与四次挥手理解及面试题(很全面)_青柚_的博客-CSDN博客_三次握手四次挥手

TCP三次握手和四次挥手过程 - Andya_net - 博客园

两张动图-彻底明白TCP的三次握手与四次挥手_小书go的博客-CSDN博客_tcp三次握手和四次挥手的全过程

五分钟读懂TCP 协议——TCP协议简介_大猩猩Bigstar的博客-CSDN博客_tcp/ip协议

一、TCP的三次握手过程

先根据自己的理解说下三次握手的状态,第一次,首先是客户端向服务器发送一个包,然后就处于等待状态。

第二次,服务器接收到包,并回复一下刚刚接收到的包,就发了个新的包确认收到了,进入等待回复状态。第三次,客户端接收到服务器的回复包,就又发了一个收到回复包,完成这个之后就是直接进入到成功连接,可以互相通信,三次结束!

以下是参考大神的总结:

第一次握手:建立连接时,客户端发送syn包(SYN=1,初始序列号seq = x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。(第一次:客户端主动发送包syn,TCP规定SYN的报文不能携带数据,但是需要消耗一个序列号

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;(第二次:服务器回复的时候,确认报文是:ACK=1,SYN =1,确认号:ack = x+1,自己初始一个序列号:seq = y

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。(第三次:客户端回复的时候确认报文:ACK =1,ack =y+1,自己的序列号:seq = x+1)最后双方都进入ESTABLISHED状态,就可以开始进行通信了

以上就是握手的总结

二、TCP的四次挥手的总结:

先说下自己对四次挥手的总结:第一次:客户端向服务器提出连接释放,进入等待状态。第二次:服务器向客户端发出确认报文,进入等待关闭的状态。第三次:客户端收到服务器的确认,继续等待。这时服务器B向客户端A发送连接释放的确认阶段,等待A的确认。第四次:A收到B的释放确认后,发出确认关闭,此时B已经关了,但是A还在等待2∗∗MSL(最长报文段寿命)后,确认关闭,四次挥手结束。

总结网上大神篇:

(1)第一次:A的应用进程先向其TCP发出连接释放报文段(FIN=1,序号seq=u),并停止再发送数据,主动关闭TCP连接,进入FIN-WAIT-1(终止等待1)状态,等待B的确认。(第一次,是客户端先提出关闭的指令

(2)第二次:B收到连接释放报文段后即发出确认报文段,(ACK=1,确认号ack=u+1,序号seq=v),B进入CLOSE-WAIT(关闭等待)状态,此时的TCP处于半关闭状态,A到B的连接释放。(第二次,是服务器接收到客户端的指令并进行回复确认,发送新的报文

(3)A收到B的确认后,进入FIN-WAIT-2(终止等待2)状态,等待B发出的连接释放报文段。

(4)第三次:B没有要向A发出的数据,B发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),B进入LAST-ACK(最后确认)状态,等待A的确认。(第三次就是B直接向A发出最后的确认断开的报文

(5)第四次:A收到B的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),A进入TIME-WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,A才进入CLOSED状态。(第四次:A向B回复确认断开了,此时B先进入断开,A再等待2MSL后,进入断开

以上就是4次挥手的过程

2022.5.10更新中,三次握手、四次挥手的图:

TCP协议详解_吃米饭的博客-CSDN博客_tcp协议

一、三次握手:

1、192.168.1.108主机给192.168.1.109发送报文1,想与它建立通信,然后192.168.1.109收到了它的回复,并给它回复ack(535734931)(注意,这个是报文段1回复的+1),报文段2这个有两个信息,一个是回复108的,另外一个是发送自己的序列号。报文段3,则是ack(2159701208)(注意:这个是报文段2回复+1),这个是回复109的 ,以上就完成了三次握手,建立通信完毕。

二、四次挥手

1、首先还是108(客户端)发起终止通信的报文4,报文5是相当于一个缓冲机制,来看108是否确定终止。同时报文6再一次确认终止,通过报文段7回复109确认终止,则此时通信正式终止。

五分钟读懂TCP 协议——TCP协议简介_大猩猩Bigstar的博客-CSDN博客_tcp/ip协议

  • 作者:Littlehero_121
  • 原文链接:https://blog.csdn.net/Littlehero_121/article/details/102716406
    更新时间:2022-08-23 14:19:24