【问题标题】:How does physically TCP send and receive data?TCP 物理上如何发送和接收数据?
【发布时间】:2025-12-06 16:20:28
【问题描述】:

我目前正在学习 tcp/ip 模型中的第 4 层。我偶然发现的所有信息来源都给了我以下关于计算机如何实现 TCP 协议的解释:“它通过网络套接字在应用程序和计算机之间建立连接,并在特定端口之间传输所需的数据。是传输数据的直接函数。"

考虑到它没有提供任何关于它如何在端口之间实际传输数据的信息,我发现这个解释非常模糊,所以我的问题如下:

使用 TCP 在第 5 层和第 4 层之间传输数据的物理方式是否仅限于计算机内部的程序或进程?

【问题讨论】:

  • 我已经读过,这更详细,但窃取使用术语“建立连接”并且这样做并不是指它是如何完成的。
  • 我认为这个问题有缺陷,TCP不是物理层而是传输层,所以我不确定问题的前提是否正确。如果您想了解通信的物理方面,请查看我发布的链接中的第 1 层 - 如果您想了解 TCP 的工作原理,请查看其他链接。在第 4 层建立连接与在第 1 层不同 -

标签: networking tcp


【解决方案1】:

TCP 是第 4 层。您需要查看 OSI 模型的第 1-3 层才能了解它是如何运行的。第 1 层将讨论电(或光)脉冲如何在作为物理部分的电线上编码。上面的所有层都是如何解释这些脉冲(0 和 1)的各种抽象。

基本上,数据不会在层之间传输。每一层都嵌入在它下面的层中。换句话说,第 2 层有一个有效载荷,它保存第 3 层等等。因此,随着数据在堆栈中向上移动,每一层都会被删除。因此,第 4 层将看不到第 1-3 层的任何封装,但在其有效负载中会包含第 5 层以上,一旦处理并剥离其部分,它将通过。

【讨论】:

  • 首先,非常感谢您的回答,我还没有决定它是否回答了我的问题,但它肯定让我更加理解。为了完全回答我的问题,我有一个更具体的问题:因此,一旦数据被剥离并处理第 4 层,计算机将如何处理它并在应用程序和端口之间传输数据?
  • @rovolution,它没有具体回答您的问题,但您可能对解释层的this answer 感兴趣。
  • @Ron Maupin 非常感谢您,这个答案很有帮助,但它提出了一些可能会说的更多子问题,例如:如何从应用程序收集数据图到改革流程的过程包?
  • 物理设备(例如以太网端口、wifi 芯片等)上有一个守护进程(基本上是低级代码)。它读入数据(基本上只是一块内存)。该守护进程通常会处理前 3 层。应用程序将侦听一个端口,该端口基本上告诉守护程序数据何时进入该端口(第 4 层)给我。
  • 基本上有一个用户空间应用程序正在监听来自特定端口的数据,并且有一个内核空间守护程序/驱动程序/服务来处理发送到该计算机的所有数据。所有这些都是为了谈话的一方面。对话中的另一台计算机上存在类似的设置。这是一个帮助可视化的链接:computernetworkingnotes.com/ccna-study-guide/…