networking - TCP 物理上如何发送和接收数据?
问题描述
我目前正在学习 tcp/ip 模型中的第 4 层。我偶然发现的所有信息来源都给了我以下关于计算机如何实现 TCP 协议的解释:“它通过网络套接字在应用程序和计算机之间建立连接,并在特定端口之间传输所需的数据。是传输数据的直接函数。”
考虑到它没有提供任何关于它如何在端口之间实际传输数据的信息,我发现这个解释非常模糊,所以我的问题如下:
使用 TCP 在第 5 层和第 4 层之间传输数据的物理方式如何?这种传输是否仅限于计算机内部的程序或进程?
解决方案
TCP 是第 4 层。您需要查看 OSI 模型的第 1-3 层以了解它是如何运行的。第 1 层将讨论电(或光)脉冲如何在作为物理部分的电线上编码。上面的所有层都是如何解释这些脉冲(0 和 1)的各种抽象。
基本上数据不在层之间传输。每一层都嵌入在它下面的层中。换句话说,第 2 层有一个有效载荷,它保存第 3 层等等。因此,随着数据在堆栈中向上移动,每一层都会被删除。因此,第 4 层将看不到第 1-3 层的任何封装,但在其有效负载中会包含第 5+ 层,一旦处理并剥离其部分,它就会通过。
推荐阅读
- spring - 如何将 spring kafka 容器分配给特定的分区并能够停止/启动它?
- java - 将 long 列表转换为 double 列表
- firebase - 在firestore上设置数据时如何获取自动生成的ID?
- jenkins - Jenkins archiveArtifcats 在目录中附加最新文件
- apache-spark - 如何在火花中获取最近三年的数据
- asp.net - 将excel vb宏转换为可执行文件
- vhdl - Verilog 模块或 VHDL 实体中的最大端口数
- node.js - web3.eth.accounts[i] 替代方案?
- javascript - JS:将点字符串数组转换为对象树
- c++ - 如何使用 Makefile 编译 c++ 文件