news 2026/4/19 6:47:55

第八篇技术笔记:MAC、MAC地址、IP、IP地址、子网掩码,从似是而非到一次搞懂

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第八篇技术笔记:MAC、MAC地址、IP、IP地址、子网掩码,从似是而非到一次搞懂

写在开篇

路漫漫其修远兮,吾将上下而求索。

——屈原《离骚》

常听IT同事说IP地址、MAC地址啥的,也搞不明白。学车载以太网过程中发现,也绕不开这几个既熟悉又陌生的词。

说熟悉吧,天天听;说陌生吧,一问就卡。

这篇咱们就把MAC、MAC地址、IP、IP地址、子网掩码放在一起,从似是而非到一次搞懂。

路虽长,慢慢走。

一、写着写着,我突然想到一个问题

前面第六篇讲了PHY和MAC,第八篇又讲MAC地址。写着写着,我脑子里突然冒出一个问题:

网卡和PHY是一个东西吗?

说实话,我以前一直以为“网卡”就是那个插网线的口,里面有个芯片叫PHY。但学了MAC之后,我发现事情没那么简单。

我查了半天,终于搞清楚了。

网卡 ≠ PHY。网卡是“MAC + PHY + 其他元件”的完整产品。

但MAC和PHY的集成方式有三种:

第一种:MAC在MCU里,PHY在外面(车载ECU最常见)

text

┌─────────────┐ ┌─────────────┐ │ MCU │ │ PHY芯片 │ │ ┌───────┐ │ │ │ │ │ MAC │ │────→│ 收发信号 │────→ 网口 │ └───────┘ │ │ │ └─────────────┘ └─────────────┘

MAC集成在MCU里,外面配一颗独立PHY芯片。两者合起来就是“网卡功能”。常见于车载ECU、工业控制器。

补充:车载以太网绝大多数采用这种“MAC在MCU里+外挂PHY”的方案。但近年来也出现了针对边缘节点的“MAC-PHY集成芯片”(如Microchip LAN8650),用于连接没有内置MAC的低成本MCU。

第二种:MAC和PHY集成在一起(传统独立网卡)

text

┌─────────────────────┐ │ 网卡芯片 │ │ ┌───────┐ ┌─────┐ │ │ │ MAC │ │ PHY │ │ │ └───────┘ └─────┘ │ └─────────────────────┘

MAC和PHY封装在同一颗芯片里,外面只加变压器和网口插座。这就是传统意义上的“网卡芯片”,常见于电脑主板、USB网卡。

第三种:MAC、PHY、MCU全集成(高集成度SoC)

text

┌─────────────────────────────┐ │ SoC │ │ ┌───────┐ ┌─────┐ ┌─────┐ │ │ │ CPU │ │ MAC │ │ PHY │ │ │ └───────┘ └─────┘ └─────┘ │ └─────────────────────────────┘

所有东西都在一颗芯片里,常见于某些低端单片机(如ESP32)。

所以:PHY是“手脚”,MAC是“脑子”,网卡是“手脚+脑子+外壳”的完整产品。只是集成方式不同,叫法略有差异。

搞清楚了这一点,再来看MAC和MAC地址,就顺多了。

二、先澄清:MAC 和 MAC地址 不是一回事

很多人把“MAC”和“MAC地址”混着说,但它们是两个东西:

