MAC地址计数误解

网络工程 MAC地址 网络 苹果电脑
2022-03-03 00:32:32

我知道 MAC 地址必须是唯一的。它有 6 个元素 - k它从 36 个字符 (AZ,0-9) - n中选择。这意味着有n k个组合。

36 6 = 2176782336 如果有 75 亿人,大约是每人每人 0.29 台设备这似乎是一个非常低的数字。

我是对还是错?我在哪里做错了什么?

错误发现它不是 6 个元素,而是 12 个(36 12仍然不正确)

3个回答

有 2^48 个地址。这意味着 281474976710656 个独特的组合。

为了更清楚:

MAC 地址为 6 个字节,例如:

00:50:56:29:33:d2

每个字节从(十六进制)00ff或二进制000000011111111

6 字节 * 每字节 8 位 = 48 位

48 位的总组合 = 2^48 = 281474976710656

MAC 地址可以重复使用。制造商通常会将具有重复地址的卡发送到世界不同的地方,因此在同一个网络上不可能有两个具有相同 MAC 地址的网卡。

MAC 地址在本地网络上必须是唯一的,但如果它们被一个或多个路由器分隔,则具有重复的 MAC 地址没有问题,因为设备不会直接看到彼此。

MAC 地址由 48 位组成。它是 2**48 或 281 474 976 710 656 个地址,目前已经绰绰有余。此外,还有重用废弃设备的 MAC 地址的做法。

MAC 地址通常以十六进制表示,即公式中的n但是一个“元素”有 00 到 FF - 即 256 - 组合。所以应该用 256**6 来计算。

我知道 MAC 地址必须是唯一的。

严格来说,它只需要在本地网络上是唯一的。应该确保这一点的方法是使设备的默认 MAC 地址全局唯一。这是通过将地址分成供应商部分和供应商可以分配的部分来实现的。

在实践中,一些供应商在这方面比其他供应商更草率。大多数 VM 软件和至少一个硬件供应商从供应商 ID(可能实际上属于或可能不属于相关供应商)中随机分配地址,并且只是假设网络上的设备数量足够小MAC 冲突不太可能发生。

它有 6 个元素 - k。它从 36 个字符 (AZ,0-9) - n 中选择。这意味着有 nk 个组合。

错误的

MAC 地址是一个 48 位二进制数,通常写为六个十六进制数,每个数字有两位。

这样就提供了 2^48 个地址,但由于某些原因,并非所有地址都可用。

  1. 有两个位是特殊的,一个表示一个地址是“本地”还是“全局”,另一个表示它是单播还是多播。
  2. 传统上,MAC 地址以 2 24块为单位分配给供应商大多数供应商永远不会使用那么多导致大量浪费的地址。现在可以使用较小的块,但尺寸范围非常有限,因此仍然存在大量浪费。

IEEE 对 MAC 地址耗尽的可能性存在一些担忧,这主要是由将大量 MAC 地址分配给同一设备的应用程序驱动的。强烈建议不需要向后兼容的新应用程序改用 EUI-64。