1 概述
DoIP全稱為基于IP網(wǎng)絡(luò)的診斷通信Diagnostic communication over Internet Protocol,由ISO 13400標(biāo)準(zhǔn)定義,是基于IP的汽車診斷協(xié)議。由于DoIP可以傳輸大量數(shù)據(jù),以及響應(yīng)速度快,且可以通過以太網(wǎng)進(jìn)行遠(yuǎn)程診斷,因此DoIP逐步成為代替?zhèn)鹘y(tǒng)的CAN等總線方式,成為車載網(wǎng)絡(luò)診斷的必然趨勢(shì)。DoIP診斷經(jīng)由通用的統(tǒng)一診斷服務(wù)UDS協(xié)議引入診斷服務(wù),通過傳輸控制協(xié)議TCP、用戶數(shù)據(jù)報(bào)協(xié)議UDP和以太網(wǎng)協(xié)議IP,完成外部測(cè)試設(shè)備與ECU間的診斷通信。在OSI 7層模型中,ISO 13400規(guī)定了DoIP的傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。應(yīng)用層和會(huì)話層部分和基于CAN總線診斷一樣采用ISO 14229實(shí)現(xiàn)。當(dāng)然,DoIP并不僅僅只是UDS的載體,雖然在ISO13400標(biāo)準(zhǔn)中內(nèi)容不多,但是它也有自己的一些邏輯,不可能說在TCP/IP之上加了一層封裝就完成了自己的任務(wù),這樣的話安全性就沒有保證了,畢竟車載以太網(wǎng)通過網(wǎng)絡(luò)能夠?qū)④噧?nèi)與車外進(jìn)行網(wǎng)絡(luò)的連接,而DoIP又是診斷的入口,這個(gè)門口如果不好好看住,會(huì)存在安全性的問題的。
2 網(wǎng)絡(luò)拓?fù)?/p>
下圖為未來整車架構(gòu)的網(wǎng)絡(luò)拓?fù)鋱D,根據(jù)該拓?fù)浣Y(jié)構(gòu),5個(gè)域控制器:車身、動(dòng)力總成、底盤、信息娛樂、高級(jí)駕駛員輔助系統(tǒng)ADAS,通過以太網(wǎng)作為主干網(wǎng)連接,每個(gè)域內(nèi)部均可使用不同網(wǎng)絡(luò),當(dāng)域與域之間需要信息交流時(shí),報(bào)文可經(jīng)由域控制器路由轉(zhuǎn)發(fā)到目標(biāo)網(wǎng)絡(luò)。
注意圖中的一些關(guān)鍵信息可參考DoIP中的以下幾個(gè)關(guān)鍵概念來理解:
DoIP entity(DoIP實(shí)體):實(shí)現(xiàn)DoIP協(xié)議的節(jié)點(diǎn),即DoIP gateway或者DoIP node;
DoIP gateway( DoIP網(wǎng)關(guān)):實(shí)現(xiàn)DoIP協(xié)議,并能進(jìn)行協(xié)議轉(zhuǎn)發(fā)的節(jié)點(diǎn);
DoIP node(DoIP節(jié)點(diǎn)):實(shí)現(xiàn)DoIP協(xié)議,但不能進(jìn)行協(xié)議轉(zhuǎn)發(fā)的節(jié)點(diǎn);
DoIP edge node(DoIP邊緣節(jié)點(diǎn)):連接以太網(wǎng)激活線的DoIP節(jié)點(diǎn),此部分和DoIP gateway有什么區(qū)別?其實(shí)沒什么區(qū)別,唯一的區(qū)別就是多了個(gè)使能線的判斷,從圖中可以看出External test equipment和DoIP edge node gateway之間有一條線叫做Activation line。那么這條線的功能就是對(duì)協(xié)議棧進(jìn)行使能作用的,當(dāng)然External test equipment和DoIP edge node gateway之間不只是Activation line相連的,這個(gè)圖只是功能示意圖,少了很多細(xì)節(jié),其實(shí)是通過標(biāo)準(zhǔn)的OBD-II接頭相連的,其中一個(gè)針腳就是Activation line。
Network Node(網(wǎng)絡(luò)節(jié)點(diǎn)):連在IP網(wǎng)絡(luò)上,但不能實(shí)現(xiàn)DoIP的節(jié)點(diǎn)。
External test equipment:此部分為外部測(cè)試設(shè)備,通常為OBD診斷儀或者其他診斷客戶端
端口:指定了端口號(hào),客戶端和服務(wù)端可以在此端口上進(jìn)行收發(fā)數(shù)據(jù)。我們知道不管是TCP還是UDP,都包含源端口號(hào)和目的端口號(hào),在DoIP報(bào)文中用到了以下三種端口:
UDP_DISCOVERY:端口類型-UDP,端口號(hào)-13400,該端口有以下兩個(gè)應(yīng)用場(chǎng)景:
1) 被用于診斷設(shè)備發(fā)送給DoIP節(jié)點(diǎn)的車輛信息請(qǐng)求報(bào)文和DoIP節(jié)點(diǎn)控制報(bào)文,此時(shí)該端口在報(bào)文中被設(shè)置為目的端口。
2) 被用于DoIP節(jié)點(diǎn)在沒有收到請(qǐng)求的時(shí)候發(fā)送的UDP報(bào)文,如車輛聲明報(bào)文。此時(shí)該端口同樣被設(shè)置為目的端口,源端口可以為該端口,也可以由發(fā)送方動(dòng)態(tài)定義。
UDP_TEST_EQUIPMENT_REQUEST:端口類型-UDP,端口號(hào)-動(dòng)態(tài)定義(49152-65535):該端口由外部診斷設(shè)備在49152-65535范圍內(nèi)動(dòng)態(tài)定義,用于診斷設(shè)備向DoIP節(jié)點(diǎn)發(fā)送的UDP報(bào)文,在報(bào)文中作為源端口,報(bào)文的目的端口應(yīng)設(shè)置為UDP_DISCOVERY。當(dāng)DoIP節(jié)點(diǎn)向診斷設(shè)備發(fā)送響應(yīng)的時(shí)候,報(bào)文中的目的端口應(yīng)設(shè)置為UDP_TEST_EQUIPMENT_REQUEST,源端口可以為UDP_DISCOVERY,也可以有DoIP節(jié)點(diǎn)動(dòng)態(tài)定義。
TCP_DATA:端口類型-TCP,端口號(hào)-13400:該端口用于外部診斷設(shè)備和DoIP節(jié)點(diǎn)之間的TCP通信,如路由報(bào)文和診斷報(bào)文。當(dāng)診斷設(shè)備向DoIP節(jié)點(diǎn)發(fā)送報(bào)文時(shí),使用TCP_DATA作為目的端口號(hào);當(dāng)DoIP節(jié)點(diǎn)向診斷設(shè)備發(fā)送報(bào)文時(shí),使用TCP_DATA作為源端口號(hào)。
DoIP在車載領(lǐng)域的應(yīng)用首先汽車系統(tǒng)的整體框架要能夠支持DoIP,正因?yàn)檐囕d以太網(wǎng)的快速發(fā)展,相較于傳統(tǒng)的車載系統(tǒng),目前的車載系統(tǒng)的整體框架都會(huì)加入一層DoIP協(xié)議層,在TCP/IP之上。并且為了更好的配合OBD診斷,遠(yuǎn)程診斷,F(xiàn)OTA等等技術(shù),對(duì)整體的車載架構(gòu)進(jìn)行了調(diào)整,利用swich將MPU,MCU,其它以太網(wǎng)ECU統(tǒng)統(tǒng)通過以太網(wǎng)進(jìn)行連接,并對(duì)外網(wǎng)與內(nèi)網(wǎng)進(jìn)行隔離。
DoIP架構(gòu)模型必須實(shí)現(xiàn)以下特征:
①車輛與測(cè)試設(shè)備能夠加入到網(wǎng)絡(luò)中并識(shí)別對(duì)方;②汽車具有聲明存在且被檢測(cè)到的能力;③獲取車輛基本狀態(tài)信息(如Power Mode狀態(tài));④通信建立,如雙方通信請(qǐng)求建立,保持,以及對(duì)網(wǎng)關(guān)的控制等;⑤汽車網(wǎng)關(guān)實(shí)現(xiàn)診斷設(shè)備與車輛子網(wǎng)組件之間的數(shù)據(jù)路由;⑥錯(cuò)誤狀態(tài)處理。
3 DoIP幀格式
DoIP報(bào)文由DoIP報(bào)頭和Payload(有效載荷)組成,具體如下圖所示。
1)DoIP報(bào)頭包含:DoIP協(xié)議版本號(hào),目前為0x02(DoIP
2012)。
2)協(xié)議版本號(hào)取反,目前為0xFD。注意:協(xié)議書上特別說明了Protocol version可以為0xFF,設(shè)這個(gè)值的作用是,當(dāng)客戶端和服務(wù)端的協(xié)議版本不匹配,可以設(shè)置此值繞過協(xié)議頭版本不匹配而拒絕請(qǐng)求的case。
3)Payload類型,分為3大類:
①節(jié)點(diǎn)管理類,包含DoIP報(bào)頭否定應(yīng)答、車輛聲明及標(biāo)識(shí)、路由激活、在線檢查;
②車輛信息類,包含DoIP實(shí)體狀態(tài)、診斷電源模式信息;
③診斷數(shù)據(jù)類,包含診斷報(bào)文。
關(guān)于每個(gè)類型的含義如下表所示,具體含義參考標(biāo)準(zhǔn)即可。
4 DoIP狀態(tài)機(jī)和通信流程
DoIP實(shí)體內(nèi)管理著一個(gè)DoIP connection table ,用來記錄和維護(hù)診斷通信的邏輯連接。上圖就是這個(gè)表中的一個(gè)元素,即一個(gè)邏輯連接的狀態(tài)機(jī)。上圖中的方框就是連接所處的狀態(tài),[Step]是狀態(tài)之間跳轉(zhuǎn)時(shí)發(fā)生的事情。
[Step1] 當(dāng)一個(gè)新的套接字建立,邏輯連接的狀態(tài)就從“l(fā)isten”跳轉(zhuǎn)到“socket initialized”,同時(shí)啟動(dòng)一個(gè)定時(shí)器, initial inactivity timer。
[Step2] 當(dāng)DoIP實(shí)體接收到tester發(fā)來的一個(gè)routing activation信息后,邏輯連接的狀態(tài)就從“socket initialized”跳轉(zhuǎn)到“Registered [Pending for Authentication]” ,此時(shí) initial inactivity timer被停止,啟動(dòng)一個(gè)名為general inactivity timer的定時(shí)器。
[Step3] 在完成Authentication之后,邏輯連接的狀態(tài)就從“Registered [Pending for Authentication]”跳轉(zhuǎn)到“Registered [Pending for Confrmation]” 。
[Step4] 在完成Confrmation之后,邏輯連接的狀態(tài)就從“Registered [Pending for Confrmation]”跳轉(zhuǎn)到“Registered [Routing Active] ” 。
[Step5] 如果initial timer 或general inactivity timer 過期后仍沒收到后續(xù)請(qǐng)求,或者authentication 和 confrmation 被拒絕了,又或者外部測(cè)試設(shè)備對(duì)alive check 消息沒有響應(yīng),則邏輯連接進(jìn)入“Finalize”狀態(tài)。
[Step6]進(jìn)入Finalize后,此時(shí)TCP套接字將被關(guān)閉,并重新回到“l(fā)isten”狀態(tài)。
5 DoIP通信流程
通信的建立
當(dāng)一輛車和外部測(cè)試設(shè)備都連接到DoIP網(wǎng)絡(luò)中,并且IP地址配置完成,DoIP實(shí)體將通過車輛公告信息廣播其VIN、EID、GID和邏輯地址3次,外部測(cè)試設(shè)備通過廣播發(fā)送車輛識(shí)別請(qǐng)求來觸發(fā)車輛識(shí)別響應(yīng),從而完成車輛聲明及標(biāo)識(shí)步驟。打開Socket(套接字)是外部測(cè)試設(shè)備向車輛內(nèi)部DoIP實(shí)體發(fā)起連接的第一步,必須在交換任何報(bào)文前完成,一旦建立了連接,必須執(zhí)行一些初始化操作。為了激活初始化連接中的路由,外部測(cè)試設(shè)備將發(fā)送一個(gè)路由激活請(qǐng)求消息到DoIP實(shí)體。如果外部測(cè)試設(shè)備符合條件,DoIP實(shí)體將發(fā)送一個(gè)路由激活成功的響應(yīng),此時(shí)就可以對(duì)有效的DoIP報(bào)文(如DoIP診斷報(bào)文)進(jìn)行轉(zhuǎn)發(fā)或處理。DoIP會(huì)話示例如下圖所示。
報(bào)文頭的處理
每個(gè)DoIP實(shí)體(實(shí)現(xiàn)了DoIP協(xié)議的節(jié)點(diǎn))將按下圖中指定的順序處理所有DoIP報(bào)文的通用DoIP報(bào)頭結(jié)構(gòu)
如果接收到來自DoIP實(shí)體不正確的DoIP報(bào)文,外部測(cè)試設(shè)備不得發(fā)送通用DoIP報(bào)頭的否定應(yīng)答報(bào)文。通用DoIP報(bào)頭否定應(yīng)答報(bào)文只能用于確定先前發(fā)送的DoIP報(bào)文的錯(cuò)誤條件。
審核編輯:郭婷
-
控制器
+關(guān)注
關(guān)注
114文章
17100瀏覽量
184223 -
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
5632瀏覽量
175897 -
總線
+關(guān)注
關(guān)注
10文章
2959瀏覽量
89743
原文標(biāo)題:5 ?DoIP通信流程
文章出處:【微信號(hào):談思實(shí)驗(yàn)室,微信公眾號(hào):談思實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
信而泰×DeepSeek:AI推理引擎驅(qū)動(dòng)網(wǎng)絡(luò)智能診斷邁向 “自愈”時(shí)代
光通信網(wǎng)絡(luò)故障排除技巧
數(shù)據(jù)網(wǎng)絡(luò)分析儀的原理和應(yīng)用場(chǎng)景
時(shí)域網(wǎng)絡(luò)分析儀的原理和應(yīng)用場(chǎng)景
揭秘EtherNet/IP:工業(yè)設(shè)備的高效通信方案

什么是協(xié)議分析儀和訓(xùn)練器
矢量網(wǎng)絡(luò)分析儀出現(xiàn)故障,如何進(jìn)行診斷與修復(fù)?
IP 地址大數(shù)據(jù)分析如何進(jìn)行網(wǎng)絡(luò)優(yōu)化?

ip網(wǎng)絡(luò)音頻終端是什么
如何利用IP查詢技術(shù)保護(hù)網(wǎng)絡(luò)安全?
IP風(fēng)險(xiǎn)畫像如何維護(hù)網(wǎng)絡(luò)安全
IP定位技術(shù)追蹤網(wǎng)絡(luò)攻擊源的方法
跨網(wǎng)段 IP 地址通信故障分析

評(píng)論