PC在何時會發出ARP查詢呢?web
ping一個本網段地址的時候(你們能夠抓包來驗證一下)。
看清楚了,PC-A的IP地址是/16位,PC-D的IP地址是/24位,因此當PC-A去ping PC-D的時候,PC-A認爲是ping同一個網段,會發出ARP請求,這個時候ARP請求就到了路由器上了。路由器若是開啓了代理ARP功能,會代替PC-D給PC-A迴應,告訴PC-A路由器的e0口MAC地址00-00-0c-94-36-ab就是PC-D的MAC地址,完成代理ARP操做,保護了PC-D的MAC地址隱私。
ide
實例配置:spa
交換機鏈接兩臺PC(A和B),最初的時候他們都在一個vlan1內,分別配置IP地址 172.16.1.2/16和172.16.2.2/16 ,均未配置網關,此時能夠Ping同對方。代理
將A加入vlan1 ,vlanif配IP:172.16.1.1/24orm
將B加入vlan2 ,vlanif配IP:172.16.2.1/24blog
此時ApingB是ping不通的。ci
緣由猜測:沒有配置網關也沒有配置代理ARP,因此ping不通路由
當我配置上兩個端口的代理ARP,此時發現仍是Ping不一樣。it
此時查看了A的ARP表,發現表中記錄172.16.2.2的MAC地址是B的地址。form
此時A發出去的包中封裝的MAC地址是B的,當vlanif收到該幀時,會丟棄該報文
將A的ARP表清空(arp –d),此時再pingB,發現能夠Ping通了,A中記錄的關於172.16.2.2的MAC地址已是vlanif1 的MAC了。