ARP路由式代理詳解

一、什麼是ARP代理

​ARP原理是在同一網段下,發送廣播請求單播回應,實現通信,在不同網段的時候,通常需要請求網關查詢目標MAC地址從而實現通信。所以,就會出現佔用網關資源表的問題。從而降低轉發效率。在這種情況下,讓兩臺主機之間中介成為ARP代理,避免這一問題

二、ARP代理的條件

1. 路由器上有到達對方的條目

2. 華為設備開啟ARP代理功能

三、如何實現ARP代理

以主機A請求主機B為例:

1、主機A發送arp廣播報文,請求主機B MAC地址。

2、PE1收到廣播請求後,首先判斷自己是不是目標MAC地址(發現不是,則查找到達目標MAC的路徑)

3、如果發現有到達目標MAC的路由,則查詢是否開啟ARP代理:如果發現開啟了ARP代理,則將自己接口的MAC地址發送給主機A;如果發現沒有開啟,則丟棄該報文。

4、如果沒有收到主機B的路由,則丟棄報文。

5、收到報文後,單播回應給主機A。


(一)路由ARP代理(下文將詳細講述ARP路由式代理)

ARP路由式代理詳解

(二)同一VLAN下的ARP代理

實現同一網段同個vlan間的三層訪問。當我們訪問同一網段主機時,是不會向網關發出請求的,而是先通過廣播arp包來尋找對方的mac地址,然後再根據mac地址來進行二層的訪問只有訪問不同網段主機時,才會請求網關,接著網關網關查找自己的路由表,如果發現有到達目的網路的路由,則用自己的mac地址做回應,因為二層流量在三層裡面是被隔離的。

ARP路由式代理詳解

(三)不同VLAN下的ARP代理

1. HostA (VLAN3)希望與另一主機HostB (VLAN2)之間通信,HostA直接發送了 ARP請求,請求內容包括:源IP、源MAC、VLANtag標籤、目的IP ;

2. 運行代理ARP的裝置收到ARP請求後,查找本地ARP緩存列表,如果找到對應的表項(包括HostB的IP、MAC)則代理ARP立即回應HostA關於去目的HostB的相關信息;如果沒找到對應的表項,代理ARP會預先將不同VLAN間的不同網段緩存至列表中;

3. 當收到源地址去往某個網段的幀時查找代理ARP緩存列表中的網段,然後將此數據包在對應的VLAN區域內廣播(避免全網廣播導致全網效率降低,加快請求回應速率);

4. HostB在收到廣播後,回應ARP響應,通告自己的MAC地址,代理ARP裝置收到ARP請求後向HostA通告HostB的MAC。

ARP路由式代理詳解

四、路由式ARP代理實驗

(一)實驗拓撲

ARP路由式代理詳解

(二)實驗要求

PC1和PC2屬於同一網段,需要PC1可以與PC2互通,

(三)實驗過程

1、配置IP地址,檢驗直連的連通性

[R1-GigabitEthernet0/0/0]ip add 10.1.10.3 24

[R1-GigabitEthernet0/0/1]ip add 10.1.20.3 24


ARP路由式代理詳解

ARP路由式代理詳解

PC1不能ping通PC2,抓包發現PC1沒有去往PC2的路徑,進行ARP廣播

ARP路由式代理詳解

2、在R1的接口上開啟ARP代理

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

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

3、在PC1上ping PC2進行驗證


(四)實驗分析

在PC1上 ping PC2,發現跟自己的同一網段,PC會通過IGMP發送一個回顯請求給對方,進行二層封裝,發現不知道 PC2的mac地址,查找本地ARP緩存表,發現為空,於是發起ARP請求。

ARP路由式代理詳解

但是由於PC1跟PC2屬於同一網段,不同廣播域,路由器是不會轉發廣播包的,所以PC2是收不到該ARP請求的,所以就不能進行互訪,這樣就可以在路由器上配置ARP代理,當路由器收到ARP請求之後,會將自己接收端口的MAC地址發送給PC1,讓PC1誤認為路由器接口的mac地址就是PC2的mac地址,之後的所有封裝都會以此MAC作為目的MAC進行封裝,這樣路由器就可以識別了。

ARP路由式代理詳解

Hardware address 的值就是接口的Mac地址

發現與上圖中ARP應答的Mac地址相同


路由器收到該比特流後,進行逐層階層,解封二層數據幀,發現目的MAC為自己,接收。繼續解封三層數據包,發現目的ip不是自己,然後路由器根據目的IP進行查表。根據到達目的IP下一跳的出接口進行轉發,三層封裝不變,並將源MAC地址封裝為該出接口的MAC地址,但是發現不知道目的IP的MAC,無法進行二層封裝,於是對IP 10.1.20.2發起ARP請求。

ARP路由式代理詳解

得到MAC地址之後,將重新封裝好的數據發送給PC 2

ARP路由式代理詳解


ARP路由式代理詳解

G0/0/1的Mac地址為00e0-fc91-429e

PC2收到ICMP回顯請求之後,會回覆一個回顯應答給PC1

ARP路由式代理詳解

源MAC為自己,目的MAC路由器接口MAC


五、路由式ARP代理特點

1. proxy ARP部署在網關上,網絡中的主機不必做任何改動

2. Proxy ARP可以隱藏物理網絡細節,使兩個物理網絡可以使用同一個網絡號

3. Proxy ARP隻影響主機的ARP表,對網關的ARP表和路由表沒有影響


分享到:


相關文章: