📅  最后修改于: 2020-11-10 05:46:28             🧑  作者: Mango
ARP代表地址解析协议,用于从设备的已知IP地址中查找设备的MAC地址。这意味着源设备已经知道目标设备的IP地址但不知道其MAC地址。需要设备的MAC地址,因为您无法在不知道其MAC地址的情况下与局域网(以太网)中的设备通信。因此,地址解析协议有助于获取目标设备的MAC地址。
场景1:数据包丢失或错误。
ARP的目的是将32位逻辑地址(IPv4地址)转换为48位物理地址(MAC地址)。该协议在OSI模型的第2层和第3层之间起作用。 MAC地址位于第2层,也称为数据链路层,而IP地址位于第3层,该层也称为网络层。
注意:仅当两个设备(源和目标)都在同一网络中时,才会生成ARP请求。
示例:假设两个设备(设备A和设备B)要相互通信。设备A已经知道设备B的IP地址。但是,为了与设备B进行通信,设备A仍然需要设备B的MAC地址。该IP地址用于在局域网上定位设备,并且MAC地址用于标识实际设备。设备A首先查看其内部列表,称为ARP缓存(表),以检查设备B的IP地址是否已经包含其MAC地址。如果ARP表由设备B的MAC地址组成,则设备A只需使用该MAC地址并开始通信。
如果该表不包含设备B的MAC地址,则设备A在网络上发送ARP广播消息,以了解哪个设备具有该特定IP地址,并询问该特定设备的MAC地址。然后,具有与源地址匹配的IP地址的设备将发送由设备B的MAC地址组成的ARP响应消息。当设备A获得设备B的MAC地址时,它将信息存储在ARP缓存中(表)。 ARP缓存用于提高网络效率。它存储设备的IP地址及其MAC地址。当设备A希望与网络上的设备B通信时,将使用存储的信息,而无需再次在网络上广播消息。它将仅检查ARP缓存中的条目,然后将其用于通信。
注意:ARP请求消息本质上是广播的,但是ARP响应消息是单播的。
将IP地址映射到MAC地址有两种不同的方法,如下所示:
静态映射-在静态映射中,表由目标设备的逻辑地址和相应的物理地址组成。在这种情况下,设备的IP和MAC地址是在ARP表中手动输入的。如果源要与目标设备通信,则源设备必须首先访问该表。
动态映射-在动态映射中,如果一台设备知道另一台设备的逻辑地址,则通过使用地址解析协议,该设备还将找到该设备的物理地址。当源设备发送ARP广播请求时,会自动创建动态条目。这些条目不是永久性的,并且会定期清除。
注意:在反向地址解析协议中也使用了动态映射。