知识点
ARP 是 “Address Resolution Protocol” 的缩写,即地址解析协议。
该协议用于将网络层的 IP 地址转换为数据链路层的 MAC 地址,使数据包能够在局域网中正确地传输到目标设备。
arp 缓存类似一个表格,记录 Internet 地址(ip地址)对应的物理地址(mac地址)
相关命令
-
查看 ARP 缓存表:使用
arp -a
命令可以查看本地计算机的 ARP 缓存表,其中包含了 IP 地址与 MAC 地址的映射关系。例如在 Windows 系统的命令提示符中输入arp -a
,会显示类似以下内容:
arp -a Interface: 192.168.1.100 --- 0x5 Internet Address Physical Address Type 192.168.1.1 00-11-22-33-44-55 dynamic 192.168.1.2 66-77-88-99-aa-bb dynamic
-
添加静态 ARP 映射:可以使用
arp -s
命令手动添加静态 ARP 映射。例如,要将 IP 地址192.168.1.100
与 MAC 地址00-AA-BB-CC-DD-EE
绑定,可在命令提示符中输入arp -s 192.168.1.100 00-AA-BB-CC-DD-EE
。这样设置后,即使目标设备离线或网络环境变化,只要计算机不重启或 ARP 缓存未被清除,该映射关系就会一直存在于缓存中。
arp -s 192.168.1.100 00-AA-BB-CC-DD-EE
-
删除 ARP 缓存条目:使用
arp -d
命令可以删除 ARP 缓存中的特定条目。如果要删除 IP 地址192.168.1.100
对应的 ARP 缓存条目,可输入arp -d 192.168.1.100
。这在某些情况下很有用,比如当发现缓存中的某个映射关系错误或不再需要时,可以手动删除它,以便让系统重新通过 ARP 协议获取正确的映射信息。
遇到的问题
新电脑接入网络后,其他电脑无法ping通。后续发现同事输入 arp -a
后,可以ping通。
经查询AI,得到以下解释
当 IP 和 MAC 地址不一致时,进行ping
测试后,ARP 缓存通常会自动更新,过程如下:
-
发送 ARP 请求:当主机发送
ping
数据包时,首先会检查 ARP 缓存中是否有目标 IP 地址对应的 MAC 地址。如果发现缓存中的 MAC 地址与实际不一致(例如通过某种方式检测到或已知存在差异),或者缓存中根本没有该 IP 地址的记录,主机就会发送 ARP 请求广播,以获取目标 IP 地址对应的正确 MAC 地址。 -
接收 ARP 响应:目标设备收到 ARP 请求后,会发送包含其正确 MAC 地址的 ARP 响应。源主机接收到该响应后,会将目标 IP 地址和对应的新 MAC 地址更新到本地的 ARP 缓存中。
这样,在后续的网络通信中,主机就会使用更新后的 MAC 地址来与目标设备进行通信。不过,如果存在某些网络配置或安全策略限制了 ARP 协议的正常运行,可能会影响 ARP 缓存的自动更新。