代理ARP的工作过程如下:
PC1和PC2虽然属于不同的腔和广播域,但它们处于同一逗扰网段中,因此PC1会向PC2发出ARP请求广播包,请求获得PC2的MAC地址。由于路由器不会转发广播包,因此ARP请求只能到达路由器,不能到达PC2。
当在路由器上启用ARP代理后,路由器会查看ARP请求,发现IP地址172.16.20.100属于它连接的另一个网络,因此路由器用自己的接口MAC地址代替PC2的MAC地址,向PC1发送了一个ARP应答。
PC1收到ARP应答后,会认为PC2的MAC地址就是00-00-0c-94-36-ab,不会感知到ARP代理的存在。
在PC1的ARP表中可以能看到如下ARP条目:
C:>arp -a
Interface: 172.16.10.100 --- 0x2
Internet Address Physical Address Type
172.16.20.100 00-00-0c-94-36-ab dynamic
在接下来的数据通信中,PC1先将数据发送给路由器,由路伍指盯由器转发给PC2。
最主要的一个优点就是能够在不影响其他router的路由表的情况下在网络上添加一个新的router,这样使得子网的变化对主机是透明的
proxy ARP应该使用在主机没有配置默认网关或没有任何路由策略的网络上 ⒈增加了某一网段上ARP流量
⒉主机需要更大的ARP table来处理IP地址到MAC地址的映射
⒊安全问题,比如ARP欺骗(spoofing)
⒋不会为不使用ARP来解析地址的网络工作
⒌不能够概括和推广网络拓扑