我目前正在学习 OSI 模型和 TCP/IP 模型,我想知道:为什么在 TCP/IP 模型中物理层和数据链路层是结合在一起的?
我将说明我如何理解 OSI 模型中两者之间的划分:
物理层
物理层负责在设备和物理介质之间传输和接收原始比特。因此,这一层基本上负责将数字 1 和 0 转换为取决于物理介质(例如电、光或无线电信号)的信号。在接收端,它负责做相反的事情——将物理信号转换为数字信号。这一切都是由硬件组件完成的——网卡、电缆等。这一层的规范将包括电压电平、波频率等。
数据链路层
在我读到的所有地方,数据链路层的功能都被表述为“在同一网段上的节点之间传输数据”或类似的东西。这让我有点困惑,因为物理层将这些位放在电线上并从那里收集,这有效地在同一网络上的节点之间传输数据(如果可以的话,请帮助我更清楚地说明这一点)。无论如何,据我了解(请确认我的理解或纠正我)是该层取代了物理层的功能。虽然物理层的功能只是将数字转换为任何东西,但该层的职责是确保这些位到达目的地。这可能(但不是必须)包括错误检查和纠正,
数据链路层的核心操作是将网络数据包封装成帧,其中包括校验和、源地址和目标地址以及更多数据。这些框架用于实现上述目标。
所有这些都是在软件中完成的——软件部分在操作系统中作为 NIC 的设备驱动程序运行,部分在 NIC 本身上运行。这一层的协议定义了帧的结构、媒体访问控制的管理方式、错误检测和纠正等。
那么现在的问题是——如果这是两个独立的功能,为什么 TCP/IP 模型中缺少这种划分?我可以理解在 TCP/IP 模型中没有会话和表示层,因为它本身没有这样的功能,它都是由应用程序层完成的。但是这里有物理链接和数据链接,这肯定是两个独立的功能,不是吗?