CSMA / CA
컴퓨터 네트워크를 공부하면서 정리를 한 내용들 입니다.
-참고 K-mooc 부산 대학교 유영환 교수님 : 컴퓨터 네트워크 강의
CSMA in wireless
CSMA, CSMA/CD
CSMA는 전송하기 전에 sensing을 함으로써
공유 링크를 사용하고 있는가를 체크 해 보고
누군가 전송하고 있다면 데이터를 보내지 않는다는 것이었습니다.
그러더라도 충돌은 일어 날 수 있는데,
충돌이 일어나면 다시 재전송을 해서 통신을 완료하는 것이
CSMA, 그리고 CSMA/CD의 공통적인 특성이었습니다.
그런데 만약
sending 노드가 다른 노드의 통신을 들을 수 없는 경우
라면
또는 sending 노드가 collision이 발생하는 것을 감지 할 수 없는 경우
라면
CSMA와 CSMA/CD가 가지는 기본적인 원리가 지켜지지 못합니다.
이런 경우가 무선에서 발생합니다.
어떤 경우인지 살펴봅시다.
1. 장애물에 의해서 발생
A
와 C
는 B
와 통신 할 수 있는 거리에 있고,
A
와 C
의 사이에는 장애물(산)이 있습니다.
그래서 A
와 C
는 서로 감지를 할 수 없습니다.
C
가 B
한테 한창 전송 중이라 하더라도
A
는 감지하지 못하므로, B
에게 전송을 한다면
B
의 입장에서는 C
에서 오는 신호와 A
에서 오는 신호가 충돌이 발생합니다.
2. 나란히 있는 경우
무선 링크의 특징 중에서 어느 순간부터 급격하게 감쇄한다는 점이 있습니다.
A
가 보내는 신호는 B
까지는 시그널이 깨끗하게 도달하다가
B
를 지나면서 Signal to noise ratio
가 굉장히 낮아져서
C
한테는 이 신호가 잡음처럼 들리는 그런 경우가 됩니다.
이것의 반대 또 한 마찬가지입니다.
이 경우 장애물이 없더라도 A
는 C
가 보내는 신호를 알지 못하고
C
도 A
가 보내는 신호를 알지 못해서
같이 신호를 보냄으로써 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이 되었을 때 전송합니다.