每个应用程序都使用 OSI 模型的层吗?

网络工程 ip 奥西
2022-02-14 02:38:12

我目前正在参加网络课程,并且被与数百个来源不同的信息轰炸,并且想要弄清楚一些事情。

OSI 模式的最后 3 层(网络、数据链路和物理)运行在网络中的每台主机上。假设在一个网络中有一个网络交换机(有 4 台计算机使用以太网连接到该网络交换机),并且该网络交换机最终连接到路由器。

  • 如果连接到该网络交换机的计算机想要将数据发送到 Internet(通过路由器),计算机将首先将数据封装到一个帧中,因为它知道它连接到一个交换机并且交换机只能转发帧(对吗? )。所以这台计算机将只使用数据链路层中的协议(而不是网络和物理层,对吧?)。
  • 然后交换机将帧转发到路由器(路由器上的数据链路协议将解包帧)然后路由器上的网络协议将使用IP地址路由数据包?现在,由于发送帧的计算机连接到交换机,计算机发送到的帧中是否有 IP 地址?
1个回答

首先,请记住 OSI 模型只是一个概念模型。它不代表任何实际使用的软件。TCP/IP 模型更接近计算机实际使用的模型,但它也只是一个模型。

无论您使用什么模型,所有主机都具有所有层。计算机从应用程序中生成数据,这些数据被封装在较低层中,直到通过网络发送出去。

如果连接到该网络交换机的计算机想要将数据发送到 Internet(通过路由器),计算机将首先将数据封装到一个帧中,因为它知道它连接到一个交换机并且交换机只能转发帧(对吗? )。所以这台计算机将只使用数据链路层中的协议(而不是网络和物理层,对吧?)。

不,计算机不知道它连接到什么。正如我所说,计算机从应用程序中生成数据,并且这些数据被封装在较低层中,直到它通过有线(或无线,如果是无线)发送。无论另一端有什么设备,都会发生这种情况。

然后交换机将帧转发到路由器(路由器上的数据链路协议将解包帧),然后路由器上的网络协议将使用 IP 地址路由数据包?

这部分基本正确。

现在,由于发送帧的计算机连接到交换机,计算机发送到的帧中是否有 IP 地址?

假设 TCP/IP,帧已经封装了网络和上层。所以IP地址在封装在数据链路层(以太网)内部的IP数据包中。