📅  最后修改于: 2020-11-10 05:35:04             🧑  作者: Mango
ARP(地址解析协议)的工作
通常,计算机程序使用IP地址(逻辑地址)发送或接收消息,因此实际的通信是通过物理地址(MAC地址)进行的。因此,我们的目标是找出允许我们与其他设备进行通信的目的地的MAC地址。在这种情况下,实际上需要ARP,因为它将IP地址转换为物理地址。
ARP的工作
- 在网络层,当源要与目标进行通信时。首先,源需要找出目标的MAC地址(物理地址)。为此,源将检查ARP缓存和ARP表以了解目标的MAC地址。如果目标的MAC地址存在于ARP缓存或ARP表中,则源将使用该MAC地址进行通信。
- 如果目标的MAC地址不在ARP缓存或ARP表中,则源将生成ARP请求消息。 ARP请求消息由源的MAC地址和IP地址组成。它还包含目标的IP地址和MAC地址。目的地的MAC地址保留为空,因为用户已请求此地址。
- ARP请求消息将由源计算机广播到本地网络。 LAN网络中的所有设备都将接收广播消息。现在,每个设备都将自己的IP地址与目标IP地址进行比较。如果设备的IP地址与目标的IP地址匹配,则该设备将发送ARP答复消息。如果设备的IP地址与目的地的IP地址不匹配,则设备将自动丢弃该数据包。
- 当目标地址与设备匹配时,目标将发送ARP应答数据包。该ARP应答数据包由设备的MAC地址组成。目标设备自动更新表并存储源的MAC地址,因为从源进行通信将需要此地址。
- 现在,源充当目标设备的目标,并且目标设备发送ARP Reply消息。
- ARP答复消息是单播而不是广播。这是因为正在发送ARP Reply消息的设备(目标)知道向其发送ARP Reply消息的设备(源)的MAC地址。
- 当源设备收到ARP Reply消息时,它将知道目的地的MAC地址,因为ARP Reply数据包包含目的地的MAC地址以及其他地址。源将更新ARP缓存中目标的MAC地址。现在,发件人可以直接与目的地通信。
使用ARP的优点
- 如果我们知道该设备的IP地址,则可以轻松找到该设备的MAC地址。
- 不需要为MAC地址配置终端节点的地址。我们可以在需要时找到它。
使用ARP的缺点
- 可能会发生ARP欺骗,例如ARP欺骗和ARP拒绝服务。