号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
很多入门网络的小伙伴一开始都困惑过这个问题:
★“既然 MAC 地址能唯一标识设备,那干嘛还要搞个 IP 地址?”
这个问题其实不简单,甚至在某些网络考试里也是送分or送命题。
如果你只会说“MAC 是物理地址,IP 是逻辑地址”,那还只是停留在表面。
今天咱们就深挖一波:
MAC 和 IP 到底各自负责啥?为啥非得两个一起用?可不可以只用一个?
一、MAC 地址,能不能干掉 IP 地址?
你先设想一下:
我把公司所有电脑都设置好 MAC 地址,交换机也能学到 MAC 表。
那我直接通过 MAC 发数据就好了,干嘛还多一层 IP?
看起来很合理,但只要你跳出“局域网”这个场景,问题立刻爆发。
二、MAC 地址解决的是“本地定位”,IP 解决的是“全球寻址”
这是核心区别,先看个类比:
MAC 地址像身份证号:只在你当前的“房间”能直接查到
IP 地址像邮政地址:能让别人从全球任意地方给你送信
举个通俗的例子:
你在公司楼下拿快递,你只需要告诉快递小哥:“我在三楼打印间,穿蓝衣服”。
这是 MAC 地址能解决的事:局域网内广播 + MAC 定位。
但如果朋友从老家寄快递到你公司:
★他不可能知道你穿什么衣服,也不可能广播喊你名字
必须写清楚:城市 → 街道 → 大厦 → 楼层 → 部门 → 工位
这就是 IP 地址的职责:全球统一分层寻址 + 路由转发可达性
三、IP 地址负责找“哪条路”,MAC 地址负责找“具体人”
网络通信过程本质上是两层寻址:
IP 地址负责路径选择(路由)
- 数据从源网段传到目标网段,靠的是 IP 的路由机制
- 哪台路由器负责哪段网段,靠的是路由表
- IP 决定数据要送到哪台机器(逻辑意义)
MAC 地址负责二层定位(交换)
- 数据到达最后一跳后,怎么找到目标主机?靠 MAC
- 交换机通过学习 MAC 表,把数据从正确端口转发出去
- MAC 决定电缆口/无线接点上的设备是谁(物理意义)
所以,两者不是谁替代谁,而是一起协同。
四、没有 IP,网络就没法“跳出局域网”
只靠 MAC,有这些硬伤:
而 IP 有严格的层次结构(子网掩码、网段、路由聚合),
所以可以规划网络结构、做控制策略、实现分布式通信。
五、ARP 协议正是 MAC 和 IP 联动的桥梁
为了让 MAC 和 IP 协同工作,网络里引入了 ARP(地址解析协议):
- 应用发起请求 → OS 检查目标 IP 是否同网段
- 是:发 ARP 广播,问“这个 IP 的 MAC 是谁?”
- 不是:发给网关,由网关继续路由转发
所以你看到的真实通信是这样的:
IP Packet → 封装在 MAC Frame 里 → 到达下一跳
MAC 是送到“下一跳”,IP 决定了整个“目的地”。
六、那有没有只用 MAC 或只用 IP 的场景?
还真有!
1. 纯二层网络(小型局域网)
- 所有设备都在一个 VLAN、不跨子网
- 不需要网关,只要 ARP + MAC 就能通信
- 常见于实验室、小型办公场景
但缺点是:扩展性差,广播风暴风险高
2. L3 网络虚拟化(VXLAN、SDN)
- MAC 层不再是真实物理地址,而是“逻辑映射”
- IP 成为主导的传输和调度手段
- 数据中心互联几乎全靠 IP + Overlay 实现跨域通信
七、小结一句话:
有了 MAC 还要 IP,是因为你不只是在同一个房间里喊人,而是要跨城送快递。
MAC 是“找到设备”的最后一步,IP 是“怎么找到这台设备”的全路径策略。
两者搭配,才能支撑起一个可规划、可管理、可扩展的全球网络系统。
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部