天天看點

ARP原理描述ARP簡介ARP原理描述

ARP簡介

  1. 定義:位址解析協定ARP(Address Resolution Protocol)是用來将IP位址解析為MAC位址的協定。
  2. 目的:在區域網路中,當主機或其它三層網絡裝置有資料要發送給另一台主機或三層網絡裝置時,它需要知道對方的網絡層位址(即IP位址)。但是僅有IP位址是不夠的,因為IP封包必須封裝成幀才能通過實體網絡發送,是以發送方還需要知道接收方的實體位址(即MAC位址),這就需要一個從IP位址到MAC位址的映射。ARP即可以實作将IP位址解析為MAC位址。主機或三層網絡裝置上會維護一張ARP表,用于存儲IP位址和MAC位址的關系。一般ARP表項包括動态ARP表項和靜态ARP表項。

ARP原理描述

動态ARP

定義:

動态ARP表項由ARP協定通過ARP封包自動生成和維護,可以被老化,可以被新的ARP封包更新,可以被靜态ARP表項覆寫。

動态ARP适用于拓撲結構複雜、通信實時性要求高的網絡。

ARP位址解析過程:

動态ARP通過廣播ARP請求和單點傳播ARP應答這兩個過程完成位址解析。

ARP原理描述ARP簡介ARP原理描述

當需要通信的兩台主機處于同一網段時,如圖1中的Host_1和Host_3,Host_1要向Host_3發送資料。

  1. 首先,Host_1會查找自己本地緩存的ARP表,确定是否包含Host_3對應的ARP表項。如果Host_1在ARP表中找到了Host_3對應的MAC位址,則Host_1直接利用ARP表中的MAC位址,對資料封包進行幀封裝,并将資料封包發送給Host_3。**如果Host_1在ARP表中找不到Host_3對應的MAC位址,則先緩存該資料封包,并以廣播方式發送一個ARP請求封包。**如圖1中所示,OP字段為1表示該封包為ARP請求封包,ARP請求封包中的源MAC位址和源IP位址為Host_1的MAC位址和IP位址,目的MAC位址為全0的MAC位址,目的IP位址為Host_3的IP位址。
  2. Router_1收到ARP請求封包後,将該ARP請求封包在同一廣播域内轉發。
  3. 同一廣播域内的主機Host_2和Host_3都能接收到該ARP請求封包,但隻有被請求的主機(即Host_3)會對該ARP請求封包進行處理。Host_3比較自己的IP位址和ARP請求封包中的目的IP位址,當兩者相同時進行如下處理:将ARP請求封包中的源IP位址和源MAC位址(即Host_1的IP位址和MAC位址)存入自己的ARP表中。之後以單點傳播方式發送ARP應答封包給Host_1,ARP應答封包内容如圖1中所示,OP字段為2表示該封包為ARP應答封包,源MAC位址和源IP位址為Host_3的MAC位址和IP位址,目的MAC位址和目的IP位址為Host_1的MAC位址和IP位址。
  4. Router_1收到ARP應答封包後,将該ARP應答封包轉發給Host_1。Host_1收到ARP應答封包後,将Host_3的MAC位址加入到自己的ARP表中以用于後續封包的轉發,同時将資料封包進行幀封裝,并将資料封包發送給Host_3。

    當需要通信的兩台主機處于不同網段時,如圖1中的Host_1和Host_4,Host_1上已經配置預設網關,**Host_1首先會發送ARP請求封包,請求網關Router的IP位址對應的MAC位址。**Host_1收到ARP應答封包後,将資料封包封裝并發給網關,再由網關将資料封包發送給目的主機Host_4。Host_1學習網關IP位址對應的ARP表項的過程,以及網關裝置學習Host_4的IP位址對應的ARP表項的過程與上述同網段主機Host_1和Host_3之間進行ARP位址解析的過程類似,不再贅述。

    ARP的老化機制:

    如圖1中所示,如果每次Host_1和Host_3通信前都要發送一個廣播的ARP請求封包,會極大的增加網絡負擔。而且同廣播域的所有裝置都需要接收和處理這個廣播的ARP請求封包,也極大的影響了網絡中裝置的運作效率。為了解決以上問題,每台主機或裝置上都維護着一個高速緩存,這是ARP高效運作的一個關鍵。在這個高速緩存中,存放主機或裝置最近學習到的IP位址到MAC位址的映射關系,即動态ARP表項。

    主機或裝置每次發送封包時,會先在本地高速緩存中查找目的IP位址所對應的MAC位址。如果高速緩存中有對應的MAC位址,主機或裝置不會再發送ARP請求封包,而是直接将封包發至這個MAC位址;如果高速緩存中沒有對應的MAC位址,主機或裝置才會廣播發送ARP請求封包,進行ARP位址解析。

    一方面由于高速緩存的容量限制,另一方面為了保證高速緩存中ARP表項的準确性,裝置會對動态ARP表項進行老化和更新。

    動态ARP表項的老化參數有:老化逾時時間、老化探測次數和老化探測模式。裝置上動态ARP表項到達老化逾時時間後,裝置會發送老化探測封包(即ARP請求封包),如果能收到ARP應答封包,則更新該動态ARP表項,本次老化探測結束;如果超過設定的老化探測次數後仍沒有收到ARP應答封包,則删除該動态ARP表項,本次老化探測結束。

    裝置發送的老化探測封包可以是單點傳播封包,也可以是廣播封包。

    當接口Down時裝置會立即删除相應的動态ARP表項。

    ARP的預設配置

    ARP原理描述ARP簡介ARP原理描述

    ARP的封包格式:

    ARP請求和應答的封包格式如圖2所示

    ARP原理描述ARP簡介ARP原理描述
    封包的長度是42位元組。前14位元組的内容表示以太網首部,後28位元組的内容表示ARP請求或應答封包的内容。封包中相關字段的解釋如表1所示。
    ARP原理描述ARP簡介ARP原理描述

