TCP连接的三次握手四次挥手——类比异地恋情侣开始交往和分手(通俗易懂)

首先,要详细解释的,先看下面两篇文章。这篇文章只是一个类比,可以辅助理解和记忆。

计算机网络——TCP三次握手详解为什么两次不行
计算机网络——TCP四次挥手过程详解

三次握手(开始交往)

  • 男:(写一封情书)“我喜欢你,我们可以在一起吗?即使我们分隔两地。”(发出建立连接的请求,情书就是SYN报文段)
  • 女:(回信)“好啊~”(回信就是ACK报文段)
  • 男:(继续回信)“太好了,我们今晚去看电影吧?”(回信确认关系,对应ACK报文段,并且还能携带应用数据(电影邀请))

注意第三封回信是必要的,不然女方没法确认男方是否真的想和自己在一起。假设前两封信就可以确认关系,考虑这样的情况,男方发出情书之后(可能通过快递等渠道),由于各种原因,情书很久都没有到女生手里。男生等不到女生的回信,于是猜测可能信丢了,于是又发了一封,后发的这封信女生收到了,也回了信,然后双方幸福快乐地在一起。但过了一段时间,由于某些原因分手了。然后之前一直没发出去的情书,现在又到了女生手里(假设女生对这封跟上次几乎一模一样的情书没有感到奇怪),女生仍然对男生有感情,于是回信答应男生。但男生收到这封情书会感到莫名其妙,我没告白啊!可以想象这会有多尴尬。男生可以选择置之不理,但这时女生是不知道情况的,于是会一直发信给男生,男生要是一直不理的话,多浪费女生的心思啊!所以第三封信是必要的,如果男生没有回这第三封信,那女生就可以认为是搞错了,就没有后面越来越多的尴尬。当然男生在收到太多这样莫名其妙的信后,可以选择回一封拒绝信,说女生应该搞错了,这样女生就可以断了这个念想,这封拒绝信就对应RST置为1的报文。但为了尽快避免后面的尴尬,第三封信就不能少了。(建议看我写的上一篇三次握手的详解,以便充分理解)

四次挥手(分手)

  • 男:“我觉得我们可能不太合适,我们分手吧,我不会再主动联系你。”(发出关闭连接的请求)
  • 女:“你要分手,可以,但是我还没做好心理准备,可以让我再跟你说多几句话吗?”(发出ACK报文段)
    (此后男生不会再主动联系女生,而女生还会联系男生)
  • 女:“好,我该说的话都说完了,我们好聚好散吧。”(发送关闭连接的报文段)
  • 男:“再见。”(发出ACK报文段,让女生知道我已经收到了)
    (女生收到后,放下了男生,即释放了资源)
    (男生在等待一段时间后,女生没有再回信,男生就默认女生已经收到最后的告别信了,于是放下女生,即释放了资源,从此不相往来(除非复合,即重新建立连接))

相关阅读:
计算机网络——TCP三次握手详解为什么两次不行
计算机网络——TCP四次挥手过程详解

猜你喜欢

转载自blog.csdn.net/Runner1st/article/details/88549721
今日推荐