CSMA 접근 방식별 충돌과 지연의 선택 기준
1-Persistent, P-Persistent, Non-Persistent CSMA의 채널 감지 방식과 충돌·지연 특성, 적용 환경을 비교한다.
2026-08-14 · 최초 발행 2025-08-10
채널이 비었을 때뿐 아니라 바쁠 때의 행동이 CSMA를 가른다
CSMA(Carrier Sense Multiple Access)는 여러 노드가 하나의 통신 채널을 함께 사용할 때 충돌을 줄이기 위한 MAC 방식이다. 전송을 시작하기 전에 채널 상태를 확인하고, 채널이 사용 중인지에 따라 다음 행동을 결정한다.
채널 감지 뒤의 전송 정책은 1-Persistent CSMA, P-Persistent CSMA, Non-Persistent CSMA로 나뉜다. 세 방식은 충돌 가능성, 채널 효율, 지연 시간 사이에서 서로 다른 선택을 한다.
유휴 채널을 기다렸다가 바로 보내는 1-Persistent CSMA
1-Persistent CSMA는 채널이 Idle 상태이면 확률 1(100%)로 즉시 전송을 시도한다. 채널이 Busy 상태라면 유휴 상태가 될 때까지 계속 감지하고, 비는 순간 지체 없이 프레임을 보낸다.
노드는 전송 전에 채널을 확인한다. 사용 중인 채널은 계속 모니터링하고, 유휴 상태가 되면 곧바로 전송한다. 충돌이 발생한 경우에는 랜덤 시간만큼 기다린 뒤 다시 시도한다.
구조가 단순하고 채널이 비어 있을 때 전송 지연이 없다는 점은 장점이다. 경량 트래픽 환경에서도 효율적으로 동작한다. 반면 여러 노드가 같은 채널이 비기를 기다리고 있으면, 유휴 전환 직후 동시에 전송하려 해 충돌할 수 있다. 부하가 높아질수록 이 문제가 커지고 채널 효율도 떨어진다.
확률 P로 전송 시점을 분산하는 P-Persistent CSMA
P-Persistent CSMA는 유휴 채널을 감지한 뒤에도 모든 노드가 즉시 전송하지 않도록 확률을 사용한다. 확률 P로 전송하고, 확률 (1-P)라면 한 타임 슬롯을 지연한 뒤 채널 상태 확인을 다시 시작한다. 채널이 Busy 상태일 때는 1-Persistent와 같이 대기 후 재시도한다.
전송을 요청한 노드는 먼저 채널을 확인한다. 유휴 상태라면 확률 P로 즉시 보내거나, 확률 (1-P)로 한 슬롯을 기다린다. 사용 중인 채널은 계속 감지하며, 충돌 시에는 랜덤 백오프(backoff) 시간만큼 대기한 후 재시도한다.
P값이 클수록 1-Persistent에 가까운 특성을 보이고, 작을수록 Non-Persistent와 비슷해진다. 최적 P값은 네트워크 노드 수와 트래픽 패턴에 따라 결정한다. 이더넷에서는 보통 P=0.1 ~ 0.3 범위의 값을 사용한다.
이 방식은 1-Persistent보다 충돌 가능성을 낮추고, 중간 정도의 네트워크 부하에서 채널 사용 효율과 지연 시간의 균형을 맞출 수 있다. 대신 구현이 더 복잡하며, 환경 변화에 따라 적절한 P값을 정하고 조정해야 한다.
바쁜 채널을 감지하면 물러나는 Non-Persistent CSMA
Non-Persistent CSMA도 유휴 채널에서는 즉시 전송한다. 차이는 채널이 사용 중일 때다. 계속 감지하며 기다리지 않고 임의의 시간, 즉 랜덤 백오프 동안 대기한 다음 처음부터 채널 상태를 다시 확인한다.
충돌이 발생하면 랜덤 백오프 시간을 증가시켜 재시도한다. 채널이 바쁠 때 여러 노드가 한꺼번에 재시도하는 일을 줄이므로 높은 부하 환경에서는 1-Persistent보다 효율적이고 안정적이다.
그 대가로 채널이 이미 비었더라도 대기 시간이 남아 불필요한 지연이 생길 수 있다. 트래픽이 적은 환경에서는 1-Persistent보다 지연 시간이 길어질 수 있으며, 성능은 백오프 알고리즘의 효율성에 크게 좌우된다.
부하와 충돌 위험에 따라 달라지는 선택
세 방식의 비교는 채널 부하를 기준으로 보는 편이 명확하다. 충돌 가능성은 1-Persistent, P-Persistent, Non-Persistent 순으로 높다. 낮은 부하에서는 1-Persistent, P-Persistent, Non-Persistent 순으로 채널 효율성이 높고, 높은 부하에서는 Non-Persistent, P-Persistent, 1-Persistent 순이 된다. 구현 복잡성은 Non-Persistent, P-Persistent, 1-Persistent 순이다.
트래픽이 적고 지연 시간이 중요한 애플리케이션, 또는 단순한 구현이 필요한 시스템에는 1-Persistent가 맞는다. 중간 정도의 부하에서 네트워크 조건에 맞춰 접근 방식을 조절해야 하거나 충돌과 지연의 균형이 필요하면 P-Persistent를 검토할 수 있다. 높은 부하에서 충돌 방지가 우선이고 지연보다 안정성이 중요하다면 Non-Persistent가 적합하다.
초기 이더넷은 1-Persistent CSMA/CD 방식을 사용했다. 무선 네트워크(802.11)는 P-Persistent 방식의 변형인 CSMA/CA를 사용하며, 저전력 IoT 네트워크에서는 배터리 효율성을 위해 Non-Persistent 방식의 변형을 사용한다.
백오프와 충돌 처리까지 함께 설계한다
재시도 정책은 CSMA의 실제 동작에 직접 영향을 준다. 이진 지수 백오프(Binary Exponential Backoff)는 충돌 횟수에 따라 대기 시간을 지수적으로 증가시키고, 절단된 이진 지수 백오프(Truncated BEB)는 최대 대기 시간에 제한을 둔다. 선형 백오프는 충돌 횟수에 비례해 대기 시간을 늘린다.
유선 환경에서는 CSMA/CD(Collision Detection)처럼 충돌을 감지한 뒤 전송을 중단하는 방식이 사용된다. 무선 환경에서는 CSMA/CA(Collision Avoidance)처럼 충돌을 피하기 위한 사전 조치가 중심이 된다.
P-Persistent를 적용할 때는 네트워크 부하에 따라 P값을 동적으로 조정할 수 있다. 노드 수를 추정해 최적 P값을 계산하거나, 충돌 통계를 바탕으로 P값을 피드백 조정하는 방식이 여기에 해당한다.
CSMA의 선택은 네트워크 규모, 트래픽 패턴, 지연 시간 요구, 안정성 요구를 함께 반영해야 한다. 1-Persistent의 즉시성, P-Persistent의 확률적 균형, Non-Persistent의 보수적 재시도는 서로 다른 운영 조건에서 의미를 가진다. IoT처럼 에너지 효율까지 고려해야 하는 환경에서는 이러한 기본 방식에서 파생된 변형도 함께 검토하게 된다.