地址解析协议(ARP)

1.ARP概述

  • ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取数据链路层地址的一个TCP/IP协议。

2.ARP的作用

  • 将IP地址解析为MAC地址;
  • 维护IP地址与MAC地址的映射关系的缓存,即ARP表项;
  • 实现网段内重复IP地址的检测

3.ARP的工作过程

  • 网络设备一般都有一个ARP缓存(ARP Cache), ARP缓存用来存放IP地址和MAC地址的关联信息。
  • 在发送数据前,设备会先查找ARP缓存表,如果缓存表中存在对方设备的ARP表项,则直接采用该表项中的MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应信息,则通过发送ARP Request报文来获得它。
  • ARP Request 报文封装在以太网帧中,帧头中的源MAC地址(以太网源地址)为发送端主机的MAC地址。此时由于发送端主机不知道目的设备的MAC地址,所以目的MAC地址(以太网目的地址)为全F的广播地址(此处的目的MAC地址为以太网帧头中的目的MAC地址)。
  • ARP Request 报文中包含发送端以太网地址、发送端IP地址、目的以太网地址、目的IP地址,其中目的以太网地址的值为0(此处的目的以太网地址位于ARP Request 报文中)。ARP Request 报文会在整个网络上传播,该网络中所有主机包括网关都会接收到此ARP Request 报文。
  • 所有的主机接收到该ARP Request 报文后,都会检查它的目的IP地址字段与自身的IP地址是否匹配。如果不匹配,则该主机将不会响应该ARP Request 报文。如果匹配,则该主机会将ARP请求报文中的发送端以太网地址和发送端IP地址信息记录到自己的ARP缓存表中,然后通过ARP Reply 报文进行响应。
  • ARP Reply报文通过单播传送。
  • 发送端收到ARP Reply报文后,会检查ARP报文中目的端IP地址与自身的IP地址是否匹配,如果匹配,ARP报文中的发送端以太网地址和发送端IP地址会被记录到自己的ARP缓存表中。学习到的IP地址和MAC地址的映射关系会被放入ARP缓存表中存放一段时间,在有效期内(缺省:180s),设备可以直接从这个表中查找目的MAC地址来进行数据封装,而无需进行ARP查询,过了这段有效期,ARP表项会被自动删除。
  • 如果目标设备位于其他网络(源设备配置了缺省网关的情况),则源设备会在ARP缓存表中查找网关的MAC地址,然后将数据发送给网关,网关负责这个数据的转发。
  • 如果目标设备位于其他网络(源设备没有配置缺省网关),那么这个设备会正常发送ARP广播,但要实现与其他网络间的通信,则还要这个广播域中的其他能够访问到目标设备的设备上配置一个代理ARP(实质就是一个ARP欺骗),让这个设备代替目标设备去响应源设备。

4.ARP报文详情

在这里插入图片描述

  • 以太网报头中的前两个字段是以太网的源地址和目的地址,长度都为6字节。
  • 两个字节长的帧类型表示后面数据的类型,对于ARP请求或应答来说,该字段的值为0x0806。
  • 硬件类型字段表示硬件地址的类型,若它的值为1即表示以太网地址。
  • 协议类型字段表示要映射的协议地址类型,它的值为0x0800,即表示IP地址。它的值与包含IP数据报的以太网数据帧中的类型字段的值相同。
  • 接下来的两个1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4。
  • 操作码字段指出4种操作类型,它们是ARP请求(值为1)、ARP应答(值为2)、RARP请求(值为3)和RARP应答(值为4)。这个字段为必需的字段。
  • 接下来的四个字段是发送端的以太网地址、发送端的IP地址、目的端的以太网地址、目的IP地址。
  • RARP的报文格式
    • RARP报文的格式与ARP报文基本一致。它们之间的主要差别是RARP请求或应答的帧类型代码为0x8035,而且RARP请求的操作码为3,应答操作码为4。

5.免费ARP

  • 设备主动使用自己的IP地址作为目的IP地址发送ARP请求,此种方式称为免费ARP。

  • 免费ARP的作用:

    • IP地址冲突检测:当设备接口的协议状态变为Up时,设备主动对外发送免费ARP报文。正常情况下不会收到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址。如果检测到IP地址冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。
    • 用于通告一个新的MAC地址:发送方更换了网卡,MAC地址变化了,为了能够在动态ARP表项老化前通告网络中其他设备,发送方可以发送一个免费ARP。
    • 在VRRP备份组中用来通告主备信息发生变化:发生主备变换后,MASTER设备会广播发送一个免费ARP报文来通告发生了主备变换。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值