其实这个很简单了,只要明白,三次握手,四次挥手主要是用来干什么的就可以了.

三次握手:

三次握手主要是用来干什么的,为什么就需要三次呢?

其实很简单,三次握手的目的主要是为了确认双方是否同时具备网络收发的能力.

需要确保每一个主机能够: 发送数据/接收数据,当这个确认操作完成之后,那么咱们就可以正常通信了.

TCP连接三次握手,四次挥手的通俗理解

第一次握手:

B收到了A的消息,那么B知道A能发送数据,自己的接收数据的能力肯定OK,但是A并不知道B是否收到了,所以需要进行第二次握手.

第二次握手 :

B告诉A,你的数据我已经收到了,这个时候,B知道自己收数据是OK的,A知道自己发送数据是OK的。

但是B并不知道自己的发送数据是否是OK的?大家想想是不是,? 因为B把消息发送出去后,没有应答

所以需要第三次握手.

第三次握手:

A会告诉B,我已经确认你收到消息了,咱们可以愉快的交流了.

接下来我们来讲四次挥手。

四次挥手的目的是为什么? 其实也很简单,就是确认关闭自己的收发功能.

每个主机能同时接受数据/发送数据,所以我们必须关闭接受数据/发送数据.

TCP连接三次握手,四次挥手的通俗理解

第一次挥手:

A告诉B:我没有数据再发送给你了,你还有没有数据发送给我(还是可以接受数据的).

注意这里:
A只是告诉B,我不会再发送数据了,但是其实并没有关闭发送数据的连接,所以A这个时候会进行Wait,也就是进入到了Time_Wait状态.
A必须在确认B知道这个消息后关闭。

第二次挥手:

B告诉A:我知道你不会发送数据了,我这边关闭接收数据了,接下来我会把没有发送完的数据发送完毕.

这2次挥手之后,A关闭发送,B关闭接收,第三次,第四次,其实大家也都很明白了,那就是A关闭接收,B关闭发送.

第三次挥手:

B告诉A,我该发送的数据都已经发送完毕了,我已经没有数据发送给你了.

第四次挥手:
A告诉B:嗯,我已经知道你不会发送数据了,我现在已经关闭了我的接收端,你可以关闭你的发送端了.

具体这个Time_Wait的时间是多少呢?,有的说是2分钟,这块暂时遗留一下,后面补充去查一下,要么在某个系统目录,要么就定义在内核宏中.

相关文章:

  • 2022-01-17
  • 2021-08-30
  • 2022-01-01
  • 2021-12-22
  • 2022-12-23
  • 2021-07-20
  • 2021-06-13
  • 2021-05-05
猜你喜欢
  • 2021-12-27
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
  • 2021-07-08
  • 2022-01-05
相关资源
相似解决方案