[Information]/[용어&개념]

[용어/개념] CSMA/CA vs CSMA/CD 비교 분석

starterr 2024. 6. 28.

CSMA/CA

I. CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance, IEEE802.11)의 개요
  • 충돌 회피 방식, 무선랜 MAC(Media Access Control)프로토콜 DCF는 CSMA/CA사용 동등한 우선순위를 가지고 경쟁/매체 공유하는  방식
  • CSMA/CA에서는 ACK프레임을 사용
  • DCF(Distributed Coordination Function) : 개별적인 노드가 경쟁에 의해 무선 채널을 획득하도록 하는 방식

II. 충돌 회피 방법

IFS : 프레임 간 공간
(Inter Frame Space)
- 채널이 휴지 상태인 것으로 확인되더라도 전송을 늦추어 충돌을 회피 첫번째 충돌회피 방법
DIFS, SIFS, EIFS
Contention Window
다툼 구간
- time-slot으로 나뉘어져 있는 일정 시간
- 전송할 준비가 되어 있는 지국은 임의의 수를 선택하여 대기, 오래 기다린 지국 우선
두번째 충돌회피 방법
Acknowledgement - IFS와 Contention Window사용 하더라도 충돌 발생 데이터 손상/손실 ACK와 Timer 이용 수신 보장
  •  DIFS(DCF IFS) : 일반 데이터 서비스에서 사용하는 최소한의 시간, 무선 매체가 유휴 상태임을 감지한 후에 다음 동작까지 기다려야할 최소한의 시간
  •  SIFS(Short IFS) : 스페이싱 짧게 하여 신속한 전송을 위한 서비스에 사용, 가장 짧은 대기 지연 시간

[참고] IEEE 802.11

  • 무선 환경의 문제
    충돌발생 : CAMA 방식사용
    . 송신 전 안테나로부터 입력 확인(CA)
    . 충돌 확인 후 데이터 전송(MA)
  • RF 링크 품질문제
    . 모든 전송 프레임에 대한 ACK 수신
  • 숨겨진 노드 문제
    . 숨겨진 노드는 서로의 송신이 검출되지 않는 스테이션임
    . B가 C와 통신중 이를 감지하지 못하고 A가 B로 데이터 송신시 충돌 발생함
    . RTS/CTS 프레임내에 송신예약 기능으로 해결함
  • 숨겨진 노드 해결책
  • 송신측은 RTS 송신시 NAV(Network Allocation Vector)전달
  • 수신측은 RTS 받고 다른 노드와 송수신 없을 때 CTS 응답

         - NAV 포함 : 다른 노드와 송수신 금지

  • 즉 NAV(CTS)신호를 이용하여 hidden node 문제를 해결함
  • 하나의 프레임전송 : RTS/CTS.프레임, ACK
  • 여러 프레임전송 : SIFS/DIFS 로 계속 통신 가능토록 우선권 제공
  • RTS(Request to Send) : 통신상태를 물어봄
  • CTS(Clear to Send) : 통신상태가 양호함을 응답

      - 매체 접근에 대한 우선 순위를 설정하기 위해 IFS(Inter Frame Spacing)사용

      -  IFS의 종류

IFS 종류 내 용
SIFS(Short IFS) - 우선순위1, ACK/CTS등에 이용
- 스페이싱을 짧게 하여 신속한 전송을 요하는 서비스에 사용
PIFS(PCF IFS) - 우선순위2, 제한된 시간안에 응답시 이용
- 중재자 알고리즘 등 품질이 중요한 서비스에 사용
DIFS(DCF IFS) - 우선순위3
- DCF(Distributed Coordination Function)등 일반 데이터서비스에 사용

 


CSMA/CD

I. CSMA / CD 개요

  • CSMA/CD는 호스트가 채널의 상태를 감지해 충돌을 피하는 매체접근방식임
  • 초기의 다중접근방식(MA:Multiple Access)은 두개 이상의 장치가 동시에 매체에 접근할 확률을 매우 낮은 것으로 보고 전송하고자하는 프레임이 다른 것들에 의해 손상되지 않았다는 확인 응답을 받은 호스트가 전송에 성공한 것으로 간주하는 방식인 ALOHA방식을 사용했음
  • 다음에 등장한 CSMA(Carrier Sense Multiple Access)방식은 호스트가 전송하기 전에 매체의 전압을 점검하여 회선이 사용되지 않는 상태임을 확인하고 전송을 시작함
  • CSMA 방식에 충돌을 검출하는 기능을 추가한 것이 바로 CSMA/CD방식임

그림. CSMA/CD 발전과정

Ⅱ. 동작과정 및 충돌윈도우

가.동작과정
 ① 호스트는 데이터를 전송하기 전에 회선이 사용 중인지 점검한다.
 ② 회선이 사용중이면 임의의 시간만큼 기다린 후 다시 회선의 사용 유무를 점검한다.
 ③ 회선이 사용되지 않는 것이 확인되면 데이터를 전송한다.
 ④ 데이터 전송 중 충돌이 검출되면 충돌 발생 사실을 모든 호스트에 간단한 통보신호(jam신호)를 보낸다.
 ⑤ 충돌이 발생하면 임의의 시간동안 대기한 후 다시 데이터를 전송한다.

