英文: MAC Address
中文: MAC地址、物理地址、硬件地址、L2地址、二层地址
介绍: 用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位),其中,前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为“编制上唯一的标识符”,后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)。

一个地址块可以生成224个不同的地址。MAC地址实际上就是适配器地址或适配器标识符EUI-48。 在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。

例:MAC地址00E0.FC00.0006的三种表现形式

  1. 用48个bit位表示
0000 0000 1110 0000 1111 1100 0000 0000 0000 0000 0000 0110
  1. 用12个十六进制数表示(一个十六进制数 = 4bit)
0 0 E 0 F C 0 0 0 0 0 6
  1. 用6个字节来表示(一个字节 = 两个十六进制数 = 8个bit)
00 E0 FC 00 00 06

MAC地址的分类


从结构角度划分

  1. 单播地址:第一字节最低位为0,例:00-e0-fc-00-00-06,也即 0000 0000-…
  2. 多播地址:第一字节最低位为1,例:01-e0-fc-00-00-06,也即 0000 0001-…
  3. 广播地址:48bit位全为1,例:ff-ff-ff-ff-ff-ff,也即 11111111-…

也即如果十六进制表示时,第二个十六进制数为偶数就为单播地址,为奇数就为多播地址(因为多播的最低位为1则肯定是奇数,同时非广播地址)。

注:

  1. 交换机对多播、广播地址不会进行学习。
  2. 普通设备网卡或者路由设备路由接口的MAC地址一定得是单播的MAC地址才能保证与其他设备的互通性。
  3. MAC地址是一个以太网设备在网络上运行的基础,也是链路层功能实现的立足点。

从功能角度划分

  1. 静态MAC地址(Static MAC)
    由用户通过shell命令或者snmp代理配置的静态转发的MAC地址,静态MAC地址和动态MAC地址的功能不同 ,静态地址一旦被加入,该地址在删除之前将一直有效,不受最大老化时间的限制。
  2. 动态MAC地址(Dynamic MAC)
    由交换机从接受到报文自动学习到的MAC地址,当端口收到一个报文时,会查找报文的源MAC地址是否存 在于MAC地址表中,如果不存在则会将相应的端口、VLAN和源MAC地址关联起来,并保存到MAC地址表中, 动态MAC地址在达到一定老化时间后会被老化删除,但如果该地址在老化时间内被正确使用过,则会重新 激活该条地址的老化时间,同时MAC地址和端口的对应关系会随着设备所连的交换机的端口的变化而变化。
  3. 过滤MAC地址、黑洞MAC地址
    由用户通过shell命令或者snmp代理配置的静态过滤的MAC地址,当网关接收到的报文中,源或者目的MAC 地址为过滤MAC地址,则直接丢弃该报文。

    注:静态MAC优先于动态MAC,同时当两者计算出的哈希值一样时,静态MAC就会覆盖动态MAC。

从传输角度划分

  • SMAC:Source Mac、源MAC地址,报文的最初来源MAC地址。
  • DMAC:Destination Mac、目的MAC地址,报文的最终应该发往的MAC地址。