MAC地址与ARP协议:数据链路层的寻址魔法
引言 上一篇我们学习了IP地址,它是网络层的逻辑地址,用于跨网络寻址。 但你有没有想过一个问题:既然有了IP地址,为什么还需要MAC地址? 这是一个非常好的问题,涉及到网络分层设计的核心思想。 第一性原理:为什么需要两种地址? 问题场景 假设你要给朋友寄一封信: 方案1:只用身份证号 身份证号:320123199001011234 问题:❌ 无法投递(不知道地址在哪里) 方案2:只用门牌号 门牌号:XX街道XX号 问题:❌ 无法确认收件人身份 方案3:身份证号 + 门牌号 身份证号:确认收件人身份 门牌号:确认投递地址 结果:✅ 准确投递 类比理解 概念 现实世界 网络世界 身份标识 身份证号 IP地址 位置标识 门牌号 MAC地址 作用范围 全国唯一 全球唯一(IP) 作用范围 本地唯一 本地唯一(MAC) 是否变化 不变 IP可变 是否变化 可变(搬家) MAC不变 为什么需要两个地址? IP地址(网络层): ✅ 全球唯一(公网IP) ✅ 可路由(根据前缀转发) ✅ 逻辑地址(可变,如DHCP分配) ❌ 无法直接传输(需要知道下一跳的物理地址) MAC地址(数据链路层): ✅ 全球唯一(网卡出厂固化) ✅ 可直接传输(同一网段) ❌ 不可路由(平坦地址空间) ❌ 仅本地有效(跨路由器会被替换) 结论: IP地址:解决"要去哪里"的问题(目的地) MAC地址:解决"怎么去"的问题(下一跳) ARP协议:解决"IP → MAC"的映射问题 MAC地址详解 什么是MAC地址? MAC(Media Access Control)地址:媒体访问控制地址,也叫物理地址或硬件地址。 ...