TCP协议通讯流程、如何理解套接字文件描述符

      最后更新:2022-04-06 02:35:39 手机定位技术交流文章

      文章目录

      • TCP协议通信流程
        • 服务器初始化:
        • 建立连接的过程:
        • 数据传输的过程:
        • 断开连接的过程:
      • TCP 相对于 UDP
      • 如何解释 Socket 文件描述符

      TCP协议通信流程

      服务器可能有几个客户端连接到服务器 。链接一旦多了起来,它还必须得到控制。管理是需要成本的,它存在于时间和空间。为了保持链接的活力,服务器和客户必须在系统一级提供一套数据结构来管理链接(用户不必这样做,因此速度更快)。

      客户端积极启动链接, 而服务器是被动的, 不主动激活链接; 这被称为 CS 模式 。
      BS 模式: 使用浏览器连接服务器也是 CS 模式 。

      服务器初始化:

      1. 通过调用套接字创建文件描述 。
      2. 绑定命令将当前文档配置文件与 IP/port 连接在一起; 如果该端口已被另一个进程使用, 绑定将失败 。
      3. 准备随后的接受, 调用倾听, 指定当前文件描述是服务器的文件描述 。
      4. 等待客户连接到未来,然后呼叫接受和封锁。

      建立连接的过程:

      1. 通过调用套接字创建文件描述 。
      2. 使用连接启动连接请求到服务器 。
      3. 连接将传输 SYN, 然后等待服务器响应( 第一次) 。
      4. 服务器在收到客户端的 SYN 后,用SYN-ACK 段落回复,表示“同意建立连接”(第二次)。
      5. 客户获得SYN-ACK, 退出合同 (), 并回复 ACK 段落 ;( 3)

      这种建立联系的做法一般称为三手握。

      在这里插入图片描述

      数据传输的过程:

      1. 在建立连接时,TCP同意提供全时双重工作通信服务;全时工作意味着通信双方可同时同时在同一连接中同时写数据;有关的想法称为半双工作,同一链接只有一方可以同时写数据。
      2. 当服务器从被接受 () 返回时, 它会执行读 () ; 读取套接字类似于读取管道; 如果没有数据, 则等待服务器块 。
      3. 在这一点上,客户请求写入( ) 向服务器提交请求, 服务器请求读( ) 处理客户的请求, 客户请求读( ) 阻止服务器的回复 。
      4. 服务器使用写入 () 向客户端提供处理结果, 并读 () 停止下一次请求 。
      5. 客户在从读()返回后,以循环方式提出下列请求。

      断开连接的过程:

      1. 如果客户没有进一步请求,关闭()连接,客户首次将FIN部分发送到服务器。
      2. 当服务器收到 FIN 时, 它会与 ACK 发生反应, 然后返回值 0 (秒) 。
      3. 阅读返回后,服务器知道客户端已关闭连接, 并将使用密闭关闭连接, 服务器将在此点向客户端发送 FIN (第三次 ) 。
      4. 客户端获得 FIN 并发送第四个 ACK 到服务器 。

      这种分裂过程,被称为摇摆,发生四次。
      在这里插入图片描述

      TCP 相对于 UDP

      • TCP:
        连接、可靠传输、字节流
        • TCP能够进行可靠的传输(有顺序的、无误的、无损的和无重复的)。
        • TCP包括控制拥堵和控制流量的技术。
        • TCP是一种以连接为导向的传输协议,之前有一个连接(三种握手程序)。
        • TCP向字节流发送数据,使其能够在接收端对数据进行分组和重新排序。
        • 每TCP连接仅两个端点(一对一)
      • UDP:
        不可靠的传输,无连接,以数据为中心
        • 不可信赖的传输:只要将数据信息发送到下一个层次就足够了,不管它们的数据是否安全到达,等等。 联合民主党协议不再担心这很容易导致软件包的放弃。
        • 民进联没有拥堵和流动控制方法。
        • 数据条目:数据按明确的界线阅读,读取或不读取,好象是信使,或是一个,或不是,没有一半。 UDP是数据报告的传输,不按组别计算费用。
        • 联合发展方案允许一对一、一对一、一对一和其他交互式交流。
        • UDP 值: 1. 简单 2. no 连接创建 3. 越简单, 越快
          例如,考虑允许丢下袋子的现场:现场(不重播卡片、有效卡片、简单卡片和快速卡片)。

      如何解释 Socket 文件描述符

      套接字是一个无定型的术语,可以作为文件描述符。
      在这里插入图片描述

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

          热门文章

          文章分类