
Eth系列文章:
【車載以太網】Eth Stack Bringup
【車載以太網】AUTOSAR架構下EthTrcv實戰詳解
【車載以太網】AUTOSAR架構下TC3xx芯片是如何將一幀ETH報文發送出去的
【車載以太網】AUTOSAR架構下TC3xx芯片是如何將一幀ETH報文接收上來的
英飛凌Aurix2G TC3XX GETH模塊詳解
以太網PHY自學筆記
轉載|車載以太網自學筆記
車載以太網PHY,MAC,MII,switch簡介
一文入門車載以太網,吐血整理! 不看可惜!
車載以太網網絡管理之UdpNm
雪嶺 · 車載以太網硬件方案(萬字概覽)
Classic Autosar下的以太網通訊架構概覽
英飛凌Aurix? TC4x 以太網GETH模塊詳解
相信許多人看過的好萊塢大片中都有一個場景,某個電腦高手通過敲擊一連串的代碼就能獲取“壞蛋”電腦上的重要信息。
另一個場景,近幾年,新聞總能爆出某某某因為連接大街上的免費WIFI,導致重要信息或者Money被竊取。

上述兩個場景都離不開以太網中最不安全的協議“ARP協議”,正是ARP協議被這些人不正確使用,導致ARP身負罵名。同時ARP也是以太網中發揮重要的協議,只是存在一些漏洞,接下來與大家一起學習什么是ARP。
ARP(Address Resolution Protocol)即地址解析協議, 用于實現從 IP 地址到 MAC 地址的映射,即詢問目標IP對應的MAC地址。
當發送者 知道目的主機的IP地址之后, 就可以使用這個IP地址去解析對方的MAC地址。
在局域網中,當主機或其它三層網絡設備有數據要發送給另一臺主機或三層網絡設備時,需要知道對方的網絡層地址(即IP地址)。但是僅有IP地址是不夠的,因為IP報文必須封裝成幀才能通過物理網絡發送,因此發送方還需要知道接收方的物理地址(即MAC地址),這就需要一個通過IP地址獲取物理地址的協議,以完成從IP地址到MAC地址的映射。地址解析協議ARP即可實現將IP地址解析為MAC地址。
動態Arp
動態ARP表項由ARP協議通過ARP報文自動生成和維護,可以被老化,可以被新的ARP報文更新,也可以被靜態ARP表項覆蓋。
動態ARP適用于拓撲結構復雜、通信實時性要求高的網絡。
靜態Arp
靜態ARP表項是由網絡管理員手工建立的IP地址和MAC地址之間固定的映射關系。靜態ARP表項不會被老化,不會被動態ARP表項覆蓋。
靜態ARP表項不會被老化,也不會被動態ARP表項覆蓋,可以保證網絡通信的安全性。靜態ARP表項可以限制本端設備和指定IP地址的對端設備通信時只使用指定的MAC地址,此時攻擊報文無法修改本端設備的ARP表中IP地址和MAC地址的映射關系,從而保護了本端設備和對端設備間的正常通信。一般在網關設備上配置靜態ARP表項。
免費Arp
設備主動使用自己的IP地址作為目的IP地址發送ARP請求,此種方式稱免費ARP。
1)在同一個局域網內,這個局域網可與理解為在一輛車內或者是一個網吧內,一個主機1需要向另一個主機2發送以太報文時,主機1是怎么處理的呢?

2)根據以太網層次模型,發送方會從上至下,從應用層至物理層一層層封裝數據,然后發送出去。
在下圖中,應用層封裝Doip/Someip/SD/DDS等應用層協議,傳輸層封裝UDP/TCP協議,網絡層封裝IP與Mac。
按照下圖的場景,主機1在發送報文時出現了Fail,即數據封裝失敗了,為什么會出現這種情況呢?

3)在需要發送應用報文時,應用層會指定目的Ip,這樣主機1就有了目的Ip2,但是主機1依然沒有通信需要的目的Mac地址。這就相當于需要寄一個快遞,但是快遞單上只寫了收件人的名字,沒有寫收件人的地址,那么這個快遞是無法寄給收件人的,因為地址信息缺失。
現在主機1已經有了主機2的Ip地址Ip2.如何獲取主機2的Mac地址呢?這個時候就需要Arp報文機制派上用場了。

通過上圖中的Arp報文交互,主機1已經獲取了主機2的Mac地址信息。
接下來主機1會如何處理Mac信息呢?首先,在真正通信之前,主機1會將通過Arp報文獲取的主機2的Mac地址存入【Arp緩存表】中,表里面存放著Ip與Mac的映射信息。主機1在需要給主機2發送報文時,將從【Arp緩存表】中根據Ip2查找出主機2的Mac地址將所有信息填充完整進行報文發送。
Ip地址 | Mac地址 | 類型 |
Ip2 | Mac2 | 動態 |
IpX | MacX | 靜態 |
![]()

5.Arp緩存表
前面已經介紹了Arp緩存表的用途,接下來我們看看它是如何工作的。為了實現IP地址與Mac地址的查詢與轉換,Arp協議引入了Arp緩存表的概念,每臺主機都會在內存中維護一個Arp表,這個表包含了Ip地址到Mac地址的映射關系。
Arp緩存表將記錄兩類arp:
我們電腦也是有自己的 ARP 緩存表的,可以在控制臺中通過“arp -a”命令進行查看,具體可見下圖。

