mac地址真的是全球是唯一的吗

问题:mac地址真的是全球是唯一的吗

答:不是

mac地址在百科中的描述如下:

MAC(Media Access Control, 介质访问控制)地址,也叫硬件地址,长度是48比特(6 字节),由16进制的数字组成,分为前24位和后24位:
  • 前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。
  • 后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。
MAC地址对应于OSI参考模型的第二层数据链路层,工作在数据链路层的交换机维护着计算机MAC地址和自身端口的数据库,交换机根据收到的数据帧中的“目的MAC地址”字段来转发数据帧。

MAC地址与IP地址区别
IP地址和MAC地址相同点是它们都唯一,不同的特点主要有:
  1. 对于网络上的某一设备,如一台计算机或一台 路由器,其IP地址是基于网络拓扑设计出的,同一台设备或计算机上,改动IP地址是很容易的(但必须唯一),而MAC则是生产厂商烧录好的,一般不能改动。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给 局域网上的某台计算机分配IP地址为192.168.0.112 ,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址不可由本地连接内的配置进行修改。如果一个计算机的网卡坏了,在更换网卡之后,该计算机的MAC地址就变了。
  2. 长度不同。IP地址为32位,MAC地址为48位。
  3. 分配依据不同。IP地址的分配是基于网络拓扑,MAC地址的分配是基于制造商。
  4. 寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。
注:看完百科的解释,似乎mac地址真的是全球是唯一。但是mac地址一般存放在EPROM/EEPROM里,大家都知道,这种ROM是可修改的,这点就证明存在这种可擦除ROM里的mac可能会被修改。

新问题:用户自己修改mac是很容易就造成mac地址冲突的。当mac地址冲突了怎么办?

mac地址冲突场景:同一个局域网里如果有两个phy芯片的mac地址一样,系统会报出mac地址冲突的异常,此时两个phy都不能正常传输数据

解决方法就是把冲突的地址改成不一样就行。

注:不同局域网中的mac地址即使一样也不会造成冲突,毕竟网关不一样了。

你可能感兴趣的:(linux)