美文网首页
TCP的三次握手和四次断开

TCP的三次握手和四次断开

作者: kk爱自由 | 来源:发表于2021-11-15 15:07 被阅读0次

今天好好的又又又把 tcp 的三次/四次握手学习了一遍,输出一下。

帮助理解的重要前提

这个前提就是,tcp 本身是一个面向连接的,全双工的传输层协议。也即 bi-direction or to say full-duplex。

三次握手

借用一张网图:


image

四次断开

再借一张图:


image

自己总结

用自己的白话来讲就是,tcp 不管建立连接还是关闭连接,都有 sync/fin - ack 的过程,从client 和 server 出发来讲都是如此。
之所以建立连接只需要三次,是因为,当 server接到 client 的 sync 请求时,可以同时把 ack 和 sync 合并发送给 client。
而关闭连接需要四次是因为,server 接到 client 的 fin 请求并返回 ack 之后,并不一定要决定此时立刻马上也把自己关掉。
(这里就是前文提到的重要前提,因为 tcp 是全双工的,虽然你 client 不想和我连接了,但是我自己的事情还没处理完,比如server 还没接收完上次的发过来的数据等等),所以这时候并不一定会立刻返回fin 给 client,于是便有了四次握手。但是,并不一定不代表不会,猜想当 server 在收到 client 发送的 fin 之后发现自己也可以关掉连接了,于是有可能也会在返回 ack 时候同时返回 fin。这时候关闭连接实际上也是三次。
这也是我在 Stack Overflow 上看到有人问为什么 tcp 关闭连接时四次握手而不是三次握手底下看到的最简短的一个答案:It can, and sometimes it does! 😄

PS: 网图侵删

相关文章

  • 知识点总结1-计算机网络

    1.TCP的三次握手和四次握手 建立TCP的话,需要三次握手才能建立,而断开连接则需要四次挥手 三次握手:通俗描述...

  • TCP10问

    1.TCP建立连接时需要几次握手, 断开连接需要几次握手? TCP建立连接需要三次握手, 断开连接要四次握手。现有...

  • 三次握手和四次挥手

    三次握手是TCP建立连接时进行的,四次挥手是TCP断开连接是进行的,要弄明白三次握手和四次挥手,需要了解TCP的协...

  • 网络通信

    Tcp通信原理了解吗? Tcp连接需要进行三次握手,断开需要四次挥手。 为什么TCP连接需要三次握手分开需要四次握...

  • TCP三次握手和四次挥手以及缺陷

    建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 1、TCP连接建立——三次握手 几...

  • Alamofire前奏之TCP三握四挥

    建立TCP需要三次握手才能建立,而断开连接则需要四次挥手。 一、TCP三次握手? TCP有6种标识:SYN(建立联...

  • Alamofire -- TCP三握四挥理解(转载)

    建立TCP需要三次握手才能建立,而断开连接则需要四次挥手。 一、TCP三次握手? TCP有6种标识:SYN(建立联...

  • 一文搞懂TCP的三次握手和四次挥手

    TCP的三次握手和四次挥手实质就是TCP通信的连接和断开。 三次握手:为了对每次发送的数据量进行跟踪与协商,确保数...

  • TCP三次握手建立连接和四次挥手断开连接(个人理解)

    TCP三次握手建立连接和四次挥手断开连接(个人理解) TCP协议通过三次握手的方式建立连接: 1.客户端(李二狗)...

  • 三次握手简单理解

    三次握手 四次挥手 建立TCP连接需要三次握手, 而断开连接需要执行四次挥手. 信号 SYN 同步 ASK 确认 ...

网友评论

      本文标题:TCP的三次握手和四次断开

      本文链接:https://www.haomeiwen.com/subject/dirqtrtx.html