地址解析协议(ARP)如何工作?

2021年3月26日16:47:53 发表评论 1,045 次浏览

大多数计算机程序/应用程序使用逻辑地址(IP地址)来发送/接收消息,然而实际的通信发生在物理地址(MAC地址)上,即从OSI模型的第2层。所以我们的任务就是获取目标MAC地址,这有助于与其他设备进行通信。这就是ARP出现的地方,它的功能是把IP地址转换成物理地址。。

地址解析协议(ARP)如何工作?1

首字母缩写ARP代表地址解析协议,它是OSI模型中网络层最重要的协议之一。

注意:ARP从其已知IP地址中找到主机的硬件地址, 也称为媒体访问控制(MAC)地址。

地址解析协议(ARP)如何工作?2

让我们看一下ARP的工作原理。

想象一下, 一台设备想通过互联网与另一台设备通信。什么是ARP?它是否将数据包广播到源网络的所有设备。

网络的设备皮头数据链路层的协议数据单元(PDU)称为帧,传输数据包的网络层(第三层OSI)网络ID验证了数据包的目的地IP数据包的网络ID和如果是相等的,那么它对源与目的地的MAC地址,否则,信息包到达网络的网关,并向它连接的设备广播信息包,并验证它们的网络ID

上面的过程一直持续到到达路径中的倒数第二个网络设备为止, 该设备将在此经过验证, 并且ARP依次使用目标MAC地址进行响应。

与ARP相关的重要术语是:

  1. ARP缓存:解析MAC地址后, ARP会将其发送到源, 并将其存储在表中以备将来参考。后续通信可以使用表中的MAC地址
  2. ARP缓存超时:它表示ARP缓存中的MAC地址可以驻留的时间
  3. ARP请求:这无非是在网络上广播数据包以验证我们是否遇到了目标MAC地址。
    1. 发件人的物理地址。
    2. 发送者的IP地址。
    3. 接收方的物理地址为FF:FF:FF:FF:FF:FF或1。
    4. 接收方的IP地址
  4. ARP响应/回复:源从目的地接收到的是MAC地址响应, 这有助于进一步进行数据通信。
     
  • 情况1:发件人是主机, 想要将数据包发送到同一网络上的另一主机。
    • 使用ARP查找其他主机的物理地址
  • 情况2:发件人是主机, 想要将数据包发送到另一个网络上的另一个主机。
    • 发件人查看其路由表。
    • 查找此目标的下一跳(路由器)的IP地址。
    • 使用ARP查找路由器的物理地址
  • 情况3:发送者是路由器, 并接收了发往另一个网络上主机的数据报。
    • 路由器检查其路由表。
    • 查找下一个路由器的IP地址。
    • 使用ARP查找下一个路由器的物理地址。
  • 情况4:发送者是已经接收到发往同一网络中主机的数据报的路由器。
    • 使用ARP查找该主机的物理地址。

注意:ARP请求是广播, 而ARP响应是单播。

测试自己 : 

地址解析协议(ARP)如何工作?3

用交叉电缆连接两台PC, 例如A和B。现在, 你可以通过键入以下命令来查看ARP的工作方式:

1. A > arp -a

表中将没有任何条目, 因为它们从未相互通信。

地址解析协议(ARP)如何工作?4
2. A > ping 192.168.1.2

IP address of destination is 192.168.1.2
Reply comes from destination but one packet is lost because of ARP processing.
地址解析协议(ARP)如何工作?5

现在, 可以通过键入命令查看ARP表的条目。

ARP表如下所示:

地址解析协议(ARP)如何工作?6

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: