tcp 的 3次握手和4次挥手【超级简单】

      最后更新:2022-02-10 08:10:26 手机定位技术交流文章

      3次握手,4次挥手

      • 背景:A 和 B 打电话
        • 问:如果3次握手异常会怎样?
        • 问:为什么4次挥手不改成2次挥手?
      • 文言文的解释
        • 3次握手
        • 4次挥手

      科普:

      • TCP 协议进行通讯的双方(服务端和客户端),是需要先建立一个虚拟连接的,然后双方程序才能发送业务数据信息。
      • 建立TCP虚拟连接是通过著名的三次握手进行的。

      背景:A 和 B 打电话

      场景1(3次握手):

      A:你好!能听得到我说话吗?
      B:你好!听得到!那你能听得到我说话吗?
      A:我也能听得到!

      场景2(4次挥手):

      A:今天我聊得很开心!
      B:是的,我也聊得很开心!
      B:改天再聊!
      A:嗯嗯,改天再聊!

      A是:客户端
      B是:服务器

      在这里插入图片描述

      问:如果3次握手异常会怎样?

      答:服务器会等待客户端重新连接,这时候服务端处于半关闭状态。
      如果出现大量的半关闭连接,会耗尽服务器的连接资源数,导致请求无法进来。也就是所谓的DDOS攻击。

      问:为什么4次挥手不改成2次挥手?

      答:这是由 TCP的半关闭造成的。通信双方都要终止才行。
      在这里插入图片描述

      文言文的解释

      在这里插入图片描述

      3次握手

      1. 请求端(通常称为客户)发送一个 SYN 段指明客户打算连接的服务器的端口, 以及初 始序号(ISN,在这个例子中为1415531521)。这个SYN段为报文段1。

      2. 服务器发回包含服务器的初始序号的 SYN报文段(报文段2)作为应答。同时,将确认 序号设置为客户的ISN加1以对客户的SYN报文段进行确认。一个SYN将占用一个序号。

      3. 客户必须将确认序号设置为服务器的 ISN 加1以对服务器的 SYN 报文段进行确认(报文 段3)。 这三个报文段完成连接的建立。这个过程也称为三次握手( three-way handshake)。

      4次挥手

      1. 客户端发起断开,向服务器发送FIN
      2. 当服务器收到这个FIN,它返回客户端 ACK,确认序号为收到的序号加 1。和SYN一样,一个FIN将占用一个序号。
      3. 同时 TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。 接着这个服务器程序就关闭它的连接,导致它的TCP端发送一个FIN,
      4. 客户必须返回一个ACK确认, 并将确认序号设置为收到序号加1。

      在这里插入图片描述

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/18102.html

          热门文章

          文章分类