靜态ARP

定義:

靜态ARP表項是由網絡管理者手工建立的IP位址和MAC位址之間固定的映射關系。靜态ARP表項不會被老化,不會被動态ARP表項覆寫。

分類

靜态ARP表項分為短靜态ARP表項和長靜态ARP表項。

•短靜态ARP表項:手工建立IP位址和MAC位址之間固定的映射關系,未同時指定VLAN和出接口。

如果出接口是處于二層模式的以太網接口,短靜态ARP表項不能直接用于封包轉發。當需要發送封包時,裝置會先發送ARP請求封包,如果收到的ARP應答封包中的源IP位址和源MAC位址與所配置的IP位址和MAC位址相同,則将收到ARP應答封包的VLAN和接口加入該靜态ARP表項中,後續裝置可直接用該靜态ARP表項轉發封包。

•長靜态ARP表項:手工建立IP位址和MAC位址之間固定的映射關系,并同時指定該ARP表項所在VLAN和出接口。

長靜态ARP表項可以直接用于封包轉發。建議使用者采用長靜态ARP表項。

應用場景

正常情況下網絡中裝置可以通過ARP協定進行ARP表項的動态學習,生成的動态ARP表項可以被老化,可以被更新。但是當網絡中存在ARP攻擊時,裝置中動态ARP表項可能會被更新成錯誤的ARP表項,或者被老化,造成合法使用者通信異常。靜态ARP表項不會被老化,也不會被動态ARP表項覆寫,可以保證網絡通信的安全性。靜态ARP表項可以限制本端裝置和指定IP位址的對端裝置通信時隻使用指定的MAC位址,此時攻擊封包無法修改本端裝置的ARP表中IP位址和MAC位址的映射關系,進而保護了本端裝置和對端裝置間的正常通信。一般在網關裝置上配置靜态ARP表項。

對于以下場景,使用者可以配置靜态ARP表項。•對于網絡中的重要裝置,如伺服器等,可以在路由器上配置靜态ARP表項。這樣可以避免路由器上重要裝置IP位址對應的ARP表項被ARP攻擊封包錯誤更新,進而保證使用者與重要裝置之間正常通信。

•當網絡中使用者裝置的MAC位址為多點傳播MAC位址時,可以在路由器上配置靜态ARP表項。預設情況下,裝置收到源MAC位址為多點傳播MAC位址的ARP封包時不會進行ARP學習。

•當希望禁止某個IP位址通路裝置時,可以在路由器上配置靜态ARP表項,将該IP位址與一個不存在的MAC位址進行綁定。

免費ARP

**裝置主動使用自己的IP位址作為目的IP位址發送ARP請求,**此種方式稱免費ARP。

免費ARP有如下作用:

**•IP位址沖突檢測:**當裝置接口的協定狀态變為Up時,裝置主動對外發送免費ARP封包。正常情況下不會收到ARP應答,如果收到,則表明本網絡中存在與自身IP位址重複的位址。如果檢測到IP位址沖突,裝置會周期性的廣播發送免費ARP應答封包,直到沖突解除。

**•用于通告一個新的MAC位址:**發送方更換了網卡,MAC位址變化了,為了能夠在動态ARP表項老化前通告網絡中其他裝置,發送方可以發送一個免費ARP。

**•在VRRP備份組中用來通告主備發生變換:**發生主備變換後,MASTER裝置會廣播發送一個免費ARP封包來通告發生了主備變換。

裝置收到免費ARP封包後,進行如下判斷:

•如果免費ARP封包中源IP位址和自己的IP位址相同,則周期性的廣播發送免費ARP應答封包,告知此IP位址在網絡中存在沖突,直到沖突解除。

•如果免費ARP封包中源IP位址和自己的IP位址不同,免費ARP封包是在VLANIF接口收到的,并且裝置上已經有免費ARP封包中源IP位址對應的動态ARP表項,則進行ARP學習,即根據收到的免費ARP封包更新該ARP表項。其餘情況收到免費ARP封包後均不進行ARP學習。

Proxy ARP

如果ARP請求是從一個網絡的主機發往同一網段但不在同一實體網絡上的另一台主機,那麼連接配接這兩個網絡的裝置就可以回答該ARP請求,這個過程稱作ARP代理(Proxy ARP)。

Proxy ARP分為路由式Proxy ARP、VLAN内Proxy ARP和VLAN間Proxy ARP,如表1所示。

ARP原理描述ARP簡介ARP原理描述

Proxy ARP有以下特點:

•Proxy ARP部署在網關上,網絡中的主機不必做任何改動。

•Proxy ARP可以隐藏實體網絡細節,使兩個實體網絡可以使用同一個網絡号。

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

繼續閱讀