电脑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发消息时:

步骤1:A检查目标IP是否在同一网段?

192.168.1.20 与 自己同属 192.168.1.0/24 → 是!

结论:无需路由器,直接二层转发

步骤2:A需要知道B的MAC地址

A查本地ARP缓存:有没有“192.168.1.20 → ?”的记录?

没有 → 发起 ARP广播: “谁是192.168.1.20?请告诉我你的MAC地址!”

步骤3:B回应自己的MAC

B收到ARP请求 → 回复: “我是192.168.1.20,我的MAC是 BB:BB:BB:BB:BB:BB”

步骤4:A封装数据帧,发给交换机

数据包(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→转发帧”。

三、如果只有IP,会发生什么?

假设取消MAC地址,只靠IP通信:

问题1:交换机如何知道把数据发给谁?

交换机工作在二层,没有IP路由表

如果没有MAC地址,它无法建立“端口↔设备”映射

只能广播所有流量 → 网络拥塞、安全风险

问题2:同一网段内无法高效寻址

没有ARP和MAC → 每次通信都要“喊所有人”

所有设备都要处理无关数据包 → CPU浪费

问题3:跨厂商设备兼容性崩溃

MAC地址是IEEE统一管理的全球唯一标识

不同厂商的网卡、交换机都遵循同一标准

如果每家定义自己的“物理地址”,网络将碎片化

四、MAC地址的不可替代性

1. 支持多种网络技术

同一个IP协议,可以在不同底层网络运行:

以太网(MAC)

WiFi(MAC)

PPP(无MAC,点对点)

ATM(使用VPI/VCI)

MAC是“适配层”,让IP能灵活运行在各种物理介质上

2. 实现二层隔离与安全

VLAN、端口安全、MAC过滤等功能都依赖MAC地址

例如:交换机可设置“只允许特定MAC接入”

3. 支持无IP通信

某些协议如 ARP、STP、CDP、LLDP 只在二层运行

它们不依赖IP,但需要MAC地址传输

五、常见误解澄清

六、IP与MAC,缺一不可

IP地址负责“寻路” ——

如何跨越多个网络,找到目标子网。

MAC地址负责“投递” ——

在最后一公里,把数据准确交给目标设备。

它们的关系不是“谁替代谁”,

而是“逻辑寻址”与“物理寻址”的完美协作。

原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部返回搜狐,查看更多