日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DoIP(一)——基础概念

發布時間:2023/12/9 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DoIP(一)——基础概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. DoIP概述
DoIP(Diagnostic communication over Internet Protocol)是基于車載以太網的診斷,在OSI 七層模型中屬于傳輸層,其傳輸的診斷數據也是基于UDS,即DoIP是在以太網網絡上傳輸UDS診斷數據的傳輸協議。DoIP帶寬高,適合傳輸大量數據的場景,如車上的OTA軟件升級。

ISO 13400-1中給出的協議體系如下:

?

2. DoIP報文格式
DoIP報文也是基于TCP或UDP,但在其報文的Payload起始段添加了DoIP報頭(首部),用來區分不同的DoIP報文類型,實現不同的功能。DoIP報文的結構如下圖所示:

?


3. DoIP端口
我們知道不管是TCP還是UDP,都包含源端口號和目的端口號,在DoIP報文中用到了以下三種端口:

(1)UDP_DISCOVERY:端口類型-UDP,端口號-13400
該端口有以下兩個應用場景:

被用于診斷設備發送給DoIP節點的車輛信息請求報文和DoIP節點控制報文,此時該端口在報文中被設置為目的端口。
被用于DoIP節點在沒有收到請求的時候發送的UDP報文,如車輛聲明報文。此時該端口同樣被設置為目的端口,源端口可以為該端口,也可以由發送方動態定義。
(2)UDP_TEST_EQUIPMENT_REQUEST:端口類型-UDP,端口號-動態定義(49152-65535)
該端口由外部診斷設備在49152-65535范圍內動態定義,用于診斷設備向DoIP節點發送的UDP報文,在報文中作為源端口,報文的目的端口應設置為UDP_DISCOVERY。

當DoIP節點向診斷設備發送響應的時候,報文中的目的端口應設置為UDP_TEST_EQUIPMENT_REQUEST,源端口可以為UDP_DISCOVERY,也可以有DoIP節點動態定義。

(3)TCP_DATA:端口類型-TCP,端口號-13400
該端口用于外部診斷設備和DoIP節點之間的TCP通信,如路由報文和診斷報文。當診斷設備向DoIP節點發送報文時,使用TCP_DATA作為目的端口號;當DoIP節點向診斷設備發送報文時,使用TCP_DATA作為源端口號。

4. DoIP報頭
我們把上圖中DoIP的部分單獨拿出來:


我們可以看到DoIP報文由首部和數據兩部分組成,我們先來看一下首部四個參數的定義:

?

(1)協議版本(Protocol Version)
長度一字節,代表遵照ISO 13400 的那個版本,定義如下:

0x00:Reserved
0x01: DoIP ISO 13400-2:2010
0x02: DoIP ISO 13400-2:2012
0x03…0xFE: ISO 13400 reserved
0xFF: default value for vehicle identification request messages
(2)協議版本取反(Inverse Protocol Version)
是上面協議版本字節取反后的數值,即 = 協議版本 XOR 0xFF。
例如:協議版本 = 0x02,該字節 = 0x02 ^ 0xFF = 0xFD

(3)數據類型(Payload Type)
數據類型即DoIP報文的類型,不同類型功能不同,數據部分的解析方式也不一樣,我們在下一篇文章中詳細介紹每一種報文類型。

(4)數據長度(Payload Length)
我們先來看最后一個參數——數據長度,就是指DoIP報文中DoIP層數據的長度,不包括DoIP報頭,只是數據長度,4字節,可以為0,最大為0xFFFFFFFF(4GB)。

總結

以上是生活随笔為你收集整理的DoIP(一)——基础概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。