그림. CSMA/CD의 동작

 나. 충돌윈도우(Collision window)

  •  CSMA/CD에서 충돌 윈도우의 개념은  그 크기에 따라서 LAN 세그먼트의 길이와 함께 최소 프레임 크기가 정해진다는 점에서 중요한 의미를 갖는다
  •  두 호스트가 동시에 데이터 전송을 시도할 때에 충돌이 발생하면 충돌이 발생하였다는 사실을 각 호스트가 반드시 알 수 있어야 하는데 이때 사용되는 개념이 충돌 윈도우임
  •  가장 멀리 떨어져 있는 두 호스트 사이의 신호 전송 시간은 t라고 가정하면 어느 특정한 시점에서 하나의 호스트A가 전송을 시작할 때, 이 호스트에서 가장 먼거리에 있는 다른 호스트 B가 호스트A로부터의 신호를 수신하기 전에 전송을 시작했다면, 호스트 B는    전송 직 후 아주 짧은 순간에 충돌을 감지하고 다른 모든 호스트에 jam 신호를 보냄
  •  그러나 호스트 A는 2t의 시간이 흐른 후에 이러한 충돌 사실을 확인할 수 있음, 즉 호스트 A가 아주 짧은  프레임을 약 2t 시간 내에 전송하였다면 호스트 A는 프레임이 충돌 없이 전송되었다고 판단함
  •  따라서 이러한 현상을 방지하기 위해 CSMA/CD에서는 최소 전송 프레임의 길이를 전송 프레임의 첫 비트가 케이블 전체에 전파되는 시간의 최소 두배 이상이 되어야 한다라고 정하고 있음
  •  즉 충돌윈도우는 각 호스트가 데이터를 전송하고 나서 충돌을 감지하는데 까지 걸리는 시간을 의미함
  •  프레임의 최소 길이는 최소한 51.2us(64byte)의 전송시간을 가져야 함
    • 802.3에서 망 최대 길이(4개의 리피터로 연결)= 2500m
    • propagation time(빛의 속도의 2/3)= 2500/(2*108m/sec) = 12.5usec
    • propagation time + delay in repeater = 51.2usec
    • for 10Mbps, 51.2usec * 10Mbps = 512 bits(=64 bytes)

 

Ⅲ.  충돌검출과 재전송 알고리즘

 가. collsion detection

  •  baseband bus에서, 충돌이 발생할 경우 signal의 전압은 단일 스테이션의 데이터 signal의 전압 보다 높다.
  •  Signal은 전송되면서 감쇄된다(attenuate). 따라서 signal을 인식하기 위한 전송 거리의 한계는 500m (10Base5) 혹은 200m (10Base2)이다.
  •  star-topology에서는 동시에 한 포트 이상에서부터 데이터가 전송되었는지 충돌이 발생했는지를 판단한다. 이 경우 Special collision presence signal을 각 포트에 전송한다.

 나. Binary exponential backoff(재전송알고리즘)

  •  스테이션은 충돌이 발생하면 지속해서 전송을 재시도한다.
  •  그런데 재시도할 때 마다 backoff하는 시간(random delay의 평균값)은 매번 2배씩 증가한다.
  •  그리고 16번 충돌이 계속해서 발생하면 전송을 중지하고 에러가 발생했다고 보고한다.

 

Ⅳ. 채널획득 (Persistent Mechanism)방법

  •  채널을 상태를 검사하여 채널을 획득하는 방법은 Non-persistent방식, 1-persistent방식, P-persistent방식이 있음

그림. CSMA/CD 의 채널획득 방법

 가. non-persistent방식

  •  호스트는 프레임을 전송하기 전에 채널을 검사함
  •  만약 LAN 상의 다른 노드들이 전송을 하고 있지 않으면 스스로 데이터를 전송하기 시작함
  •  그러나 호스트는 만약 채널이 이미 사용중이면 이전 전송작업의 종료를 확인하기 위해 채널의 상태를 계속적으로 검사하지 않고 임의의 시간이 지난 후 채널의 상태를 검사함

 나. 1-persistent방식

  •  호스트가 전송할 데이터를 가지고 있을 때 그 순간 다른 호스트가 전송을 하고 있는지를 확인하기 위해 채널의 상태를 검사함
  •  만약 채널이 busy상태이면 호스트는 채널이 idle상태일 때가지 기다리고 채널이 idle 상태이면 즉시 프레임을 전송하기 시작함
  •  충돌이 발생하면 임의의 시간동안 대기한 후 다시 채널을 검사함
  •  이 방식은 채널이 idle상태일 때마다 1의 확률을 가지고 프레임을 전송하기 때문에 1-persistent 방식이라 함
  •  대부분 CSMA/CD 매체접근제어 방식은 1-persistent 방식을 사용함

 다. p-persistent방식

  •  이 방식은 채널이 각 슬롯으로 나뉜 슬롯 채널에서 사용됨
  •  호스트가 전송할 준비가 되어 있으면 채널의 상태를 검사하며 만약 채널이 idle 상태이면 p의 확률을 가지고 전송을 시작함
None-persistent 1-persistent P-persistent

 

댓글