Redian新闻
>
OSI 模型是什么? | Linux 中国

OSI 模型是什么? | Linux 中国

科技
 
导读:通过阅读推特上的一些回复发现,似乎至少存在三种不同的思考方式                           
本文字数:2126,阅读时长大约:3分钟

(LCTT 校注:作者原文已经大篇幅进行了修订更新,本文据之前的版本翻译。)

今天我在推特上发布了一些关于 OSI 模型如何与 TCP/IP 工作原理的实际表现不相符的观点,这让我思考——OSI 模型到底是什么?通过阅读推特上的一些回复发现,似乎至少存在三种不同的思考方式:

1. TCP/IP 工作原理的字面描述
2. 一个可以用来描述和比较很多不同的网络协议的抽象模型
3. 对 1980 年代的一些计算机网络协议的字面描述,这些协议如今大多已不再使用

在这篇文章中,我不打算试图争辩以上哪一个才是“真正”的 OSI 模型——似乎不同的人以所有这些方式思考它。这不重要。

OSI 模型有七层

在我们讨论 OSI 模型的含义之前,让我们大致地讨论一下它是什么。它是一个抽象模型,用于描述网络如何在七个编号的层上工作:

◈ 第一层:物理层
◈ 第二层:数据链路层
◈ 第三层:网络层
◈ 第四层:传输层
◈ 第五层:会话层
◈ 第六层:表示层
◈ 第七层:应用层

我不会再费时地去解释每一层的含义,网上有上千种解释可供查询。

OSI 模型:TCP/IP 工作原理的字面描述

首先,我想谈谈人们在实践中使用 OSI 模型的一种常见方式:作为对 TCP/IP 工作原理的字面描述。OSI 模型的某些层非常容易映射到 TCP/IP:

◈ 第二层对应以太网
◈ 第三层对应 IP
◈ 第四层对应 TCP 或 UDP(或 ICMP 等)
◈ 第七层对应 TCP 或 UDP 包内的任何内容(例如 DNS 查询)

这种映射对第二、三、四层很有意义——TCP 数据包有三个标头(header)对应于这三个层(以太网标头、IP 标头和 TCP 标头)。

用数字来描述 TCP 数据包中的不同标头非常有用——如果你说“第二层”,很显然它位于第三层“下方”,因为二比三小。

“OSI 模型作为字面描述”的古怪之处在于,第五层和第六层并不真正对应于 TCP/IP 中的任何内容——我听说过很多关于第五层或第六层可能是什么的不同解释(你可以说第五层是 TLS 或其他东西!)但它们没有像第二、三、四层那样“每一层在 TCP 数据包中都有相应的标头”这样的明确对应关系。

此外,TCP/IP 的某些部分即使在第二层到第四层也不能很好地适应 OSI 模型——例如,哪一层是 ARP 数据包?ARP 数据包发送一些带有以太网标头的数据,这是否意味着它们是第三层?或是第二层?列出不同 OSI 层的维基百科文章将其归类为“第 2.5 层”,这并不令人满意。

因为 OSI 模型有时用于教授 TCP/IP,若搞不清楚它的哪些部分可以映射到 TCP/IP,而哪些部分不能,则会令人困惑。这才是真的问题。

OSI 模型:用于比较网络协议的一个抽象

我听说过的另一种关于 OSI 的思考方式是,它是一种抽象,可以用来在许多不同的网络协议之间进行类比。例如,如果你想了解蓝牙协议的工作原理,也许你可以使用 OSI 模型来帮助你——这是我在 这个网页🔗 flylib.com 上找到的一张图表,显示了蓝牙协议如何适配 OSI 模型。

另一个例子是,这篇维基百科文章🔗 en.wikipedia.org 有一个 OSI 层列表,详细划分了哪些特定的网络协议对应于这些 OSI 层。

OSI 模型:一些过时协议的字面描述

