A. CSMA/CA

1. 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) : 개별적인 노드가 경쟁에 의해 무선 채널을 획득하도록 하는 방식

2. 충돌 회피 방법

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)등 일반 데이터서비스에 사용

 


B. CSMA/CD

1. CSMA / CD 개요

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

CSMA/CD 발전과정

 

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

 

2-1. 동작과정

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

CSMA/CD의 동작

 2-2. 충돌윈도우(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.5 usec
    • propagation time + delay in repeater = 51.2 usec
    • for 10 Mbps, 51.2 usec * 10 Mbps = 512 bits(=64 bytes)

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

 3-1. collsion detection

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

 3-2. Binary exponential backoff(재전송알고리즘)

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

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

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

CSMA/CD 의 채널획득 방법

 

 4-1. non-persistent방식

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

 4-2. 1-persistent방식

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

 4-3. p-persistent방식

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