숨숨 베이스

지식이 숨어있는 공간

CSMA/CD

Last updated on December 6, 2025

1. 정의

반이중 이더넷 네트워크에서의 충돌을 방지하는 데이터-링크 계층 프로토콜이다.
프로토콜을 행하는 주체는 반이중 네트워크에 연결된 호스트의 NIC 들이다.

2. 동작 과정

  1. 캐리어 감지 (Carrier Sense)
    : 정보를 송신하려는 호스트의 NIC는 송신 전에 현 네트워크에 전송 중인 정보가 있는지 감지한다.
    전송 중인 정보가 있다면 다시 일정 시간 기다린 뒤, 캐리어 감지를 다시 실행하고 아니면 바로 전송한다.
    1. image.png
  1. 다중 접근 (Multiple Access)
    : 캐리어 감지로 많은 잠재적 충돌이 예방되지만, 두 개 이상의 호스트가 동시에 캐리어 감지한 뒤, 동시에 정보를 전송하는 경우의 수가 생길 수 있다. 이러한 경우의 수를 '다중 접근' 이라고 한다.
    1. image.png
  1. 충돌 검출 (Collision Detection)
    : 세부 과정은 다음과 같이 진행된다.
    1. 다중 접근으로 인해 허브에서 충돌이 발생한다면, 송신 호스트의 NIC가 이를 감지하고 일정 시간 동안 콜리젼 도메인 내의 모든 호스트에게 '잼 신호' 를 전송한다.
    2. '잼 신호' 를 받은 호스트들은 신호가 섞여 망가진 프레임을 받는 즉시 폐기하고, 정보를 송신할 예정이었던 호스트들은 이를 랜덤한 시간 동안 미루고 다시 캐리어 감지부터 과정을 시작한다.
    3. 이후 충돌이 났던 호스트들도 이진 지수 백오프 알고리즘에 따라 랜덤한 시간 동안 기다렸다가 다시 캐리어 감지부터 재시작 한다.
    4. image.png

3. NIC가 CS와 CD를 하는 방법

거의 모든 매체에는 송신회로와 수신회로가 따로 존재한다.
송신회로에서는 '현 호스트가 내보내고 있는 전압 혹은 파형' 이 감지된다. 수신회로에서는 '현 케이블 위 LAN 네트워크의 전압/ 파형이 어떤지' 가 감지된다.

(1) CS(캐리어 감지)

현 호스트가 어떠한 정보도 보내고 있지 않아서 송신 회로는 조용한데, 수신회로에서 파형이 감지된다.
이러현 NIC는 동일 LAN내의 다른 호스트가 데이터를 전송 중이라 파악한다.

(2) CD (충돌 검출)

현 호스트가 전송 중인 파형과 수신회로에서 읽히는 파형이 같으면, 현 LAN 안에서 나만 쏘고 있다는 것. 만약 서로 다르면 나 말고도 누가 쏘고 있다는 것.

부록

A. 모르는 것 정리

  • 잼신호
    : "충돌이 났으니까, 지금 보내고 있던 신호, 받는 신호는 전부 버리고 전송을 멈춰!" 라고 콜리젼 도메인 저체에 알리는 특별한 비트 패턴

⬅️ 이전 글
➡️ 다음 글