104. CSMA (Carrier Sense Multiple Access) 원리와 다중 접속 제어

핵심 인사이트 (3줄 요약)

  1. 본질: 공유 매체(채널)에 데이터를 전송하기 전에 먼저 다른 노드가 송신 중인지 확인(Carrier Sense)하는 'Listen Before Talk' 기반의 매체 접근 제어 방식이다.
  2. 가치: 무작위로 전송을 시도하는 ALOHA 방식의 높은 충돌률을 획기적으로 낮추어, 다수의 노드가 존재하는 네트워크에서 채널의 처리량(Throughput)을 크게 향상시켰다.
  3. 융합: CSMA 자체는 여전히 전파 지연으로 인한 충돌을 완벽히 막지 못하므로, 유선망에서는 CSMA/CD(충돌 감지), 무선망에서는 CSMA/CA(충돌 회피)와 결합하여 완성형 표준으로 진화했다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

초기 컴퓨터 네트워크에서 다중 접속(Multiple Access)의 가장 단순한 형태는 순수 알로하(Pure ALOHA) 방식이었다. 이는 각 노드가 보낼 데이터가 생기면 채널의 상태를 전혀 고려하지 않고 무작위로 데이터를 던지는 방식이었다. 이로 인해 두 개 이상의 노드가 동시에 데이터를 전송할 때 필연적으로 충돌(Collision)이 발생했고, 네트워크에 트래픽이 조금만 몰려도 전체 효율이 18.4% 이하로 곤두박질치는 치명적인 문제가 있었다.

이러한 무질서한 데이터 전송의 한계를 극복하기 위해 제안된 것이 **CSMA (Carrier Sense Multiple Access, 반송파 감지 다중 접속)**이다. CSMA의 철학은 매우 단순하고 상식적이다. "말하기 전에 먼저 들어라 (Listen Before Talk)". 각 노드는 데이터를 전송하기 직전에 공용 매체의 에너지를 감지하여 다른 누군가가 반송파(Carrier)를 실어 데이터를 보내고 있는지 확인한다. 채널이 유휴(Idle) 상태일 때만 전송을 시작함으로써 충돌 확률을 획기적으로 줄인 것이다. 이는 현대 이더넷(Ethernet)과 와이파이(Wi-Fi) 통신을 관통하는 가장 위대한 기본 원리로 작용한다.

[ALOHA 방식과 CSMA 방식의 채널 접근 철학 비교] 이 도식은 채널의 상태를 무시하는 방식과 감지하는 방식이 데이터 충돌에 미치는 영향을 직관적으로 보여준다.

[ Pure ALOHA: 눈 감고 말하기 ]           [ CSMA: 눈치 보고 말하기 ]
채널 상태: [ 노드 A 전송 중... ]          채널 상태: [ 노드 A 전송 중... ]
               │                                       │
노드 B: "데이터 생겼다! 전송!"             노드 B: "데이터 생겼다!"
               │                                       │ (Carrier Sense)
               ▼                                       ▼
        [ 💥 쾅! 충돌 발생 ]                    "어? 누군가 쓰고 있네. 대기하자."
      (A와 B의 데이터 모두 파괴)               (충돌 회피 성공, 채널 낭비 방지)

이 그림의 핵심은 노드 B가 행동하기 직전에 거치는 **상태 감지(Sensing)**의 유무이다. ALOHA는 눈을 가리고 도로에 차를 모는 것과 같아 사고가 필연적이지만, CSMA는 교차로 진입 전 좌우를 살피는 과정을 의무화함으로써 무의미한 프레임 파괴와 재전송으로 인한 대역폭 낭비를 사전에 차단한다. 이를 통해 네트워크가 감당할 수 있는 한계 부하(Load)를 비약적으로 높일 수 있었다.

📢 섹션 요약 비유: 사람들이 모인 회의실에서 내 할 말만 무작정 외치는 것(ALOHA)이 아니라, 남이 말하고 있는지 귀를 기울이고 조용해졌을 때 입을 여는 것(CSMA)과 완벽히 같습니다.


Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)

CSMA의 내부 메커니즘은 단순한 '듣기'를 넘어, 전파 지연(Propagation Delay)이라는 물리적 한계 속에서 충돌을 최소화하려는 논리적 상태 머신(State Machine)이다.

