Skip to content
오늘을살자

Category: DoIP

DoIP 카테고리에 작성된 글 목록입니다.

DoIP Roadmap

TCP는 붙었는데 진단은 왜 실패할까. DoIP를 연결, 라우팅, 세션, 타임아웃 관점으로 차근차근 읽는 순서입니다.

처음부터 순서대로 읽어도 좋고, 막히는 지점이 분명하다면 해당 묶음부터 바로 읽어도 좋습니다.

테스터 노트북에서 게이트웨이를 거쳐 여러 ECU로 진단 메시지가 흐르는 DoIP 손그림 스타일 삽화

입문과 구조

  1. DoIP 개론, CAN 진단 보다가 처음 보면 헷갈리는 포인트 정리

    CAN 진단에 익숙한 상태에서 DoIP를 처음 볼 때 잡아야 할 큰 그림을 정리합니다.

  2. DoIP 프로토콜 구조 뜯어보기, 헤더와 필드는 어떻게 생겼나

    DoIP 패킷을 읽기 위한 header, payload type, payload length의 기본 구조를 봅니다.

  3. DoIP는 TCP stream이다: recv()만 믿고 파싱하면 깨지는 이유

    TCP stream에서 DoIP 메시지를 안정적으로 framing/파싱하는 기본 패턴을 정리합니다.

Discovery와 연결 준비

  1. DoIP Vehicle Identification, 처음 연결할 때 이거부터 이해하자

    DoIP에서 대상 차량이나 ECU를 찾고 다음 연결 단계로 넘어가기 위한 discovery 기본 흐름입니다.

  2. DoIP Vehicle Discovery가 가끔 안 잡히는 이유

    Discovery가 간헐적으로 실패할 때 UDP broadcast, interface, boot timing을 어떻게 봐야 하는지 다룹니다.

  3. DoIP는 붙었는데 진단이 안 된다: Entity Status/Power Mode로 상태부터 확인하기

    Vehicle discovery 이후에 '살아있는지/진단 가능한 상태인지'를 빠르게 가르는 체크 포인트(상태/전원 모드)를 정리합니다.

  4. DoIP Routing Activation, 여기서 막히는 이유 정리해보자

    TCP 연결 이후 왜 Routing Activation이 필요하고, 여기서 왜 자주 막히는지 정리합니다.

Diagnostic Message와 라우팅

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

    UDS 데이터가 DoIP Diagnostic Message 안에 어떻게 실리고 SA/TA가 왜 중요한지 봅니다.

  2. Routing Activation은 됐는데 첫 UDS가 실패한다: SA/TA와 재연결 순서를 같이 보자

    Routing Activation 이후 첫 UDS 요청이 실패할 때 SA/TA와 재연결 순서를 어떻게 봐야 하는지 정리합니다.

  3. DoIP Gateway 구조를 이해해야 ECU가 보인다

    TCP endpoint와 실제 ECU가 다른 gateway 환경에서 logical address와 internal routing을 읽는 방법입니다.

  4. DoIP Functional Address는 왜 응답이 이상하게 보일까

    Functional request에서 여러 ECU 응답, source tracking, timeout policy가 왜 중요한지 정리합니다.

세션과 유지 관리

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

    연결이 됐어도 ECU 기능이 열리지 않는 이유를 UDS Session Control 관점에서 봅니다.

  2. DoIP에서 Tester Present 왜 계속 보내는 걸까

    Tester Present가 왜 주기적으로 나가고, 진단 세션 유지와 어떤 관계가 있는지 정리합니다.

  3. DoIP 통신이 가끔 끊긴다: Alive Check / TCP Keepalive / Tester Present를 분리해서 보자

    Alive Check, TCP Keepalive, Tester Present를 분리해서 세션 끊김을 분석하는 글입니다.

  4. DoIP Security Access, 여기서부터 ECU 성격이 확 달라진다

    Seed/Key 기반 Security Access가 ECU 정책과 세션 상태에 따라 어떻게 달라지는지 봅니다.

응답과 타임아웃 디버깅

  1. DoIP timeout 처리, Response Pending 제대로 이해해야 덜 헤맨다

    Response Pending 0x78과 timeout 정책을 잘못 보면 정상 ECU도 실패로 보이는 이유를 다룹니다.

  2. DoIP에서 응답이 이상할 때, Negative Response부터 봐야 한다

    UDS Negative Response와 NRC를 보고 통신 문제와 ECU 정책 문제를 구분하는 기본 글입니다.

  3. DoIP에서 ACK를 받았는데 UDS 응답이 없다: Diagnostic ACK/NACK를 제대로 쓰는 법

    DoIP ACK/NACK와 UDS 응답을 분리해서 ACK를 성공으로 오해하지 않도록 정리합니다.

  4. DoIP Negative Acknowledge, UDS 에러랑은 다르다

    DoIP NACK와 UDS 0x7F를 구분해서 parser/protocol 문제와 application 문제를 나눠 봅니다.

Firmware Transfer

  1. DoIP Firmware Download에서 갑자기 문제가 터지는 이유

    Firmware download에서 large payload, TCP stream parser, flash latency, retry state가 왜 터지는지 봅니다.

최근 글