ARP學習筆記

1       ARP

ARP全稱地址解析協議,就是把IP地址解析成二層MAC地址(物理地址)的協議。應用場景:在局域網中的一臺主機或設備需要發生數據到另一臺主機或設備時,需要知道對方的網絡地址即IP地址。僅僅只有IP地址是不夠的,因爲IP數據報文需要封裝層幀從能通過物理網絡發送,因此發送站還需要接受站的物理地址,所以需要一個從IP地址到物理地址的映射關係,ARP就是實現這種關係的協議。

1.2   ARP報文結構

ARP報文分爲ARP請求報文和ARP應答報文,總字節爲28字節。

ARP報文結構如下:

1.        硬件類型:表示硬件地址的類型,它的值爲1是表示以太網報文——2字節

2.        協議類型:表示要映射的協議地址的類型,它的值爲0X0800即表示IP地址——2字節

3.        硬件地址長度和協議地址長度:指硬件地址和協議地址的長度,以字節爲單位,對於以太網上IP地址的ARP請求和應答報文,其長度分別是64——硬件地址和協議地址長度各佔1字節.

4.        類型操作(OP):1表示ARP請求,2表示ARP應答。——佔2字節

5.        MAC地址:發送設備的硬件地址——佔6字節

6.        IP地址:發送設備的IP地址——佔4字節

7.        目的MAC地址:接受設備的硬件地址——佔6字節

8.        目的IP地址:接受設備的IP地址——佔4字節  

1.3  ARP地址解析過程

當主機A向主機B發送數據時,首先將B的地址跟A的地址進行一個與運算來確認兩主機是否處於同一個網段。

當確認處於同一網段時,首先主機A會查看本地的ARP表,是否有B主機地址所對應的MAC地址。

如果存在,就直接把IP數據封裝成幀進行通信,如果不存在,則先緩存該數據報文,然後發送一個以本地MAC爲源MAC地址,以本地IP爲源IP,以B主機IP地址爲目的IP地址,以MAC地址全爲0的地址爲目的MAC地址的ARP請求廣播包。

該網段上的所以主機都會收到該ARP請求廣播包,所有主機先比較自己IP地址跟廣播中的目的IP,如不匹配,就丟棄該包。如果匹配,會把該廣播包的源IP地址和源MAC地址存入自己的ARP表項中,然後向A發送一個以本地IP地址爲源IP地址,以本地MAC地址爲源MAC地址,以A主機IP地址爲目的IP地址,以A主機的MAC地址爲目的MAC地址的單播,當主機A收到該報文之後,把B主機的IP地址和MAC地址添加到ARP表項中,然後把IP數據封裝成幀與主機B進行通信。

當將主機B的地址跟主機A的地址進行一個與運算確認兩主機處於不同網段。

主機A先向網關發送ARP請求報文,當收到網關ARP應答時,先把網關的MAC地址和IP地址記錄的ARP表項中,然後把IP數據包封裝成幀發送給網關,然後網關再查看ARP表項有沒有主機Barp記錄,如果有,就直接封裝再發送,如果沒有就發送廣播,再獲取主機BMAC地址,再封裝發送。

1.4  ARP

1.4.1   動態ARP表項

動態ARP表項是由ARP協議通過ARP報文自動生成和維護,可以被被老化,可以被新的ARP報文更新,可以被靜態ARP表項覆蓋。到了老化時間,當接口down時會刪除相應的ARP表項

1.4.2   靜態ARP表項

靜態ARP表項通過手動配置和維護,不能被動態ARP表項覆蓋,不老化。配置動態的ARP表項可以增加通信的安全性

長靜態ARP表項:配置IP +MAC+ARP表項所在的VLAN+出接口。長靜態ARP表項可以用來直接轉發報文。

短靜態ARP表項:配置IP+MAC

當出接口爲三層以太網接口時,可以直接用來轉發報文。

當出接口爲虛擬VLAN接口時,不能直接轉發報文,先要發送ARP請求報文,如果收到的請求報文中的源IP地址和源MAC地址與所配置的IP地址和MAC地址相同時,則將接收ARP響應報文的接口加入該靜態ARP表項中,之後就可以用於IP報文的轉發。

