一、两个地址分别是什么
1. MAC 地址(物理地址)
- 所属层级:数据链路层(二层)地址
- 本质 :网卡的物理身份标识。每块网卡出厂时,厂商都会烧录一个全球唯一的 48 位二进制地址,通常写成 16 进制冒分格式,例如
00:11:22:33:44:55。 - 作用范围 :仅在同一个局域网内有效,用来在局域网内定位具体设备,完成以太网帧的精准转发。
- 核心特点:硬件固定,一台设备无论连到哪个网络,自身的 MAC 地址出厂值都不变(可软件修改但硬件标识唯一)。
- 对应设备:交换机依靠 MAC 地址转发数据,内部维护「端口号 - MAC 地址」映射表。
2. IP 地址(逻辑地址)
- 所属层级:网络层(三层)地址
- 本质 :设备的网络位置标识,由运营商、网络管理员动态分配。IPv4 为 32 位(点分十进制,如
192.168.1.1),IPv6 为 128 位,解决 IPv4 地址枯竭问题。 - 作用范围 :全球互联网范围有效,用来跨网络寻址、选择传输路径,在全网范围内定位设备的网络位置。
- 核心特点:随网络位置变化。同一台设备从家里换到公司网络,IP 地址会改变;同一局域网内的设备,IP 的网络位必须相同。
- 对应设备:路由器依靠 IP 地址转发数据,内部维护「网段 - 下一跳地址」路由表。
二、核心对比表
表格
| 对比维度 | MAC 地址 | IP 地址 |
|---|---|---|
| 工作层级 | 数据链路层(二层) | 网络层(三层) |
| 地址长度 | 48 位(6 字节) | IPv4:32 位;IPv6:128 位 |
| 分配方式 | 网卡出厂时厂商烧录,硬件固定 | 网络 / 运营商动态分配,逻辑可改 |
| 唯一性 | 全球硬件唯一 | 同一网络内唯一,不同内网可重复(如私网 IP) |
| 作用范围 | 仅局域网内寻址 | 跨网、全球范围寻址 |
| 转发设备 | 交换机 | 路由器 |
| 变化特性 | 设备不变,MAC 基本不变 | 设备换网络,IP 就会变 |
| 地址结构 | 平面无层级,无法聚合 | 分层结构(网络位 + 主机位),可按网段聚合 |
三、两者如何配合工作:ARP 协议做桥梁
MAC 负责内网找人,IP 负责跨网指路,二者靠ARP 地址解析协议 衔接,核心作用是:已知目标 IP 地址,获取对应的 MAC 地址。
场景 1:同一局域网内通信
比如同办公室两台电脑互传文件,同属192.168.1.x网段:
- 发送方先查本地 ARP 缓存,看有没有目标 IP 对应的 MAC 地址;
- 缓存中没有的话,发送ARP 广播帧:「IP 是 192.168.1.10 的设备,请回复你的 MAC 地址」,局域网内所有设备都能收到;
- 只有 IP 匹配的设备会回复 ARP 应答,把自己的 MAC 地址返回给发送方;
- 发送方拿到 MAC 后,封装以太网帧(填写源目 MAC),直接通过交换机发给目标设备。
场景 2:跨网络通信(互联网场景)
比如家用电脑访问百度服务器,二者不在同一网段:
- 发送方判断目标 IP 和自己不在同一网段,不会直接 ARP 目标 IP,而是把数据发给网关(路由器内网口);
- 发送方用 ARP 获取网关的 MAC 地址,封装帧时:目的 MAC 填网关的 MAC,目的 IP 始终是百度服务器的 IP;
- 路由器收到帧后,拆掉帧头,读取 IP 头的目标地址,查路由表找到下一跳路由器;
- 路由器重新封装帧:源 MAC 换成自己出接口的 MAC,目的 MAC 换成下一跳路由器的 MAC,继续转发;
- 经过多跳路由器后,数据到达目标服务器所在的局域网,最后一跳路由器用 ARP 获取服务器的 MAC,最终交付数据。
关键结论
跨网传输全程,源 IP、目的 IP 始终不变 (指明最终目的地); 但每经过一跳路由器,源 MAC、目的 MAC 都会被重新封装、逐跳替换(负责当前路段的精准交付)。
四、为什么需要两个地址,缺一不可?
1. 为什么有了 MAC,还要 IP?
MAC 地址是平面无结构的,没有网段层级之分。如果互联网全靠 MAC 寻址,路由器需要保存全世界几十亿设备的 MAC 地址,路由表会彻底爆炸,根本无法实现。 IP 地址是分层设计的,可以按网段聚合,一个路由条目可以代表一个网段的成千上万台设备,才能支撑起全球规模的互联网路由。
2. 为什么有了 IP,还要 MAC?
IP 是逻辑地址,只靠 IP 无法完成局域网内的二层转发。交换机工作在数据链路层,只识别 MAC 地址,不解析 IP;同时局域网内设备的 IP 可以随时修改,MAC 是设备的固定物理标识,二层转发靠 MAC 更稳定可靠。
通俗类比总结
把互联网比作全国快递系统:
- IP 地址 = 省 + 市 + 区 + 街道 + 门牌号:用来在全国范围定位收货地址,快递从发货到送达,收货地址全程不变;
- MAC 地址 = 小区快递柜编号 / 楼栋门禁号:只在当前小区(局域网)内有效;快递每到一个中转站,下一段的交接对象都会变(快递员→驿站→收件人),对应 MAC 逐跳替换。
谢谢