5

我一直觉得在 OSI 中,数据链路层和网络层应该交换位置,因为总体而言,模型中的层似乎从用户特定(应用层)转向网络特定(物理层)。现在,鉴于数据链路层的MAC地址是一个比网络层更接近用户的人工制品,我认为数据链路层应该在网络层之上。

现在,我确信网络层位于数据链路层之上是有充分且合乎逻辑的理由的;但这种推理使我无法理解;谁能给我理由?我的意思是网络层高于数据链路层的原因。

谢谢,丹

4

3 回答 3

10

现在,鉴于数据链路层的MAC地址是一个比网络层更接近用户的人工制品,我认为数据链路层应该在网络层之上。

MAC 地址更接近硬件,而不是用户,并且根本不存在,特定于 IEEE 802 LAN 架构。

数据链路层封装了网络上相邻节点之间的通信。它位于网络层和物理层之间,因为它使用物理层提供的服务,提供网络层需要的服务。

网络层封装了网络上任意节点之间的通信,添加了协调转发所需的路由信息​​,通过一系列彼此相邻的节点到达最终目的地。

于 2012-05-19T15:54:01.460 回答
5

网络层在数据链路层之上,主要是因为网络层比数据链路层对网络有更广阔的视野。数据链路层(以太网、WiFI 等)涉及网卡、网卡和本地网络之间的链路。网络层(主要是 IP)讨论 IP 地址以及主机必须如何路由网络数据包以实现端到端通信。

快速总结一下 OSI 堆:

第 1 层物理层 -> 铜线、光纤、无线等 - 谈论频率、比特编码等。

第 2 层数据链路层 -> 以太网、WiFi、蓝牙等 - 讨论网卡、它们之间的链接并允许创建本地网络(通过专用或共享媒体)。

第 3 层网络层 -> 主要是 IP - 讨论 IP 地址和数据包路由以实现端到端通信。

第 4 层传输层 -> 主要是 TCP/UDP - 提供“端口”的概念,允许相同 IP 地址之间的流复用。TCP 还提供数据包的流量控制、拥塞控制、按顺序传送和重传。

第 5 层会话层 -> 它的一些特性(例如连接)通常由 TCP 在真实网络中提供。有关详细信息,请参阅维基百科文章

第 6 层表示层 -> 它的一些功能(例如上下文传输或加密)通常由实际网络中的应用层实现。有关详细信息,请参阅维基百科文章

第 7 层应用层 -> HTTP、SMTP、POP,还有 Skype、ed2k、torrent 等,允许联网的应用程序和服务通过其特定协议进行通信。

如果您问自己,是的,仍然有网络设备按照最初的构想实现 OSI 堆栈。我已经看到其中一些仍在运行。也许我们可以打开另一个线程来知道他们的名字和目的......

于 2012-05-19T16:23:47.610 回答
1

在 OSI 模型中,网络层负责可能跨多个网络(链路)的数据包“源到目的地”传递,而数据链路层监督同一网络上“两个”系统的数据包传递。

于 2018-02-10T06:14:47.857 回答