IEEE OUI 注册体系:MA-L、MA-M 与 MA-S 的区别

地址基础

查一个 MAC 地址能得到厂商名称,背后依靠的是 IEEE 注册管理机构(RA)维护的一套公开分配库。理解这套体系,能解释很多查询中遇到的困惑:为什么有的前缀是 6 位十六进制,有的却要看 7 位甚至 9 位;为什么同一家公司会拥有上千个前缀。

48 位地址是怎么切分的

标准 MAC 地址是 48 位。传统做法是前 24 位标识厂商,后 24 位由厂商自行分配给具体设备。前 24 位就是我们常说的 OUI(Organizationally Unique Identifier,组织唯一标识符)。

24 位 OUI 理论上有 1677 万种组合,但实际可分配的数量要打折扣,因为第一字节的低两位有特殊含义。一个 24 位 OUI 附带 24 位的设备空间,也就是 1677 万个地址额度。对绝大多数厂商来说这远远超出需要,于是 IEEE 后来引入了更细的分配档位。

三种注册档位

档位分配给厂商的位数厂商可用地址数典型使用者
MA-L(大块)24 位前缀约 1678 万苹果、思科、华为等大型厂商
MA-M(中块)28 位前缀约 104 万中型设备厂商
MA-S(小块)36 位前缀4096小批量产品、模块厂商

MA-L 就是经典意义上的 OUI。MA-M 把一个 24 位块切成 16 份,MA-S 把它切成 4096 份。这意味着同一个 24 位前缀下可能存在多个不同厂商,必须看更长的位数才能区分。

这正是查询工具需要做最长前缀匹配的原因。本站的查询在 24、28、36 位三个停止位上都尝试匹配,并返回最精确的那一条,所以你在查询首页输入完整 MAC 地址通常比只输入前三字节更准确。

为什么大厂有上千个前缀

苹果在库里有超过 1500 条前缀记录,思科超过 1200 条。原因很简单:每个 MA-L 只提供 1678 万个地址,而这些公司累计出货的设备数量远超单个块的容量,加上产品线隔离、并购带来的历史遗留块,前缀自然越积越多。你可以在厂商目录里看到各家累积的前缀数量。

CID 与本地管理地址

除了上述档位,IEEE 还发放 CID(Company ID)。CID 的格式与 OUI 相同,但不能用于生成全局唯一的 MAC 地址,只能用于协议标识等场景。CID 的第一字节一定把本地管理位置 1,因此不会与全局唯一地址冲突。

关于第一字节里那两个特殊位的完整含义,可以参考本地管理地址与全局唯一地址。

数据从哪里来

IEEE 把分配结果以公开文件形式发布,任何人都可以下载。实际使用中,更常见的是 Wireshark 项目维护的 manuf 文件,它在 IEEE 原始数据基础上做了名称归一化和补充。本站的数据正来自这个文件,每 30 天自动同步一次。

需要注意的是,IEEE 的记录反映的是注册主体,不一定是你手上设备的品牌。代工厂、模块供应商注册的前缀,最终会出现在贴着别人牌子的产品里。这是查不到厂商或厂商名称看起来不对的常见原因之一。

相关文章
关于作者 · Lin

7n4.cn 技术编辑,负责数据链路层与 IP 层主题。文章以协议规范和抓包行为为基础,把容易混淆的字段与流程拆开解释。

← 返回博客列表