一、DoIP协议简介
DoIP,英文全称是Diagnostic communication over Internet Protocol,是一种基于因特网的诊断通信协议。
DoIP协议基于TCP/IP等网络协议实现了车辆电子控制单元(ECU)与诊断应用程序之间的通信,常用于汽车行业的远程诊断、远程车辆维修、车载固件的OTA升级等场景。
DoIP协议的设计初衷是为了解决基于CAN总线的传统诊断通信在应用时出现的带宽有限、灵活性不足、不方便远程访问等问题。早期的诊断通信方式是使用CAN总线进行数据传输,将诊断服务运行在ISO-15765标准定义的DoCAN协议上,而基于ISO-13400标准的DoIP协议结合了现代车载以太网和TCP/IP协议的优势,为车载诊断通信提供了更大的吞吐量和更快的响应速度,让汽车只要连接了以太网便可以实现诊断通信。
二、DoIP协议的优点
支持身份校验和加解密功能,以防止未经授权的网络访问和数据盗窃。
硬件上采用了标准以太网设备和电缆,不需要额外接入VCI转换器,降低了硬件成本。
支持高效的海量数据处理,节省了ECU固件刷写的时间。
基于标准的TCP/IP协议进行通信,可以与其他现有的以太网协议进行集成和交互。
应用广泛,逐渐被越来越多的汽车制造商和诊断工具制造商采用,有望成为汽车行业的诊断通信标准。
采用网络编程即可实现,配置和部署灵活,支持多种应用场景。
三、DoIP协议的潜在风险
通信过程依赖以太网的传输质量,会因为网速导致诊断设备和车辆之间的响应速度变慢。
随着现代汽车的联网程度越来越高,采用DoIP协议进行通信会增加汽车遭受网络攻击的风险,即使在TCP通信阶段使用TLS加密,也存在很多安全漏洞,比如网络中的恶意代码可以伪装成DoIP网关并截获通信数据。
整个DoIP协议栈的代码是基于TCP/IP协议的API进行开发的,和大多数网络编程场景一样,会存在丢包、传输延迟等底层问题。
四、DoIP协议的分层
DoIP协议