구성 요소역할내부 동작프로토콜/기술비유
Carrier Sense채널 상태 확인물리 계층에서 수신 안테나로 들어오는 전파의 에너지 레벨(RSSI) 측정Energy Detection회의실 소음 측정
Idle State유휴 상태 인지측정된 에너지가 임계값(Threshold) 이하일 때 채널이 비어 있다고 판단Clear Channel Assessment침묵 확인
Busy State점유 상태 인지누군가 송신 중임을 감지하고, 자신이 데이터를 보낼 타이밍을 보류Backoff 시작 트리거발언권 양보
Vulnerable Time취약 시간감지에는 성공했으나, 전파가 도달하지 않아 빈 채널로 오해하는 물리적 사각 시간Propagation Delay소리가 퍼져나가는 시간
Collision데이터 충돌취약 시간 내에 두 노드가 동시에 송신하여 신호 파형이 겹치고 훼손됨CRC Error / FCS Fail두 사람이 동시에 말하기

[CSMA의 치명적 한계: 취약 시간(Vulnerable Time)에 의한 충돌 발생 메커니즘] 이 타이밍 그래프는 "분명히 듣고 보냈는데도 불구하고" 왜 CSMA에서 충돌이 발생할 수밖에 없는지를 전파 지연 시간 관점에서 설명한다.

거리 축 (Distance)
  │
노드 A ├─────────────────────── 송신 시작 (t0)
  │    \ (전파가 B를 향해 날아가는 중...)
  │     \           [취약 시간 구간]
  │      \   (아직 A의 신호가 B에 도달하지 않음!)
  │       \ 
노드 B ├───┼─────────────────── 송신 시작 (t1) => B가 Sense할 때 채널은 'Idle'로 보임!
  │        \
  │         \ 💥 [ 충돌 발생 지점 ] 💥
  │          \
  ▼           \
시간 축 (Time)

이 흐름의 핵심은 물리적인 **전파 이동 시간(Propagation Time)**이다. 노드 A가 전송을 시작했더라도, 그 전기적 신호가 구리선이나 공기를 타고 노드 B에 도달하기 전까지는 노드 B의 센서에 아무것도 잡히지 않는다. 따라서 노드 B는 t1 시점에 정상적으로 Carrier Sense를 수행하고 채널이 비어있다고 판단하여 전송을 시작해버린다. 결과적으로 두 신호는 중간 지점에서 충돌하여 쓰레기 데이터(Garbage)가 된다. 즉, CSMA의 한계는 네트워크의 물리적 거리가 멀어질수록 이 '취약 시간'이 길어져 충돌 확률이 급증한다는 점에 있다.

📢 섹션 요약 비유: 멀리 떨어진 산봉우리에서 친구가 나를 향해 소리치기 시작했지만, 그 소리가 내 귀에 도달하는 1초 동안에는 산이 조용하다고 착각하고 나도 소리를 지르기 시작하여 결국 목소리가 섞여버리는 현상입니다.


Ⅲ. 융합 비교 및 다각도 분석 (Comparison & Synergy)

CSMA는 ALOHA 대비 진일보한 프로토콜이지만, 부하가 증가함에 따라 충돌이 발생했을 때 사후 처리를 어떻게 하느냐에 따라 처리량 성능이 극명하게 갈린다.

[네트워크 부하(Load)에 따른 다중 접속 프로토콜 처리량(Throughput) 비교 그래프]

Throughput (처리량)
 1.0 ┼               [CSMA/CD] (충돌 즉시 중단)
     │            . ─ ─ ─ ─ ─ ─ ─ ─ 
     │         .                    ─ ─ 
     │       /      [CSMA] (충돌해도 끝까지 전송)
 0.5 ┼     /       . ─ ─ ─ 
     │    /      .         ─ ─ ─ 
     │   /     /                 ─ ─ ─
     │  /    /     [Slotted ALOHA]
 0.18┼ /   /     . ─ ─  
     │/  /     .       ─ 
     │ /     .           ─ 
     │/    .               ─
 0.0 ┼───┴────┴────┴────┴────┴────┴────┴────┴──> Offered Load (G) 부하량
       0.5  1.0  2.0  3.0  4.0  5.0

