作者 | 雨田
小編 | 不吃豬頭肉 引言
在當(dāng)今快速發(fā)展的汽車行業(yè)中,車載以太網(wǎng)正逐步成為推動(dòng)汽車智能化、網(wǎng)聯(lián)化浪潮的核心技術(shù)之一。作為傳統(tǒng)以太網(wǎng)技術(shù)在汽車領(lǐng)域的創(chuàng)新應(yīng)用,車載以太網(wǎng)不僅繼承了以太網(wǎng)的開放性、成熟性和互操作性,還針對(duì)車輛特有的環(huán)境和需求進(jìn)行了優(yōu)化與定制,為車載內(nèi)部的復(fù)雜數(shù)據(jù)傳輸提供了高速、可靠、低延遲的通信平臺(tái)。
在復(fù)雜的車載網(wǎng)絡(luò)拓?fù)渲校鳈C(jī)間通信最初只知道目標(biāo)設(shè)備的IP地址,那如何獲取目標(biāo)設(shè)備的MAC地址呢,這就不得不提到一個(gè)關(guān)鍵協(xié)議——ARP協(xié)議。
ARP概念
ARP協(xié)議(Address Resolution Protocol,地址解析協(xié)議)在車載以太網(wǎng)中的作用與傳統(tǒng)以太網(wǎng)中作用相同,是一種網(wǎng)絡(luò)層協(xié)議,在網(wǎng)絡(luò)世界中扮演著至關(guān)重要的角色,它就像是網(wǎng)絡(luò)中的地址翻譯官,負(fù)責(zé)將網(wǎng)絡(luò)層的IP地址轉(zhuǎn)換為數(shù)據(jù)鏈路層的MAC地址。ARP工作原理
當(dāng)主機(jī)A向主機(jī)B發(fā)送數(shù)據(jù)包時(shí),會(huì)經(jīng)過以下幾步:
1.ARP緩存查詢:主機(jī)A首先會(huì)在自己的ARP緩存表中查找主機(jī)B 的IP地址對(duì)應(yīng)的MAC地址,如在緩存表中存在映射關(guān)系,則將IP數(shù)據(jù)包封裝成以太網(wǎng)幀并發(fā)送給主機(jī)B。
2.ARP請(qǐng)求廣播:如果主機(jī)A在本地ARP表中查詢不到主機(jī)B對(duì)應(yīng)的MAC地址,主機(jī)A會(huì)以廣播方式發(fā)送一條ARP請(qǐng)求報(bào)文,ARP報(bào)文中源IP地址和MAC 地址為主機(jī)A的IP地址和MAC地址,目標(biāo)IP地址是主機(jī)B地址,目標(biāo)MAC地址設(shè)置為000000:00 。
3.ARP響應(yīng):因ARP報(bào)文以廣播方式發(fā)送,網(wǎng)段上所有主機(jī)都會(huì)接收到ARP請(qǐng)求,當(dāng)主機(jī)B收到ARP請(qǐng)求后會(huì)比較自己的IP地址和報(bào)文中的目標(biāo)IP地址是否相同,如果相同則回復(fù)一條單播ARP響應(yīng)報(bào)文給主機(jī)A,響應(yīng)報(bào)文中包含了主機(jī)B的IP地址和MAC地址,同時(shí)將發(fā)送端的IP地址和MAC地址存入主機(jī)B的ARP緩存表中。
4.緩存更新:主機(jī)A收到ARP應(yīng)答后,將主機(jī)B的IP地址和MAC地址的對(duì)應(yīng)關(guān)系存入自己的ARP緩存表中。
5.數(shù)據(jù)傳輸:主機(jī)A知道了主機(jī)B的IP地址和MAC地址,將IP數(shù)據(jù)包封裝到以太網(wǎng)幀中發(fā)送到主機(jī)B。
ARP數(shù)據(jù)格式
1.以太網(wǎng)幀頭
目的MAC地址:占6字節(jié),表示目標(biāo)主機(jī)的MAC地址,作為ARP請(qǐng)求幀,目標(biāo)MAC地址應(yīng)設(shè)置為FFFFFF:FF;源MAC地址:占6字節(jié),表示源主機(jī)的MAC地址;幀類型:占2字節(jié),表示后面報(bào)文類型,對(duì)于ARP報(bào)文來說該字段值為0x0806;
2.ARP報(bào)文格式(以常用ARP報(bào)文為例)
硬件類型:占2字節(jié),表示硬件地址的類型。它的值為 1即表示以太網(wǎng)地址;
協(xié)議類型:占2字節(jié),表示要映射的協(xié)議地址類型,值等于0x0800時(shí)為IPv4協(xié)議;
MAC地址長度:占1字節(jié),表示MAC地址長度,值為6;
IP地址長度:占1字節(jié),表示IP地址長度,值為4;
操作類型:占2字節(jié),表示ARP報(bào)文類型,值等于1時(shí)為APR請(qǐng)求報(bào)文,值等于2時(shí)為ARP應(yīng)答報(bào)文;
源MAC地址:占6字節(jié),表示源主機(jī)的MAC地址;
源IP地址:占4字節(jié),表示源主機(jī)的IP地址;
目的MAC地址:占6字節(jié),表示目標(biāo)主機(jī)的MAC地址,在ARP請(qǐng)求報(bào)文中該字段值全為0 ;
目的IP地址:占4字節(jié),表示目標(biāo)主機(jī)的IP地址;
報(bào)文解析示例
ARP請(qǐng)求報(bào)文解析示例:
ARP應(yīng)答報(bào)文解析示例:ARP表
ARP表是主機(jī)內(nèi)部的一個(gè)高速緩存表,用于臨時(shí)存儲(chǔ)IP地址和MAC地址的映射關(guān)系,可分為靜態(tài)ARP表和動(dòng)態(tài)ARP表:
靜態(tài)ARP表:通過手工配置和維護(hù),不會(huì)被老化,不會(huì)被動(dòng)態(tài)ARP表項(xiàng)覆蓋。
動(dòng)態(tài)ARP表:動(dòng)態(tài)ARP表由ARP協(xié)議通過ARP報(bào)文自動(dòng)生成和維護(hù),可以被老化,可以被新的ARP報(bào)文更新,也可以被靜態(tài)ARP表項(xiàng)覆蓋。
常見ARP老化過程
ARP 老化是指 ARP 緩存表中的條目在一定時(shí)間內(nèi)沒有使用而被刪除的過程:
1. 老化時(shí)間內(nèi):當(dāng)一個(gè)緩存條目在老化時(shí)間內(nèi)沒有被使用(即沒有通過該條目發(fā)生過通信),它就會(huì)被視為過時(shí)并從ARP表中刪除。
2. 更新重置:在老化時(shí)間內(nèi)有新的數(shù)據(jù)包需要通過此ARP條目轉(zhuǎn)發(fā),該條目的老化周期將被重置,即其老化計(jì)時(shí)器會(huì)被重新開始計(jì)算。
3. ARP探測報(bào)文:當(dāng)達(dá)到老化時(shí)間后,系統(tǒng)會(huì)發(fā)送一定次數(shù)的ARP探測報(bào)文,以確認(rèn)該條目是否仍然有效,若探測失敗,則刪除該緩存條目。
免費(fèi)ARP
當(dāng)主機(jī)發(fā)送ARP請(qǐng)求,但請(qǐng)求的目標(biāo)IP地址是自己本身的IP地址。這種類型的ARP不是為了獲取MAC地址,而是用于更新網(wǎng)絡(luò)中的ARP緩存、檢測IP地址沖突或宣告主機(jī)更換了新的IP地址。
因免費(fèi)ARP這些特性使其在DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)過程中扮演著重要角色,當(dāng)DHCP客戶端從服務(wù)器獲得了一個(gè)新的IP地址后,會(huì)發(fā)送一個(gè)免費(fèi)ARP廣播包,其目的是檢查網(wǎng)絡(luò)中是否有其他設(shè)備在使用相同的IP地址,如果存在另一臺(tái)設(shè)備使用相同IP地址,它將響應(yīng)這個(gè)ARP請(qǐng)求,從而客戶端可以意識(shí)到地址沖突并重新向DHCP服務(wù)器請(qǐng)求一個(gè)新的IP地址。在此過程中確保了新分配的IP地址的唯一性,并促進(jìn)了網(wǎng)絡(luò)中的設(shè)備能迅速識(shí)別出客戶端的IP地址和MAC地址映射關(guān)系。
總結(jié)
ARP協(xié)議是網(wǎng)絡(luò)通信的基石之一,它的實(shí)現(xiàn)也需要符合特定的標(biāo)準(zhǔn)和規(guī)范(如IEEE 802.3以太網(wǎng)標(biāo)準(zhǔn))。作為車載以太網(wǎng)相關(guān)測試人員了解ARP協(xié)議概念及原理是重要的,在車載網(wǎng)絡(luò)中可能包含來自不同制造商的主機(jī),它們?cè)趯?shí)現(xiàn)ARP協(xié)議時(shí)可能存在差異,通過測試可以驗(yàn)證整個(gè)網(wǎng)絡(luò)中所有主機(jī)都能遵循相同的規(guī)則進(jìn)行地址解析。同時(shí)為了提高車載網(wǎng)絡(luò)中不同主機(jī)間的兼容性,OPEN聯(lián)盟發(fā)布了相應(yīng)的測試規(guī)范,其中《OPEN Alliance Automotive Ethernet ECU Test Specification Layer 3-7》文檔中定義了ARP協(xié)議相關(guān)測試內(nèi)容,如字段檢測、動(dòng)態(tài)學(xué)習(xí)、老化機(jī)制等。
-
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7485瀏覽量
88540 -
ARP協(xié)議
+關(guān)注
關(guān)注
0文章
10瀏覽量
6884 -
車載以太網(wǎng)
+關(guān)注
關(guān)注
18文章
215瀏覽量
22913
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論