DoIP connection establishment
DoIP provides the network-side process used to discover an ECU, activate diagnostic routing, and establish the communication path required for diagnostic requests.
Vehicle Diagnostics
A practical engineering guide to Diagnostics over Internet Protocol: how DoIP connects diagnostic applications to ECUs, how UDS requests move across the network, and how to isolate failures using repeatable evidence.
Engineering model
DoIP governs the transport of diagnostic communication over IP networks, while UDS governs the diagnostic services exchanged with an ECU. A working diagnostic path therefore depends on the Automotive Ethernet network, DoIP discovery and routing activation, TCP communication, ECU behavior, and valid diagnostic data such as ODX or PDX. Troubleshooting is most effective when network establishment, transport, and UDS request handling are analyzed as separate stages.
Core concepts
DoIP provides the network-side process used to discover an ECU, activate diagnostic routing, and establish the communication path required for diagnostic requests.
DoIP carries UDS communication but does not define the meaning of each diagnostic service; separating transport behavior from UDS behavior helps identify whether a failure is network-related or diagnostic.
Packet captures provide timestamped evidence of discovery, routing activation, TCP communication, and diagnostic exchanges, allowing observed behavior to be compared with the expected sequence.
ODX and PDX can describe diagnostic services and data, but they do not by themselves prove that an ECU is reachable or that its implemented behavior matches the description.
Treat a DoIP diagnostic exchange as a chain of dependent layers rather than as one request that either works or fails.
The diagnostic application first needs a functioning Automotive Ethernet path to the ECU. DoIP then handles discovery, routing activation, and transport over IP networks. Once that path is available, the application exchanges UDS requests and responses with the ECU. A failure at an earlier stage prevents later stages from being interpreted reliably.
| Stage | What it establishes | Typical evidence |
|---|---|---|
| Automotive Ethernet | A usable physical and data-link network path | Network traffic is present in the packet capture |
| DoIP discovery | Identification of an available diagnostic endpoint | Discovery traffic appears before diagnostic communication |
| Routing activation | Permission and state for diagnostic routing | A routing activation exchange completes or fails |
| TCP communication | A reliable transport connection for diagnostic traffic | TCP communication is established and remains usable |
| UDS exchange | Execution of a diagnostic request and response | The ECU returns a positive response, negative response, or no response |
The most important diagnostic distinction is between carrying a request and interpreting what the request asks the ECU to do.
DoIP is responsible for moving diagnostic communication through the IP-based path. UDS defines the diagnostic services used to access ECU functions and data, including diagnostic sessions, DIDs, DTC handling, routine control, and security access. A successful DoIP connection does not establish that a particular UDS request is supported or permitted.
Work from the outside of the communication path inward so that an upper-layer symptom is not mistaken for a lower-layer defect.
Record the ECU, the diagnostic request, the expected response, the reproduction steps, and the conditions under which the problem occurs. Use the problem description as the baseline for analysis.
Determine whether network traffic exists at all. If the packet capture contains no relevant traffic, investigate the network path before evaluating DoIP or UDS behavior.
Check whether the expected ECU participates in discovery. An ECU not responding at this stage cannot be diagnosed by analyzing a later UDS response.
Verify whether diagnostic routing is requested and whether the exchange completes. A discovery result alone does not demonstrate that diagnostic communication is available.
Confirm that the transport connection is established and remains usable for the diagnostic exchange. Separate connection establishment problems from request-level problems.
Only after the DoIP path is established, compare the request and response with the expected UDS behavior and the applicable ODX or PDX description.
Correlate application timestamps, packet timestamps, request content, response content, and the problem description. Record uncertainty where the evidence does not isolate one cause.
A packet capture is most useful when it is analyzed as a sequence with timing and state, not as an isolated collection of packets.
Start by identifying the first relevant network activity and follow the exchange through discovery, routing activation, TCP communication, and UDS traffic. Compare the observed order with the expected connection model. Missing traffic, repeated attempts, delayed responses, and a connection that closes at a specific point are all useful evidence, but none should be treated as conclusive without correlating the application result and reproduction conditions.
| Observation | What it may indicate | Next reasoning step |
|---|---|---|
| No relevant network traffic | The diagnostic application or network path may not have produced the expected exchange | Verify the test setup and capture scope before analyzing ECU behavior |
| Discovery occurs but routing activation does not complete | The ECU is visible but the diagnostic route is not established | Analyze the routing activation exchange and its application context |
| Routing activation completes but TCP communication fails | The transport path is not usable for the diagnostic exchange | Separate connection failure from UDS request handling |
| TCP communication is present but no UDS response appears | The request may not reach the ECU or the ECU may not respond as expected | Correlate request timing, connection state, and ECU behavior |
| A UDS negative response is returned | The ECU processed the request but did not accept it as requested | Interpret the response against the diagnostic session and ODX or PDX data |
Diagnostic descriptions support interpretation and test design, but the ECU and the description must be treated as separately verifiable sources of behavior.
ODX provides diagnostic-data descriptions, while PDX packages ODX data for exchange. A diagnostic application can use these inputs to construct and interpret UDS communication, but the data description does not establish that the ECU is reachable through DoIP or that the implementation behaves exactly as described.
Identify the ODX or PDX data that applies to the ECU and diagnostic operation being tested.
Record what the diagnostic data predicts independently from what the ECU and packet capture actually show.
Establish the DoIP path and perform the UDS exchange under defined test conditions.
Check request structure, response behavior, diagnostic session assumptions, and timing evidence without treating a mismatch as proof of one specific root cause.
Capture the relevant input data, PCAP evidence, application result, and problem description in an engineering analysis.
A diagnostic application or automated test suite should expose enough state to distinguish network, transport, and UDS outcomes.
A useful diagnostic application should not collapse discovery failure, routing activation failure, TCP communication failure, and UDS request failure into one generic result. An automated test suite should assert each relevant stage separately, preserve the request and response evidence, and report the point at which expected behavior diverged.
Engineering pitfalls
DoIP transports diagnostic communication, while UDS defines diagnostic services. A working DoIP connection does not prove that a UDS request is valid, supported, or permitted.
If discovery, routing activation, or TCP communication did not complete, the absence of a UDS response does not yet identify a UDS problem.
An ECU may be visible during discovery without having a completed diagnostic route. Routing activation must be examined separately.
ODX and PDX describe diagnostic data, but observed ECU behavior and network evidence still need to be verified.
Application-level errors often hide the failed stage. Correlate the result with PCAP timestamps and the expected DoIP sequence.
A PCAP without the ECU, request, expected response, and reproduction context is difficult to interpret or compare with another exchange.
FAQ
Engineering support
Need help building a diagnostic application, automated test suite, or engineering analysis around DoIP and UDS? Get focused engineering support for implementation, testing, and troubleshooting.