目录
1 概述
在之前的文章中,我们探讨了车载SOA的基础概念。作为SOA通信的核心实现协议之一,SOME/IP(Scalable service-Oriented MiddlewarE over IP)在基于以太网的车载通信中扮演着至关重要的角色。本文将深入SOME/IP协议的内部,通过详细解析其报文格式,并结合实际的以太网数据帧,带您一窥车载以太网通信的全貌。
2 以太网的帧结构
所有上层协议,包括SOME/IP,最终都需要封装在以太网帧中在物理介质上传输。理解以太网帧结构是进行更深层次报文分析的基础。
一个完整的以太网II帧格式包含以下字段:
| 字段 (Field) | 长度 (Bytes) | 描述 (Description) |
|---|---|---|
| 前导码 (Preamble) | 7 | 同步时钟,值为 0xAA |
| 帧起始定界符 (SFD) | 1 | 标识帧的开始,值为 0xAB |
| 目标MAC地址 | 6 | 接收方物理地址 |
| 源MAC地址 | 6 | 发送方物理地址 |
| 帧类型 (EtherType) | 2 | 上层协议类型 (如 0x0800 代表 IPv4) |
| IP数据 (Payload) | 46~1500 | 网络层数据包,SOME/IP报文就封装在此处 |
| 帧校验序列 (FCS) | 4 | 循环冗余校验,用于检错 |
| 帧间隙 (IFG) | >=12 | 帧与帧之间的间隔 |
-
最小帧长度:为了保证冲突检测机制的有效性,传统以太网规定整个帧(从目标MAC地址到FCS)的最小长度为64字节。计算方式为:
6 (目标MAC) + 6 (源MAC) + 2 (类型) + 46 (数据) + 4 (FCS) = 64字节。如果上层数据不足46字节,则需要填充(Padding)到46字节。 -
最大帧长度:标准以太网帧的最大长度为1518字节,计算方式为:
6 + 6 + 2 + 1500 (最大数据) + 4 = 1518字节。

3 带VLAN标签的以太网帧
在复杂的车载网络环境中,为了进行网络隔离和管理(如区分娱乐系统和自动驾驶系统的流量),我们通常会使用VLAN技术。IEEE 802.1Q协议定义了如何在标准以太网帧中插入VLAN标签。
VLAN标签位于源MAC地址之后,帧类型(EtherType)之前,共4个字节:
-
TPID (Tag Protocol Identifier, 2字节):标识这是一个带VLAN标签的帧,固定值为
0x8100。 -
TCI (Tag Control Information, 2字节):
-
PRI (Priority, 3位):优先级,用于服务质量(QoS)。
-
CFI (Canonical Format Indicator, 1位):标准格式指示符,在以太网中通常为0。
-
VID (VLAN Identifier, 12位):VLAN ID,标识数据帧所属的VLAN,范围从0到4095。
-
VLAN标签的详细介绍在本专栏的第二讲有详细的讲解,如有其它疑问可以参考本专栏第二讲相关内容。
4 SOME/IP协议详解
SOME/IP协议位于OSI模型的第5-7层(会话层、表示层、应用层),其报文作为“IP数据”被封装在TCP或UDP段中。SOME/IP定义了一套标准化的通信模式和方法,使得服务与客户端之间能够高效地交互。



2077

被折叠的 条评论
为什么被折叠?



