ARP 地址解析协议

发布时间 2023-10-06 07:22:21作者: 香吧香

转载请注明出处:

概念:

  ARP(Address Resolution Protocol)是一种网络协议,用于将网络层的IP地址映射到物理网络接口(MAC地址),以便在局域网(LAN)上进行通信。其主要作用是解决从IP地址到MAC地址的映射关系,使得数据包能够通过物理网段正确地传递。

当计算机发送数据包到目标IP地址时,它需要知道目标IP对应的MAC地址才能正确地转发数据。这时就会使用ARP协议来完成以下过程:

  1. ARP请求(ARP Request):发送方主机向局域网上的广播地址发送一个ARP请求,该请求包含源主机的IP地址和MAC地址,并询问具有目标IP地址的设备的MAC地址。

  2. ARP应答(ARP Reply):拥有目标IP地址的设备收到ARP请求后,会向发送方主机发送一个ARP应答,其中包含它的IP地址和MAC地址。

  3. ARP缓存(ARP Cache):发送方主机在收到ARP应答时,将对应IP地址和MAC地址的映射关系存储在ARP缓存中,在之后的通信中可以直接使用该映射关系。

ARP协议的使用场景:

  1. 在局域网内部,当主机A要发送数据给主机B时,会先通过ARP协议查询目标主机B的MAC地址,并将数据包封装在以太网帧中发送到目标MAC地址。

  2. 当一个路由器接收到一个来自外部网络的数据包,并需要将其转发到目标主机时,也会利用ARP协议查询目标主机的MAC地址。

ARP协议的常用配置:

  • ARP协议的配置通常涉及以下两个方面:

  1. ARP缓存表:每个主机或路由器都维护一个ARP缓存表,其中存储了IP地址和相应的MAC地址的对应关系。该表用于快速查找目标MAC地址,在必要时可以手动添加或删除条目。

  2. ARP请求与回应:当一个主机需要获取另一个主机的MAC地址时,它会发送一个ARP请求广播消息,询问该IP地址对应的MAC地址。而目标主机则会回复一个ARP响应消息,包含自己的MAC地址。

ARP协议的使用过程:

  以下是一个示例说明ARP的使用过程:

假设有两台主机A和B,它们连接在同一个局域网上,具有以下信息:

  • 主机A的IP地址:192.168.0.10,MAC地址:AA:BB:CC:DD:EE:FF

  • 主机B的IP地址:192.168.0.20,MAC地址:11:22:33:44:55:66

  1. 主机A想要向主机B发送数据包。

  2. 主机A首先检查ARP缓存,看是否有目标IP地址(192.168.0.20)对应的MAC地址。

  3. 如果在ARP缓存中找到了目标IP地址对应的MAC地址,则直接使用该映射关系发送数据包。

  4. 如果ARP缓存中没有目标IP地址的映射关系,在主机A上发送一个ARP请求,广播给整个局域网。

  5. 主机B收到ARP请求后,检查请求中的IP地址是否与自己的IP地址相匹配。

  6. 如果匹配,主机B会发送一个ARP应答,将自己的IP地址和MAC地址作为应答发送给主机A。

  7. 主机A收到ARP应答后,将目标IP地址(192.168.0.20)和相应的MAC地址(11:22:33:44:55:66)存储在ARP缓存中,并使用此映射关系发送数据包到主机B。

  这样,通过ARP协议的帮助,主机A成功地获取了主机B的MAC地址,并可以进行正常的通信。

  需要注意的是,ARP协议仅适用于同一物理网络的局域网内部,而不涉及跨越路由器的网络通信。对于跨越子网的通信,使用ARP的方法与上述过程略有不同,包括使用代理ARP或者通过网关进行通信。

查看路由器或主机上的ARP缓存表:

  • 在Windows操作系统上,可以使用命令arp -a来查看本地主机的ARP缓存表。在路由器上,具体的查看方法可能因厂商和操作系统而异。

  • 在Linux操作系统上,可以使用命令arp -n来查看本地主机的ARP缓存表。路由器上的具体查看方法可能需要参考相关文档或运行特定的命令。

  • 在路由交换设备上,可以通过dispaly arp all 命令查看当前所有得arp缓存表。