代理ARP
1.代理ARP原理
网络中有一种技术称为代理ARP,可用于产生一种子网划分的效果。代理ARP(proxy ARP)是代表了一组主机的ARP。当运行代理ARP的防火墙收到ARP请求,希望找出这些主机中的某一台主机的物理地址的时候,防火墙会响应一个自己的物理地址。当防火墙收到真正的IP报文时它会把这些报文发送给对应的主机。
例:图6
在图6中,141.23.56.0网段的主机只能响应同网段的ARP请求。但是防火墙不只是一个网段,如果想要在不改变真个系统的条件下使10.66.0.0网段的IP能够请求141.23.56.0网段的MAC地址,解决这个问题的方法就需要防火墙开启ARP代理。
(1)当防火墙收到10.66.0.100的ARP请求时,防火墙查看目的IP地址与它所代表的主机之一匹配(141.23.56.0网段的主机)。
(2)防火墙会返回一个ARP响应包。告诉10.66.0.100它请求的IP对应的MAC是aa:aa:aa:aa:aa:aa。此后,当防火墙收到IP报文时,它会把报文发送给相应的主机。
2.代理ARP和ARP的应用场景
例1:当PC没有网关时,采用代理ARP
例2:当PC有网关的时候,采用正常ARP
通过以上对比,总结出以下信息。
①电脑没有网关时,ARP直接询问目标IP对应的MAC地址(跨网段),采用代理ARP;
②电脑有网关时,ARP只需询问网关IP对应的MAC地址(同网段),采用正常ARP;
③无论是正常ARP还是代理ARP,电脑最终都拿到同一个目标MAC地址:网关MAC。