두 프로토콜 모두 처음에는 여러 노드가 하나의 공유 매체에 경쟁적으로 접근하는 방식으로 출발했지만, 충돌을 다루는 철학과 그 이후의 진화 방향은 서로 반대다.
충돌 처리 철학
| 항목 | CAN | Ethernet |
|---|---|---|
| 매체 접근 | 이벤트 구동 — 유휴 시 누구든 접근 | 초기 반이중 구간에서는 CSMA-CD — 유휴 시 누구든 접근[1] |
| 충돌 처리 | Bitwise Arbitration으로 그 자리에서 손실 없이 우선순위 해소[2] | 잼 신호와 지수 백오프로 재전송 — 정보·시간 손실 발생 |
| 현재 상태 | 여전히 모든 통신에서 상시 동작하는 정상 메커니즘 | 전이중·스위치 기반 네트워크에서는 애초에 충돌이 없어 동작하지 않음 |
CAN은 충돌 자체를 상시 벌어지는 정상 상황으로 받아들이고 식별자 비트로 그 자리에서 우선순위를 가리는 비트단위 중재를 유지한다. 반면 이더넷은 CSMA-CD로 충돌을 감지·재전송하는 방식에서 출발했지만, 스위치가 노드마다 독립된 포트로 연결하고 링크가 전이중으로 동작하는 오늘날에는 매체 자체를 분리해 충돌 가능성을 없애는 쪽으로 방향을 바꿨다 — 두 방식의 세부는 각각 Bus Access와 CSMA-CD에서 다룬다.
확인응답(ACK) 위치
CAN은 프레임마다 Acknowledgment Field의 ACK Slot(1비트)에서 수신 노드가 곧바로 확인응답을 실어 보내, 확인응답이 MAC 계층 프레임 구조 자체에 포함된다[2]. 이더넷 프레임에는 이에 대응하는 확인응답 필드가 없다 — 프레임이 실제로 도착했는지 확인하고 필요하면 재전송을 요청하는 신뢰성 보장은 TCP와 같은 상위 계층 프로토콜의 몫으로 남는다[3].
프레임 지연·손실의 원인
이 차이는 프레임 지연·손실이 어디서 비롯되는지에도 그대로 이어진다. CAN에서는 최고 우선순위 메시지의 무손실 전송이 보장되지만 저우선순위 메시지의 지연은 버스 부하에 따라 달라지는 반면[2] — 자세한 내용은 IVN Protocol Comparison에서 다룬다 — 스위치·전이중 기반의 오늘날 이더넷에서는 충돌이 아니라 스위치가 특정 출력 포트로 몰리는 프레임을 내부 큐에 쌓아두는 데서 지연·손실이 비롯된다[4].