我觉得有点奇怪的是,第 1 层和第 2 层设备之间的设备是整个通信过程中不处于中间层的设备。
是不是有什么我没理解的地方,或者事实确实如此?
答案1
好的,所以你需要了解的第一件事是 OSI 模型是一个非常有用的概念框架,用于分离和解释现代网络存在必须解决的众多问题之间的关系。话虽如此,但没有哪个操作系统真正完全符合它。
接下来,假设路由器被称为第 3 层设备,因为它使用第 1 层到第 3 层执行其主要功能。虽然 OSI 模型中的某些层是可选的,甚至很少使用(想到了第 5 层和第 6 层),但它们都位于第 3 层之上。除了应用层 (L7) 之外,在给定层上运行的设备必须实现其下面的所有层。
在理解 OSI 模型时,一个被严重忽视的考虑因素是应用层比大多数网络管理员所理解的要重要得多。请参阅我的回答,了解程序如何使用堆栈的上层来实现常见任务:连接到网站涉及的 OSI 模型详细步骤是什么?
您可以将 OSI 模型分为上层和下层。第 1-2 层几乎完全由硬件、固件和低级驱动程序实现。第 3 层可以完全由软件实现,尽管大多数路由器使用专门的硬件来处理第 3 层流量,只是为了加快速度并增加容量,同时减少对 RAM 和 CPU 等共享资源的依赖。然而,第 4 层及以上完全是软件。现代应用程序通常关心第 4 层及以上,当它们确实关心第 3 层时,也只是在它们需要流量到达第 4 层时才关心,因此它们必须告诉操作系统使用哪个接口。
在学习 OSI 时真正困扰人们的事情之一是,对于给定现实世界设备在模型中的位置的描述有时并不完全匹配。
OSI 模型定义了一组相关问题,描述了每层必须实现的功能,并命名了实现这些功能的设备。例如,对于 OSI 来说,“路由器”是第 3 层(第 1 层->第 3 层)设备,可执行实现网络间通信所需的功能。也就是说,大多数现实世界的路由器都实现了防火墙和 NAT(第 4 层)、VPN 和代理(第 5 层)、应用程序网关(如应用程序防火墙或 DNS 伪装)(第 7 层)等技术。在这种情况下,路由器仍然是第 3 层设备,因为路由器的主要功能是网络间通信。
接下来,您似乎希望组成网络的设备按照它们所连接的内容以某种渐进的顺序排列。这实际上并不正确。调制解调器位于第 1 层,并连接到第 3 层路由器,而第 3 层路由器本身又连接到第 2 层交换机,这一点也不奇怪。路由器连接多个网络,这些网络本身由第 2 层网络(而不是互联网络)设备组成。这就是重点。网络由 L2 设备组成,互联网络由通过第 3 层设备连接在一起的网络组成。
因此,想象一下,您已将调制解调器连接到交换机,然后连接到路由器(第 1 层 -> 第 2 层 -> 第 3 层),正如您所断言的那样。您所做的是连接交换机来扩展您的 ISP 网络,而不是您自己的网络。您可能希望使用交换机扩展您自己的网络,因为您想拥有自己的网络并将其连接到您的 ISP 网络,您需要在他们的网络和您的网络之间放置一个路由器。所以你最终得到 L1 -> L3 -> L2。
最后,当您考虑 OSI 模型时,我建议您忽略所谓的“Brouter”(又称“第 3 层交换机”)的存在。它们确实存在,而且实际上非常常见,但只需将它们视为具有高级功能的 L2 交换机(如上面描述的防火墙 NAT/PAT 路由器)。正如我所说,OSI 模型是概念性的,与人们想要购买以满足其需求的设备类型关系不大。
总结一下:
- OSI 是一个概念模型,它定义了给定设备提供关键技术能力及其先决条件所必须具备的功能。
- 仅仅因为某个设备具有依赖于其“操作层”之上的层的功能,并不一定意味着它是一个更高层的设备。寻找该类型的设备在总体上所起的主要作用。不要被辅助功能/能力分散注意力。
- 在第 4 层运行的设备也必须实现第 1-3 层。
- 应用层驱动一切。
希望这能有所帮助。20 年前我也遇到过类似的问题。坚持下去,最终会成功。