2       免費ARP

免費ARP報文是一種特殊的報文,該報文中攜帶的的源IP地址和目的IP地址均爲本地IP地址,源MAC地址爲本地MAC地址,目的MAC地址爲全0的廣播MAC地址。實現如下兩個功能:

1.        檢測局域網中的其他設備的IP地址是否與本機IP地址衝突。

2.        當更改硬件地址之後,用來通知他設備來更新ARP表項

2.1   免費ARP報文學習功能的作用

1.        使用免費ARP學習功能之後,設備會根據免費ARP表中的IP地址和MAC地址來更新本地ARP表項。

2.        如果ARP表項中沒有對應的ARP表項,會根據免費ARP中攜帶的信息來創建ARP表項

3.        如果ARP表項中有對應的ARP表項,則會根據免費ARP中攜帶的信息來更新ARP表項

4.        當關閉免費ARP報文學習功能之後,設備不會重新創建ARP表項,但會更新ARP表項

2.2   定時發送免費ARP功能的作用

使用定時發送免費ARP功能及時通知下行設備更新ARP表項和MAC地址表項,應用場景如下:

1.        防止仿冒網關的ARP***:***者仿冒網關發送免費ARP,把網關定向到一個錯誤的MAC,從而使得該網絡中的主機無法正確訪問網絡。

2.        防止主機ARP表項老化:當接受端網絡負載較大或CPU使用率過高時,可能會存在ARP報文的丟棄或無法及時出來ARP報文的情況,使得動態ARP表項因超時而是ARP表項老化。造成的後果是在重新學習ARP表項之前,兩設備之間流量會發生中斷。

3.        防止VRRP虛擬IP地址衝突:當網絡中存在VRRP備份組時,需要由VRRP備份組中的Master路由器週期性的向網絡中發送免費ARP,使主機更行ARP表項,確保網絡中不會存在於虛擬機與VRRP虛擬IP相同的設備。

2.3   及時更新模糊終結VLAN內設備的MAC地址表

3       ARP代理

如果ARP請求是從一個網絡的主機發往同一網段而處於不同物理網絡的主機,那麼連接他們的具有代理ARP功能的設備就可以回答該請求,這個過程就叫做代理ARP

1.        普通代理ARP:想要互通的主機處於同一網段,但連接在不同的三層接口下,且這兩主機處於不同的廣播域。

2.        本地代理ARP:想要互通的主機處於同一網段,並連接在同一的三層接口下,但這兩臺主機處於不同的廣播域,比如:兩臺主機連接在二層交換機下,並都屬於同一VLAN,但是配置了端口隔離 Super VLAN下不同sub VLAN下的主機之間的通信。Isolate-user-vlanSecondary VLAN下主機之間的通信。

4       ARP Snooping

4.1   ARP Snooping作用

ARP Snooping功能是一個用於二層交換環境下的特性,通過偵聽ARP報文建立ARP Snooping表項,從而提供給ARP快速應答和MFF手動方式等使用。

4.2   ARP Snooping工作原理

設備上的一個VLAN是能了ARP Snooping之後,該VLAN上所有接口收到的ARP報文都會重定向到CPU,經過CPU的分析,獲取該報文中的源IP地址、源MAC地址、源VLAN、入端口信息,建立用戶信息ARP Snooping表項。

ARP Snooping老化時間爲25分鐘,有效時間爲15分鐘。當一個ARP Snooping表項自最後一次更新15分鐘之後再收到更新時,該表項就處於失效狀態,不再對外提供服務,當重新收到更新之後,該表項將重新啓效,並重新老化計時

ARP Snooping收到ARP報文時檢查到相同IP地址的ARP Snooping表項,但MAC地址發送改變,它會認爲設備收到***,此時ARP Snooping處於衝突狀態,表項失效,並在25分鐘之後刪除該表項。

4.3   ARP快速應答

4.3.1   ARP快速應答作用

