【数通】ARP及RARP 免费ARP基础知识

ARP(地址解析协议)是用于同一网段内IP地址到MAC地址映射的协议,通过广播查询目标MAC。当接口状态变化时,设备会发送ARP探测更新表项。ARP还涉及代理、免费ARP和RARP(反向ARP)等功能,免费ARP用于检测IP冲突和通告新MAC。同时,ARP-Ping用于检测IP和MAC的占用情况,防止ARP攻击。在遭受攻击时,启用ARP抑制功能可提升系统性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ARP

基本原理

以太网的同一网段内以广播的方式查询某个IP地址对应的MAC地址,以实现三层IP地址与二层MAC地址之间的动态映射,这是任何以太网主机设备都支持的一个协议。我们有的时候称ARP为2.5层协议。进行数据封包时或进行ping测试时,我们此时仅知道目标L3 IP地址,而不知道目标L2 MAC地址,此时以太网就会通过ARP协议来获取对方二层MAC地址,以此进行链路层封包。

ARP地址解析过程

发送数据分组之前,会在本机ARP缓存中查找目标IP地址是否存在对应MAC表象,若存在对应的MAC地址,主机将不再发送ARP请求报文;若不存在,则发送广播ARP请求报文进行ARP请求解析。

对方收到ARP请求报文时将查看请求的目标IP地址是否为自身收到该报文的入接口IP地址,若是则回应一个单播的ARP应答报文,告知对方我的MAC地址。若请求不是自身,则丢弃。

ARP表项的创建与更新

若满足如下条件中任意一条,系统将创建或更新ARP表项:

1、ARP报文的源IP地址与入接口IP地址处于同一网段,且不是广播地址,目的地址是本接口IP地址。

2、ARP报文的源IP地址与入接口IP地址处于同一网段,且不是广播地址,目的地址是本接口的VRRP虚拟IP地址。

3、ARP报文的源IP地址与入接口IP地址处于同一网段,且不是广播地址,入接口是IPoEoA应用的Virtual-Ethernet接口。

4、ARP报文的目的IP地址是入接口上配置的NAT地址池中的地址。

如果收到的ARP报文的源IP地址在入接口的ARP表中已经存在对应表项,也将对ARP表项进行更新。

ARP抑制功能

在特殊组网或者遭受ARP攻击时,系统会在同一时间内接收刀多个Src IP相同的ARP报文,这就需要系统对ARP表项进行重复更新。为了保证系统性能,可启用ARP抑制功能,即:在1秒内收到多次Src IP相同的ARP报文,系统只通知发送ARP报文的设备已接收到ARP报文,但不进行ARP表项的更新。

二层拓扑探测功能

二层拓扑探测功能,是指当二层接口的状态由Down变为Up时,二层接口所属VLAN对应的所有ARP表项的老化超时时间变为0,使设备重新发送ARP探测报文,更新二层接口所属VLAN对应的所有ARP表项。

报文格式

ARP报文有ARP Requese请求和应答Replay

  • ARP请求报文:Request报文,为广播发送,用于查找目标IP地址所对应的MAC
  • ARP应答报文:Reply报文,单播应答。

老化机制

需要说明的是,MAC地址表项分为静态和动态,静态为人工配置,永不过期

ARP表项缓存都存在一个老化超时时间,在该时间超时后即删除该表项。缺点:时间周期太漫长,缺省300秒。

老化探测次数

即在一个ARP表项老化之前,系统先进行探测,如果超过设置的探测次数后仍没有应答,则此ARP表项将被删除。

老化探测模式

ARP表项老化之前,接口会发出ARP老化探测报文。而该报文可以是单播/广播。华为缺省为广播模式

建议:当对端设备IP地址不变但MAC地址频繁更新时,建议使用广播模式;若对端设备MAC地址不变,

当对端设备MAC地址不变,当前网络带宽资源特别紧缺,且ARP表项的老化时间设置的比较小时,建议使用单播模式发送ARP老化探测报文。

当其他厂商设备与华为设备互联时,其他厂商设备接收到目的MAC地址为广播地址的ARP老化探测报文后,若ARP表项中已存在华为设备的IP地址与MAC地址映射,则不响应该广播ARP老化探测报文。这种特殊情况下华为设备需要配置成以单播方式发送ARP老化探测报文,即单播的ARP老化探测模式。

ARP代理

当向位于不同网络的主机发送ARP请求时,由两个网络之间的路由器响应该ARP请求,这个过程称为ARP代理。

ARP代理也称为混合ARP:通过两个网络之间的路由器可以互相隐藏物理网络。

免费ARP

主机主动使用自己的IP地址作为目标地址发送ARP请求,此种方式称免费ARP。免费ARP有三方面的作用:

  • 用于重复IP地址检测:正常情况下不会收到ARP回应,如果收到,则表明本网络中存在与自身IP地址重复的地址。
  • 用于通告一个新的MAC地址:发送方更换了网卡,MAC地址变了,为了能够在ARP表项老化前通告所有主机,发送方可以发送一个免费ARP。
  • 在VRRP中用来通告主备发生变换。

收到免费ARP的处理方式:

