ARP協議:網路世界的地址翻譯官

北汇信息發表於2024-06-05

一 . 引言

在當今快速發展的汽車行業中,車載乙太網正逐步成為推動汽車智慧化、網聯化浪潮的核心技術之一。作為傳統乙太網技術在汽車領域的創新應用,車載乙太網不僅繼承了乙太網的開放性、成熟性和互操作性,還針對車輛特有的環境和需求進行了最佳化與定製,為車載內部的複雜資料傳輸提供了高速、可靠、低延遲的通訊平臺。

在複雜的車載網路拓撲中,主機間通訊最初只知道目標裝置的IP地址,那如何獲取目標裝置的MAC地址呢,這就不得不提到一個關鍵協議——ARP協議。

二.ARP概念

ARP協議(Address Resolution Protocol,地址解析協議)在車載乙太網中的作用與傳統乙太網中作用相同,是一種網路層協議,在網路世界中扮演著至關重要的角色,它就像是網路中的地址翻譯官,負責將網路層的IP地址轉換為資料鏈路層的MAC地址。

ARP協議:網路世界的地址翻譯官

三.ARP工作原理

當主機A向主機B傳送資料包時,會經過以下幾步:

1.ARP快取查詢:主機A首先會在自己的ARP快取表中查詢主機B 的IP地址對應的MAC地址,如在快取表中存在對映關係,則將IP資料包封裝成乙太網幀併傳送給主機B。

ARP協議:網路世界的地址翻譯官

2.ARP請求廣播:如果主機A在本地ARP表中查詢不到主機B對應的MAC地址,主機A會以廣播方式傳送一條ARP請求報文,ARP報文中源IP地址和MAC 地址為主機A的IP地址和MAC地址,目標IP地址是主機B地址,目標MAC地址設定為00:00:00:00:00:00 。

ARP協議:網路世界的地址翻譯官

3.ARP響應:因ARP報文以廣播方式傳送,網段上所有主機都會接收到ARP請求,當主機B收到ARP請求後會比較自己的IP地址和報文中的目標IP地址是否相同,如果相同則回覆一條單播ARP響應報文給主機A,響應報文中包含了主機B的IP地址和MAC地址,同時將傳送端的IP地址和MAC地址存入主機B的ARP快取表中。

ARP協議:網路世界的地址翻譯官

4.快取更新:主機A收到ARP應答後,將主機B的IP地址和MAC地址的對應關係存入自己的ARP快取表中。

ARP協議:網路世界的地址翻譯官

5.資料傳輸: 主機A知道了主機B的IP地址和MAC地址,將IP資料包封裝到乙太網幀中傳送到主機B。

ARP協議:網路世界的地址翻譯官

四.ARP資料格式

ARP協議:網路世界的地址翻譯官

1.乙太網幀頭:

目的MAC地址:佔6位元組,表示目標主機的MAC地址,作為ARP請求幀,目標MAC地址應設定為FF:FF:FF:FF:FF:FF;

源MAC地址:佔6位元組,表示源主機的MAC地址;

幀型別:佔2位元組,表示後面報文型別,對於ARP報文來說該欄位值為0x0806;

2.ARP報文格式(以常用ARP報文為例):

硬體型別:佔2位元組,表示硬體地址的型別。它的值為 1即表示乙太網地址;

協議型別:佔2位元組,表示要對映的協議地址型別,值等於0x0800時為IPv4協議;

MAC地址長度:佔1位元組,表示MAC地址長度,值為6;

IP地址長度:佔1位元組,表示IP地址長度,值為4;

操作型別:佔2位元組,表示ARP報文型別,值等於1時為APR請求報文,值等於2時為ARP應答報文;

源MAC地址:佔6位元組,表示源主機的MAC地址;

源IP地址:佔4位元組,表示源主機的IP地址;

目的MAC地址:佔6位元組,表示目標主機的MAC地址,在ARP請求報文中該欄位值全為0 ;

目的IP地址:佔4位元組,表示目標主機的IP地址;

五.報文解析示例

ARP請求報文解析示例:

ARP協議:網路世界的地址翻譯官

ARP應答報文解析示例:

ARP協議:網路世界的地址翻譯官

六.ARP表

ARP表是主機內部的一個快取記憶體表,用於臨時儲存IP地址和MAC地址的對映關係,可分為靜態ARP表和動態ARP表:

靜態ARP表:透過手工配置和維護,不會被老化,不會被動態ARP表項覆蓋。

動態ARP表:動態ARP表由ARP協議透過ARP報文自動生成和維護,可以被老化,可以被新的ARP報文更新,也可以被靜態ARP表項覆蓋。

七:常見ARP老化過程

ARP 老化是指 ARP 快取表中的條目在一定時間內沒有使用而被刪除的過程:

1. 老化時間內:當一個快取條目在老化時間內沒有被使用(即沒有透過該條目發生過通訊),它就會被視為過時並從ARP表中刪除。

2. 更新重置:在老化時間內有新的資料包需要透過此ARP條目轉發,該條目的老化週期將被重置,即其老化計時器會被重新開始計算。

3. ARP探測報文:當達到老化時間後,系統會傳送一定次數的ARP探測報文,以確認該條目是否仍然有效,若探測失敗,則刪除該快取條目。

八.免費ARP

當主機傳送ARP請求,但請求的目標IP地址是自己本身的IP地址。這種型別的ARP不是為了獲取MAC地址,而是用於更新網路中的ARP快取、檢測IP地址衝突或宣告主機更換了新的IP地址。

因免費ARP這些特性使其在DHCP(動態主機配置協議)過程中扮演著重要角色,當DHCP客戶端從伺服器獲得了一個新的IP地址後,會傳送一個免費ARP廣播包,其目的是檢查網路中是否有其他裝置在使用相同的IP地址,如果存在另一臺裝置使用相同IP地址,它將響應這個ARP請求,從而客戶端可以意識到地址衝突並重新向DHCP伺服器請求一個新的IP地址。在此過程中確保了新分配的IP地址的唯一性,並促進了網路中的裝置能迅速識別出客戶端的IP地址和MAC地址對映關係。

ARP協議:網路世界的地址翻譯官

九.總結:

ARP協議是網路通訊的基石之一,它的實現也需要符合特定的標準和規範(如IEEE 802.3乙太網標準)。作為車載乙太網相關測試人員瞭解ARP協議概念及原理是重要的,在車載網路中可能包含來自不同製造商的主機,它們在實現ARP協議時可能存在差異,透過測試可以驗證整個網路中所有主機都能遵循相同的規則進行地址解析。同時為了提高車載網路中不同主機間的相容性,OPEN聯盟釋出了相應的測試規範,其中《OPEN Alliance Automotive Ethernet ECU Test Specification Layer 3-7》文件中定義了ARP協議相關測試內容,如欄位檢測、動態學習、老化機制等。

北匯資訊是一家專注於汽車電子測試領域的企業,對車載乙太網測試有著豐富經驗,並可提供相關培訓、諮詢服務以及測試解決方案,幫助汽車製造商和零部件供應商確保其車載乙太網系統的可靠性和安全性。如果需要具體的測試服務或瞭解更多資訊,歡迎大家來聯絡我們。

參考文獻:

【1】《TCP/IP詳解 卷1:協議》

【2】《車載乙太網權威指南》

【3】《RFC 826文件》

相關文章