打印
[麦麦茶水间]

【每周分享】怎么理解MAC(媒体访问控制)地址?

[复制链接]
754|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dffzh|  楼主 | 2025-7-23 08:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dffzh 于 2025-7-24 08:50 编辑

#申请原创#
@21小跑堂

在有些行业的嵌入式软件中,比如物联网,网络设备及无线协议(wifi和BLE等)开发等领域,我们会经常接触到MAC地址,那究竟什么是MAC地址,它有什么实际作用呢?请听本文讲解。
MAC地址是什么?
所谓MAC地址,即MediaAccess Control Address,最直观的翻译就是媒体访问控制地址,也可以称为局域网地址(LANAddress)、以太网地址(Ethernet Address)、硬件地址(Hardware Address)或物理地址(Physics Address),在不同地方其标识的名称可能不一样,要注意辨别。
MAC地址是网络设备在数据链路层使用的唯一标识符,用于标识设备之间的网络通信,即每个网络设备在生产时都会被分配一个唯一的MAC地址,类似于身份*号码一样,无论你的网络设备是否更换IP地址,其MAC地址都是固定的唯一的。
MAC地址一般是设备制造商在生产时烧录在设备硬件上的,比如我们最常见的电脑网卡都会有一个MAC地址,一般烧录在网卡的EEPROM芯片里面,打开电脑的cmd命令窗口,输入ipconfig /all命令,即可查看MAC地址信息,如下图所示,用物理地址标识:
如果是从事Linux开发的,在终端输入ifconfig命令,就可以查看MAC地址,下图即用HWaddr标识MAC地址:
在Ubuntu虚拟机中,如果你已经安装了net-tools,也可以使用ifconfig命令来查看MAC地址,如下图所示即用ether来标识MAC地址:
或者查看电脑上已连接到的无线wifi热点的信息,也可以看到MAC地址:
或者打开手机设置里的关于本机的界面,也可以看到,如下图为苹果手机下的用局域网地址标识MAC地址:
综上所述,当需要在不同的设备里查看MAC地址信息时,由于不同厂商的命名方法不同,一定要学会识别。
那怎么样识别呢?一种就是知道MAC地址的相关别名,还有一种就是了解MAC地址的编码结构,接下来我们继续看。
MAC地址的编码结构是什么样的呢?
由以上的相关截图不难看出,MAC地址主要由6个字节组成,总共占48位,并且通常会以十六进制展示出来,每个字节范围即为0x00~0xFF。
其中前3个字节代表设备制造商的编号,是由IEEE(国际电气与电子工程师协会)分配的厂商标识符,即为组织唯一标识符;后3个字节是由设备制造商分配给每个网络产品的,即为唯一序列号。
在TCP/IP协议的以太网帧格式中,在数据链路层中就涉及了MAC地址信息:
因为网络通信是基于源端和目的端的,要实现正常通信,必须就有源MAC地址和目的MAC地址,如下图所示:
在工业以太网通信,比如EtherCAT总线中,MAC地址也是非常重要的角色:
以下为抓包数据:
通过wireshark随便抓取几个UDP(用户数据报)协议包,在数据帧里面也可以看到MAC地址信息:
另外,从应用角度看,MAC地址还可以分为单播MAC地址、组播MAC地址和广播MAC地址,主要区别如下:
单播MAC地址:Unicast
主要用于标识网络中某个特定的设备,各设备的MAC地址是唯一的,用于点对点通信,其MAC地址的第一个字节的最低位固定为0,比如00:14:23:01:23:48;
组播(多播)MAC地址:Multicast
主要用于将数据包发送给一组特定的设备,其MAC地址的第一个字节的最低位固定为1,后面的部分用于标识特定的组,比如01:00:5E:00:00:02。
广播MAC地址:Broadcast
主要用于将数据包发送到网络中的所有设备,所有位都为1,即MAC地址为FF:FF:FF:FF:FF:FF。
那MAC地址有哪些常见用途呢?
局域网通信:
比如交换机通过MAC地址转发数据帧;
设备识别:
比如路由器通过MAC地址管理连接的设备,例如分配IP地址等;
安全控制:
比如网络管理员可以通过MAC地址过滤来允许或者禁止设备接入等。


以上作者通过对MAC地址的基本概念,编码规则及常见用途等方面阐述了MAC地址的基本内容,也欢迎各位坛友回帖补充内容~~。


使用特权

评论回复
沙发
21mengnan| | 2025-7-25 16:41 | 只看该作者
物理地址是可以修改的。

使用特权

评论回复
评论
dffzh 2025-7-25 17:17 回复TA
要看怎么理解这个修改了,一般不会去做修改操作吧,除非有特殊应用什么的。 
板凳
yiyigirl2014| | 2025-7-27 09:43 | 只看该作者
这是干啥用

使用特权

评论回复
地板
dffzh|  楼主 | 2025-7-28 08:53 | 只看该作者

MAC地址其实主要是用来标识设备在网络中的位置的,是设备的身份ID,设备之间通信需要使用MAC地址。

使用特权

评论回复
5
暖心小太阳| | 2025-7-28 11:55 | 只看该作者
MAC地址确实是网络设备中不可或缺的一部分,它在数据链路层确保了设备间通信的唯一性。楼主的分享很全面,让我们对MAC地址有了更深入的了解。

使用特权

评论回复
评论
dffzh 2025-7-31 08:58 回复TA
理解到位。 
6
暖茶轻语| | 2025-7-28 22:45 | 只看该作者
MAC地址,也称为物理地址或硬件地址,是网络设备如网卡的唯一识别码。它通常由12位十六进制数表示,用于在局域网内识别设备。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

1102

帖子

20

粉丝