이 다이어그램이 보여주는 핵심은 트래픽 부하가 극단적으로 높아졌을 때(G > 3.0) 프로토콜들이 무너지는 양상이다.

  1. ALOHA: 부하가 조금만 증가해도 대부분의 패킷이 충돌하여 처리량이 0으로 수렴한다.
  2. 순수 CSMA: 눈치를 보기 때문에 ALOHA보다 훨씬 높은 처리량(약 50%)을 달성한다. 하지만 충돌이 발생하더라도 노드들은 패킷 전송을 끝까지 마칠 때까지 채널을 붙잡고 있는다. 이는 이미 망가진 데이터를 위해 채널을 낭비하는 치명적 오버헤드를 낳는다.
  3. CSMA/CD (이더넷): CSMA의 약점을 보완하여, 충돌이 감지되는 즉시 전송을 중단하고 잼 신호(Jam Signal)를 보내 채널 낭비를 최소화함으로써 높은 부하에서도 훌륭한 처리량을 유지한다.

📢 섹션 요약 비유: ALOHA가 사고가 나든 말든 눈 감고 차를 모는 것이고, CSMA가 눈은 떴지만 사고가 난 뒤에도 브레이크를 밟지 않고 끝까지 밀고 나가는 것이라면, CSMA/CD는 사고를 감지하자마자 즉시 브레이크를 밟아 추가 피해와 도로 막힘을 막는 것입니다.


Ⅳ. 실무 적용 및 기술사적 판단 (Strategy & Decision)

실무 네트워크 아키텍처 관점에서 볼 때, CSMA는 단독으로 쓰이지 않고 매체의 물리적 특성(유선 vs 무선)에 따라 두 가지 강력한 파생 기술로 분기되어 현대 통신망의 2계층(MAC) 표준을 장악했다.

1. 실무 시나리오: 유선망과 무선망 환경에 따른 프로토콜 결단

  • 상황: 네트워크 엔지니어가 랜(LAN)을 구축할 때, 유선 구리 케이블 환경과 무선 공기(RF) 환경은 충돌을 인지하는 하드웨어적 난이도가 완전히 다르다.
  • 판단 (유선 이더넷): 케이블 안에서는 송신 전력과 수신 전력의 차이가 크지 않아(낮은 감쇠) 데이터를 쏘면서 동시에 선의 전압 변화를 읽어 충돌을 '감지(Detection)'할 수 있다.
  • 판단 (무선 와이파이): 공기 중에서는 자신의 송신 신호가 너무 강력해(Self-interference) 수신 안테나가 마비되므로 남의 신호와 충돌했는지를 송신 중에 알아낼 방법이 없다.
  • 조치: 따라서 유선망은 CSMA/CD를 채택하여 충돌 사후 대처에 집중했고, 무선망은 충돌 감지를 포기하는 대신 충돌을 사전에 막기 위해 난수 시간만큼 무조건 대기하는 **CSMA/CA (Collision Avoidance)**를 표준(IEEE 802.11)으로 채택했다.

[매체 특성에 따른 CSMA 파생 프로토콜 의사결정 트리]

                   [ 공유 매체 기반 다중 접속 필요 ]
                                  │
                                  ▼
                   < 매체의 충돌 감지(Collision Detection)가 하드웨어적으로 가능한가? >
                                  │
               ┌──────────────────┴──────────────────┐
           [ Yes: 유선 환경 ]                    [ No: 무선 환경 ]
       (전압 변화로 충돌 인지 용이)         (자체 송신 신호가 너무 커서 수신불가)
               │                                     │
               ▼                                     ▼
         【 CSMA / CD 】                       【 CSMA / CA 】
  (Carrier Sense Multiple Access        (Carrier Sense Multiple Access 
      with Collision Detection)            with Collision Avoidance)
               │                                     │
   - 동작: 전송 중 충돌 확인 시 즉시 중단  - 동작: 전송 전 백오프(Backoff)로 눈치게임 극대화
   - 표준: IEEE 802.3 (초기 이더넷 허브)   - 표준: IEEE 802.11 (Wi-Fi), 802.15.4 (Zigbee)

이 의사결정의 핵심은 '기술의 완벽성'이 아니라 '물리적 제약에 대한 타협'이다. 현대 실무에서는 유선망의 경우 스위치(Switch) 장비가 도입되어 각 포트가 독립된 충돌 도메인(Collision Domain)을 갖는 전이중(Full-Duplex) 방식으로 진화하면서 CSMA/CD의 역할이 사실상 소멸했다. 하지만 무선망(Wi-Fi)은 공기라는 하나의 거대한 공유 매체를 쓰기 때문에 여전히 CSMA/CA 로직이 AP(Access Point)와 단말 간의 트래픽 제어 핵심 알고리즘으로 맹활약하고 있다.

