解释计算机网络中的 TCP 服务。

computer networkinternetmca更新于 2026/1/18 23:52:17

以下是传输控制协议 (TCP) 为应用层进程提供的一些服务:

  • 流传送服务。
  • 发送和接收缓冲区。
  • 字节和段。
  • 全双工服务
  • 面向连接的服务。
  • 可靠服务。

下面将详细解释所有上述 TCP 服务。

流传送服务

TCP 是一种面向流的协议。它使发送进程能够以字节流的形式传递数据,而接收进程则能够以字节流的形式获取数据。

TCP 创建了一个工作环境,以便发送和接收过程通过一个假想的"管道"连接起来,如下图所示:

发送和接收缓冲区

发送和接收进程不能以相同的速度生成和接收数据。因此,TCP 需要一个缓冲区进行存储。

每个部分中使用的缓冲区有两种类型,如下所示:

  • 发送缓冲区
  • 接收缓冲区

缓冲区可以使用 1 字节位置的循环数组来实现,如下图所示。该图显示了发送端数据在一个方向上的移动。

缓冲区有三种类型的位置,如下所示:

  • 空位置。
  • 包含已发送但尚未确认的字节的位置。这些字节将保留在缓冲区中,直到收到确认为止。
  • 包含发送 TCP 将要发送的字节的位置

实际上,由于接收过程缓慢或网络拥塞,TCP 可能只发送一个数据端口。

接收方的缓冲区分为两部分,如下所示:

  • 该部分包含空位置。
  • 该部分包含接收的字节,发送过程可以使用它们。

字节和段

缓冲用于处理数据传输速度和数据消耗之间的差异。但仅有缓冲是不够的。

作为 TCP 服务提供商,在互联网协议 (IP) 层发送数据之前,我们还需要一步。它需要以数据包的形式发送数据,而不是字节流。

在传输层,TCP 将多个字节分组到一个数据包中,这被称为段。每个段都会添加一个报头以进行控制。

段被封装在 IP 协议图中,然后进行传输。整个操作对接收进程来说是透明的。数据段在到达接收端时,可能会被乱序、丢失或损坏。

下图展示了如何从缓冲区中的字节创建数据段:

数据段的大小各不相同。每个数据段可以包含数百个字节。

全双工服务

TCP 提供全双工服务,数据可以同时在两个方向上流动。每个 TCP 都有一个发送缓冲区和接收缓冲区。TCP 数据段在两个方向上发送。

面向连接的服务

我们已经知道 TCP 是一个面向连接的协议。当一个进程想要与另一个进程(进程 2)通信(发送和接收)时,操作顺序如下:

  • 进程 1 的 TCP 通知进程 2 的 TCP 并获得其批准。
  • 进程 1 的 TCP 告知进程 2 的 TCP 进行双向数据交换。
  • 完成数据交换后,当双方的缓冲区都为空时,两个 TCP 都会销毁各自的缓冲区。

TCP 中的连接类型不是物理的,而是虚拟的。封装在 IP 数据报中的 TCP 段可能会无序发送。这些段可能会丢失或损坏,可能需要重新发送。每个段可能会采用不同的路径到达目的地。

可靠服务

TCP 是一种可靠的传输协议。它使用确认机制来检查数据是否安全可靠地到达。


相关文章