1

我试图了解 OSI 和 TCP/IP 模型之间的关系,并在以下链接中阅读,在 OSI 模型中,在每一层添加/删除了一个标头:

https://www.electronicdesign.com/what-s-difference-between/what-s-difference-between-osi-seven-layer-network-model-and-tcpip

那篇文章分解了在 TCP/IP 模型的每一层添加/删除的标头,看起来每一层都添加了一个标头。

我想知道的是:

我读过 OSI 和 TCP/IP 模型都是理论上的;它们以何种方式是理论上的,它们各自在何种方式上在物理上是准确的?例如 TCP/IP 的 Applications 层对应 OSI 的 Application/Presentation/Session 层;应用程序 TCP/IP 层的标头是否由三个组件组成,每个组件都被视为 OSI 的应用程序/演示/会话层的标头?

4

1 回答 1

2

这篇文章具有误导性。每一层都只是简单地添加一个标题是不正确的。

每一层都在对上一层进行某种封装。对于第 3 层和第 4 层,至少当这两个层是 IP 和 UDP/TCP 时,这种封装是用标头完成的。但是这些层的封装还包括内容的分段,即大数据在多个数据包上的传播。

通信的应用层封装或加密比简单的标头复杂得多,并且取决于特定的应用层或加密协议。

它们以何种方式是理论上的,它们各自在何种方式上在物理上是准确的?

这些只是一个模型。这意味着它们是对现实的简化抽象。虽然他们准确地描述了第 2..4 层,尤其是 OSI 模型,第 5..7 层与今天的现实不符。在创建这些模型时,网络世界要简单得多,OSI 模型中的第 5..7 层看起来像是开发协议的有用方法。

但实际上,会话、演示和应用程序在当今的协议中都混合在一起:如果 HTTPS 内容使用 HTTP 协议传输,则该协议位于 TLS 隧道内,但该隧道可能再次位于 SOCKS 隧道内,甚至使用 HTTP 启动CONNECT 请求(HTTP 代理)。像 WebSockets 这样的第 4 层协议本质上是在第 7 层协议 HTTP 等中进行隧道传输的。甚至还有设计在 HTTPS 连接中将 TLS 记录作为 JSON 交换。

这意味着 TCP/IP 协议更适合当今的现实,仅仅是因为它更简单,并且没有一些预想的抽象层,但事实证明它没有被使用。

于 2019-01-11T19:56:55.333 回答