在無線組網中,AP通過隧道與AC連接,client通過AP連接到AC,通過ACClient可以與網關連接。當Client發起ARP請求廣播報文時,AC向所有AP複製該報文,這樣會導致ARP請求報文佔用過多的隧道資源,導致性能下降。開啓ARP快速應答之後,AC會收集用戶信息(通過DHCP Snooping收集用戶信息或通過ARP Snooping收集用戶信息),在指定VLAN內,儘可能快的對ARP請求進行應答。

4.3.2   ARP 快速應答機制

1.        當收到的ARP報文中的目的IP地址是設備VLAN的虛ip地址時,通過ARP特性應答

2.        當收到的ARP報文中的目的IP地址不是設備的VLAN的虛IP時,它會根據目的IP查找DHCP Snooping表項:

如果查找成功,但查到的表項的接口跟收到報文的接口一致,並接口爲以太網接口,則不進行應答,否則快速應答

如果查找設備,它會根據目的IP地址來查找ARP Snooping表項,如果查找成功,但查到的表項的接口跟收到報文的接口一致,並接口爲以太網接口,則不進行應答,否則快速應答。

5       ARP***防禦

***類型如下:

1.        ***者仿冒用戶、仿冒網關發送僞造ARP報文,是網關或主機的ARP表項不正確,從而對網絡***

2.        ***者向設備發送大量目的IP地址不可解析的arp報文,使得設備反覆嘗試解析,從而到導致CPU負荷過重以及網絡流量過大

3.        ***者向設備發送大量ARP報文,對設備的CPU形成衝擊

5.1   ARP防止IP報文***功能簡介

如果網絡中的主機向設備發送大量目的ip不能解析的ARP報文,會造成如下危害:

1.        設備向目的網段發送大量ARP請求報文,加重了目的網段的負載

2.        設備會嘗試反覆對目的Ip進行解析,增加了設備CUP的負擔。

爲了避免這種IP報文***所帶來的危害,可以開啓如下功能:

1.        如果***源是固定的,可以採用ARP源抑制功能 :在接口上設定單位時間內IP報文觸發的的ARP請求流量的大小,當超過這個值時,設備將不允許其觸發ARP請求,或經過一段時間之後,再進行處理

2.        如果***源不是固定的,可以採用ARP黑洞路由功能:當設備收到一個目的IP不能解析的報文時,設備會立即產生一個黑洞路由,使得設備在一段時間內收到去往該地址的報文直接丟棄 。當該黑洞路由老化之後,當收到該地址的報文時,如果解析成功將直接轉發。如果不能解析成功,設備將再次啓用黑洞路由

5.2   ARP報文限速功能簡介

ARP報文限速是指對上送CPUarp報文進行限速,可以防止ARP報文對CPU進行衝擊

5.3   MAC地址固定的ARP***檢測功能簡介

當在單位時間內,從某個接口收到同一個源MAC地址的ARP報文超過一定的閥值,設備將會該源MAC地址添加到***檢測列表中。

當該***檢測列表沒有在老化之前,如果設置的檢查模式爲過濾模式,則會打印警告信息並過濾源MAC地址發過來的ARP報文。如果設置的監控模式,則只會發打印警告

對於網關或一些重要的服務器,可能會發送大量的ARP報文,爲了使的這些ARP報文不被過濾掉,可以將這類MAC地址配置成保護MAC地址,這樣,即使該MAC地址存在***也不回被過濾,只會對上送CPUARP進行統計。

5.4   ARP報文源MAC地址一致性檢查功能簡介

APP報文源MAC地址一致性檢查功能主要應用於網關設備上,網關設備在進行ARP學習時先檢查ARP報文,如果以太網中的源MAC地址與ARP報文中的源MAC地址是否一致。如果不一致,則會認爲是***報文,如果一致,則添加到ARP表項中

6       MFF

MFFMAC-Forced Forwarding)爲同一廣播域內實現客戶端主機間的二層隔離和三層互通,提供了一種解決方案

MFF截獲用戶ARP報文,通過ARP代答機制,回覆網關MAC地址的ARP應答報文。通過這種方式可以強制用戶將所有流量都發送到網關,從而使得網關能監控所有的流量,防止用戶之間的惡意***,保證網絡部署的安全性

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章