在上兩篇文章中: 分別介紹了Tester與車輛獲取物理連接、車輛聲明自身信息后接下來需要操作的就是本文所要分享的內(nèi)容:Tester與車輛控制器的通信建立。 一、通信模式 通信建立區(qū)分: 1、UnsecuredDoIP session; 2、Secured(TLS) DoIP session A、UnsecuredDoIP session;此DoIP會話模式為沒有經(jīng)過安全認(rèn)證。 如下圖所示,為了啟動客戶端DoIP實體與車輛中的DoIP實體之間的連接,第一步就是打開套接字(Socket)。這一步是在任何報文交換前必須完成的。因此DoIP實體需要提供處理傳入通信請求的資源(Socket資源)。 為了激活初始化連接,Client需要發(fā)送路由激活請求報文(routingactivation request message)到DoIP實體。讓Socket狀態(tài)跳轉(zhuǎn)到“路由激活”(routingactive相當(dāng)于將此鏈路激活打通,可以進(jìn)行診斷通信)。當(dāng)診斷客戶端不在需要此連接,需要將此Socket斷開,就可以保證該Socket被其他新的請求使用。 B、Secured(TLS) DoIP session 關(guān)于經(jīng)過安全認(rèn)證后DoIP會話模式,其過程是增加了一步TLS安全認(rèn)證(TLS源于互聯(lián)網(wǎng),稍后會專門有文章說明此內(nèi)容)。 當(dāng)一個Socket連接建立后,TLS協(xié)議特定的握手初始化步驟由客戶端DoIP實體和DoIP實體執(zhí)行。TLS握手成功完成后,所有后續(xù)消息都通過此TLSTCP_DATA套接字交換。 同樣道理,當(dāng)DoIP客戶端不需要安全的TCP連接,需要將該Socket連接釋放,以便其他新的請求使用。 其中Socket套接字,一端是IP地址,一端是Port口。 二、路由激活(Routingactivation)格式首先需要清楚DoIP報文頭框架結(jié)構(gòu): 如上圖,是截取ISO13400協(xié)議關(guān)于DoIP報文頭框架,其中最需要注意的地方就是Payloadtype。它決定了該幀報文的具體功能類型。 回歸到本文話題,關(guān)于路由激活的Payloadtype: 截取Demo中Trace數(shù)據(jù)如下: 在協(xié)議中,定義路由激活報文格式如下: 其中關(guān)于Routingactivation request activation types定義如下: 其中對于激活報文的作用類型分了好多種,也預(yù)留了相應(yīng)位置,保證協(xié)議的靈活性;也預(yù)留給OEM自定義使用的權(quán)限。 將路由激活請求發(fā)送至DoIP實體,DoIP實體處理機制如下: 根據(jù)處理機制,DoIP響應(yīng)其請求 響應(yīng)格式如下 其中Routingactivationresponse code值詳細(xì)定義如下表: 路由激活響應(yīng)碼值由不同的觸發(fā)條件觸發(fā):
以上是關(guān)于DoIP通信前的路由激活全過程。 我相信時間的力量,愿你我每天進(jìn)步一點點! 自媒體提供了一個展現(xiàn)自己觀點的平臺,我有幸參與其中,來暢所欲言的表達(dá)自己觀點。但鑒于眼界和以往經(jīng)驗,闡述的觀點有可能具有一定的局限性,望讀者批判性的閱讀。 若您有所收獲,我將萬分激動,因為他人的認(rèn)可是我幸福度提高的動力和源泉,也是我不斷更新的動力。 若您也發(fā)現(xiàn)有爭議的點,歡迎郵件溝通交流哈?。?! 若您有所收獲,是我更新的最大動力! 有關(guān)注,不迷路! 現(xiàn)階段可在私信上面溝通技術(shù)疑問,我會及時回復(fù)! ----------------------------------------- 作者簡介 | 穿拖鞋的漢子 汽車電子工程師 chuantuoxiedehanzi@163.com 來,每天進(jìn)步一點點! |
|