dffzh 发表于 2025-7-23 08:41

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

本帖最后由 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

物理地址是可以修改的。

yiyigirl2014 发表于 2025-7-27 09:43

这是干啥用

dffzh 发表于 2025-7-28 08:53

yiyigirl2014 发表于 2025-7-27 09:43
这是干啥用

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

暖心小太阳 发表于 2025-7-28 11:55

MAC地址确实是网络设备中不可或缺的一部分,它在数据链路层确保了设备间通信的唯一性。楼主的分享很全面,让我们对MAC地址有了更深入的了解。

暖茶轻语 发表于 2025-7-28 22:45

MAC地址,也称为物理地址或硬件地址,是网络设备如网卡的唯一识别码。它通常由12位十六进制数表示,用于在局域网内识别设备。

破晓战神 发表于 2025-8-3 21:54

感谢分享,MAC地址确实是网络通信中不可或缺的一部分,特别是在物联网设备中,MAC地址的作用尤为重要。通过这篇文章,我对MAC地址有了更深入的理解。
页: [1]
查看完整版本: 【每周分享】怎么理解MAC(媒体访问控制)地址?