ARP (Address Resolution Protocol)地址解析协议:
根据已知的IP地址解析获得其对应的MAC地址。
ARP是IPv4中必不可少的一种协议,它的主要功能是:
将IP地址解析为MAC地址;
维护IP地址与MAC地址的映射关系的缓存,即ARP表项;
实现网段内重复IP地址的检测。
ARP表包含ip地址、mac地址的映射关系
老化:arp表和mac表,当达到配置的表项老化时间后,根据探测次数每隔5s发送一个探测报文,如果一直没有收到应答消息则表项被删除。
默认
ARP表项的老化超时时间:缺省值是1200秒;
MAC表的老化超时时间:缺省值是300秒 ;
修改命令
arp expire-time命令用来设置动态ARP表项的老化超时时间。
mac-address aging-time命令用来设置动态MAC地址表项的老化时间
arp detect-times命令修改arp探测次数。默认探测次数是3次
不可修改的老化时间
除原有的老化时间探测,交换机新增加了1/2探测时间点和3/4探测时间点,这两个探测时间点的探测次数都为3次,不能修改。
比如,expire-time为20分钟(1200s),detect-times为6,当到达10分钟时,每隔5s发一个arp探测报文,连续发3次;到达15分钟时,同样发3次arp探测;当到达20分钟时,发6次arp探测,若一直没有收到回应报文,则表项删除。
比如: 配置expire-time为60s, detect-times为6。
那么当到达60s时,每隔5s发送一个arp探测报文,若一直没有收到回应报文,则表项删除,那么实际表项老化所需要的时间为:(60+6*5)=90s
1、arp -a 查看ARP缓存
2、arp -d 清除arp缓存
3、arp -s arp绑定
1、静态ARP绑定:手工绑定/双向绑定
Windows客户机上:
arp -s 10.1.1.254 00-20-2c-a0-e1-o9
ARP协议工作原理
网络设备一般都有一个ARP缓存(ARP Cache)。ARP缓存用来存放IP地址和MAC地址的关联信息。
在发送数据前,设备会先查找ARP缓存表。如果缓存表中存在对方设备的ARP表项,则直接采用该表项中的MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应信息,则通过发送ARP Request报文来获得它。
ARP Request报文中包含发送端MAC地址、发送端IP地址、目的端MAC地址、目的端IP地址,其中目的端MAC地址的值为0。ARP Request报文会在整个网络上传播,该网络中所有主机包括网关都会接收到此ARP Request报文。
学习到的IP地址和MAC地址的映射关系会被放入ARP缓存表中存放一段时间。在有效期内(缺省:180s),设备可以直接从这个表中查找目的MAC地址来进行数据封装,而无需进行ARP查询。过了这段有效期,ARP表项会被自动删除。
如果目标设备位于其他网络,则源设备会在ARP缓存表中查找网关的MAC地址。然后将数据发送给网关。最后网关再把数据转发给目的设备。
所有的主机接收到该ARP Request报文后,都会检查它的目的端IP地址字段与自身的IP地址是否匹配。如果不匹配,则该主机将不会响应该ARP Request报文。如果匹配,则该主机会将ARP请求报文中的发送端MAC地址和发送端IP地址信息记录到自己的ARP缓存表中,然后通过ARP Reply报文进行响应。ARP Reply报文通过单播传送。
当本网络的所有主机收到该 ARP 请求数据包时:
(A)首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。
(B)如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。
(C) 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
(D)源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。