IP 地址与 MAC 地址,它们是如何真正协同工作的插图

网络工程 ip MAC地址 arp IP地址
2021-07-07 00:03:46

我的问题很简单,我真的不知道我是否理解它,所以我在问。

为什么我们有两个地址,如果我们知道目标和源计算机的IP地址,为什么我们需要一些物理地址?我有这个问题,所以我用谷歌搜索,发现网络设备通过物理地址(MAC 地址)进行通信,那为什么我们有 ip 地址?

它是否像我知道目标 ip 地址那样工作,并且我的网络设备使用 ARP 找到世界其他地方计算机的物理 (MAC) 地址并将其发送到那里?

有人真的可以简单地说明 两个地址如何协同工作的吗?因为我真的很困惑。

3个回答

IP 是第 3 层协议。它对物理媒体一无所知,这意味着 IP 可以通过任何媒体(例如:光纤、铜缆、空气等)。

IP 依赖​​于管理媒体访问的下层(第 2 层)。在以太网的情况下,每个设备都连接到公共媒体(铜缆),然后设备必须识别自己以让其他人知道它在那里,而该标识就是 MAC 地址。

每个设备都有一个 MAC 地址,第 2 层协议使用该地址访问公共铜缆并将从一个设备移动到另一个设备。似乎有通信就足够了,但是如果您有数百个设备,第 2 层协议就不能很好地扩展。然后需要一个第 3 层协议作为 IP。

答案既是技术性的,也是历史性的。IP 是互连多个网络的网络。由于以太网网卡在第 2 层具有 MAC 地址,因此在第 3 层还需要其他内容:IP 地址。

使用 IP,理论上可寻址 2^128 个设备,而 MAC 地址限制为 48 位。请记住,以太网是一个扁平的、通勤的广播网络:它不会在全球范围内扩展。

但我同意你的观点:拥有一个没有以太网的 IP 网络,或者至少没有广播第 2 层网络是完全合理的。

MAC 地址分配有供应商标识 (OUI) 和供应商唯一的标识。这在特定 LAN 中没有顺序,因为您将拥有来自多个供应商的设备,甚至来自同一供应商的设备也不会按顺序排列。

IEEE 分配 OUI 并定义 LAN 的工作方式。这仅适用于第 2 层边界。二层需要广播来操作,每一个广播都必须中断并被局域网上的每一个主机处理。这会很快失控,对第 2 层网络的大小设置实际限制。想象一下,您的 PC 被 Internet 上每个主机的广播轰炸;它跟不上。

还有多种类型的 LAN 不能直接互操作。例如,Wi-Fi (IEEE 802.11) 不能直接与以太网 (IEEE 802.3) 通信。您将需要第 2 层的转换桥,就像过去在令牌环和以太网之间使用的那样,或者您将堆栈向上移动到第 3 层。

这是第 3 层介入的地方。第 3 层独立于主机使用的第 2 层协议。它有自己的寻址,独立于第 2 层寻址。第 3 层寻址是分层的,允许对第 2 层 LAN 进行分段,以便可以隔离广播和其他通信。

如果这对您来说地址不够,第 4 层也可以拥有自己的地址。例如,TCP 和 UDP 使用称为端口的地址。上层也可以有地址,但没有真正的标准化;应用程序设计人员可以创建应用程序所需的任何寻址。

主机不知道其他主机的第 2 层地址。他们需要某种第 2 层协议来帮助解决这个问题,而且许多协议是多年来开发的,但第 2 层的局限性不允许仅第 2 层网络扩展到当今网络的规模。

当一个主机想在第 3 层与另一台主机通信时(我将假设 IP 作为第 3 层协议,但这个概念适用于任何第 3 层协议),它必须确定另一个主机是否在自己的局域网。它可以通过用其掩码屏蔽目标地址并将其与自己的网络进行比较来做到这一点。如果目标主机不在其 LAN 上,则需要将流量发送到位于其 LAN 上的已配置网关。此时,主机需要发现其局域网上的 MAC 地址,无论是目的主机还是网关。为此,它使用 ARP。ARP 发送广播询问:“这个第 3 层地址属于谁?” 目标主机或网关将以其 MAC 地址响应,发送主机将使用它来创建帧并发送流量。

如果第 2 层目的地是网关,网关将获取帧并将其剥离,留下第 3 层数据包。然后路由器将确定下一步将数据包发送到何处,并为数据包必须通过的新第 2 层段创建新的第 2 层帧。