Skip to content
Go DevBJ
Go back

DoIP Diagnostic Message, UDS가 실제로 어떻게 실리는지 보자

Edit page

앞에서 헤더까지 봤으면 이제 진짜 중요한 걸 볼 차례다.
UDS 메시지가 DoIP 위에서 실제로 어떻게 전달되는지 이 부분이다.

결론부터 말하면 단순하다.

DoIP는 “운반”, UDS는 “내용”

즉, DoIP는 박스고, UDS는 그 안에 들어가는 물건이다.
오늘은 이 구조를 딱 실무 관점에서만 정리해보자.

Diagnostic Message 한 줄 정리

DoIP Diagnostic Message는
UDS 데이터를 DoIP 패킷 안에 담아서 보내는 구조다.

이게 실제 진단 통신의 본체다.
Routing Activation까지는 준비 단계였고,
이제부터가 진짜다.

전체 구조는 이렇게 생긴다

Diagnostic Message는 크게 두 부분이다.

[ DoIP Header ]
[ Diagnostic Payload ]

그리고 Payload 안은 이렇게 생긴다.

[ Source Address ] (2 bytes)
[ Target Address ] (2 bytes)
[ UDS Data        ] (N bytes)

여기서 핵심은 딱 하나다.

CAN에서 쓰던 그 UDS 맞다.
그걸 그냥 Ethernet 위로 실어 나르는 거다.

필드 하나씩 짚어보자

1) Source Address

이건 송신자다.
보통 테스터 주소가 들어간다.

Routing Activation에서 썼던 그 주소다.

여기서 틀리면?
상대가 “누군지 모르겠다” 하고 무시한다.

2) Target Address

이건 목적지 ECU 주소다.

이게 진짜 중요하다.

즉, 이 값 하나로
메시지의 최종 목적지가 결정된다

3) UDS Data

여기가 진짜 본체다.

예를 들면:

22 F1 90

이건 VIN 요청이다.

또는:

10 03

세션 변경 요청이다.

이 부분은 DoIP랑 관계 없다.
그냥 UDS 규격 그대로다.

CAN이랑 비교하면 뭐가 다를까

구조만 보면 사실 거의 같다.

CAN 기반 UDS

[ CAN ID ]
[ UDS Data ]

DoIP 기반 UDS

[ DoIP Header ]
[ SA ][ TA ][ UDS Data ]

차이점은 이거다.

즉, 라우팅 방식이 바뀐다는 게 핵심이다.

실무에서 자주 터지는 문제

이건 진짜 많이 겪는다.

1) Target Address 틀림

이거 하나 틀리면:

그래서 한참 헤맨다.

이럴 때는 무조건
Target Address부터 확인한다

2) Routing Activation은 성공했는데 응답 없음

이 경우 거의 두 가지다.

여기서 DoIP 문제인지 UDS 문제인지
구분하는 게 중요하다.

3) 응답은 오는데 이상함

이건 이제 DoIP가 아니라
UDS 레벨 디버깅으로 내려가야 한다

이 경계가 진짜 중요하다.

디버깅할 때 보는 순서

이건 개인적으로 거의 고정이다.

  1. Routing Activation 성공했나
  2. Diagnostic Message 나갔나
  3. Target Address 맞나
  4. 응답 오나
  5. 안 오면 → Address 문제
  6. 오면 → UDS 해석

이 순서로 보면
쓸데없이 헤매는 일이 줄어든다.

패킷 예시 느낌

간단하게 한 번 보면 이렇다.

DoIP Header
  Payload Type: Diagnostic Message

Payload
  SA: 0x0E00
  TA: 0x1001
  UDS: 22 F1 90

이걸 해석하면:

이렇게 된다.

여기까지 오면 거의 다 연결된다

이제 흐름이 이렇게 이어진다.

이 세 개가 연결되면
DoIP 기본은 끝난 거다.

다음 글에서는 여기 보자

이제 남은 건 이거다.

여기까지 가면
실제 진단 툴 만드는 느낌이 나온다.

추천 대상

한 줄 요약

DoIP Diagnostic Message는 UDS 데이터를 Source/Target Address와 함께 담아 실제 ECU로 전달하는 핵심 구조다.

추천 키워드

DoIP Diagnostic Message, UDS over IP, Automotive Ethernet, DoIP debug, ECU communication


DevBJ | No Bio, Just Log #오늘을살자


Edit page
Share this post on:

Previous Post
DoIP에서 응답이 이상할 때, Negative Response부터 봐야 한다
Next Post
토렌트 다운로드는 왜 아직도 쓰일까? 편하지만 조심해야 하는 이유