车载以太网 - SomeIP测试专栏 - 详细解析 - 02

news2024/12/25 9:04:36

        对于介绍SomeIP协议,我还是想从最基础的协议解析来,所以今天还是先将SomeIP协议详解给大家列举一下,也方便大家在工作中如果不记得哪些信息随时可以查看学习,也算是留给我自己的笔记吧,毕竟确实容易忘记。

SomeIP数据:

0000 dm dm dm dm dm dm sm sm sm sm sm sm 08 00 45 00

0010 00 2d 12 66 00 00 40 11 0d 3f sa sa sa sa da da

0020 da da bf cc bf d6 00 19 a0 f1 01 00 80 01 00 00

0030 00 09 00 00 00 00 01 01 02 00 00 00

上面试一组最常见的SomeIP数据,也是比较完整的一段。

解析:(同前面DoIP、ICMP、ARP等数据)

前导码:

帧起始:

1、Destination MAC:dm dm dm dm dm dm   目标物理地址

2、Source MAC:sm sm sm sm sm sm 源物理地址

3、ETH type:08 00 

General Use:0x0800 IPv4;0x86DD IPv6;0x8100 Adressing resolution protocol;0x9100 VLAN 0x0806 ARP;ICMP

Single Tag:0x88F5 VLAN Double Tag;

AVB:0x22F0 IEEE 1722;0x88F7 GPTP网络;0x22EA Multiple Stream Reservation Protocol;

V2X:0x88DC Wave short Message Protocol;

802.3:0x0-0x05DC IEEE 802.3长度

4、Version+HIL:45

版本:如4表示IPV4      IPV4:4,IPV6:6

5、 DSCP+ECN:00

Differentiated Service:一般没有使用,详细参考RFC

Explicit Congestion Notification:用于扩展检测丢包

6、 Total length:00  2d

总长度:header+数据 总长度  

7、 Identification:12 66

计时器:占16位,它是一个计数器,用来产生数据包的标识

8、Flags+Fragment Offset:  40 00

标明是否分片 bit 0: Reserved; must be zerobit 1: Don't Fragment (DF) bit 2: More Fragments (MF)

占12位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单位

9、 Time to alive:40

生存时间:占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255

10、Protocol:11

协议类型:占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程, 1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为 UDP 协议

11、Header checksum:0d 3d   数据头CRC

12、Source IP:sa sa sa sa  源IP地址

13、Destination IP:da da da da  目标IP地址

14、Source Port:bf cc  源端口号 

15、Destination port:bf d6 目标端口号

16、UDP Length:00 19

17、Checksum:a0 ed UDP校验

SomeIP数据:

Message ID:

18、Service ID:01 00 用于标识一个特定的服务,同一辆车中的不同的服务应具有不同的Service ID;特殊Service ID我们后面会介绍。

19、Method ID:80 05 最高位用于标识事件和通知(Method、Field-Getter/Setter、Event、Field-Notifier)。

20、Length:00 00 00 09

Request ID:

21、Client ID:00 00 车辆中的唯一标识符,高字节设置为0x00,低字节为ECU对应的诊断ID

22、Session ID:00 00 客户端调用的唯一标识符,表示一次会话过程;

23、Protocol Version:01 SomeIP协议版本号,当前一般使用的都是0x01

24、Interface Version:01 SomeIP协议接口版本,用于检测匹配的一致性,一般也是设置为0x01

25、Message Type:01 SomeIP报文类型,这个湖面会做详细介绍

26、Return Code:00 返回码,不同的返回码表示不同的意思;类似于CAN诊断的NRC码

23、Payload:00 负载数据

数据对比字节图:

        由于SomeIP报文类型种类太多,因此我们今天这里只介绍到SomeIP Header信息,这样方便后面的逐一进行介绍,大家感兴趣的话关注下,后面会一一进行分享,绝对是全网最细致的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/185577.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【GD32F427开发板试用】基于移植BP神经网络辨认花的种类

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:卢瑟 前言 很荣幸参与这次GD32的开发板试用活动(白嫖活动),由于在家条件比较有限,就移植了之前做过的项目。利用神经网…

【Java开发常用软件整理】

该博客整理了一些JAVA程序员常用的软件开发类软件、系统类软件,可以作为JAVA程序员配置Java开发基础环境的参考手册。 目录开发类软件Java8 安装IntelliJ IDEA 安装Maven 安装Git 安装MYSQL 安装系统类软件开发类软件 开发软件安装包下载地址:开发软件安…

ASP.NET Core Web应用程序项目部署流程

目录 一、准备ASP.NET Core应用程序部署文件 二、环境配置 三、测试 ASP.NET Core Web 应用程序 四、部署后访问失败问题 以下部署流程都是基于Windows服务器环境下进行的。 一、准备ASP.NET Core应用程序部署文件 使用 Visual Studio 开发工具创建 ASP.NET Core 的Web应…

盘点最近线程池的几个面试重要考点

有点惊叹最近的面试题,因为从之前的基础的面试题,到之后的一些涉及到分布式和微服务的面试题,再到现在的线程池的一些面试题,反正不同的面试官,就有不同的针对方向,可能现在的面试官比较想考验你的多方面的…

Hive(2):Apache Hive 安装部署

