串行协议和 OSI 模型

Serial Protocols and the OSI Model

我通过串行连接 (RS 232) 连接计算机和外部设备。然后我将一些数据从设备发送到计算机。超级终端正在访问该数据并显示它们。在此过程中使用了 OSI 模型的哪些层?

这是我的理解。 RS-232 仅涵盖第 1 层(物理层)。超级终端运行在应用层。对于此过程,仅使用这两层。

当我搜索 Whosebug 时,我发现类似“串行协议定义了 OSI 模型的第一层或前两层(取决于您是否将 7 位或 8 位串行数据包视为帧)”。 查看完整的 article.
这是什么意思?

When I search Whosebug I found something like “The serial protocol defines either the first layer or the first two layers of OSI model (depending on whether you consider the 7 or 8 bit serial packet a frame or not)”

该引用将术语替换为 "packet" 和 "frame"。
(我遵循 UART 文档中使用的 "frame" 的定义。
这也与数据包->帧->位的 OSI 层次结构一致。)

异步串行通信中的只包含一个字符(5到9位)。
一个字符的信息量不大。
而在同步 links 中,frame 包含几个字节来组成更高级别的消息单元。
所以 EliAlgranti 在那个答案中似乎在思考这个异步 frame 是否符合 OSI data-link 层的资格,以及它是否是 [= 的一部分48=]

但请注意,此 UART 框架似乎不是 RS-232 标准的一部分(即使您可以在网络上找到一些 "RS-232 descriptions" 确实包含框架描述以及省略的网站取景。)
实际 TIA/EIA 文档的成本为 156 美元,来自 TIA site
该标准的摘要没有提及框架。

我在 "The RS232 Standard" 的第 2 段到最后一段中发现了成帧不属于 RS-232 标准的最佳证明:

Note that neither the ASCII alphabet nor the asynchronous serial protocol that defines the start bit, number of data bits, parity bit, and stop bit, is part of the EIA232 specification.

因此 RS-232 标准很可能只是物理层。


For this process only those two layers are used.

不,您只识别了顶层和底层。
这两者之间的其他层确实存在(至少在概念上),但您尚未确定它们是否已实际实现以及如何实现。
显然每个数据 Link 层都有框架。

也许这张图片回答了这个问题(它来自 here

serial protocol in the osi model

在此 web page 中找到了以下解释:“在国际标准化组织开放系统互连 (ISO/OSI) 网络通信模型中,串行通信在物理设备之间运行层和应用层。RS-232-C标准描述了物理层。串行设备驱动程序存储在下一层,数据-link层。Windows CE串行通信功能使应用程序通过串行硬件交换数据。(...)。”