All diagnostics
ISO 13400

DoIP

Diagnostics over IP — UDS transported over Automotive Ethernet.

Overview

DoIP carries UDS payloads over TCP (port 13400) and UDP (vehicle discovery). It enables fast flashing and remote diagnostics, and is mandatory for many newer ECUs that no longer expose the full diagnostic stack on CAN.

Frame / message structure

FieldBitsDescription
Protocol Ver80x02 for ISO 13400-2:2012
Inverse Ver8Bitwise NOT of version
Payload Type16e.g. 0x8001 Diagnostic Message
Payload Length32Length in bytes
PayloadvarSource/Target Addr + UDS message

Byte structure — request & response

DoIP — ISO 13400 (Diagnostic Message)

Frame template
[Ver 1B][~Ver 1B][PayloadType 2B][Length 4B][SrcAddr 2B][TgtAddr 2B][UDS bytes]
Request
OffSizeFieldValueDescription
01 BProtocol Ver0x02ISO 13400-2:2012.
11 BInverse Ver0xFDBitwise NOT of version.
2–32 BPayload Type0x8001Diagnostic Message.
4–74 BPayload Length00 00 00 07Length of payload (7 bytes here).
8–92 BSource Address0E 80Tester logical address.
10–112 BTarget Address10 01ECU logical address.
12–143 BUDS payload22 F1 90ReadDataByIdentifier VIN.
Response
OffSizeFieldValueDescription
0–78 BHeader02 FD 80 02 00 00 00 05Payload Type 0x8002 = Diagnostic Message Positive Ack.
8–92 BSource10 01ECU.
10–112 BTarget0E 80Tester.
121 BAck code0x000x00 = ACK; followed by a second 0x8001 frame carrying the UDS reply 62 F1 90 …

DoIP runs over TCP/13400 for diagnostics and UDP/13400 for vehicle discovery (Payload Type 0x0001 / 0x0004).

Use cases

  • · High-speed ECU flashing
  • · Remote diagnostics
  • · Pass-through workshop tools

Pros

  • High bandwidth
  • Standard networking stack
  • Routing through gateways

Cons

  • Requires Ethernet
  • More complex than direct CAN diagnostics

Request / Response examples

Routing activation

Request
02FD00050000000B0E80000000000000000000
Response
02FD0006000000090E8000001000000000

Tester (0x0E80) requests routing; gateway responds with success code 0x10.