kkingjae 2025. 1. 30. 14:40

E2E 프로토콜이란? 

메시지 전송 중 에러가 발생할 경우, 이를 감지하는 메커니즘을 정의한 프로토콜

 

데이터 전달 과정에서 발생할 수 있는 문제들

 - 데이터 내용 변경 (Corrupt)

 - 데이터 전달 누락 (Loss)

 - 데이터 전달 순서 오류 (Incorrect sequence)

 - 동일한 메시지 반복 전송 (Repetition)

 - 인증되지 않은 송신자가 메시지 송신 (Masquerading)

 

E2E 프로파일 개념

 - E2E 프로토콜에는 다양한 프로파일이 존재하며, 반드시 사용해야 하는 것은 아니다.

 - 만약 E2E 프로토콜을 사용해야 한다면, 네트워크에 참여하는 제어기는 모두 동일한 E2E Profile을 사용

 - OEM은 어떤 E2E 프로파일을 사용할 것인지 정해주면 된다. 

 - CRC 대신 Checksum 알고리즘을 사용하는 OEM도 존재

 

E2E 프로토콜의 핵심 요소

(1) CRC (Cycle Redundancy Check)

통신 중 메시지 내용이 변경된 것을 확인할 때 사용

 

CRC 기초 개념

메시지 송신 과정에서 값이 변경될 경우, 이를 감지할 수 있도록 하는 통신 기법 중 하나

  - sender에서 데이터 10 20 30 + CRC 238 송신

  - receiver에서 데이터 10 25 30 + CRC 238 수신

수신측 sw에서 데이터 10 25 30 계산 시 CRC 324가 나왔다.

이는 receiver가 수신 받은 CRC 238값과 다르다. → 데이터 변조 확인 가능

 

 - 메시지 송신자 : 메시지 송신할 때 CRC 값을 계산하여 같이 전송 

 - 메시지 수신자 : 수신 받은 메시지로 CRC 연산 후, 메시지 속 CRC 값과 비교

 - E2E DATA ID : CRC 값 계산 시 DATA ID 라는 사전에 정의된 별도의 값을 추가로 사용

 - CRC 계산 방법 : https://lawofnumber.tistory.com/entry/CRC-%EC%97%B0%EC%82%B0-%EB%B0%A9%EB%B2%95-CRC-8-CRC-16

 - CRC 계산 사이트 : https://www.sunshine2k.de/coding/javascript/crc/crc_js.html

(2) Counter (Message Counter or Alive Counter)

 

E2E 카운터 개념

 - 송신측 : 새로운 메시지를 보낼 때 마다 Counter 값을 1 증가시켜 보낸다, 동일 메시지 반복 전송 감지

 - 수신측 : Counter 값이 1 보다 큰 수가 들어온다면 메시지 누락 인지