앞에서 헤더까지 봤으면 이제 진짜 중요한 걸 볼 차례다.
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)
여기서 핵심은 딱 하나다.
- UDS는 그대로 들어간다
CAN에서 쓰던 그 UDS 맞다.
그걸 그냥 Ethernet 위로 실어 나르는 거다.
필드 하나씩 짚어보자
1) Source Address
이건 송신자다.
보통 테스터 주소가 들어간다.
Routing Activation에서 썼던 그 주소다.
여기서 틀리면?
상대가 “누군지 모르겠다” 하고 무시한다.
2) Target Address
이건 목적지 ECU 주소다.
이게 진짜 중요하다.
- 어떤 ECU로 갈지 결정하는 값
- Gateway가 라우팅할 때 기준이 되는 값
즉, 이 값 하나로
메시지의 최종 목적지가 결정된다
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 ]
차이점은 이거다.
- CAN: ID 기반 라우팅
- DoIP: Address 기반 라우팅
즉, 라우팅 방식이 바뀐다는 게 핵심이다.
실무에서 자주 터지는 문제
이건 진짜 많이 겪는다.
1) Target Address 틀림
이거 하나 틀리면:
- 패킷은 정상
- 응답 없음
그래서 한참 헤맨다.
이럴 때는 무조건
Target Address부터 확인한다
2) Routing Activation은 성공했는데 응답 없음
이 경우 거의 두 가지다.
- Target Address 잘못됨
- UDS 자체 문제
여기서 DoIP 문제인지 UDS 문제인지
구분하는 게 중요하다.
3) 응답은 오는데 이상함
- UDS 응답 코드 이상
- 데이터 길이 이상
이건 이제 DoIP가 아니라
UDS 레벨 디버깅으로 내려가야 한다
이 경계가 진짜 중요하다.
디버깅할 때 보는 순서
이건 개인적으로 거의 고정이다.
- Routing Activation 성공했나
- Diagnostic Message 나갔나
- Target Address 맞나
- 응답 오나
- 안 오면 → Address 문제
- 오면 → UDS 해석
이 순서로 보면
쓸데없이 헤매는 일이 줄어든다.
패킷 예시 느낌
간단하게 한 번 보면 이렇다.
DoIP Header
Payload Type: Diagnostic Message
Payload
SA: 0x0E00
TA: 0x1001
UDS: 22 F1 90
이걸 해석하면:
- 테스터(0x0E00)가
- ECU(0x1001)한테
- VIN 요청 보낸다
이렇게 된다.
여기까지 오면 거의 다 연결된다
이제 흐름이 이렇게 이어진다.
- Vehicle Identification → 대상 찾기
- Routing Activation → 통신 열기
- Diagnostic Message → 실제 진단
이 세 개가 연결되면
DoIP 기본은 끝난 거다.
다음 글에서는 여기 보자
이제 남은 건 이거다.
- UDS 응답 구조
- Negative Response 처리
- 타임아웃 / 재전송 전략
여기까지 가면
실제 진단 툴 만드는 느낌이 나온다.
추천 대상
- DoIP에서 UDS 흐름이 헷갈리는 사람
- Routing Activation 이후 막히는 사람
- Ethernet 기반 진단 구조를 정리하고 싶은 사람
한 줄 요약
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 #오늘을살자