摘要:“既然每个设备都有IP地址,能全球定位,那为什么还要一个看起来‘多余’的MAC地址?”“能不能直接用IP通信,去掉MAC?”
号主:老杨丨11年资深网络工程师,更多网工提升干货,
“既然每个设备都有IP地址,能全球定位,
那为什么还要一个看起来‘多余’的MAC地址?”
“能不能直接用IP通信,去掉MAC?”
这是不少网络初学者的经典疑问。
毕竟,IP地址像是“身份证号”,而MAC地址像是一串看不懂的“出厂编号”,似乎只有ARP表里才会出现。
但事实上,MAC地址不仅是必要的,而且是网络通信的基石。
没有它,互联网根本无法运转。
今天就从分层架构、寻址机制、物理实现三个维度,彻底讲清楚:为什么必须有MAC地址?它和IP是什么关系?
要理解MAC地址的存在意义,必须先明白一个基本原则:
OSI七层模型 / TCP/IP四层模型
网络通信被划分为不同层次,每一层解决特定问题,各司其职,互不干扰。
✅ 简单类比:
IP地址 = 收件人地址(北京市朝阳区XXX大厦)MAC地址 = 收件人姓名(张三)快递员(网络)先根据地址找到大厦(IP路由),
再在前台问:“张三在吗?”(MAC寻址)。
假设:
电脑A:IP 192.168.1.10,MAC AA:AA:AA:AA:AA:AA
电脑B:IP 192.168.1.20,MAC BB:BB:BB:BB:BB:BB
两者连接在同一台交换机上
当A想给B发消息时:
192.168.1.20 与 自己同属 192.168.1.0/24 → 是!
结论:无需路由器,直接二层转发
A查本地ARP缓存:有没有“192.168.1.20 → ?”的记录?
没有 → 发起 ARP广播:
“谁是192.168.1.20?请告诉我你的MAC地址!”
B收到ARP请求 → 回复:
“我是192.168.1.20,我的MAC是 BB:BB:BB:BB:BB:BB”
数据包(IP层):源IP=192.168.1.10,目的IP=192.168.1.20
数据帧(链路层):源MAC=AA:AA:AA:AA:AA:AA,目的MAC=BB:BB:BB:BB:BB:BB
交换机根据目的MAC地址,精准转发到B的端口
关键点:
交换机只认MAC地址,不看IP。
它的工作原理就是“学习MAC→转发帧”。
假设取消MAC地址,只靠IP通信:
五、常见误解澄清来源:网络工程师俱乐部一点号