文章最后更新时间:2025年12月31日
今天这期视频将带你彻底搞懂 ARP,如果当前你没有时间看完,可以先点赞收藏,等你有时间的时候慢慢看。
很多人第一次听到 ARP,可能会觉得很陌生,但实际上,只要你的电脑、手机、平板连上了局域网,ARP 就一直在默默工作,没有它网络通信几乎无法进行。ARP 的全称是Address ReSolution Protocol,中文叫做地址解析协议,它的作用是在局域网中,根据 IP 地址找到对应的MAC 地址,从而让数据能够在局域网中正确发送。这里要注意区别 IP 的作用:IP 负责跨网络、跨地区的通信,MAC 负责同一个局域网内部的通信。

在真实的物理网络世界里,网络设备之间并不认识 IP 地址,网卡和交换机只认一样东西,那就是 MAC 地址。你可以把 MAC 地址想象成设备出厂时就设置在网卡上的、全球唯一的身份证号码。在局域网内,交换机是根据 MAC 地址来转发数据的,也就是说,哪怕你知道对方的 IP,如果不知道 MAC 地址,你也没法把数据包送到他手上。而 ARP 协议的核心作用,就是把已知的 IP 地址解析成对应的 MAC 地址。
咱们拿实际场景讲它的工作流程,比如你的电脑 A,IP 为 192.168.1.5,要给同事的电脑 B,IP 为 192.168.1.20 传文件,步骤很明确:第一步,发起广播查询(ARP 请求报文):电脑 A 知道 B 的 IP 是 192.168.1.20,但没有 B 的 MAC 地址,这时候,A 会通过局域网发一条广播消息,这条消息会发给局域网里所有设备,内容就是 “谁的 IP 是 192.168.1.20,请把你的 MAC 地址告诉我”。第二步,目标设备回应(ARP 响应报文):局域网里的其他设备收到这条消息后,会对比自己的 IP,如果不是 192.168.1.20 就直接忽略;只有电脑 B 发现这个 IP 是自己的,会立刻给 A 发一条单播回应,内容是 “我的 IP 是 192.168.1.20,MAC 地址是 aabbccddeeff”,这条回应只发给 A,不会打扰其他设备。第三步,存储缓存表:电脑 A 收到 B 的回应后,会把 192.168.1.20 对应 MAC 地址 aabbccddeeff 这组对应关系,存到自己的 ARP 缓存表里。这个缓存表是临时存储的,下次 A 再给 B 传数据,不用再广播查询,直接查缓存表就能拿到 MAC 地址,传数据更快。第四步,数据精准传输:拿到 MAC 地址后,A 会给要传的数据包加上收件人 MAC aabbccddeeff 的标识,局域网里的交换机设备看到这个标识,就知道要把数据包传给 B,数据就能准确送达。
有人可能会问,ARP 缓存表为什么不永久保存?因为局域网里的 IP 地址可能会变动,比如公司重新分配 IP,或者设备重启后获取了新 IP,如果缓存表永久保存,原来的 IP 和 MAC 对应关系就失效了,数据会传错。所以缓存表有有效期,一般 10-20 分钟,过期后会自动删除,下次通信再重新查询,保证对应关系准确。
除了解析地址,ARP 还有个实用功能 ——检测 IP 冲突。当你的设备连上网时,会主动发一条免费 ARP 消息,内容是 “有没有设备在用我这个 IP”。如果没人回应,说明这个 IP 没人用,设备就能正常联网;如果有其他设备回应,就会弹出 IP 地址冲突的提示,避免两台设备用同一个 IP 导致通信故障。
这里也要提一下 ARP 的安全问题:ARP 没有认证机制,因此可能会被伪造,从而产生ARP 欺骗等攻击。ARP 欺骗,就是黑客会伪造一条 ARP 响应报文,发给局域网里的设备,让其他设备把数据传给自己,实现截获数据。不过不用慌,防护方法很简单,公司防火墙或路由器等设备里,会开启 ARP 绑定功能,人为地把 IP 和 MAC 地址强制绑定,一旦绑定,就只能用这个对应关系通信。
总结一下,ARP 协议就是局域网里的 IP-MAC 解析工具,核心是把 IP 地址转换成设备通信必须的 MAC 地址,通过广播查询、单播回应获取地址,用缓存表提高效率,还能检测 IP 冲突。没有 ARP,局域网数据根本无法正确送达,它是网络通信最基础的底层协议之一。

还没有评论,来说两句吧...