ARP协议
ARP(Address Resolution Protocol) 是 网络层协议之一,主要用于将网络层地址(IP地址)解析为物理层地址(MAC地址),解决网络层地址到物理层地址的映射问题。在TCP/IP协议套件中,ARP允许主机在局域网中找到目标主机的MAC地址,以便能够正确地将数据帧发送到目标主机。
ARP的主要功能
-
IP地址到MAC地址映射: 当一个主机知道目标主机的IP地址但不知道其MAC地址时,它可以使用ARP请求广播(broadcast)消息来查询目标主机的MAC地址。目标主机收到ARP请求后,会通过单播(unicast)方式发送包含其MAC地址的ARP响应消息。
-
ARP缓存: 主机在收到ARP响应后,会将得到的IP地址和MAC地址的映射关系存储在ARP缓存(ARP cache)表中。这样将来再次需要与同一目标主机通信时,就可以直接从ARP缓存中获取MAC地址,而无需再发送ARP请求。
-
ARP请求和响应消息: ARP请求消息是通过广播方式发送,因为发送ARP请求的主机并不知道目标主机的MAC地址,所以需要广播给局域网上的所有主机。目标主机在接收到ARP请求后,如果它的IP地址与请求中的目标IP地址匹配,就会回复一个ARP应答消息。
ARP的工作流程
- 当主机A需与主机B通信,但不知道主机B的MAC地址。
- 主机A发送一个ARP请求广播,询问局域网上是否有主机B的MAC地址。
- 主机B收到ARP请求后,(单播)回复一个ARP响应消息,包含它的MAC地址。
- 主机A收到ARP应答后,将主机B的IP地址和MAC地址的映射关系存储在ARP缓存中。
- 以后,主机A就可以直接从ARP缓存中获取主机B的MAC地址,而无需再发送ARP请求。
ARP常见的命令行工具
主要可以通过arp
命令来查看 ARP缓存表等信息。例如arp -a
可以查看ARP缓存基本信息
接口: 192.168.170.65 --- 0xf
Internet 地址 物理地址 类型
192.168.140.1 dc-fe-18-13-60-ba 动态
192.168.170.1 fc-aa-14-6c-f0-66 动态
192.168.170.255 ff-ff-ff-fx-ff-ff 静态