DoIP----基础概念(一)

1. DoIP概述

        DoIP(Diagnostic communication over Internet Protocol)是基于车载以太网的诊断,在OSI 七层模型中属于传输层,其传输的诊断数据也是基于UDS,即DoIP是在以太网网络上传输UDS诊断数据的传输协议。DoIP带宽高,适合传输大量数据的场景,如车上的OTA软件升级。

        ISO 13400-1中给出的协议体系如下:

Figure1 - DoIP docurement reference according to OSI model

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)。

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龍师兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值