代理ARP协议(Proxy ARP)

如题所述

第1个回答  2022-06-27
代理ARP(Proxy-arp)的原理就是当出现跨网段的ARP请求时,路由器将自己的MAC返回给发送ARP广播请求发送者,实现MAC地址代理(善意的欺骗),最终使得主机能够通信。

图中R1和R3处于不同的局域网,R1和R3在相互通信时,R1先发送了一个ARP广播数据包,请求R3的mac地址,但是由于R1是12.1.1.0网段,而R3是13.1.1.0网段,R1和R3之间是跨网段访问的,也就是说R1的ARP请求会被R2拦截到,然后R2会封装自己的mac地址为目的地址发送一个ARP回应数据报给R1(善意的欺骗),然后R2就会代替R1去访问R3。
  整个过程R1以为自己访问的是R3,实际上真正去访问R3的是R2,R1却并不知道这个代理过程,这就是所谓的ARP代理,通常用于跨网段访问。
  注意:如果R2关闭了arp的代理功能,那么R1再访问R3的时候,R2并不会把自己的mac地址给R1,那么R1和R3之间就无法通信。默认情况下,思科的设备是开启了arp代理功能,也就是说,R2会作为中间代理实现R1和R3之间跨网段通信。
  代理ARP的使用场景为:1. 没有路由功能的主机,2. 有路由功能,目的地指向本地出口。

代理ARP是 ARP协议 的一个变种。 对于没有配置缺省 网关 的计算机要和其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答。代理ARP就是将一个 主机 作为对另一个主机ARP进行应答。它能使得在不影响 路由表 的情况下添加一个新的Router,使得 子网 对该 主机 来说变得更透明化。同时也会带来巨大的风险,除了ARP欺骗,和某个 网段 内的ARP增加,最重要的就是无法对 网络拓扑 进行网络概括。代理ARP的使用一般是使用在没有配置 默认网关 和路由策略的网络上的