CAN 프로토콜은 손상된 메시지를 탐지하기 위해 다섯 개의 메커니즘을 정의하는데, 여기에는 비트 모니터링(비트 모니터링), 메시지 포맷 모니터링(message format monitoring, 형식 체크), 비트 코딩 모니터링(bit coding monitoring, 스터프 체크), 응답 평가(evaluation of acknowledgement, ACK 체크), 그리고 체크섬 검증(verifying checksum, 순환 중복 검사)이 포함됩니다.
비트 모니터링과 ACK 체크 에러 탐지 메커니즘은 송신 측에서 수행합니다. 수용 필터링과는 독립적으로, 리시버는 형식 체크, 스터프 체크 및 순환 중복 체크를 실행합니다. 그림 “에러 탐지”는 데이터 프레임 또는 리모트 프레임의 필드 중 어떤 것이 개별 에러 탐지 메커니즘의 영향을 받는지를 나타냅니다.
스터프 체크(스터핑 확인)는 비트 흐름을 확인하는 역할을 수행합니다. CAN 프로토콜은 동기화를 위해서 다섯 개의 동일한 비트 후에 송신 노드는 보조 비트를 전송해야 한다는 점을 명시하고 있습니다. 다섯 개 이상의 동일한 비트가 연속적으로 수신된다면 스터핑 에러가 발생합니다.
비트 모니터링(비트 모니터링)의 경우 송신 노드는 발신된 비트 레벨을 실제 버스 레벨과 비교합니다. 송신 노드가 두 레벨 사이의 격차가 존재함을 발견하면 비트 에러가 있는 것으로, 비트 모니터링은 송신 노드에서 모든 전체적 에러와 부분적 에러가 발생하는 것을 탐지합니다.
형식 체크(폼 확인)는 CAN 메시지의 포맷을 확인합니다. 각각의 CAN 메시지는 언제나 특정 위치에서 같은 비트 시퀀스를 보이는데, 이 시퀀스는 CRC 구획 문자, ACK 구획 문자와 EOF입니다. 발신자들은 이 메시지 컴포넌트를 항상 열성으로 전송해야 합니다. 리시버가 메시지 컴포넌트에서 우성 버스 레벨을 탐지한다면 포맷 에러가 발생했다는 의미입니다.
ISO 11898-1에 따르면, 순환 중복 체크(CRC)에서는 도착 데이터 또는 리모트 프레임과 관련된 다항식 R(x)가 다수의 생성 다항식 G(x)와 같아야 합니다. 그렇지 않다면(CRC 에러), 전송 과정에서 데이터 프레임 또는 리모트 프레임이 손상된 것입니다.
CAN 프로토콜이 정의하는 응답 메커니즘에서 모든 리시버는 도착하는 모든 CAN 메시지에 대해 순환 중복 체크 직후에 응답해야 합니다. 하나의 긍정 응답으로 송신 노드에 최소한 하나의 리시버가 올바로 전송된 CAN 메시지를 수신했다는 것을 알릴 수 있습니다. 송신 노드에 하나의 긍정 응답도 도착하지 않을 경우 응답 에러가 발생한 것입니다(ACK 에러).