地址解析协议(ARP)提供了一种IPv4地址和各种网络技术使用的硬件地址之间的映射。

ARP仅用于IPv4、IPv6使用邻居发现协议,被合并入ICMPv6

直接交付

ARP运行要求:仅适用于广播网络,链路层能将一个消息交付到它连接的所有网络设备。

在一个共享的链路层网段上,ARP向所有主机发送一个称为ARP请求的以太网帧。

以太网主机在同一广播域中,ARP查询使用链路层广播帧发送,并被所有主机接收。

IP地址匹配的主机直接向请求主机返回响应。IP地址不匹配的主机主动丢弃ARP查询

ARP缓存表

ARP高效运行的关键是维护每个主机结合路由器上的ARP缓存表。

该缓存使用地址解析为每个接口维护从网络层地址到硬件地址的最新应用。

当IPv4地址映射到硬件地址时,它对应于高速缓存中的一个条目,其正常到期时间是条目创建开始后的20分钟。

查看ARP缓存表:

arp -a

接口: 192.168.31.33 --- 0xe
Internet 地址 物理地址 类型
192.168.31.1 28-6c-07-0a-11-3a 动态
192.168.31.157 88-bf-e4-99-fa-b0 动态
192.168.31.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.2 01-00-5e-00-00-02 静态
224.0.0.22 01-00-5e-00-00-16 静态

动态ARP

动态ARP指的是通过报文去学习ARP表项,不需要管理员手工建立和维护,动态条目随时间推移自动添加和删除

  • 每个动态ARP缓存条目默认的生命周期是两分钟。当超过两分钟,该条目会被删掉。所以,生命周期也被称为超时值。
  • 延长规则:当ARP条目已存在,使用该条目后,将会重设超时值为两分钟。

静态ARP

静态ARP指的是需要管理员手工指定建立AP-MAC映射表,需要管理员手工建立和维护。

ARP帧格式

2012041215590890

image-20200719180849457

  • 硬件类型:表示硬件地址的类型,值为1表示以太网地址
  • 协议类型:表示要映射的协议地址类型,值为0x0800表示IP地址类型
  • 硬件地址长度和协议地址长度:分别指出硬件地址和协议的长度,以字节为单位。对于以太网上 IP 地址的ARP请求或应答来说,它们的值分别为 6 和 4
  • 操作类型(op):1表示ARP请求,2表示ARP应答,RARP 请求为 3,RARP 响应为 4

免费ARP

免费ARP:发生在一台主机发送ARP请求以寻找自己的地址

应用:

  • 用于检测IP地址冲突,当一台主机发送了免费ARP请求报文后,如果收到了ARP响应报文,则说明网络内衣存在使用该IP的主机
  • 利用免费ARP确认设备接口IP地址
  • 使用免费ARP报文,更新某些设备的ARP表现
  • 利用免费ARP的攻击