CSMA / CA

2021-03-03

컴퓨터 네트워크를 공부하면서 정리를 한 내용들 입니다.

-참고 K-mooc 부산 대학교 유영환 교수님 : 컴퓨터 네트워크 강의


CSMA in wireless

CSMA, CSMA/CD

CSMA는 전송하기 전에 sensing을 함으로써

공유 링크를 사용하고 있는가를 체크 해 보고

누군가 전송하고 있다면 데이터를 보내지 않는다는 것이었습니다.

그러더라도 충돌은 일어 날 수 있는데,

충돌이 일어나면 다시 재전송을 해서 통신을 완료하는 것이

CSMA, 그리고 CSMA/CD의 공통적인 특성이었습니다.

그런데 만약

sending 노드가 다른 노드의 통신을 들을 수 없는 경우라면

또는 sending 노드가 collision이 발생하는 것을 감지 할 수 없는 경우라면

CSMA와 CSMA/CD가 가지는 기본적인 원리가 지켜지지 못합니다.

이런 경우가 무선에서 발생합니다.

어떤 경우인지 살펴봅시다.

1. 장애물에 의해서 발생

ACB와 통신 할 수 있는 거리에 있고,

AC의 사이에는 장애물(산)이 있습니다.

그래서 AC는 서로 감지를 할 수 없습니다.

CB한테 한창 전송 중이라 하더라도

A는 감지하지 못하므로, B에게 전송을 한다면

B의 입장에서는 C에서 오는 신호와 A에서 오는 신호가 충돌이 발생합니다.

2. 나란히 있는 경우

무선 링크의 특징 중에서 어느 순간부터 급격하게 감쇄한다는 점이 있습니다.

A가 보내는 신호는 B까지는 시그널이 깨끗하게 도달하다가

B를 지나면서 Signal to noise ratio가 굉장히 낮아져서

C한테는 이 신호가 잡음처럼 들리는 그런 경우가 됩니다.

이것의 반대 또 한 마찬가지입니다.

이 경우 장애물이 없더라도 AC가 보내는 신호를 알지 못하고

CA가 보내는 신호를 알지 못해서

같이 신호를 보냄으로써 B에서 충돌이 일어나는 경우가 있을 수 있습니다.

이런 경우를 보통 Hidden terminal Problem이라고 부릅니다.

802.11 DCF

위에서 처럼 CSMA와 CSMA/CD는 무선환경에서 적용하기 어렵습니다.

그래서 CSMA/CA라는 기술이 나오게 되었습니다.

CSMA/CA를 기반으로 하는 802.11 표준 기술

DCF(Distributed Coordination Function)라고 부릅니다.

CSMA/CA에서 CA는 Collision Avoidance,

Collision이 발생하는건 어쩔 수 없지만, 최대한 회피하고자 하는 방식 입니다.

CSMA/CA 동작

802.11 sender가 먼저 채널을 감지를 해 봅니다.

여기까진 기존의 CSMA, CSMA/CD와 같지만 다른 점은

CSMA, CSMA/CD에서는 감지를 해 보고 없으면 바로 전송을 했지만,

여기선 DIFS라는 정해져 있는 일정한 시간 동안 지속적으로 살펴 봅니다.

지속적으로 살펴 봐서 이 시간 동안에 아무도 전송하고 있지 않으면

그 때 신호를 보냅니다.

DIFS라는 시간 동안 뭔가가 감지가 되었다고 하면 backoff time을 시작 합니다.

backoff time : 기다리는 시간(정해 놓은 것이 아닌 랜덤한 시간 값)

이 backoff time의 타이머는 채널을 감지하면서 채널이 idle 일 때,

아무도 보내고 있지 않을 때만 타이머가 감소하고 0이 되었을 때 전송합니다.