概念是什么类比
MAC数据链路层的一个功能模块(负责“什么时候发、发给谁”)“写地址、贴邮票”这个动作/岗位
MAC地址网卡的那个唯一编号(48位,如00:1A:2B:3C:4D:5E信封上写的那个具体地址

关系:MAC(模块)用 MAC地址(编号)来做决策。

没有MAC模块,没人去管“发给谁”;没有MAC地址,MAC模块也不知道该发给谁。

三、MAC地址:设备的“身份证号”

MAC地址,就是每个网卡出厂时烧录的唯一编号

  • 长啥样:48位,写成16进制,比如00:1A:2B:3C:4D:5E

  • 特点:全球唯一、固定不变(一般情况)

  • 谁给的:厂家烧录在芯片里,你改不了(除非用特殊手段)

  • 存在哪:烧录在网卡的EEPROM或寄存器里,MAC模块启动时读取

类比:就像你的身份证号。

  • 从出生就有,跟你一辈子

  • 全国唯一,不会重复

  • 不管你搬到北京还是上海,身份证号不变

四、IP地址:设备的“家庭住址”

IP地址,是一个网络上的定位地址

  • 长啥样:32位(IPv4),写成点分十进制,比如192.168.1.100

  • 特点:可以变、跟网络位置有关

  • 谁给的:网络管理员手动设置,或者路由器自动分配

  • 存在哪:存在操作系统的网络配置里,不是硬件烧录的

类比:就像你的家庭住址。

  • 搬家就会变

  • 同一个城市不同小区,住址不同

  • 住址变了,人还是那个人(身份证号不变)

五、子网掩码:切IP地址的“刀”

子网掩码是一个32位的数字,和IP地址“配对”使用。它的作用是:告诉设备“IP地址里,前多少位是网络号”

子网掩码的写法也是点分十进制,比如255.255.255.0。把它写成二进制是:

text

11111111.11111111.11111111.00000000

前24位是1(代表网络号占24位),后8位是0(代表主机号占8位)。

怎么用?

把IP地址和子网掩码做“与”运算(都是1才得1),结果就是网络号。

举个例子:IP地址192.168.1.100,子网掩码255.255.255.0

  • 网络号 =192.168.1.0

  • 主机号 =100

类比:就像“北京市朝阳区XX路XX号”——“北京市朝阳区XX路”是网络号,“XX号”是主机号。子网掩码就是告诉你“到哪里是路名,从哪里开始是门牌号”。

为什么需要子网掩码?

没有子网掩码,设备连“自己在哪个网络”都搞不清。IP地址只是一串没意义的数字,路由器也不知道该把数据包往哪发。

六、为什么IP地址是点分十进制,MAC地址是16进制?

你可能会问:为什么IP地址写成192.168.1.100这种点分十进制,而MAC地址写成00:1A:2B:3C:4D:5E这种16进制?

这是个好问题。我查了一下,原因大概是这样的:

IP地址(32位)为什么用点分十进制?

  • 32位二进制,分成4组,每组8位(一个字节)

  • 每组8位的取值范围是0-255,正好是十进制

  • 点分十进制对人友好,好记、好写、好念

  • 比如192.168.1.100,念出来就是“192点168点1点100”

MAC地址(48位)为什么用16进制?

  • 48位二进制,分成6组,每组8位

  • 但每组8位的十进制是0-255,写成00-255-...太长了

  • 16进制下,每组8位正好写成2个字符(00到FF),紧凑

  • 比如00:1A:2B:3C:4D:5E,12个字符搞定,如果写成十进制要更多字符

一句话总结:

  • IP地址用点分十进制:因为32位分成4组,每组0-255,十进制对人友好

  • MAC地址用16进制:因为48位分成6组,16进制下每组2个字符,紧凑高效

  • 两者都是给人看的:机器底层全是二进制,只是“翻译”给人看的时候选了不同的进制

类比

  • IP地址的写法像“北京市朝阳区XX路XX号”——用的是人类习惯的地名

  • MAC地址的写法像“110101001011...”——更像机器码,但16进制比二进制短得多

七、IP和MAC:一个管“在哪”,一个管“谁”

这是最核心的问题。

IP地址管的是:“我在哪”(位置)
MAC地址管的是:“我是谁”(身份)

为什么不能只用MAC地址?

因为MAC地址是固定的,但设备会移动。你的笔记本电脑从北京带到上海,MAC没变,但“网络位置”变了。

如果只用MAC地址,网络不知道你“现在在哪”,数据不知道怎么找到你。就像你只有身份证号,没有住址,快递员没法送货。

为什么不能只用IP地址?

因为IP地址是“逻辑”的,最终还是要靠物理设备(网卡)收发数据。IP地址需要“映射”到具体的MAC地址,才能把数据从线路上真正发出去。

就像你只知道“北京市朝阳区XX路XX号”这个地址,但不知道这个地址住的是“张三”还是“李四”——快递员到了小区门口,还得喊一声“张三,你的快递”。

我目前的理解是:

  • IP地址负责“跨网络找到你所在的小区”

  • MAC地址负责“进了小区,精准找到你本人”

  • MAC模块负责执行“用MAC地址找到人”这个动作

  • 子网掩码负责告诉设备“小区范围有多大”

四者配合,缺一不可。

八、一个网上的例子:你给朋友发微信

  1. 你输入“你好”,点发送

  2. 你的手机把数据打包,目标IP是你朋友的手机IP

  3. 沿途的路由器只看目标IP,决定数据往哪个方向走(IP地址干活

  4. 数据包到了你朋友家的路由器,路由器发现目标IP就在自己下面的局域网里

  5. 路由器通过ARP协议,把目标IP转换成目标设备的MAC地址

  6. 路由器用MAC地址,把数据通过Wi-Fi发到你朋友的手机上(MAC模块用MAC地址干活

  7. 你朋友的手机收到数据,解包,显示“你好”

九、一张表总结

概念是什么长啥样谁给的变不变管什么类比
PHY物理层芯片独立芯片芯片厂家不变数字信号↔物理信号装卸工(手脚)
MAC数据链路层模块集成在MCU/SoC里芯片设计厂家不变管时机、管地址、管打包写地址、贴邮票的动作
网卡PHY+MAC+其他多种集成方式网卡厂家不变完整网络接口手脚+脑子+外壳
MAC地址唯一编号48位16进制网卡厂家烧录一般不变“我是谁”(身份)身份证号
IP地址定位地址32位点分十进制管理员/路由器会变“我在哪”(位置)家庭住址
子网掩码切分规则32位点分十进制管理员/路由器会变切分IP地址告诉你“到哪里是路名”

一句话记一辈子:

PHY是手脚,MAC是脑子,网卡是手脚+脑子+外壳。IP地址找到小区,MAC地址找到人,子网掩码告诉小区边界。

十、踩的坑

最大的坑:以前我以为“网卡”就是PHY芯片。这次才知道,网卡=PHY芯片+MAC模块+其他。很多MCU里集成了MAC,外面配个PHY就能上网。

第二个坑:以前我以为“网卡”只有一种形态——就是电脑主板上那颗独立芯片(MAC+PHY集成)。后来才知道,在车载ECU和嵌入式系统里,更常见的是“MCU内嵌MAC+外挂PHY”的架构。两者都是网卡,只是集成度不同。

第三个坑:以前我以为“MAC”就是“MAC地址”。这次才知道,MAC是一个功能模块,MAC地址是它用的编号。不是一回事。

第四个坑:以前我以为“子网掩码”是个可有可无的东西。这次才知道,没有子网掩码,设备连“自己在哪个网络”都搞不清,IP地址就是一串没意义的数字。

想通的那一瞬间:是当我意识到——PHY是手脚(干活),MAC是脑子(指挥),MAC地址是身份证号(身份),IP地址是家庭住址(位置),子网掩码是地图边界(范围)。五者各司其职,缺一不可。

十一、下步目标

这几个概念搞清楚了。但光知道地址是啥还不够——这些地址在实际网络里到底怎么用?数据包从A到B,一路经过哪些设备?MAC地址和IP地址分别在什么时候登场?

下步准备尝试着努力画一张网络拓扑图,然后把一个数据包的完整旅程走一遍:从你的电脑到百度服务器,或者从车载摄像头到显示屏。用流程图把每一步画出来,看看MAC和IP到底是怎么配合的。

画得不好别笑,主要是帮自己理解,顺便普渡众生,哈哈。

下期预告:网络拓扑 + 数据包的一次完整旅程。光讲概念不行,咱们画图走一遍。

十二、写在最后

这次最大的收获,是终于把PHY、MAC、网卡、MAC地址、IP地址、子网掩码这一堆东西一次搞明白了

以前觉得它们绕来绕去,现在知道:各司其职,缺一不可。

谈天说地:这几个概念,你之前是不是也经常搞混?现在清楚了吗?留言告诉我,咱们一起理清楚。

坚持不懈,努力到感动自己,嘿嘿。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 6:38:56

终身学习 Agent:积累知识、不遗忘、可进化

文章目录前言一、先搞懂:传统Agent vs 终身学习Agent,差在哪?1.1 普通AI Agent,到底是什么?1.2 终身学习Agent,核心优势是什么?二、终身学习Agent核心:四大底层逻辑,小白…

作者头像 李华
网站建设 2026/4/19 6:37:26

10款最佳Python开发工具推荐,每一款都是神器

在人工智能开启的时代,Python作为人工智能的首选语言,前景可以预见。因此学习Python的人越来越多。不过,很多初学Python的小白都一定有过这样的体验,因为没有好用的Python开发工具而吃了很多苦头。工欲善其事必先利其器&#xff0…

作者头像 李华
网站建设 2026/4/19 6:34:26

寻音捉影·侠客行惊艳演示:长音频分段缓存机制下内存占用稳定<1.2GB

寻音捉影侠客行惊艳演示&#xff1a;长音频分段缓存机制下内存占用稳定<1.2GB 在信息爆炸的时代&#xff0c;我们常常需要从海量的音频资料中快速定位关键信息。无论是长达数小时的会议录音、海量的播客素材&#xff0c;还是堆积如山的访谈记录&#xff0c;手动查找特定词汇…

作者头像 李华
网站建设 2026/4/19 6:24:17

开源大模型落地实践|NEURAL MASK幻镜企业级图像处理部署方案

开源大模型落地实践&#xff5c;NEURAL MASK幻镜企业级图像处理部署方案 1. 传统抠图工具的挑战与局限 在日常的图像处理工作中&#xff0c;我们经常遇到这样的困扰&#xff1a;想要将照片中的主体完美分离出来&#xff0c;却发现传统工具在处理复杂场景时力不从心。 特别是…

作者头像 李华
网站建设 2026/4/19 6:20:05

SQLite 分片方案实战:三种分片策略的深度对比

SQLite 分片方案实战&#xff1a;三种分片策略的深度对比当单文件 SQLite 遇到并发瓶颈&#xff0c;我们该如何破局&#xff1f;本文分享 HagiCode 项目中三种不同场景下的 SQLite 分片方案&#xff0c;帮你理解如何选择合适的分片策略。全民制作人们大家好&#xff0c;我是 Ha…

作者头像 李华