Proxy(代理) ARP作用及原理

概念

代理ARP是ARP協議的一個變種。對於沒有配置缺省網關的計算機要和其他網絡中的計算機實現通信,網關收到源計算機的 ARP 請求會使用自己的 MAC 地址與目標計算機的 IP地址對源計算機進行應答。

代理ARP就是將一個主機作為對另一個主機ARP進行應答。它能使得在不影響路由表的情況下添加一個新的Router,使得子網對該主機來說變得更透明化。同時也會帶來巨大的風險,除了ARP欺騙,和某個網段內的ARP增加,最重要的就是無法對網絡拓撲進行網絡概括。代理ARP的使用一般是使用在沒有配置默認網關和路由策略的網絡上的。

工作原理:

Proxy(代理) ARP作用及原理

這個主機A要發送數據包到主機D。圖表顯示主機A使用的是16位掩碼。(注意這一點!)主機A相信目的網段是直接連接在172.16.0.0上的。於是主機A直接發送一個ARP請求給目的站點。主機A 需要得到主機D的MAC地址,所以主機A廣播ARP請求00-00-0c-94-36-aa(源MAC) 172.16.10.10(源IP) 000-00-00-00-00-00(目的MAC) 172.16.20.200(目的IP)ARP請求裡主機A將自己的MAC地址作為源地址 FFFF.FFFF.FFFF 做為目的地址進行廣播。但是路由器的E0 口默認不支持轉發廣播。所以主機D不能響應這個ARP請求。路由器知道主機D在其他子網,於是用自己的MAC地址來應答A 00-00-0c-94-36-ab 172.16.20.20 000-00-0c-94-36-aa 172.16.10.100 路由器用自己接口的MAC地址作為源地址回覆ARP應答給主機A。這個ARP應答總是利用單播來回復。主機A收到ARP請求後更新自己的MAC地址表172.16.20.20 000-00-0c-94-36-ab現在主機A如果發送數據包給主機D就將數據發送給MAC 00-00-0c-94-36-ab.由路由器轉發給主機D。所以目的地址為子網B的數據都發送給路由器。子網A內所有主機ARP地址表顯示去往子網B主機的MAC地址全是路由器接口的MAC地址。這個路由器轉發其他數據包到子網B。這個主機A的ARP 地址表172.16.20.20000-00-0c-94-36-ab172.16.20.10000-00-0c-94-36-ab172.16.10.9900-00-0c-94-36-ab172.16.10.20000-00-0c-94-36-bb多個IP地址被映射到一個MAC地址。標誌這在路由器上使用了 proxy-arp。(查看主機的arp表就清楚)

proxy-arp使用案例

網絡拓撲

Proxy(代理) ARP作用及原理

需求

  1. pc1-pc3通過自動獲取IP地址。
  2. pc1-pc3能與外網互通。

配置步驟

1、R1實現上網功能

Cloud1配置,使用VMware的VMnet8網卡,實現上網。

Proxy(代理) ARP作用及原理

路由器R1使能DHCP功能,並配置ge0/0/0接口自動獲取IP、配置dns解析

[R1]dhcp enable
[R1-GigabitEthernet0/0/0]ip address dhcp-alloc
[R1]dns resolve
[R1]dns server 8.8.8.8

驗證R1是否能上網

Proxy(代理) ARP作用及原理

2、在R1配置dhcp服務,讓pc1-pc3能自動獲取IP地址

[R1]ip pool studer
[R1]gateway-list 192.168.1.1
[R1]network 192.168.1.0 mask 255.255.255.0
[R1]dns-list 8.8.8.8

[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.1.1 255.255.255.0
[R1-GigabitEthernet0/0/1]dhcp select global

到此pc1-pc3都能自動獲取IP地址,卻不能上網,在R1的g0/0/0上抓包發現代理網關無法獲取pc1-pc3的MAC地址。

Proxy(代理) ARP作用及原理

為了解決這一個問題,可以嘗試在R1的g0/0/0上開啟ARP代理功能。

[R1]interface GigabitEthernet 0/0/0 

[R1-GigabitEthernet0/0/0]arp-proxy enable

配置後測試PC1-PC3是否能上網。

Proxy(代理) ARP作用及原理

抓包上看到

Proxy(代理) ARP作用及原理

proxy ARP有哪些優點?

最主要的一個優點就是能夠在不影響其他router的路由表的情況下在網絡上添加一個新的router,這樣使得子網的變化對主機是透明的。

proxy ARP應該使用在主機沒有配置默認網關或沒有任何路由策略的網絡上

proxy ARP帶來的哪些負面影響?

  1. 增加了某一網段上ARP流量
  2. 主機需要更大的ARP table來處理IP地址到MAC地址的映射
  3. 安全問題,比如ARP欺騙(spoofing)
  4. 不會為不使用ARP來解析地址的網絡工作
  5. 不能夠概括和推廣網絡拓撲


分享到:


相關文章: