RTS/CTS 802.11

분류없음 2008.03.14 20:43

1. RTS / CTS 클리어링


RTS (Request to Send)와 CTS (Clear to Send)
- 충돌을 막기 위해 802.11은 영역내의 상태를 보기위해 이 두가지를 사용한다.


RTS와 CTS는 BSS(Base Station System)내의 모든 스테이션을 조용하게 만든다.
- 이것이 완료되면 스테이션은 충돌에 대한 위험부담없이 데이터를 전송할 수 있다.

그러나 이것은 상당 부분의 데이터 전송 용량을 소비한다.
- 고수용 용량 환경과 전송에 현저한 충돌이 존재하는 환경에서 사용
- 저수용 용량 환경에서는 거의 사용 안한다.


RTS / CTS 교환이 이루어지게 할것인지 말것이지는 관리자가 설정이 가능하다.
- 장치 드라이버에서 조정되는 것이 허용된다면 RTS threshold를 조정한다.
- RTS/CTS 교환은 스레쉬홀드 값보다 큰 경우에만 이루어진다.
- 위에 말한 고수용 용량과 저수용 용량을 관리자가 임의로 스레쉬홀드에 정할수 있다.


 
2. MAC 접근 모드와 타이밍
 
무선 매체에 대한 접근은 조정함수를 이용한다.
 
DCF (Distributed Coordination Function)
- CSMA/CA 접근 메커니즘 기초이다.
- 충돌을 피하기위해 임의의 지연(back-off)를 사용한다.
- 좀더 나은 환경을 위해 RTS/CTS 클리어링 기법을 사용하기도 한다.
 
PCF (Point Coordination Function)
- 무경쟁 서비스 제공
- 현재 구현되어 있는 곳이 거의 없음.
 
[ 반송파 감지 기능과 네트워크 할당 벡터]
반송파 감지(CS)에는 두가지 방법이 있다.
- 물리적 반송파 감지 기능 : 물리층 제공이며 사용되는 매체와 변조방식에 의존된다.
                                                  별로 좋지 않다. (비싸다)
- 가상 반송파 감지 기능
   . 네트워크 할당 백터 (NAV : Network Allocation Vector)가 제공
   . 고정된 시간동안 매체를 예약
   . NAV가 0이 될때까지 다른 스테이션은 매체를 사용할수 없다.

   

① 송신측은 회선상태를 알아보기 위해 RTS를 보낸다.
- 이것은 RTS/CTS 교환을 예로 든것이다.
- 송신측에서 보낸 RTS에는 NAV를 설정한다.
- RTS는 모든 스테이션이 듣게 되고, 따라서 모든 스테이션은 NAV가 0이 될때까지 기다리게 된다.
 
② 수신측은 SIFS(바로 뒤에 설명한다)만큼 기다린후 CTS를 보낸다.
- 수신측에서 보낸 CTS에도 NAV가 설정되어 있다.
- 모든 스테이션이 송신측이 보낸 RTS를 들을 필요는 없으며, 수신측에서 더 짧은 NAV를 가진 CTS로 응답한다.
 
③ SIFS만큼 기다린후 프레임이 보내진다.
 
④ SIFS만큼 기다린후 수신측에서 ACK를 보낸다.
- ACK를 보냄과 동시에 NAV는 0으로 설정된다.
- 이후 DIFS(역시 바로 뒤에서 설명한다)만큼 기다린후 다시 치열한 경쟁 윈도우에 들어간다.
- 조각화된 프레임의 경우 프레임의 전송 갯수가 많아진다.
 
[ 프레임 간격 ]

짧은 프레임 간격
- SIFE (Short Interframe Space)
- RTS/CTS 프레임이나 ACK 프레임같은 최 우선권을 가진 프레임 전송에 사용
- 이것은 가장 짧은 간격을 가지므로 뒤에 설명할 다른 간격보다 더 빨리 전송권을 획득할 수 있다.
 
PCF 프레임 간격
- PIFS는 무경쟁 주기동안 전송할 데이터를 가진 스테이션이 획득한다.
- DIFS보다 우선권을 가진다.
- 그러나 현재 PCF가 구현된 곳은 별로 없다.
DCF 프레임 간격
- DIFS는 가장 평범한 프레임 간격이다.
- 스테이션이 프레임 전송이 끝나서 NAV가 0으로 설정되면 반드시 DIFS만큼 기다린후 다음 통신이 제개된다.
 
