Proxy ARP
yUmi#sh start
!
Written by yUmis(牛奶咖喱) a.k.a. 紅頭發(fā)
Description 歡迎轉(zhuǎn)po,請保留作者信息
Homepage http://www.show-tym.com
Jun.27th.2004
!
什么是proxy ARP?
proxy ARP就是通過使用一個主機(jī)(通常為router),來作為指定的設(shè)備對另一設(shè)備作出ARP請求的應(yīng)答
proxy ARP是如何工作的?
設(shè)備需求:
Cisco 2500系列的rourer
Cisco IOS Release 12.2(10b)
此主題相關(guān)圖片如下:
假設(shè)在如上圖的一個環(huán)境中,位于子網(wǎng)A的主機(jī)A(172.16.10.100)需要發(fā)送packet到位于子網(wǎng)B的主機(jī)D(172.16.20.200)上去.于是主機(jī)A將發(fā)送ARP請求給D.當(dāng)然,為了能夠達(dá)到主機(jī)D,就需要知道主機(jī)D的MAC地址.因此,主機(jī)A在它位于的那個子網(wǎng)A上廣播ARP請求,大致內(nèi)容如下圖:
此主題相關(guān)圖片如下:
當(dāng)然router的e0口也接收到該廣播,但是router默認(rèn)不會轉(zhuǎn)發(fā)廣播的,所以該ARP請求仍然到達(dá)不了主機(jī)D.但是router卻知道主機(jī)D位于另外一個子網(wǎng)B.于是router應(yīng)答自己的MAC地址給主機(jī)A,如下圖:
此主題相關(guān)圖片如下:
注意如上圖,源IP地址為主機(jī)D的IP地址,但是源MAC地址是router e0口的MAC地址.這就是發(fā)送給主機(jī)A的proxy ARP應(yīng)答(代理人,中間人).這樣的proxy ARP應(yīng)答一般是作為unicast發(fā)送給請求者(主機(jī)A)
主機(jī)A收到這個proxy ARP應(yīng)答以后,開始更新自己的ARP table,如下圖:
此主題相關(guān)圖片如下:
于是從現(xiàn)在開始,主機(jī)A將不把要前往主機(jī)D的packet通過router e0口(00-00-0c-94-36-ab)轉(zhuǎn)發(fā),因為router知道如何到達(dá)主機(jī)D,它會把packet轉(zhuǎn)發(fā)給主機(jī)D
另外,位于子網(wǎng)A的主機(jī)的ARP cache,如下圖:
此主題相關(guān)圖片如下:
注意上圖,3個IP地址映射到1個MAC地址(router e0口的MAC地址)上,這就說明正在使用proxy ARP
Cisco的router的接口應(yīng)該配置成能夠接收和應(yīng)答proxy ARP,當(dāng)然這個默認(rèn)是啟用的,不過可以使用一些命令來關(guān)閉這個功能,命令如下:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int e 0
Router(config-if)#no ip proxy-arp
Router(config-if)#^Z
Router#
要再次啟用的話,在接口配置模式下使用ip proxy-arp命令即可
proxy ARP有哪些優(yōu)點?
最主要的一個優(yōu)點就是能夠在不影響其他router的路由表的情況下在網(wǎng)絡(luò)上添加一個新的router,這樣使得子網(wǎng)的變化對主機(jī)是透明的
proxy ARP應(yīng)該使用在主機(jī)沒有配置默認(rèn)網(wǎng)關(guān)或沒有任何路由策略的網(wǎng)絡(luò)上
proxy ARP帶來的哪些負(fù)面影響?
1.增加了某一網(wǎng)段上ARP流量
2.主機(jī)需要更大的ARP table來處理IP地址到MAC地址的映射
3.安全問題,比如ARP欺騙(spoofing)
4.不會為不使用ARP來解析地址的網(wǎng)絡(luò)工作
5.不能夠概括和推廣網(wǎng)絡(luò)拓?fù)?/P>