CSMA의 기본 개념 (공통 부분)

먼저 두 방식의 공통 부분인 CSMA(Carrier Sense Multiple Access) 를 이해해보겠습니다:

  • Carrier Sense: "전송 전에 먼저 선로를 확인한다"는 의미입니다. 마치 대화할 때 다른 사람이 말하고 있는지 먼저 듣는 것과 같습니다.
  • Multiple Access: "여러 기기가 같은 통신 채널을 공유한다"는 의미입니다. 여러 사람이 한 테이블에 앉아 대화하는 것과 비슷합니다.

즉, CSMA는 "데이터를 보내기 전에 먼저 선로가 사용 중인지 확인하고, 사용 중이 아니면 데이터를 전송한다"는 기본 원칙입니다.

 

CSMA/CD (Collision Detection, 충돌 감지)

이더넷(유선 LAN)에서 주로 사용되는 방식입니다.

작동 방식을 일상 상황으로 비유하면

  1. 선로 확인: 말하기 전에 다른 사람이 말하고 있는지 확인합니다.
  2. 전송 시작: 아무도 말하지 않으면 말하기 시작합니다.
  3. 충돌 감지: 말하면서도 계속 귀를 열어두어, 다른 사람과 동시에 말하기 시작했는지(충돌) 확인합니다.
  4. 충돌 발생 시: 즉시 말하기를 중단하고, 랜덤한 시간을 기다린 후 다시 1번부터 시작합니다.

실제 네트워크에서는:

  1. 데이터를 보내기 전 채널이 비어있는지 확인합니다.
  2. 채널이 비어있으면 데이터 전송을 시작합니다.
  3. 전송 중에도 계속 충돌 여부를 모니터링합니다.
  4. 충돌이 감지되면 즉시 전송을 중단하고, 특수 신호(jam 신호)를 보내 모든 기기에게 충돌이 발생했음을 알립니다.
  5. 각 기기는 무작위 시간 동안 대기한 후 다시 전송을 시도합니다.

장점과 단점:

  • 장점: 간단하고 효율적인 방식으로, 충돌이 적은 환경에서 잘 작동합니다.
  • 단점: 충돌이 발생하면 네트워크 효율성이 떨어집니다. 네트워크 부하가 많을수록 충돌 가능성이 높아집니다.

 

CSMA/CA (Collision Avoidance, 충돌 회피)

무선 LAN(Wi-Fi)에서 주로 사용되는 방식입니다.

작동 방식을 일상 상황으로 비유하면

  1. 선로 확인: 말하기 전에 다른 사람이 말하고 있는지 확인합니다.
  2. 의도 알림: "제가 말해도 될까요?"라고 먼저 물어봅니다.
  3. 확인 대기: 다른 사람들이 "네, 말씀하세요"라고 응답할 때까지 기다립니다.
  4. 전송 시작: 허락을 받으면 말하기 시작합니다.
  5. 완료 확인: 말을 마치면 "제 말이 잘 전달되었나요?"라고 확인합니다.

실제 네트워크에서는:

  1. 데이터를 보내기 전 채널이 비어있는지 확인합니다.
  2. 비어있더라도 곧바로 전송하지 않고, 무작위 시간 동안 추가로 대기합니다(백오프 타임).
  3. 전송 전에 RTS(Request to Send) 신호를 보내 전송 의사를 알립니다.
  4. 수신 측에서 CTS(Clear to Send) 신호로 응답하면 데이터 전송을 시작합니다.
  5. 데이터 수신이 완료되면 ACK(Acknowledgment) 신호로 확인합니다.

장점과 단점:

  • 장점: 충돌 가능성을 크게 줄여주어 무선 환경에 적합합니다.
  • 단점: 추가 신호(RTS, CTS, ACK)로 인한 오버헤드가 발생하여 전체 네트워크 속도가 다소 느려질 수 있습니다.

 

주요 차이점 요약

  1. 사용 환경:
    • CSMA/CD: 주로 유선 이더넷 네트워크
    • CSMA/CA: 주로 무선 Wi-Fi 네트워크
  2. 충돌 처리 방식:
    • CSMA/CD: 충돌 발생 후 감지하여 처리 (사후 대응)
    • CSMA/CA: 충돌이 발생하기 전에 예방 (사전 예방)
  3. 효율성:
    • CSMA/CD: 낮은 트래픽에서 더 효율적
    • CSMA/CA: 높은 트래픽이나 신호 감지가 어려운 환경에서 더 안정적
  4. 복잡성:
    • CSMA/CD: 상대적으로 간단한 구현
    • CSMA/CA: 더 복잡한 프로토콜과 추가 시그널링 필요
  5. Hidden Node 문제 해결:
    • CSMA/CD: 해결할 수 없음
    • CSMA/CA: RTS/CTS 메커니즘으로 해결 가능

이렇게 두 방식은 각각의 환경에 맞게 최적화되어 있으며, 네트워크 환경과 요구사항에 따라 적절한 방식이 선택됩니다.

+ Recent posts