(1)如果收到免费ARP报文中源IP地址与入接口IP地址相同,则周期性广播发送免费ARP应答报文,告知该IP地址在网络内存在地址冲突。直到冲突解除,报文发送停止。

(2)如果收到免费ARP报文中源IP地址与入接口IP地址不同,

RARP 反向ARP

  1. RARP通常用于无盘系统,无盘系统从物理网卡上读到硬件地址后,发送一个RARP请求查询自己的IP地址。
  2. RARP的协议格式:与ARP协议一致,只不过帧类型代码为0x8035
  3. RARP使用链路层广播,这样阻止了大多数路由器转发ARAP请求,只返回很小的信息,即IP地址。

ARPing

  • ARP-Ping IP

    ARP-Ping IP是利用ARP报文在局域网内探测IP地址是否被其它的设备使用的一种方法。用户对设备配置IP地址前,需要确认该IP地址有没有被网络上的其他设备使用,可以通过发送ARP报文,确认该IP的使用情况,以便做出相应调整。

    通过ping命令也可以探测该IP地址是否被网络上的其他设备使用。但是如果带有防火墙功能的目的主机和路由器设置了对ping报文不进行回复的功能时,就不会响应ping报文,造成该IP没有被使用的假象。由于ARP是二层协议,大多数情况下可以透过设置了对ping报文不进行回复的防火墙,从而避免了此类情况的发生。

  • ARP-Ping MAC

    ARP-Ping MAC是利用ICMP报文在局域网范围内探测MAC地址是否被其它的设备使用的一种方法。

    当只知道该网段一个特定的MAC地址而不知道其对应的IP地址时,通过ARP-Ping MAC发送广播的ICMP报文可以得到该MAC所对应的IP地址。通过这种方法,可以查询到该网段内特定MAC所对应的IP地址。

ARP攻击及防护

<think>好的,用户想了解ARP老化时间的设置和工作原理。首先,我需要回忆一下ARP的基本机制。ARP(地址解析协议)用于将IP地址解析为MAC地址,维护一个ARP缓存表。这个缓存表中的条目不会永久存在,而是有一定的生存时间,也就是老化时间。 接下来,老化时间的作用是什么?缓存表需要定期清理无效的条目,防止因为设备更换或IP变更导致信错误。老化时间过短可能导致频繁的ARP请求,增加网络负担;过长则可能导致过时条目占用缓存,影响信效率。 然后,设置方法方面,不同的操作系统和网络设备可能有不同的配置方式。例如,在Cisco路由器上使用`arp timeout`命令,Linux系统可以过修改`/proc/sys/net/ipv4/neigh/default/gc_stale_time`文件的值。而华为设备则使用`arp expire-time`命令。需要具体说明这些不同环境下的配置步骤。 关于工作原理,当ARP条目被创建或更新时,计时器开始倒计时。如果在老化时间内没有再次使用该条目,就会被删除。如果有信发生,条目会被刷新,计时器重置。同时,系统可能主动发送ARP请求来验证条目的有效性,无效的条目会被提前删除。 还需要考虑用户可能的应用场景,比如大型网络中的优化策略,或者故障排查时如何调整老化时间。另外,可能的相关问题包括ARP缓存中毒、静态ARP条目与动态的区别,以及ARP协议的安全问题等。 要确保回答准确,引用相关技术文档或权威资料。例如,Cisco的官方文档或Linux内核参说明。同时,注意使用正确的中文术语,避免翻译错误。最后,生成的相关问题需要覆盖配置方法、优化策略、与其他协议的关系等,帮助用户进一步学习。</think>### ARP老化时间设置与工作原理 #### 一、ARP缓存基础 地址解析协议(ARP过维护动态缓存表实现IP地址到MAC地址的映射[^1]。每个动态ARP条目包含两个核心参: $$ T_{create} = \text{创建时间戳} $$ $$ T_{aging} = \text{预设老化时间} $$ #### 二、老化时间作用机制 1. **时间窗口触发淘汰** 当满足条件 $current\_time - T_{create} > T_{aging}$ 时,系统自动删除条目。典型默认值: - Cisco设备:240秒 - Linux系统:60秒 - 华为交换机:20分钟 2. **活跃条目续期** 若在老化周期内检测到据包传输,触发时间戳更新: $$ T_{create} = T_{create} + \Delta t \quad (\Delta t < T_{aging}) $$ 3. **主动探测机制** 部分系统在老化时间达到80%阈值时发送ARP请求验证可达性,响应失败则提前清除条目。 #### 三、配置方法示例 1. **Cisco路由器** ```bash interface GigabitEthernet0/1 arp timeout 180 # 设置为180秒 ``` 2. **Linux系统** ```bash echo 120 > /proc/sys/net/ipv4/neigh/default/gc_stale_time sysctl -w net.ipv4.neigh.default.gc_stale_time=120 ``` 3. **华为交换机** ```bash [Switch] interface vlanif 10 [Switch-Vlanif10] arp expire-time 900 # 设置为900秒 ``` #### 四、网络优化建议 - 局域网环境建议保持默认值 - 高变动网络可缩短至30-60秒 - 据中心overlay网络建议延长至10-15分钟 - 关键设备推荐使用静态ARP绑定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗Zalvin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值