1 元数据相关名词 1.1 Metadata Metadata即元数据。元数据包含用Hive创建的database、table、表的位置、类型、属性,字段顺序类型等元信息。元数据存储在关系型数据库中。如hive内置的Derby、或者第三方如MySQL等。 1.2 Metastore Metastore即元数据服务。Metast…

Python中tqdm进度条的详细介绍(安装程序与耗时的迭代)

平时在做一些测试时候,是没有进度条出现的,这跟大家pip安装程序不一样(有安装进度条),比如做遍历的时候:for i in range(10):time.sleep(0.5)print(i)只是每过0.5秒就进行打印输出,在这个等待过程是没有任何提示的&…

SAP ADM100-2.1 SAP系统启停过程

一、SAP系统开启过程 在SAP系统使用过程中维护硬件和修改SAP系统配置文件后重启SAP系统是有必要的。开启SAP系统是每个SAP系统管理员应该熟悉的初始过程。 每个SAP系统包含一个数据库和至少一个实例,JAVA栈SAP系统还有一个CS中央服务实例,ABAP栈SAP系统含有一个ABAP CS中央服…

springboot2.5集成log4j2报错

报错信息: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 修改依赖 把依…

【01Studio MaixPy AI K210】22.ESP8266与服务器连接的问题及处理

目录 前提 问题 处理 前提 WiFi的账号密码输入正确 ESP8266的主题与服务器的主题一致 代码的服务器网址正确 ESP8266正确连接核心板的引脚 ESP8266返回“OK” simple.py文件以发送到开发板 WiFi已打开 问题 1.连接上WiFi,已输出IP信息,但是仍然…

48.Isaac教程--GMapping应用程序

GMapping应用程序 GMapping 是一个使用 OpenSlam 软件库的地图生成工具。 该应用程序允许您创建地图以在其他应用程序中使用。 GMapping 应用程序使用 Carter 参考机器人的 LIDAR 功能。 注意 建图是一项计算密集型和存储密集型活动,可能需要微调才能生成合适的…

Hive(1):Apache Hive入门

1 Apache Hive概述 1.1 什么是Hive Apache Hive是一款建立在Hadoop之上的开源数据仓库系统,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似SQL的查询模型,称为Hive查询语言(HQL&a…

记OPNsense防火墙的安装过程 - 安全

前些天在网上看到防火墙软件OPNsense,对其有了兴趣,以前写过一个其前面的一个软件M0n0wall( 关于m0n0wall的安装及配置 ),当时也是非常有名的防火墙,现在有了OPNsense,这个老防火墙已经停止更新了。 下面对OPNsense防火…

MFC如何实现屏幕截图

目录一 程序实现效果二 程序实现思路三 具体实现一 程序实现效果 本文描述了MFC中实现屏幕截图的一种方式,程序界面如下: 单击【开始截屏】,按住鼠标左键,一直拖动到需要截屏的矩形的右下角,松开鼠标左键&#xff0c…

工业设备数据采集调研要点

一、概述 当一家客户提出需要采集设备的数据,通常需要对设备、通讯、采集方案进行确认。此时我们需要做两件事: 1、向客户要设备清单,便于确认设备的数量。(客户提供) 2、确认设备信息、通讯接口信息、采集方案。&a…

图文详解 Java 泛型,写得太好了!

一、泛型的引入我们都知道,继承是面向对象的三大特性之一,比如在我们向集合中添加元素的过程中add()方法里填入的是Object类,而Object又是所有类的父类,这就产生了一个问题——添加的类型无法做到统一 由此就可能产生在遍历集合取…

OpenShift 4 - 在单节点 OpenShift 上部署 ODF 存储软件

《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在支持 OpenShift 4.12 的 OpenShift Local 环境中验证 文章目录什么是 ODF LVM ?为 OpenShift Local 增加额外存储设备安装并配置 ODF LVM Operator使用 ODF 创建 PVC/PV 验证什么是 ODF LVM &…

Mock的接口自动化测试如何测?

1.Mock实现原理和实现机制 在某些时候,后端在开发接口的时候,处理逻辑非常复杂,在测试的时候,后端在未完成接口的情况下该如何去测试呢? 我们需要测试,但是有些请求又需要修改一下参数,或者改…

寻找适合程序员的笔记软件

做为一个程序员,有两个东西是我们必需的.一个是搜索,另一个则是记录. 当我们遇到不会或解决不了的困难点时,我们会第一时间使用搜索(如Google)来寻找解决方案,而当我们积累与在技术上有任何心得时,我们会记录它. 因而,寻找一个合适的笔记软件,对程序员非常重要. 一) 程序员…

Apache Spark 机器学习 特征转换 1

分词器(Tokenizer) 分词是一个处理过程,其将文本句子分割成一系列独立的单词词汇集合,Spark提供Tokenizer分词器类,其提供的功能是使用分隔符的方式处理文本句子的特征转换,Spark提供RegexTokenizer分词器…

在PC上安装OpenSSL,生成证书

文章目录一.在编程 PC 上安装 OpenSSL1. 下载安装 OpenSSL2.生成CA认证3. 生成 Broker 证书4. 生成各个 Client 的证书一.在编程 PC 上安装 OpenSSL 为了使用带 TLS 安全证书的 ADS Over MQTT,在 MQTT 的 Server 和 Client 侧都需要证书以进行安全通信,…