第1章:车载网络基础——CAN总线协议、CAN FD协议、车载以太网基础、网络拓扑结构

大家好,我是老张。在汽车安全这行摸爬滚打了十几年,今天咱们聊聊车载网络的基础。你可能会问,讲IDS为什么要先讲网络?

很简单——入侵检测系统,说白了就是监听网络上的“对话”。你不懂这些对话的规则,怎么判断哪句话是黑客说的?

所以,这一章我们先把底层的通信协议理清楚。我个人习惯,讲技术一定要从根上挖,不然后面全是空中楼阁。

1.1 CAN总线协议——老当益壮的主力军

CAN总线,1980年代由Bosch发明。到现在快40年了,依然是车载网络的中流砥柱。为什么?因为它简单、可靠、实时性好。

CAN总线的核心特点:

  • 差分信号传输:CAN_H和CAN_L两根线,抗干扰能力强。我在项目中遇到过,线束被磨损了,单端信号全乱套,CAN还能跑——这就是差分的好处。
  • 多主总线:任何节点都可以主动发消息,不需要主节点轮询。你想想看,ECU要报个故障,直接发就行,不用等“领导”批准。
  • 非破坏性仲裁:多个节点同时发消息时,ID小的优先。这个机制很巧妙——谁优先级高,谁先说话,不会冲突。

CAN报文结构(标准帧):

SOF | 11位ID | RTR | IDE | r0 | DLC | 数据段(0-8字节) | CRC | ACK | EOF

嗯,这里要注意:CAN的ID不是地址,而是优先级。ID越小,优先级越高。比如0x000是最高优先级,常用于安全关键消息。

重要:CAN总线最大数据负载只有8字节。这意味着什么?一个刹车信号可能只占2个字节,但一个复杂的诊断数据包,得拆成好几帧才能发完。这也是后来CAN FD出现的原因之一。

避坑指南:我曾经在调试时发现,某个ECU总是丢帧。查了半天,原来是CAN总线终端电阻没接好。记住:CAN总线两端必须各接一个120Ω的终端电阻,否则信号反射会导致通信不稳定。

1.2 CAN FD协议——升级版的“快车道”

CAN FD(Flexible Data-rate)是CAN的进化版。2012年Bosch推出,2015年标准化。为什么要搞CAN FD?说白了,就是CAN太慢了,数据也太少了。

CAN FD vs CAN:

特性 CAN CAN FD
最大数据长度 8字节 64字节
最大波特率 1 Mbps 8 Mbps(数据段)
帧格式 标准/扩展帧 兼容CAN,新增FDF标志
CRC校验 15位 17位(标准)/ 21位(大帧)

你可能会问:CAN FD和CAN能混用吗?答案是:可以,但要注意。CAN FD节点可以收CAN消息,但CAN节点看不懂CAN FD的帧。所以,升级时要考虑兼容性。

我个人建议:新项目直接上CAN FD。为什么?因为ADAS系统里,摄像头、雷达的数据量越来越大,8字节的CAN根本不够用。64字节虽然也不算大,但至少能塞下一条简单的点云数据了。

注意:CAN FD的“高速”只在数据段生效。仲裁段还是用原来的速率(通常125k-500kbps)。为什么?因为仲裁需要所有节点都能参与,速率太高,信号传输距离会变短,可靠性下降。

1.3 车载以太网基础——新时代的“高速公路”

说到车载以太网,很多人第一反应是:这不就是办公室用的那个以太网吗?

嗯,原理上差不多,但车载以太网做了很多“瘦身”和“加固”。

车载以太网的关键技术:

  • BroadR-Reach技术:一对双绞线就能实现100Mbps通信。相比传统以太网需要4对线,这大大减轻了线束重量和成本。
  • AVB/TSN协议:音视频桥接/时间敏感网络。说白了,就是保证数据按时到达。ADAS系统里,摄像头数据晚到1毫秒,可能就撞上了。
  • SOME/IP协议:面向服务的中间件。ECU之间不再只是发信号,而是像互联网服务一样“调用接口”。

我记得第一次在车上调以太网时,发现丢包率特别高。查了半天,原来是线束的屏蔽层没接地。车载环境电磁干扰大,屏蔽接地是必须的。

核心区别:CAN是“信号导向”的,每个信号有固定的ID和位置。以太网是“服务导向”的,一个服务可以包含多个方法、事件和属性。对于IDS来说,以太网的攻击面更大——因为协议栈更复杂,可攻击的环节更多。

1.4 网络拓扑结构——车上的“交通地图”

讲完协议,咱们看看这些节点是怎么连在一起的。网络拓扑,说白了就是车上的“交通地图”。

常见的车载网络拓扑:

  1. 总线型:所有节点挂在一根总线上。CAN总线就是典型。优点是简单,缺点是单点故障可能影响全车。
  2. 星型:所有节点通过中央网关连接。以太网常用这种。优点是隔离性好,缺点是网关挂了全车瘫痪。
  3. 混合型:域控制器架构。每个域(动力域、底盘域、座舱域、自动驾驶域)内部用CAN或以太网,域之间通过中央网关互联。

现在的ADAS系统,主流是混合型。为什么?因为自动驾驶域需要高带宽(摄像头、激光雷达),用以太网;而刹车、转向等安全关键功能,用CAN更可靠。

我的经验:在做IDS设计时,拓扑结构决定了你的传感器部署位置。比如,在中央网关处部署IDS,可以监控跨域通信;在每个域控制器内部部署IDS,可以监控域内异常。两者结合,效果最好。

你想想看,如果整个车只有一根CAN总线,那IDS只需要监听这一根线就够了。但如果车上有5个域、3种协议、10个网关,那IDS的部署就复杂得多——每个网关、每个域控制器、甚至每个关键ECU,都可能需要监控。

好了,这一章的内容就到这里。车载网络是IDS的基础,你只有理解了CAN的“慢”和以太网的“快”,理解了总线型和星型的优缺点,才能知道IDS该监听哪里、怎么监听。

下一章,我们正式进入入侵检测系统的核心——攻击面分析和检测方法。


公众号:蓝海资料掘金营,微信deep3321