通過上述的學習,可以了解到通過arp報文的交互,可以獲取對端的Mac地址,那么Arp報文到底是什么樣的形式呢?
下圖為Arp報文的結構。

字段 | 長度 | 含義 |
以太網目的Mac | 48byte | 以太網目的MAC地址 發送ARP請求報文,該字段的廣播地址為0xffff-ffff-ffff |
以太網源Mac | 48比特 | 以太網源Mac地址 |
幀類型 | 16比特 | 數據的類型 對于ARP請求或者應答來說,該字段的值為0x0806 |
硬件類型 | 16比特 | 硬件地址的類型 對于以太網,該值為1 |
協議類型 | 16比特 | 發送方要映射的協議地址類型 對于Ip地址,該協議類型的值為0x800 |
硬件地址長度 | 8比特 | 硬件地址的長度 對于ARP請求或者應答來說,該字段值為6 |
協議地址長度 | 8比特 | 協議地址的長度 對于ARP請求或者應答,該字段值為4 |
OP | 16比特 | 操作類型,OP的值與操作類型關系如下 1表示ARP請求報文 2表示ARP回應報文 |
源Mac | 48比特 | 源Mac地址 該Mac地址與以太網幀首部的以太網源Mac地址相同 |
源Ip | 32比特 | 源Ip地址 |
目的Mac | 48比特 | 目的Mac地址 發送ARP請求報文時,該字段為全0的Mac地址 |
目的Ip | 32比特 | 目的的IP地址 |
ARP 是 TCP/IP 實現中的一個基本協議,它通常在應用程序或用戶沒有察覺到的情況下運行。ARP 可以用于映射 IP 地址為 MAC 地址。
這篇文章我們主要講了Arp的優勢,Arp緩存表,Arp類型,Arp原理之請求應答,Arp報文格式等。后續的文章將會講解Arp如何在AUTOSAR的實現,請持續關注本系列文章的更新。
End
「汽車電子嵌入式在CSDN上同步推出AUTOSAR精進之路專欄,本專欄每個模塊完全按實際項目中開發及維護過程來詳細介紹。模塊核心概念介紹、實際需求描述、實際工程配置、特殊需求介紹及背后原理、實際工程使用經驗總結。 目的是讓讀者看完每一個章節后能理解原理后根據需求完成一個模塊的配置或者解決一個問題。」
點擊文章最后左下角的閱讀原文可以獲取更多信息
或者復制如下鏈接到瀏覽器獲取更多信息
https://blog.csdn.net/qq_36056498/article/details/132125693
文末福利
2.為便于技術交流,創建了汽車電子嵌入式技術交流群,可盡情探討AP,CP,DDS,SOME/IP等前沿熱點話題,后臺回復“加群”即可加入;
注:本文引用了一些第三方工具和文檔,若有侵權,請聯系作者刪除!
推薦閱讀
汽車電子嵌入式精彩文章匯總第一期:20210530-20230703
汽車電子嵌入式精彩文章匯總第2期
汽車電子嵌入式精彩文章匯總第3期
汽車電子嵌入式精彩文章匯總第4期
AUTOSAR項目實戰(9) -CanTrcv模塊配置實踐
AUTOSAR架構下Multi-Core Com配置實戰
TC3xx芯片看門狗復位的默認行為分析
AUTOSAR架構下TC3xx芯片是如何進行模式切換的
AUTOSAR架構下NvM_ReadAll時間優化的實用方案(上)
AUTOSAR架構下NvM_ReadAll無法退出問題分析
TC3xx芯片RAM監控機制的補充
TC3xx芯片RAM ECC錯誤軟件調試
TC3xx芯片ROM ECC錯誤軟件調試
內存分區設計及鏈接文件實現
AUTOSAR項目實戰(10)-Alignment Error異常問題分析
AUTOSAR項目實戰(11)-AUTOSAR OS MPU配置及調試
TC3xx芯片[Class 4, TIN 3] trap原因分享
CanSM何時設置BusOffDTC及常見BusOff內部原因總結
AUTOSAR架構下如何測試NvM的使用率
AUTOSAR架構下如何測量Task的周期和運行時間
EVADC功能安全需求及一些軟硬件設計注意事項
AUTOSAR項目實戰(12)-Can Driver模塊配置使用實踐
NvM實車問題分析-看基礎扎實老司機如何快速定位問題
TC3xx芯片SMU FSP自檢原理和實現
【功能安全】ESM[SW]:SMU:ALIVE_ALARM_TEST原理及具體實現
【功能安全】ESM[SW]:SYS:MCU_FW_CHECK原理及注意實現
LIN收發器TJA1021功耗過高問題分析
【功能安全】英飛凌TC3xx芯片LBIST實現原理
CanTp連續幀報文異常丟失問題分析
【車載以太網】Eth Stack Bringup
【車載以太網】AUTOSAR架構下EthTrcv實戰詳解
【車載以太網】AUTOSAR架構下TC3xx芯片是如何將一幀ETH報文發送出去的
【車載以太網】AUTOSAR架構下TC3xx芯片是如何將一幀ETH報文接收上來的
End
歡迎點贊,關注,轉發,在看,您的每一次鼓勵,都是我最大的動力!
汽車電子嵌入式
微信掃描二維碼,關注我的公眾號