车载以太网 - 路由激活处理机制 - 04

28 篇文章 10 订阅 ¥299.90 ¥99.00

        在前面我们已经介绍过DoIP的路由激活,不过主要是介绍路由激活的相关的概念;今天我们主要来介绍下路由激活的处理逻辑,进一步的了解软件对路由激活的处理机制,让我们更深入的了解DoIP这块的处理逻辑,更加有助于我们的工作中开发和测试工作的进行。

        首先我们简单看下否定应答码,这里不做过多的介绍,后面会有统一的介绍,并且在前面的文章中也有每个应答码的说明。大家可以再看一下,加深一下印象,有助于下面我们了解路由激活的处理逻辑。

路由激活类型

0x00:默认路由激活类型,强制要求支持,所有的主机厂都要做的。

0x01:全球统一车载诊断,默认所有的主机厂也是都要支持的

0xE0:OEM定制特有的激活类型,这个为可选的,根据各个主机厂定制不同而不同

路由激活处理机制

路由激活示例:

请求:02 FD 00 05 00 00 00 07 xx xx 00 00 00 00 00

应答:02 FD 00 05 00 00 00 09 yy yy xx xx ack 00 00 00 00

第一步:检查路由激活源地址

        根据上一篇我们知道,DoIP头检查将会检查数据到02 FD 00 05 00 00 00 07,那么在路由激活这里将不会再对前面的数据进行检查,因此第一步就会检查路由激活源地址是否有效或者已知,如果源地址未知,那么就会返回Nack应答码(DoIP-059) 0x00,并且关闭Socket连接,结束当前的TCP连接。

第二步:检查路由激活类型是否支持

        从路由激活示例我们可以看到,蓝色的00就是我们的路由激活类型,常见的路由激活类型一般就是0x00、0x01以及各个主机厂定义的激活类型,这里我们需要确认好各自服务的主机厂支持的激活类型有哪些即可,然后判断不支持激活的类型,DUT需要返回Nack 0x06(DoIP-161)。这里要注意的就是确认服务的主机厂支持的路由激活类型,保证验证的完整的性。

第三步:检查Socket句柄

        在TCP连接这块我们需要检查的内容比较多,主要分为3块:Socket是否可用、Socket是否已被激活、逻辑地址是否已在Socket1激活。听起来比较拗口,下面我们一一分析。

1、Socket是否可用:这个比较好理解,就是socket是否已经失效,如果失效则不可被激活,返回Nack 0x01(DoIP-060)

2、Socket是否已经在逻辑地址1激活,且又想要在逻辑地址2激活。如果是同一个Socket想要在2个逻辑地址上激活,这是不支持的,需要返回Nack 0x02(DoIP-149)

3、逻辑地址已经在socket1激活,并且有效,有想要在Socket2激活。这也是不被允许的,DUT需要返回Nack 0x03(DoIP-150).

上面就是对于Socket句柄的3中处理方法。大家需要注意下,这里不是一个知识点是3个。

第四步、第五步:身份验证和检查确认

        这2部分是ISO 13400不强制要求实现的处理逻辑,根据我们国内的开发进度来说,一般不强制要求的我们也是不做的,毕竟代码写的越少bug越少,因此我们不对这2块进行进一步说明。也就是说,在我们检查到第三步Socket句柄没有问题后,我们就会认为路由激活请求有效,返回激活的肯定应答 -- Ack 0x10;后续我们就可以进行正常的DoIP诊断了。

总结:

        我们虽然写了路由激活的3步检查,实际上我们检查了5项;另外这5项检查中无论哪一项检测有问题,都会返回对应的Nack应答码,并且关闭Socket,结束此次的TCP连接,这里大家要注意。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

车载网络测试

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

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

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

打赏作者

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

抵扣说明:

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

余额充值