Skip to content
DevBJ
Go back

DoIP에서 Session Control 먼저 이해해야 하는 이유

Advertisement
Editor

DoIP 붙이고 나서 많이 하는 착각이 하나 있다.

“연결됐으면 이제 다 되는 거 아닌가?”

근데 실제 ECU는 그렇지 않다.

근데 중요한 기능은 안 된다.

왜냐면 아직 ECU가
적절한 Diagnostic Session 상태가 아니기 때문이다.

오늘은 이 Session Control 개념만 짧고 실무적으로 정리해보자.

Session Control 한 줄 정리

Diagnostic Session Control은
ECU를 특정 진단 모드로 전환하는 과정이다.

즉:

이걸 ECU가 상태 기반으로 관리한다는 뜻이다.

기본 상태는 보통 Default Session이다

ECU는 기본적으로 안전한 상태로 시작한다.

보통 이 상태다.

Default Session

여기서는 제한이 많다.

예:

즉, 기본적으로는 보호 모드 느낌이다.

왜 Session을 나누냐

이유는 단순하다.

위험한 기능 보호 때문이다.

예를 들면:

이런 걸 아무 상태에서나 허용하면 위험하다.

그래서 ECU는:

“특정 Session 들어오면 그때 허용”

이렇게 동작한다.

가장 많이 보는 Session 종류

OEM마다 조금 다르지만
보통 이런 느낌이다.

0x01 — Default Session

기본 상태다.

일반적인 진단 정도만 허용한다.

0x02 — Programming Session

Flash 계열 작업용이다.

여기 들어가야 다운로드 계열 서비스가 열린다.

0x03 — Extended Session

실무에서 제일 많이 본다.

이런 용도로 자주 사용한다.

패킷은 생각보다 단순하다

Session 변경 요청은 보통 이렇다.

요청

10 03

의미:

10 → Diagnostic Session Control
03 → Extended Session

응답

50 03

그러면 Session 변경 성공이다.

여기서:

50 = Positive Response

다.

실무에서 여기서 많이 막힌다

이건 진짜 흔하다.

1) Session 변경 안 하고 서비스 요청

예:

27 01

Security Access 요청했는데 실패.

알고 보니:

이런 경우 많다.

2) Session timeout

ECU는 일정 시간 지나면
다시 Default Session으로 돌아가는 경우 많다.

그래서:

이런 상황 나온다.

3) ECU마다 허용 범위 다름

같은 Extended Session이어도:

이런 차이 꽤 있다.

그래서 OEM 문서 중요해진다.

Negative Response도 자주 본다

대표적으로 이런 거다.

0x7E — SubFunction Not Supported In Active Session

현재 Session에서는 안 된다는 의미다.

즉:

“Session 바꾸고 다시 와라”

이 느낌이다.

0x22 — Conditions Not Correct

ECU 상태 조건 문제다.

예:

이런 것 때문에 막힌다.

디버깅할 때 보는 순서

개인적으로는 거의 이 흐름이다.

1. 현재 Session 확인
2. Session 변경 성공 여부 확인
3. Positive Response 확인
4. 이후 서비스 요청 진행
5. 실패 시 NRC 확인

특히:

이런 경우 Session timeout 꽤 많다.

DoIP에서는 더 중요해진다

CAN에서는 비교적 단순하게 느껴졌는데,
DoIP 환경에서는:

이 단계가 분리돼 있어서
Session 상태를 더 의식하게 된다.

결국 흐름을 순서대로 이해해야 한다.

다음 글에서는 Session timeout 흐름 보자

오늘은 기본 개념만 봤다.

다음은 이런 걸 보면 좋다.

여기서부터 실제 툴 구현 느낌이 강해진다.

추천 대상

한 줄 요약

Diagnostic Session Control은 ECU를 특정 진단 모드로 전환해 필요한 서비스 접근 권한을 여는 핵심 단계다.

추천 키워드

UDS Session Control, Diagnostic Session, DoIP UDS, Extended Session, Automotive Ethernet



Share this post on:

Previous Post
DoIP에서 Tester Present 왜 계속 보내는 걸까
Next Post
DoIP Security Access, 여기서부터 ECU 성격이 확 달라진다