维基百科上的一些非常简短的研究表明,除了对这七层的抽象描述之外,OSI 模型还包含了 一组实现这些层的特定协议🔗 en.wikipedia.org。显然,这发生在 70 年代和 80 年代的 协议战争🔗 en.wikipedia.org 时期,OSI 模型失败了,TCP/IP 则取得了胜利。

这就解释了为什么 OSI 模型无法与 TCP/IP 很好地对应,因为如果当时“获胜”的是 OSI 协议,那么 OSI 模型  完全对应于互联网网络的实际工作方式。

结语

我写这篇文章的初衷是,当我最初学习 OSI 模型时,我发现它非常令人困惑(所有这些层是什么?它们是真实存在的吗?这是网络的实际工作原理吗?发生了什么?)我希望有人告诉我这个只使用 TCP/IP 网络协议的人,只需了解 OSI 模型第二、三、四和七层与 TCP/IP 的关系,然后忽略它的所有其他内容即可。所以我希望这篇文章对某些人能有所帮助!


via: https://jvns.ca/blog/2021/05/11/what-s-the-osi-model-/

作者:Julia Evans 选题:lujun9972 译者:hanszhao80 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


LCTT 译者 :Hans zhao
🌟🌟
翻译: 10.0 篇
|
贡献: 62 天
2022-05-02
2022-07-02
https://linux.cn/lctt/hanszhao80
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Fudgie?令人惊叹的 Budgie 桌面即将登陆 Fedora Linux | Linux 中国在虚拟机中运行 Linux 的十大优点 | Linux 中国Collision:用于验证 ISO 和其他文件的 Linux 应用 | Linux 中国如何在 Fedora Linux 中安装多媒体编码器 | Linux 中国Pop!_OS 22.04 Linux 发行版现在支持树莓派 4 了 | Linux 中国好消息!Docker Desktop 现已支持 Linux | Linux 中国Archinstall 新的菜单系统让安装 Arch Linux 更容易了 | Linux 中国微软还有另一个 Linux 发行版,而且是基于 Debian 的 | Linux 中国一個英雄 剖析人性用 Gwenview 在 Linux 上裁剪和调整照片大小 | Linux 中国你的 Linux 启动时有几只小企鹅? | Linux 中国如何在 Linux 和 Windows 电脑之间共享文件 | Linux 中国Plex 桌面播放器现已支持 Linux | Linux 中国如何在 Linux 桌面中启用 “激活 Linux” 水印通知 | Linux 中国Linux 内核 5.18 版本正式发布,新增显卡驱动以及硬件支持 | Linux 中国上一个说“丼”不读jǐng的人,已经被我骂哭了HydraPaper:一个支持多显示器的 Linux 壁纸管理器 | Linux 中国英伟达在提升 Linux 上的 GPU 使用体验上迈出了一大步 | Linux 中国System76 与惠普合作为开发者提供功能强大的 Linux 笔记本电脑 | Linux 中国Linux 中国开通播客频道:“开源朗读者”和“硬核观察” | Linux 中国分享 8 篇使用 Linux 命令行的技巧 | Linux 中国使用 dnf 进行 Linux 包管理 | Linux 中国聊聊子女教育清零注定要失败?Fedora Linux 36 发布 | Linux 中国开源朗读者:我为什么从 Mac 转到 Linux | Linux 中国最适合程序员的 10 款 Linux 发行版 | Linux 中国使用 watch 和 tail 命令监视 Linux 上的活动 | Linux 中国马克谈天下(282) 巴铁俾路支解放军的前世今生Linux Lite 6.0 发布:弃用 Firefox,默认浏览器使用 Chrome | Linux 中国这群上海人真牛叉!在 Linux 上使用 sudo 命令的 5 个理由 | Linux 中国使用 apt 进行 Linux 包管理 | Linux 中国在 Ubuntu Linux 如何安装 H.264 解码器 | Linux 中国CentOS 的继承者 AlmaLinux 9 发布 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。