CSMA/CD(Carrier Sense Multiple Access with Collision Detection, 충돌 감지 기능을 갖춘 반송파 감지 다중 접속)는 매체 접근 제어(MAC) 계층에서 동작하는 반송파 전송용 네트워크 프로토콜입니다. 이 방식은 여러 스테이션이 하나의 공유 채널을 함께 사용하는 환경에서, 전송 전에 채널이 사용 중인지 먼저 감지(listen)하고, 채널이 비어 있을 때까지 전송을 미루는 것이 핵심 원리입니다.
그럼에도 불구하고 두 개 이상의 스테이션이 거의 동시에 전송을 시작하면 충돌(collision)이 발생할 수 있습니다. CSMA/CD의 충돌 감지 기술은 다른 스테이션의 전송 신호를 감지함으로써 충돌 여부를 판별합니다. 충돌이 감지되면 해당 스테이션은 즉시 전송을 중단하고 잼 신호(jam signal)를 내보내 다른 모든 스테이션에 충돌 사실을 알린 뒤, 무작위 시간만큼 대기했다가 재전송을 시도합니다.
CSMA/CD의 동작 알고리즘
CSMA/CD의 기본 알고리즘은 다음과 같이 진행됩니다.
- 프레임 전송 준비가 되면, 송신 스테이션은 채널이 유휴(idle) 상태인지 사용 중(busy) 상태인지 확인합니다.
- 채널이 사용 중이라면, 스테이션은 채널이 유휴 상태로 바뀔 때까지 대기합니다.
- 채널이 유휴 상태라면, 스테이션은 전송을 시작하고 충돌 발생 여부를 파악하기 위해 채널을 지속적으로 모니터링합니다.
- 충돌이 감지되면, 스테이션은 충돌 해결(Collision Resolution) 알고리즘을 실행합니다.
- 재전송 카운터를 초기화하고 프레임 전송을 완료합니다.
충돌 해결 알고리즘
- 스테이션은 다른 모든 스테이션이 충돌을 인지하도록 보장하기 위해, 일정 시간 동안 잼 신호와 함께 현재 프레임의 전송을 계속합니다.
- 재전송 카운터를 1 증가시킵니다.
- 최대 재전송 시도 횟수에 도달하면, 해당 스테이션은 전송을 포기(중단)합니다.
- 그렇지 않다면, 일반적으로 충돌 발생 횟수의 함수로 결정되는 백오프(backoff) 기간 동안 대기한 후 메인 알고리즘으로 돌아가 절차를 다시 시작합니다.
다음 순서도는 위 알고리즘의 전체 흐름을 요약한 것입니다.

CSMA/CD의 한계
- 이 알고리즘은 충돌을 감지하고 복구할 수는 있지만, 충돌 자체의 발생 횟수를 줄여주지는 못합니다.
- 대규모 네트워크에는 적합하지 않습니다. 스테이션 수가 늘어날수록 충돌 확률이 급격히 높아져 성능이 기하급수적으로 저하됩니다.
참고: CSMA/CD의 현재 위상
CSMA/CD는 과거 IEEE 802.3 이더넷의 핵심 기술로, 동축 케이블 기반의 클래식 이더넷 환경에서 널리 사용되었습니다. 그러나 오늘날에는 스위치(switch)를 이용한 전이중(full-duplex) 통신이 보편화되면서 물리적 충돌 자체가 발생하지 않게 되었고, 따라서 현대 유선 이더넷에서는 CSMA/CD가 사실상 사용되지 않습니다. 그럼에도 불구하고 공유 매체에서의 접근 제어 개념을 이해하는 데 필수적인 이론적 기반으로 평가받고 있습니다.