확장 프레임 간격
- EIFS는 고정된 간격이 아니다.
- 전송 오류시에만 발생한다.
 
3. DCF를 이용한 경쟁 기반 접근
 
① 각 스테이션은 매체가 사용중인지 아닌지를 검사한다.
- 만일 사용중이라면 Back-off 알고리즘으로 전송을 연기하다.
 
② 만일 매체가 DIFS보다 긴시간동안 사용하지 않았다면 전송은 즉시 일어날 수 있다.
- 모든 프레임이 에러없이 전송이 완료되어 NAV가 0이 되면 매체는 반드시 DIFS만큼 비워져야한다.
- 만일 에러 발생시 매체는 EIFS동안 비워져야한다.
 
③ 만일 매체가 사용중이라면 기다린다.
 
④ 에러복구는 전송 스테이션에 책임이 있다.
- ACK는 유일한 전송보장 도구이며 이것을 받지 못했을경우 전송 스테이션은 프레임의 재전송 카운터를 1 증가시키고 재전송한다.
- 이것은 성공할때까지 반복된다. (물론 제약은 있다)
⑤ 만일 스테이션이 NAV보다 긴 매체를 예약 받으면 NAV를 업데이트 시킨다.
- 송신 스테이션은 처음에 RTS를 보낼때 프레임을 보내는데 필요한 시간을 계산해 NAV를 설정한다.
 
⑥ 확장 프레임 시퀀스는 설정된 스레쉬홀드 값보다 더 큰 상위 수준의 패킷에 필요하다.
- 앞에서도 알아봤듯이 RTS 스레쉬홀드보다 큰 패킷은 RTS/CTS 교환을 사용한다.
- 조각화 스레쉬홀드 값보다 큰 패킷은 조각화 된다.
- 스레쉬홀드는 문지방이라는 사전적 의미를 가지고 있으며 관리자가 설정하거나 디폴트로 설정된 한계값이다.
- 조각화 Threshold가 1500byte로 설정되어있다면 2000byte의 프레임은 조각화된다.
 
[ DCF와 에러 복구 ]
 
에러복구는 전적으로 송신 스테이션의 책임이다.
 
에러 발생시 송신 스테이션은 재전송 카운터를 증가시키며 재 전송을 한다.
 
재전송 카운터에는 두가지가 있다.
- 짧은 재전송 카운터 : RTS 스레쉬홀드보다 작은 프레임
- 긴 재시도 카운터 : RTS 스레쉬홀드보다 큰 프레임
- 두가지 종류의 재시도 카운터가 사용되는 이유는 버퍼 공간에 따른 버퍼 공간의 양을 줄이기 위한것이다.
. 만일 재시도 최대값에 도달하면 프레임을 버려지고 상위 프로토콜에 기록된다.
 
4. 조각화와 재조립
 
조각화는 간섭시 신뢰성을 높여준다.
 
조각화 Threshold를 넘는 프레임은 조각화된다.
 
같은 조각은 같은 시퀀스 넘버를 가지며, 순서에 따라 조각 번호를 가진다.
- 이것은 IP의 조각화와 같은 내용이다.
- 만일 '반지의 제왕'과 '실미도'를 전송한다고 가정한다.
 
두 파일 모두 조각화 스레쉬홀드를 넘는다고 가정하며, 조각화가 일어났다고 가정한다. 동시에 전송되는 두 조각화된 프레임중 어떤것이 반지의 제왕이고 실미도인지 구분하기 위해 각 조각마다 시퀀스 넘버가 주어진다. 반지의 제왕에는 0, 실미도에는 1.. 이렇게 주어지며 반지의 제왕 프레임들중 순서에 따라 조각 번호가 주어진다. 따라서 수신 스테이션은 두 파일을 모두 받아 각 시퀀스 넘버별로 분류한후 조각 번호로 순서를 맞추어 원 파일을 복원한다.
 

- 위의 그림에서 보다시피 조각들은 다음 조각의 ACK까지의 NAV를 설정한다.
- 마지막 조각 3의 ACK를 보낸후 NAV는 0으로 되어 다시 DIFS만큼 기다린후 치열한 경쟁 윈도우에 돌입한다.

출처 : [기타] 블로그 집필 - 飛上
신고
Posted by remos


티스토리 툴바