好的,所以我正在为 Network+ 考试而学习,并且我已经研究了 OSI 模型大约一百万次,并且我对其中的大部分都相当了解,而且我的学习进展顺利。然而,我的理解有一个小问题。我知道当数据被发送到另一个网络时,它必须使用逻辑地址或 IP 地址才能到达那里,我知道这是第 3 层(网络)。所以,我的问题是,如果数据的目的地在本地网络上呢?他们使用带有 ARP 的 IP 还是 MAC,是第 3 层还是第 2 层?例如,如果目的地在本地网络上,是否完全使用网络层?
在 OSI 模型中何时使用 MAC 地址而不是 IP 地址?
我知道当数据被发送到另一个网络时,它必须使用逻辑地址或 IP 地址才能到达那里
就像版主说的,IP和mac地址是用在以太网上的,所以你很困惑,不明白这是如何工作的。如果以太网上的 PC-A 将 IPv4 流量发送到另一个网络上的 PC-B,数据包仍需要到达第一跳路由器。目的 IP 地址将是 PC-B,但目的 mac-address 是第一跳路由器的 mac。
PC-A 配置了下一跳路由器 IP 地址和 PC-A ARP,以查找第一跳路由器的 mac 地址。
在这种情况下,第一跳路由器(也称为“默认网关”)使用其路由表来查找正确的接口以将数据包传送到 PC-B。
如果数据的目的地在本地网络上呢?他们使用带有 ARP 的 IP 还是 MAC,是第 3 层还是第 2 层?例如,如果目的地在本地网络上,是否完全使用网络层?
如果 PC-A 想要在本地网络上向 PC-C 发送 IPv4 流量,则目标 mac-address 和目标 IP 地址都是针对 PC-C 的。
PC-A 意识到 PC-C 在同一网络上,因此它通过 ARP 来查找 PC-C 的 mac 地址。
在这种情况下,lan-switch 使用它的 mac-address 表来找到合适的接口来传送数据包。但是,PC-C 仍会检查目标 IP 地址以确保它属于 PC-C。
当您说“目的地是什么”时,我认为这在很大程度上取决于您实际做什么。
如果您有一个应用程序,例如 FTP,并且您在同一网络上从主机 A 到主机 B 的 FTP ..您仍然可以一直到达第 7 层(应用程序层),主机 A 是否在同一网络上并不重要,或在世界的另一端。
有趣的部分是每跳需要走多远的层。如果你在同一个网络上,那么你很可能连接了一个交换机(一个二层设备),那么两台主机之间的跳,只需要到二层交换机就知道怎么处理包了. 但是如果两台主机在不同的网络上,那么路由器(级别 3)需要读取网络层上的地址才能知道如何处理它。
PS:如果您使用其他工具如 Ping,则仅使用第 1,2 和 3 层。(不要认为为此需要第 4 层)。
MAC 地址用于 OSI 模型的第 2 层和第 3 层,以协助帧和数据包转发。首先接收 MAC 地址,显示它需要去的位置和第 3 层 IP 地址。这是在帧和 IP 层完成的。一旦考虑了帧 MAC 并且定位了第 3 层 IP,第 3 层设备就会将帧转发到适当的 IP 地址,如果路由存在且第 3 层协议正确,则该地址将继续该过程。
最好的,