📢 섹션 요약 비유: 유선망은 통화 중에 상대방이 끼어들면 전압 소리로 바로 알 수 있어서 즉시 멈추는 방식(CD)을 택했고, 무선망은 내 목소리가 너무 커서 상대방 소리가 안 들리니 아예 말하기 전에 주사위를 굴려 정해진 시간만큼 꼭 기다렸다가 말하는 방식(CA)을 택한 것입니다.


Ⅴ. 기대효과 및 결론 (Future & Standard)

진화 단계접근 방식주요 한계점현대적 실무 적용
ALOHA감지 없음, 즉시 전송매우 낮은 효율 (18%)RFID 초창기 모델
순수 CSMA전송 전 매체 상태 감지충돌 시 채널 낭비 극심이론적 베이스 모델
CSMA/CD충돌 감지 및 즉각 중단스위칭 허브 등장으로 무의미화하프 두플렉스 구형 이더넷
CSMA/CA난수 대기, ACK 확인, RTS/CTS노드 증가 시 대기 시간(지연) 급증최신 Wi-Fi 6/7, IoT 무선망

CSMA는 초기 로컬 네트워크의 트래픽 혼잡을 제어하는 혁명적인 솔루션이었다. 비록 유선 이더넷 환경에서는 전이중 스위칭 기술에 밀려 그 자리를 내어주었지만, 반송파를 감지한다는 근본적인 철학은 모든 무선 통신(Wi-Fi, Bluetooth, Zigbee)의 MAC 계층을 지배하고 있다. 최근 Wi-Fi 6(802.11ax)에서는 노드가 너무 많아져 CSMA/CA의 눈치보기 오버헤드가 극심해지는 한계를 극복하고자, 기지국이 시간을 정해주는 OFDMA 방식과 CSMA를 하이브리드 형태로 섞어 쓰는 기술적 진화를 이룩하고 있다.

📢 섹션 요약 비유: CSMA는 혼란스러운 회의실에 "남이 말할 땐 듣자"는 기본 예절을 만들어준 위대한 규칙입니다. 회의실(무선망)에 수백 명이 모인 지금은, 사회자(AP)가 순서를 정해주는 규칙(OFDMA)과 함께 섞여 여전히 그 가치를 빛내고 있습니다.


📌 관련 개념 맵 (Knowledge Graph)

  • Collision Domain (충돌 도메인) | 동일한 공유 매체 상에서 두 노드가 동시에 데이터를 전송할 때 물리적 충돌이 발생할 수 있는 네트워크 영역 (허브 환경).
  • Propagation Delay (전파 지연) | 전기 신호나 전파가 매체를 따라 물리적으로 이동하는 데 걸리는 시간으로, CSMA에서 충돌을 유발하는 근본 원인.
  • CSMA/CD (충돌 감지) | 유선 이더넷에서 전송 중 충돌 전압을 감지하면 전송을 멈추고 잼(Jam) 신호를 보내 전체 노드에 충돌을 알리는 방식.
  • CSMA/CA (충돌 회피) | 무선망에서 충돌 감지가 불가능해, 채널이 비어있어도 IFS(Inter-Frame Space)와 랜덤 백오프(Backoff) 시간만큼 무조건 대기하여 충돌을 사전에 피하는 방식.
  • Hidden Node Problem (은닉 노드 문제) | 무선망에서 서로 감지하지 못하는 두 노드가 동시에 가운데 AP로 데이터를 보내 충돌이 발생하는 문제 (CSMA의 한계, RTS/CTS로 해결).

👶 어린이를 위한 3줄 비유 설명

  1. 알로하(ALOHA)는 수업 시간에 친구들이 손도 안 들고 아무 때나 자기 할 말을 마구 외치는 시끄러운 교실이에요.
  2. CSMA는 "친구들이 말하고 있는지 먼저 조용히 들어보고, 아무도 말 안 할 때만 얘기하자"는 멋진 규칙이에요. (Listen Before Talk)
  3. 하지만 멀리 앉은 친구 목소리가 내 귀에 들리기까지 1초가 걸려서, 운 나쁘게 동시에 말해버려 소리가 섞이는 실수(충돌)는 가끔 일어날 수 있답니다.