2.4. Communication¶
2.4.1. DoIP Communication¶
DoIP Communication is described in the ISO 13400 standard. Specific communication parameters and implementation details will be defined and linked in this document.
The communication parameters depend on the logical link used for the communication, filtered by configuration and actual ECU detection/availability.
2.4.1.1. Protocol Versions¶
The CDA shall support the DoIP protocol versions defined in ISO 13400-2. The default protocol version shall be ISO 13400-2:2012 ( Rationale ISO 13400-2:2012 is the most widely deployed version across vehicle platforms. Configurable version support ensures compatibility with DoIP entities implementing different standard revisions. |
2.4.1.2. Message Framing¶
The CDA shall frame all DoIP messages according to the ISO 13400 header format, consisting of:
The CDA shall support encoding and decoding of the following payload types:
Rationale Correct message framing is essential for interoperability with any ISO 13400 compliant DoIP entity. Supporting the full set of relevant payload types enables complete diagnostic communication workflows. |
2.4.1.3. Communication Parameters¶
The CDA must support configuration of DoIP communication parameters as defined in the following table. Parameters are sourced from the diagnostic database (MDD files) and may vary per logical link.
|
2.4.1.4. Vehicle Identification¶
The CDA shall discover DoIP entities on the network by broadcasting a Vehicle Identification Request (VIR) via UDP and processing Vehicle Announcement Message (VAM) responses. The CDA shall:
Vehicle Identification Overview¶ Rationale UDP-based discovery enables automatic detection of DoIP entities without requiring static IP configuration. Subnet filtering prevents unintended communication with entities on unrelated networks. Continuous VAM listening ensures the CDA adapts to dynamic network conditions. |
2.4.1.5. Spontaneous VAM Handling Mode¶
The CDA must support a configurable
Regardless of the configured mode, spontaneous VAM handling must only be active while ECU/DoIP
communication has actually been initialized. While Rationale Always reacting to spontaneous VAMs is convenient for dynamic environments, but may be undesirable in
setups that require the first-ever detection to only occur following an explicit, authorized trigger
(e.g. |
2.4.1.6. Routing Activation¶
The CDA shall perform routing activation on each TCP connection before exchanging diagnostic messages. The routing activation shall:
Rationale Routing activation is a mandatory step in the DoIP protocol to register the tester with the DoIP entity. |
2.4.1.7. TLS Communication¶
The CDA shall support TLS-secured DoIP connections as defined in ISO 13400. TLS Fallback When a DoIP entity denies routing activation with the code
TLS Version
The supported versions for DoIP-connections shall be configurable. TLS Ciphers The CDA shall support the following TLS cipher suites. TLS 1.2 Cipher Suites:
TLS 1.3 Cipher Suites:
Null Cipher Suites:
The supported cipher suites for DoIP-connections must be configurable through a configuration option. Certificate Chain Verification
Rationale TLS support is required for DoIP entities that mandate encrypted communication. Configurable certificate verification and custom CA support are necessary because automotive environments typically use private PKI infrastructures rather than publicly trusted CAs. The option to disable verification ensures compatibility with test and development environments. |
2.4.1.8. Diagnostic Message Exchange¶
The CDA shall send and receive diagnostic messages (UDS payloads) through the DoIP transport layer with proper acknowledgement and error handling. Sending
Acknowledgement
Response Forwarding
Functional Addressing
DoIP Diagnostic Message Transport¶ Rationale Proper ACK/NACK handling with configurable retries ensures reliable delivery of diagnostic messages at the DoIP transport layer. UDS-level response interpretation (including NRC handling) is handled separately at the application layer. |
2.4.1.9. Alive Check¶
The CDA shall perform periodic alive checks on idle DoIP connections to detect connection loss.
Rationale TCP connections may be silently lost due to network disruption or gateway restart. Periodic alive checks enable early detection of connection loss and timely recovery. Some ECUs do not implement this feature, so the CDA should only consider it a failure if the ECU has previously responded to alive checks, indicating support for this mechanism. |
2.4.1.10. Connection Management¶
The CDA shall manage TCP connections to DoIP entities with automatic recovery from connection failures.
Rationale Automatic connection recovery ensures continuous diagnostic availability despite transient network issues. Sharing a single TCP connection per gateway aligns with the DoIP protocol model where the gateway multiplexes ECU communication. |
2.4.1.11. Error Handling¶
The CDA shall handle DoIP communication errors with configurable retry behavior.
Rationale Configurable retry behavior enables adaptation to different network conditions and ECU response characteristics. Distinguishing between recoverable and non-recoverable errors prevents unnecessary retry attempts on permanent failures. |
2.4.2. UDS Communication (DoIP)¶
This describes the relevant UDS communication parameters when used with DoIP, and how they are used.
2.4.2.1. Communication parameters¶
Software Requirement: The CDA must support configuration of UDS communication as defined in the following table. req~uds-communication-parameters
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2.4.2.2. Request-Response Flow¶
The CDA shall implement a UDS request-response protocol for diagnostic communication with vehicle ECUs, satisfying the following behavioral constraints. Per-ECU Serialization
Response Matching
Response Timeout and Retry
Rationale Per-ECU serialization prevents interleaving of diagnostic requests to the same ECU, which would violate the UDS protocol’s assumption of single-outstanding-request per tester-ECU pair. SID-based response matching ensures that only the correct response is accepted, discarding stale or misrouted messages. Configurable timeouts and retries allow adaptation to ECUs with varying response characteristics. |
2.4.2.3. NRC Handling¶
The CDA shall handle UDS Negative Response Codes (NRCs) at the application layer according to the configured handling policies and timing parameters. NRC 0x78 – Response Pending When the ECU responds with NRC 0x78, it indicates that the request was received but the ECU requires additional time to process it. The CDA shall:
NRC 0x21 – Busy, Repeat Request When the ECU responds with NRC 0x21, it indicates that the ECU is temporarily busy. The CDA shall:
NRC 0x94 – Temporarily Not Available When the ECU responds with NRC 0x94, it indicates that the requested resource is temporarily not available. The CDA shall:
Application Layer Timeout and Retry
UDS NRC Handling¶ Rationale NRC handling is a UDS application layer concern independent of the DoIP transport. Configurable policies and timeouts per NRC code allow the CDA to adapt to different ECU response characteristics, ensuring that transient busy conditions and processing delays do not cause premature failure of diagnostic requests. |
2.4.2.4. Tester Present¶
The CDA shall maintain active diagnostic sessions with ECUs by periodically sending
UDS Tester Present ( Lock-Driven Lifecycle
Tester Present Deduplication
Message Format and Timing
Send Type
Addressing Mode
Generation Control
Error Handling
Tester Present – Component Lock¶
Tester Present – Functional Group Lock¶ Rationale Tester present messages prevent ECU diagnostic sessions from timing out during periods of inactivity between diagnostic requests. Tying tester present to the lock lifecycle ensures that session keepalive is active only when a client has expressed intent to communicate with the ECU. The deduplication rule prevents duplicate tester present traffic to the same ECU. Configurable COM parameters allow adaptation to different ECU requirements regarding message format, timing, and response expectations. |
2.4.2.5. Functional Communication¶
The CDA shall support functional group communication, sending a single UDS request to multiple ECUs simultaneously using functional addressing with parallel response collection. Functional Group Resolution
Gateway Grouping
Response Collection
NRC Handling
Functional Communication Flow¶ Rationale Functional addressing enables efficient broadcast-style communication where the same diagnostic service must be executed across multiple ECUs (e.g., sending Tester Presents to all ECUs in a vehicle). Grouping by gateway and sending one request per gateway minimizes network traffic. Parallel response collection ensures that slow-responding ECUs do not delay results from other ECUs. Returning NRCs as-is on the functional path avoids complex retry orchestration across multiple ECUs simultaneously. |