在OSI网络模型中,为什么网络层位于数据链路层之上?

5
我一直有一种感觉,即在OSI模型中,数据链路层和网络层应该交换位置,因为总体而言,模型中的层似乎从用户特定的(应用层)向网络特定的(物理层)移动。现在,考虑到数据链路层中的MAC地址是比网络层更接近用户的工件,我认为数据链路层应该位于网络层之上。
现在,我相信网络层高于数据链路层有一个良好且合乎逻辑的原因;但是,我无法理解这种推理的原因。有人能给我一个理由吗?我的意思是网络层高于数据链路层的原因。
谢谢, 丹

数据链路层提供点对点通信。网络层提供网络。 - user207421
3个回答

10
现在,考虑到数据链路层中的MAC地址比网络层更接近用户,因此我认为数据链路层应该在网络层之上。
MAC地址更接近硬件而不是用户,并且并非总是存在,这是特定于IEEE 802 LAN架构的。
数据链路层封装了网络上相邻节点之间的通信。它位于网络层和物理层之间,因为它使用物理层提供的服务并提供网络层需要的服务。
网络层封装了网络上任意节点之间的通信,并添加了必要的路由信息来协调通过相邻节点序列转发到达最终目的地。

6
网络层位于数据链路层之上,主要是因为网络层对网络的全局视角比数据链路层更广泛。数据链路层(如以太网、WiFi等)讨论的是网络卡、它们之间的连接以及本地网络。网络层(主要是IP)则讨论IP地址以及主机如何路由网络数据包以实现端到端通信。
简单概括OSI模型:
第一层:物理层 -> 铜线、光纤、无线等 -> 讨论频率、比特编码等。
第二层:数据链路层 -> 以太网、WiFi、蓝牙等 -> 讨论网络卡、它们之间的连接以及通过专用或共享媒体创建本地网络。
第三层:网络层 -> 主要是IP -> 讨论IP地址以及路由数据包以实现端到端通信。
第四层:传输层 -> 主要是TCP/UDP -> 提供“端口”概念,允许在相同的IP地址之间进行流复用。TCP还提供流量控制、拥塞控制、按顺序传递和重传数据包的功能。

第5层: 会话层 -> 在现实网络中,TCP通常提供了一些其功能(如连接)的特性。有关详细信息,请参见维基百科文章

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

第7层: 应用层 -> HTTP、SMTP、POP,以及Skype、ed2k、torrent等允许网络应用和服务通过其特定协议进行通信。

如果您在问自己,是的,仍然有一些网络设备按照最初的OSI模型实现。我见过其中一些仍在运作。也许我们可以开一个新线程来了解它们的名称和目的...


讲解得非常清楚!谢谢 :) - Taha Kirmani

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接