1 MAC地址是什么?
MAC地址(Media Access Control Address)是一种标识网络设备的唯一地址,也被称为物理地址或硬件地址。它由网络设备制造商在生产过程中写入网卡的EPROM(一种可擦写的闪存芯片)。
IP地址和MAC地址都是以二进制形式表示,在计算机中使用。IP地址有32位,而MAC地址有48位 。
2 MAC地址分配
MAC地址长度为48位,相当于6个字节。通常用12个十六进制数表示,例如:00-16-EA-AE-3C-40就是一个MAC地址。
其中前3个字节的十六进制数00-16-EA代表网络硬件制造商的编号,由IEEE(电气与电子工程师协会)
分配。而后3个字节的十六进制数AE-3C-40代表该制造商生产的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址,MAC地址在全球范围内是唯一的。可以将MAC地址类比为身份证号码,在网络设备中具有唯一性 。
3 MAC地址的结构
每台网络设备在网络中都有一个独特的标识,这个标识称为MAC地址或网卡地址。MAC地址是在网络设备制造时写入硬件内部的。MAC地址由48位(6个字节)组成,通常用12个十六进制数表示,每两个十六进制数之间用冒号隔开,例如:08:00:20:0A:8C:6D。下图显示了具体示例,其中前三字节表示OUI(Organizationally Unique Identifier),这是IEEE注册管理机构为不同厂商分配的代码,用于区分不同的厂商。后三字节由厂商自行分配 。MAC地址的最高字节(MSB)的第二低位(LSb)用于表示此MAC地址是全局地址还是本地地址,即U/L(Universal/Local)位。如果该位为0,表示这是一个全局地址。对于所有的OUI,该位始终为0。MAC地址的最高字节(MSB)的最低位(LSb)表示此MAC地址是单播还是多播。0表示单播。
4 MAC地址工作过程
网络上的数据包从初始点开始经过中间节点最终到达目标节点。首先,初始节点根据目标节点的地址将其IP地址映射到中间节点的MAC地址,找到第一个中间节点。然后,从第一个中间节点出发,根据目标节点的IP地址映射到下一个中间节点的MAC地址,以此类推,直到找到最后一个中间节点。最后,从最后一个中间节点出发,将目标节点的地址映射到目的节点的MAC地址,将数据包传送给目标主机。因此,数据包的传送过程就是不断地将目标节点的地址映射到中间节点的MAC地址,再从中间节点出发,直到找到最终的目标节点。
数据包传送的关键在于将目标节点的IP地址映射到中间节点的MAC地址。这个映射过程通过ARP地址解析协议完成,它可以将网络中的IP地址映射到主机的MAC地址。例如,交换机根据数据包的目标IP地址查看内部是否有对应的MAC地址。如果有,则将数据包转发到对应MAC地址的主机上;如果没有,则交换机会使用ARP协议将目标IP地址映射成MAC地址,并将数据包转发到对应的MAC地址的主机上。
5 MAC地址能否更改?能否重复?
在局域网中如果采用集线器来连接不同的网络设备,相同的MAC地址一般不会出现太多的问题,因为在集线器连接的局域网中所有的数据帧都会被广播给局域网内的全部主机,而如果通过交换机连接不同的网络设备就会受到影响,因为交换机需要学习局域网中不同设备的Mac地址并将数据帧转发给特定的主机。
所以Mac地址其实是可以重复使用的,只是不能在同一个局域网中使用相同的MAC地址,而跨局域网的网络传输则需要通过网络层的IP协议,所以在不同的局域网使用相同的Mac地址就不存在类似的问题。
5.1 虚拟修改-手动修改
按照IEEE的协定每个网络设备出厂都会有全球唯一的Mac地址,并且使用过的也不会再重复使用。但不意味着Mac地址就不会出现重复了,很多小伙伴们都改过Mac地址,有的直接可以通过系统进行修改。
5.2 虚拟修改-网络设备运行后台手动修改
有的网络设备允许你在管理后台手动的修改mac地址。
5.3 物理修改-修改bios存储的MAC地址
以上这些都是通过虚拟的方式覆盖原有的Mac地址,并没有更改掉设备出身时烙印的Mac地址。出身时烙印的Mac地址也并不是不能修改,通过硬件写入的方式同样的可以修改Mac地址,本质上Mac地址就是一串二进制数,存放在了bios的某个存储区域内。
6 感谢
参考https://baijiahao.baidu.com/s?id=1725104387621146534&wfr=spider&for=pc