对ARP协议的一些认识

318 阅读2分钟

「这是我参与2022首次更文挑战的第27天,活动详情查看:2022首次更文挑战」。

ARP协议功能

Address Resolution Protocol 是根据IP地址获取MAC地址的一个协议。

ARP静态映射

通过建立一张IP到MAC地址的映射表,将所有主机的IP和MAC地址存到这个映射表中(只是局域网,因为ARP出不了局域网)。然后在将这张表放在每个主机当中。

但是这种方法显然是有缺陷的,缺陷如下:

  1. 主机可能更换网络适配器(网卡),这样的话网络的MAC地址也会发生改变。
  2. 在某些局域网中,每当计算机加电时,他的物理地址都要改变一次。
  3. 移动电脑可以从一个物理网络转移到另一个物理网络,这样会时物理地址改变。

所以如果使用静态映射的话,总是需要定期去修改ARP映射表,这样的话很麻烦且会影响网络性能。

ARP动态映射

与静态映射不同的是,动态映射只要知道了目标主机的IP地址就可以通过协议来找出目标主机的MAC地址。

ARP协议的工作流程

image.png 如当主机A需要获得主机B的mac地址时,首先需要在自己的映射表中去查找,如果找到了映射记录,那么直接取出,如果没有找到则会往局域网中发送一个广播(ARP请求报文),这个报文中有自己的ip地址和mac地址以及目标主机的ip,每个主机在收到广播时会将主机A的映射添加到自己的映射表中,同时主机B会将自己的mac地址返回给主机A,主机A在将主机B的映射存入映射表中。