이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
이하의 실시예들은 본 발명의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성할 수도 있다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시된다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.
본 발명의 실시예들은 무선 액세스 시스템들인 IEEE 802 시스템, 3GPP 시스템, 3GPP LTE 및 LTE-A(LTE-Advanced)시스템 및 3GPP2 시스템 중 적어도 하나에 개시된 표준 문서들에 의해 뒷받침될 수 있다. 즉, 본 발명의 실시예들 중 본 발명의 기술적 사상을 명확히 드러내기 위해 설명하지 않은 단계들 또는 부분들은 상기 문서들에 의해 뒷받침될 수 있다. 또한, 본 문서에서 개시하고 있는 모든 용어들은 상기 표준 문서에 의해 설명될 수 있다.
이하의 기술은 CDMA(Code Division Multiple Access), FDMA(Frequency Division Multiple Access), TDMA(Time Division Multiple Access), OFDMA(Orthogonal Frequency Division Multiple Access), SC-FDMA(Single Carrier Frequency Division Multiple Access) 등과 같은 다양한 무선 액세스 시스템에 사용될 수 있다. CDMA는 UTRA(Universal Terrestrial Radio Access)나 CDMA2000과 같은 무선 기술(radio technology)로 구현될 수 있다. TDMA는 GSM(Global System for Mobile communications)/GPRS(General Packet Radio Service)/EDGE(Enhanced Data Rates for GSM Evolution)와 같은 무선 기술로 구현될 수 있다. OFDMA는 IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802-20, E-UTRA(Evolved UTRA) 등과 같은 무선 기술로 구현될 수 있다. 명확성을 위하여 이하에서는 IEEE 802.11 시스템을 위주로 설명하지만 본 발명의 기술적 사상이 이에 제한되는 것은 아니다.
WLAN 시스템의 구조
도 1 은 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 예시적인 구조를 나타내는 도면이다.
IEEE 802.11 구조는 복수개의 구성요소들로 구성될 수 있고, 이들의 상호작용에 의해 상위계층에 대해 트랜스패런트한 STA 이동성을 지원하는 WLAN이 제공될 수 있다. 기본 서비스 세트(Basic Service Set; BSS)는 IEEE 802.11 LAN에서의 기본적인 구성 블록에 해당할 수 있다. 도 1 에서는 2 개의 BSS(BSS1 및 BSS2)가 존재하고 각각의 BSS의 멤버로서 2 개의 STA이 포함되는 것(STA1 및 STA2 는 BSS1에 포함되고, STA3 및 STA4는 BSS2에 포함됨)을 예시적으로 도시한다. 도 1 에서 BSS를 나타내는 타원은 해당 BSS에 포함된 STA들이 통신을 유지하는 커버리지 영역을 나타내는 것으로도 이해될 수 있다. 이 영역을 BSA(Basic Service Area)라고 칭할 수 있다. STA이 BSA 밖으로 이동하게 되면 해당 BSA 내의 다른 STA들과 직접적으로 통신할 수 없게 된다.
IEEE 802.11 LAN에서 가장 기본적인 타입의 BSS는 독립적인 BSS(Independent BSS; IBSS)이다. 예를 들어, IBSS는 2 개의 STA만으로 구성된 최소의 형태를 가질 수 있다. 또한, 가장 단순한 형태이고 다른 구성요소들이 생략되어 있는 도 1 의 BSS(BSS1 또는 BSS2)가 IBSS의 대표적인 예시에 해당할 수 있다. 이러한 구성은 STA들이 직접 통신할 수 있는 경우에 가능하다. 또한, 이러한 형태의 LAN은 미리 계획되어서 구성되는 것이 아니라 LAN이 필요한 경우에 구성될 수 있으며, 이를 애드-혹(ad-hoc) 네트워크라고 칭할 수도 있다.
STA의 켜지거나 꺼짐, STA이 BSS 영역에 들어오거나 나감 등에 의해서, BSS에서의 STA의 멤버십이 동적으로 변경될 수 있다. BSS의 멤버가 되기 위해서는, STA은 동기화 과정을 이용하여 BSS에 조인할 수 있다. BSS 기반구조의 모든 서비스에 액세스하기 위해서는, STA은 BSS에 연관(associated)되어야 한다. 이러한 연관(association)은 동적으로 설정될 수 있고, 분배시스템서비스(Distribution System Service; DSS)의 이용을 포함할 수 있다.
도 2 는 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 다른 예시적인 구조를 나타내는 도면이다. 도 2 에서는 도 1 의 구조에서 분배시스템(Distribution System; DS), 분배시스템매체(Distribution System Medium; DSM), 액세스 포인트(Access Point; AP) 등의 구성요소가 추가된 형태이다.
LAN에서 직접적인 스테이션-대-스테이션의 거리는 PHY 성능에 의해서 제한될 수 있다. 어떠한 경우에는 이러한 거리의 한계가 충분할 수도 있지만, 경우에 따라서는 보다 먼 거리의 스테이션 간의 통신이 필요할 수도 있다. 확장된 커버리지를 지원하기 위해서 분배시스템(DS)이 구성될 수 있다.
DS는 BSS들이 상호연결되는 구조를 의미한다. 구체적으로, 도 1 과 같이 BSS가 독립적으로 존재하는 대신에, 복수개의 BSS들로 구성된 네트워크의 확장된 형태의 구성요소로서 BSS가 존재할 수도 있다.
DS는 논리적인 개념이며 분배시스템매체(DSM)의 특성에 의해서 특정될 수 있다. 이와 관련하여, IEEE 802.11 표준에서는 무선 매체(Wireless Medium; WM)와 분배시스템매체(DSM)을 논리적으로 구분하고 있다. 각각의 논리적 매체는 상이한 목적을 위해서 사용되며, 상이한 구성요소에 의해서 사용된다. IEEE 802.11 표준의 정의에서는 이러한 매체들이 동일한 것으로 제한하지도 않고 상이한 것으로 제한하지도 않는다. 이와 같이 복수개의 매체들이 논리적으로 상이하다는 점에서, IEEE 802.11 LAN 구조(DS 구조 또는 다른 네트워크 구조)의 유연성이 설명될 수 있다. 즉, IEEE 802.11 LAN 구조는 다양하게 구현될 수 있으며, 각각의 구현예의 물리적인 특성에 의해서 독립적으로 해당 LAN 구조가 특정될 수 있다.
DS는 복수개의 BSS들의 끊김 없는(seamless) 통합을 제공하고 목적지로의 어드레스를 다루는 데에 필요한 논리적 서비스들을 제공함으로써 이동 기기를 지원할 수 있다.
AP 는, 연관된 STA들에 대해서 WM을 통해서 DS 로의 액세스를 가능하게 하고 STA 기능성을 가지는 개체를 의미한다. AP를 통해서 BSS 및 DS 간의 데이터 이동이 수행될 수 있다. 예를 들어, 도 2 에서 도시하는 STA2 및 STA3 은 STA의 기능성을 가지면서, 연관된 STA들(STA1 및 STA4)가 DS로 액세스하도록 하는 기능을 제공한다. 또한, 모든 AP는 기본적으로 STA에 해당하므로, 모든 AP는 어드레스 가능한 개체이다. WM 상에서의 통신을 위해 AP 에 의해서 사용되는 어드레스와 DSM 상에서의 통신을 위해 AP 에 의해서 사용되는 어드레스는 반드시 동일할 필요는 없다.
AP에 연관된 STA들 중의 하나로부터 그 AP의 STA 어드레스로 전송되는 데이터는, 항상 비제어 포트(uncontrolled port)에서 수신되고 IEEE 802.1X 포트 액세스 개체에 의해서 처리될 수 있다. 또한, 제어 포트(controlled port)가 인증되면 전송 데이터(또는 프레임)는 DS로 전달될 수 있다.
도 3 은 본 발명이 적용될 수 있는 IEEE 802.11 시스템의 또 다른 예시적인 구조를 나타내는 도면이다. 도 3 에서는 도 2 의 구조에 추가적으로 넓은 커버리지를 제공하기 위한 확장된 서비스 세트(Extended Service Set; ESS)를 개념적으로 나타낸다.
임의의(arbitrary) 크기 및 복잡도를 가지는 무선 네트워크가 DS 및 BSS들로 구성될 수 있다. IEEE 802.11 시스템에서는 이러한 방식의 네트워크를 ESS 네트워크라고 칭한다. ESS는 하나의 DS에 연결된 BSS들의 집합에 해당할 수 있다. 그러나, ESS는 DS를 포함하지는 않는다. ESS 네트워크는 LLC(Logical Link Control) 계층에서 IBSS 네트워크로 보이는 점이 특징이다. ESS에 포함되는 STA들은 서로 통신할 수 있고, 이동 STA들은 LLC에 트랜스패런트하게 하나의 BSS에서 다른 BSS로 (동일한 ESS 내에서) 이동할 수 있다.
IEEE 802.11 에서는 도 3 에서의 BSS들의 상대적인 물리적 위치에 대해서 아무것도 가정하지 않으며, 다음과 같은 형태가 모두 가능하다. BSS들은 부분적으로 중첩될 수 있고, 이는 연속적인 커버리지를 제공하기 위해서 일반적으로 이용되는 형태이다. 또한, BSS들은 물리적으로 연결되어 있지 않을 수 있고, 논리적으로는 BSS들 간의 거리에 제한은 없다. 또한, BSS들은 물리적으로 동일한 위치에 위치할 수 있고, 이는 리던던시를 제공하기 위해서 이용될 수 있다. 또한, 하나 (또는 하나 이상의) IBSS 또는 ESS 네트워크들이 하나 (또는 하나 이상의) ESS 네트워크로서 동일한 공간에 물리적으로 존재할 수 있다. 이는 ESS 네트워크가 존재하는 위치에 애드-혹 네트워크가 동작하는 경우나, 상이한 기관(organizations)에 의해서 물리적으로 중첩되는 IEEE 802.11 네트워크들이 구성되는 경우나, 동일한 위치에서 2 이상의 상이한 액세스 및 보안 정책이 필요한 경우 등에서의 ESS 네트워크 형태에 해당할 수 있다.
도 4 는 무선랜 시스템의 예시적인 구조를 나타내는 도면이다. 도 4 에서는 DS를 포함하는 기반 구조 BSS 의 일례가 도시된다.
도 4 의 예시에서 BSS1 및 BSS2가 ESS를 구성한다. 무선랜 시스템에서 STA은 IEEE 802.11 의 MAC/PHY 규정에 따라 동작하는 기기이다. STA은 AP STA 및 비-AP(non-AP) STA을 포함한다. Non-AP STA은 랩탑 컴퓨터, 이동 전화기와 같이 일반적으로 사용자가 직접 다루는 기기에 해당한다. 도 4 의 예시에서 STA1, STA3, STA4 는 non-AP STA에 해당하고, STA2 및 STA5 는 AP STA 에 해당한다.
이하의 설명에서 non-AP STA은 단말(terminal), 무선 송수신 유닛(Wireless Transmit/Receive Unit; WTRU), 사용자 장치(User Equipment; UE), 이동국(Mobile Station; MS), 이동단말(Mobile Terminal), 이동 가입자국(Mobile Subscriber Station; MSS) 등으로 칭할 수도 있다. 또한, AP는 다른 무선 통신 분야에서의 기지국(Base Station; BS), 노드-B(Node-B), 발전된 노드-B(evolved Node-B; eNB), 기저 송수신 시스템(Base Transceiver System; BTS), 펨토 기지국(Femto BS) 등에 대응하는 개념이다.
링크 셋업 과정
도 5는 일반적인 링크 셋업(link setup) 과정을 설명하기 위한 도면이다.
STA이 네트워크에 대해서 링크를 셋업하고 데이터를 송수신하기 위해서는, 먼저 네트워크를 발견(discovery)하고, 인증(authentication)을 수행하고, 연관(association)을 맺고(establish), 보안(security)을 위한 인증 절차 등을 거쳐야 한다. 링크 셋업 과정을 세션 개시 과정, 세션 셋업 과정이라고도 칭할 수 있다. 또한, 링크 셋업 과정의 발견, 인증, 연관, 보안 설정의 과정을 통칭하여 연관 과정이라고 칭할 수도 있다.
도 5를 참조하여 예시적인 링크 셋업 과정에 대해서 설명한다.
단계 S510에서 STA은 네트워크 발견 동작을 수행할 수 있다. 네트워크 발견 동작은 STA의 스캐닝(scanning) 동작을 포함할 수 있다. 즉, STA이 네트워크에 액세스하기 위해서는 참여 가능한 네트워크를 찾아야 한다. STA은 무선 네트워크에 참여하기 전에 호환 가능한 네트워크를 식별하여야 하는데, 특정 영역에 존재하는 네트워크 식별과정을 스캐닝이라고 한다.
스캐닝 방식에는 능동적 스캐닝(active scanning)과 수동적 스캐닝(passive scanning)이 있다.
도 5에서는 예시적으로 능동적 스캐닝 과정을 포함하는 네트워크 발견 동작을 도시한다. 능동적 스캐닝에서 스캐닝을 수행하는 STA은 채널들을 옮기면서 주변에 어떤 AP가 존재하는지 탐색하기 위해 프로브 요청 프레임(probe request frame)을 전송하고 이에 대한 응답을 기다린다. 응답자(responder)는 프로브 요청 프레임을 전송한 STA에게 프로브 요청 프레임에 대한 응답으로 프로브 응답 프레임(probe response frame)을 전송한다. 여기에서, 응답자는 스캐닝되고 있는 채널의 BSS에서 마지막으로 비콘 프레임(beacon frame)을 전송한 STA일 수 있다. BSS에서는 AP가 비콘 프레임을 전송하므로 AP가 응답자가 되며, IBSS에서는 IBSS 내의 STA들이 돌아가면서 비콘 프레임을 전송하므로 응답자가 일정하지 않다. 예를 들어, 1번 채널에서 프로브 요청 프레임을 전송하고 1번 채널에서 프로브 응답 프레임을 수신한 STA은, 수신한 프로브 응답 프레임에 포함된 BSS 관련 정보를 저장하고 다음 채널(예를 들어, 2번 채널)로 이동하여 동일한 방법으로 스캐닝(즉, 2번 채널 상에서 프로브 요청/응답 송수신)을 수행할 수 있다.
도 5에서 도시하고 있지 않지만, 스캐닝 동작은 수동적 스캐닝 방식으로 수행될 수도 있다. 수동적 스캐닝에서 스캐닝을 수행하는 STA은 채널들을 옮기면서 비콘 프레임을 기다린다. 비콘 프레임은 IEEE 802.11에서 관리 프레임(management frame) 중 하나로서, 무선 네트워크의 존재를 알리고, 스캐닝을 수행하는 STA으로 하여금 무선 네트워크를 찾아서, 무선 네트워크에 참여할 수 있도록 주기적으로 전송된다. BSS에서 AP가 비콘 프레임을 주기적으로 전송하는 역할을 수행하고, IBSS에서는 IBSS 내의 STA들이 돌아가면서 비콘 프레임을 전송한다. 스캐닝을 수행하는 STA은 비콘 프레임을 수신하면 비콘 프레임에 포함된 BSS에 대한 정보를 저장하고 다른 채널로 이동하면서 각 채널에서 비콘 프레임 정보를 기록한다. 비콘 프레임을 수신한 STA은, 수신한 비콘 프레임에 포함된 BSS 관련 정보를 저장하고 다음 채널로 이동하여 동일한 방법으로 다음 채널에서 스캐닝을 수행할 수 있다.
능동적 스캐닝과 수동적 스캐닝을 비교하면, 능동적 스캐닝이 수동적 스캐닝보다 딜레이(delay) 및 전력 소모가 작은 장점이 있다.
STA이 네트워크를 발견한 후에, 단계 S520에서 인증 과정이 수행될 수 있다. 이러한 인증 과정은 후술하는 단계 S540의 보안 셋업 동작과 명확하게 구분하기 위해서 첫 번째 인증(first authentication) 과정이라고 칭할 수 있다.
인증 과정은 STA이 인증 요청 프레임(authentication request frame)을 AP에게 전송하고, 이에 응답하여 AP가 인증 응답 프레임(authentication response frame)을 STA에게 전송하는 과정을 포함한다. 인증 요청/응답에 사용되는 인증 프레임(authentication frame)은 관리 프레임에 해당한다.
인증 프레임은 인증 알고리즘 번호(authentication algorithm number), 인증 트랜잭션 시퀀스 번호(authentication transaction sequence number), 상태 코드(status code), 검문 텍스트(challenge text), RSN(Robust Security Network), 유한 순환 그룹(Finite Cyclic Group) 등에 대한 정보를 포함할 수 있다. 이는 인증 요청/응답 프레임에 포함될 수 있는 정보들의 일부 예시에 해당하며, 다른 정보로 대체되거나, 추가적인 정보가 더 포함될 수 있다.
STA은 인증 요청 프레임을 AP에게 전송할 수 있다. AP는 수신된 인증 요청 프레임에 포함된 정보에 기초하여, 해당 STA에 대한 인증을 허용할지 여부를 결정할 수 있다. AP는 인증 처리의 결과를 인증 응답 프레임을 통하여 STA에게 제공할 수 있다.
STA이 성공적으로 인증된 후에, 단계 S530에서 연관 과정이 수행될 수 있다. 연관 과정은 STA이 연관 요청 프레임(association request frame)을 AP에게 전송하고, 이에 응답하여 AP가 연관 응답 프레임(association response frame)을 STA에게 전송하는 과정을 포함한다.
예를 들어, 연관 요청 프레임은 다양한 능력(capability)에 관련된 정보, 비콘 청취 간격(listen interval), SSID(service set identifier), 지원 레이트(supported rates), 지원 채널(supported channels), RSN, 이동성 도메인, 지원 오퍼레이팅 클래스(supported operating classes), TIM 방송 요청(Traffic Indication Map Broadcast request), 상호동작(interworking) 서비스 능력 등에 대한 정보를 포함할 수 있다.
예를 들어, 연관 응답 프레임은 다양한 능력에 관련된 정보, 상태 코드, AID(Association ID), 지원 레이트, EDCA(Enhanced Distributed Channel Access) 파라미터 세트, RCPI(Received Channel Power Indicator), RSNI(Received Signal to Noise Indicator), 이동성 도메인, 타임아웃 간격(연관 컴백 시간(association comeback time)), 중첩(overlapping) BSS 스캔 파라미터, TIM 방송 응답, QoS 맵 등의 정보를 포함할 수 있다.
이는 연관 요청/응답 프레임에 포함될 수 있는 정보들의 일부 예시에 해당하며, 다른 정보로 대체되거나, 추가적인 정보가 더 포함될 수 있다.
STA이 네트워크에 성공적으로 연관된 후에, 단계 S540에서 보안 셋업 과정이 수행될 수 있다. 단계 S540의 보안 셋업 과정은 RSNA(Robust Security Network Association) 요청/응답을 통한 인증 과정이라고 할 수도 있고, 상기 단계 S520의 인증 과정을 첫 번째 인증(first authentication) 과정이라고 하고, 단계 S540의 보안 셋업 과정을 단순히 인증 과정이라고도 칭할 수도 있다.
단계 S540의 보안 셋업 과정은, 예를 들어, EAPOL(Extensible Authentication Protocol over LAN) 프레임을 통한 4-웨이(way) 핸드쉐이킹을 통해서, 프라이빗 키 셋업(private key setup)을 하는 과정을 포함할 수 있다. 또한, 보안 셋업 과정은 IEEE 802.11 표준에서 정의하지 않는 보안 방식에 따라 수행될 수도 있다.
WLAN의 진화
무선랜에서 통신 속도에 대한 한계를 극복하기 위하여 비교적 최근에 제정된 기술 표준으로서 IEEE 802.11n이 존재한다. IEEE 802.11n은 네트워크의 속도와 신뢰성을 증가시키고, 무선 네트워크의 운영 거리를 확장하는데 목적을 두고 있다. 보다 구체적으로, IEEE 802.11n에서는 데이터 처리 속도가 최대 540Mbps 이상인 고처리율(High Throughput; HT)을 지원하며, 또한 전송 에러를 최소화하고 데이터 속도를 최적화하기 위해 송신부와 수신부 양단 모두에 다중 안테나를 사용하는 MIMO(Multiple Inputs and Multiple Outputs) 기술에 기반을 두고 있다.
무선랜의 보급이 활성화되고 또한 이를 이용한 어플리케이션이 다양화됨에 따라, 최근에는 IEEE 802.11n이 지원하는 데이터 처리 속도보다 더 높은 처리율을 지원하기 위한 새로운 무선랜 시스템에 대한 필요성이 대두되고 있다. 초고처리율(Very High Throughput; VHT)를 지원하는 차세대 무선랜 시스템은 IEEE 802.11n 무선랜 시스템의 다음 버전(예를 들어, IEEE 802.11ac)으로서, MAC 서비스 액세스 포인트(Service Access Point; SAP)에서 1Gbps 이상의 데이터 처리 속도를 지원하기 위하여 최근에 새롭게 제안되고 있는 IEEE 802.11 무선랜 시스템중의 하나이다.
차세대 무선랜 시스템은 무선채널을 효율적으로 이용하기 위하여 복수의 STA들이 동시에 채널에 액세스하는 MU-MIMO(Multi User Multiple Input Multiple Output) 방식의 전송을 지원한다. MU-MIMO 전송 방식에 따르면, AP가 MIMO 페어링(pairing)된 하나 이상의 STA에게 동시에 패킷을 전송할 수 있다.
또한, 화이트스페이스(whitespace)에서 무선랜 시스템 동작을 지원하는 것이 논의되고 있다. 예를 들어, 아날로그 TV의 디지털화로 인한 유휴 상태의 주파수 대역(예를 들어, 54~698MHz 대역)과 같은 TV 화이트스페이스(TV WS)에서의 무선랜 시스템의 도입은 IEEE 802.11af 표준으로서 논의되고 있다. 하지만, 이는 예시에 불과하고, 화이트스페이스는 허가된 유저(licensed user)가 우선적으로 사용할 수 있는 허가된 대역이라 할 수 있다. 허가된 유저는 허가된 대역의 사용을 허가 받은 유저를 의미하며, 허가된 장치(licensed device), 프라이머리 유저(primary user), 우선적 사용자(incumbent user) 등으로 칭할 수도 있다.
예를 들어, WS에서 동작하는 AP 및/또는 STA은 허가된 유저에 대한 보호(protection) 기능을 제공하여야 한다. 예를 들어 WS 대역에서 특정 대역폭을 가지도록 규약(regulation)상 분할되어 있는 주파수 대역인 특정 WS 채널을 마이크로폰(microphone)과 같은 허가된 유저가 이미 사용하고 있는 경우, 허가된 유저를 보호하기 위하여 AP 및/또는 STA은 해당 WS 채널에 해당하는 주파수 대역은 사용할 수 없다. 또한, AP 및/또는 STA은 현재 프레임 전송 및/또는 수신을 위해 사용하고 있는 주파수 대역을 허가된 유저가 사용하게 되면 해당 주파수 대역의 사용을 중지해야 한다.
따라서 AP 및/또는STA은 WS 대역 내 특정 주파수 대역의 사용이 가능한지, 다시 말해서 상기 주파수 대역에 허가된 유저가 있는지 여부를 파악하는 절차가 선행되어야 한다. 특정 주파수 대역에 허가된 유저가 있는지 여부를 파악하는 것을 스펙트럼 센싱(spectrum sensing)이라 한다. 스펙트럼 센싱 메커니즘으로 에너지 탐지(energy detection) 방식, 신호 탐지(signature detection) 방식 등이 활용된다. 수신 신호의 강도가 일정 값 이상이면 허가된 유저가 사용중인 것으로 판단하거나, DTV 프리앰블(preamble)이 검출되면 허가된 유저가 사용중인 것으로 판단할 수 있다.
또한, 차세대 통신 기술로서 M2M(Machine-to-Machine) 통신 기술이 논의되고 있다. IEEE 802.11 무선랜 시스템에서도 M2M 통신을 지원하기 위한 기술 표준이 IEEE 802.11ah로서 개발되고 있다. M2M 통신은 하나 이상의 머신(Machine)이 포함되는 통신 방식을 의미하며, MTC(Machine Type Communication) 또는 사물 통신으로 칭하여지기도 한다. 여기서, 머신이란 사람의 직접적인 조작이나 개입을 필요로 하지 않는 개체(entity)를 의미한다. 예를 들어, 무선 통신 모듈이 탑재된 검침기(meter)나 자동 판매기와 같은 장치는 물론, 사용자의 조작/개입 없이 자동으로 네트워크에 접속하여 통신을 수행할 수 있는 스마트폰과 같은 사용자 기기도 머신의 예시에 해당할 수 있다. M2M 통신은 디바이스 간의 통신(예를 들어, D2D(Device-to-Device) 통신), 디바이스와 서버(application server) 간의 통신 등을 포함할 수 있다. 디바이스와 서버 통신의 예시로, 자동 판매기와 서버, POS(Point of Sale) 장치와 서버, 전기, 가스 또는 수도 검침기와 서버 간의 통신을 들 수 있다. 그 외에도 M2M 통신 기반의 애플리케이션(application)에는, 보안(security), 운송(transportation), 헬스 케어(health care) 등이 포함될 수 있다. 이러한 적용례의 특성을 고려하면, 일반적으로 M2M 통신은 매우 많은 기기가 존재하는 환경에서 가끔씩 적은 양의 데이터를 저속으로 송수신하는 것을 지원할 수 있어야 한다.
구체적으로, M2M 통신은 많은 STA의 개수를 지원할 수 있어야 한다. 현재 정의되어 있는 무선랜 시스템에서는 하나의 AP에 최대 2007 개의 STA이 연관되는 경우를 가정하지만, M2M 통신에서는 이보다 많은 개수(약 6000 개)의 STA이 하나의 AP에 연관되는 경우를 지원하는 방안들이 논의되고 있다. 또한, M2M 통신에서는 낮은 전송 속도를 지원/요구하는 애플리케이션이 많을 것으로 예상된다. 이를 원활하게 지원하기 위해서, 예를 들어, 무선랜 시스템에서는 TIM(Traffic Indication Map) 요소 기반으로 STA이 자신에게 송신될 데이터의 존재 여부를 인지할 수 있는데, TIM의 비트맵 크기를 줄이는 방안들이 논의되고 있다. 또한, M2M 통신에서는 송신/수신 간격이 매우 긴 트래픽이 많을 것으로 예상된다. 예를 들어, 전기/가스/수도 사용량과 같이 긴 주기(예를 들어, 한 달) 마다 매우 적은 양의 데이터를 주고 받는 것이 요구된다. 이에 따라, 무선랜 시스템에서는, 하나의 AP에 연관될 수 있는 STA의 개수는 매우 많아지더라도, 하나의 비콘 주기 동안에 AP로부터 수신할 데이터 프레임이 존재하는 STA의 개수가 매우 적은 경우를 효율적으로 지원하는 방안들이 논의되고 있다.
이와 같이 무선랜 기술은 빠르게 진화하게 있으며, 전술한 예시들 외에도 직접 링크 셋업, 미디어 스트리밍 성능의 개선, 고속 및/또는 대규모의 초기 세션 셋업의 지원, 확장된 대역폭 및 동작 주파수의 지원 등을 위한 기술이 개발되고 있다.
매체 액세스 메커니즘
IEEE 802.11에 따른 무선랜 시스템에서, MAC(Medium Access Control)의 기본 액세스 메커니즘은 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) 메커니즘이다. CSMA/CA 메커니즘은 IEEE 802.11 MAC의 분배 조정 기능(Distributed Coordination Function, DCF)이라고도 불리는데, 기본적으로 "listen before talk" 액세스 메커니즘을 채용하고 있다. 이러한 유형의 액세스 메커니즘 따르면, AP 및/또는 STA은 전송을 시작하기에 앞서, 소정의 시간구간(예를 들어, DIFS(DCF Inter-Frame Space) 동안 무선 채널 또는 매체(medium)를 센싱(sensing)하는 CCA(Clear Channel Assessment)를 수행할 수 있다. 센싱 결과, 만일 매체가 유휴 상태(idle status)인 것으로 판단 되면, 해당 매체를 통하여 프레임 전송을 시작한다. 반면, 매체가 점유 상태(occupied status)인 것으로 감지되면, 해당 AP 및/또는 STA은 자기 자신의 전송을 시작하지 않고 매체 액세스를 위한 지연 기간(예를 들어, 임의 백오프 주기(random backoff period))을 설정하여 기다린 후에 프레임 전송을 시도할 수 있다. 임의 백오프 주기의 적용으로, 여러 STA들은 서로 다른 시간 동안 대기한 후에 프레임 전송을 시도할 것이 기대되므로, 충돌(collision)을 최소화시킬 수 있다.
또한, IEEE 802.11 MAC 프로토콜은 HCF(Hybrid Coordination Function)를 제공한다. HCF는 상기 DCF와 PCF(Point Coordination Function)를 기반으로 한다. PCF는 폴링(polling) 기반의 동기식 액세스 방식으로 모든 수신 AP 및/또는 STA이 데이터 프레임을 수신할 수 있도록 주기적으로 폴링하는 방식을 일컫는다. 또한, HCF는 EDCA(Enhanced Distributed Channel Access)와 HCCA(HCF Controlled Channel Access)를 가진다. EDCA는 제공자가 다수의 사용자에게 데이터 프레임을 제공하기 위한 액세스 방식을 경쟁 기반으로 하는 것이고, HCCA는 폴링(polling) 메커니즘을 이용한 비경쟁 기반의 채널 액세스 방식을 사용하는 것이다. 또한, HCF는 WLAN의 QoS(Quality of Service)를 향상시키기 위한 매체 액세스 메커니즘을 포함하며, 경쟁 주기(Contention Period; CP)와 비경쟁 주기(Contention Free Period; CFP) 모두에서 QoS 데이터를 전송할 수 있다.
도 6은 백오프 과정을 설명하기 위한 도면이다.
도 6을 참조하여 임의 백오프 주기에 기반한 동작에 대해서 설명한다. 점유(occupy 또는 busy) 상태이던 매체가 유휴(idle) 상태로 변경되면, 여러 STA들은 데이터(또는 프레임) 전송을 시도할 수 있다. 이 때, 충돌을 최소화하기 위한 방안으로서, STA들은 각각 임의 백오프 카운트를 선택하고 그에 해당하는 슬롯 시간만큼 대기한 후에, 전송을 시도할 수 있다. 임의 백오프 카운트는 의사-임의 정수(pseudo-random integer) 값을 가지며, 0 내지 CW 범위의 값 중에서 하나로 결정될 수 있다. 여기서, CW는 경쟁 윈도우(Contention Window) 파라미터 값이다. CW 파라미터는 초기값으로 CWmin이 주어지지만, 전송 실패의 경우(예를 들어, 전송된 프레임에 대한 ACK을 수신하지 못한 경우)에 2 배의 값을 취할 수 있다. CW 파라미터 값이 CWmax가 되면 데이터 전송이 성공할 때까지 CWmax 값을 유지하면서 데이터 전송을 시도할 수 있고, 데이터 전송이 성공하는 경우에는 CWmin 값으로 리셋된다. CW, CWmin 및 CWmax 값은 2n-1 (n=0, 1, 2, ...)로 설정되는 것이 바람직하다.
임의 백오프 과정이 시작되면 STA은 결정된 백오프 카운트 값에 따라서 백오프 슬롯을 카운트 다운하는 동안에 계속하여 매체를 모니터링한다. 매체가 점유상태로 모니터링되면 카운트 다운을 멈추고 대기하고, 매체가 유휴 상태가 되면 나머지 카운트 다운을 재개한다.
도 6의 예시에서 STA3의 MAC에 전송할 패킷이 도달한 경우에, STA3는 DIFS 만큼 매체가 유휴 상태인 것을 확인하고 바로 프레임을 전송할 수 있다. 한편, 나머지 STA들은 매체가 점유(busy) 상태인 것을 모니터링하고 대기한다. 그 동안 STA1, STA2 및 STA5의 각각에서도 전송할 데이터가 발생할 수 있고, 각각의 STA은 매체가 유휴상태로 모니터링되면 DIFS만큼 대기한 후에, 각자가 선택한 임의 백오프 카운트 값에 따라 백오프 슬롯의 카운트 다운을 수행할 수 있다. 도 6의 예시에서는 STA2가 가장 작은 백오프 카운트 값을 선택하고, STA1이 가장 큰 백오프 카운트 값을 선택한 경우를 나타낸다. 즉, STA2가 백오프 카운트를 마치고 프레임 전송을 시작하는 시점에서 STA5의 잔여 백오프 시간은 STA1의 잔여 백오프 시간보다 짧은 경우를 예시한다. STA1 및 STA5는 STA2가 매체를 점유하는 동안에 잠시 카운트 다운을 멈추고 대기한다. STA2의 점유가 종료되어 매체가 다시 유휴 상태가 되면, STA1 및 STA5는 DIFS만큼 대기한 후에, 멈추었던 백오프 카운트를 재개한다. 즉, 잔여 백오프 시간만큼의 나머지 백오프 슬롯을 카운트 다운한 후에 프레임 전송을 시작할 수 있다. STA5의 잔여 백오프 시간이 STA1보다 짧았으므로 STA5이 프레임 전송을 시작하게 된다. 한편, STA2가 매체를 점유하는 동안에 STA4에서도 전송할 데이터가 발생할 수 있다. 이 때, STA4의 입장에서는 매체가 유휴 상태가 되면 DIFS만큼 대기한 후, 자신이 선택한 임의 백오프 카운트 값에 따른 카운트 다운을 수행하고 프레임 전송을 시작할 수 있다. 도 6의 예시에서는 STA5의 잔여 백오프 시간이 STA4의 임의 백오프 카운트 값과 우연히 일치하는 경우를 나타내며, 이 경우, STA4와 STA5 간에 충돌이 발생할 수 있다. 충돌이 발생하는 경우에는 STA4와 STA5 모두 ACK을 받지 못하여, 데이터 전송을 실패하게 된다. 이 경우, STA4와 STA5는 CW 값을 2배로 늘린 후에 임의 백오프 카운트 값을 선택하고 카운트 다운을 수행할 수 있다. 한편, STA1은 STA4와 STA5의 전송으로 인해 매체가 점유 상태인 동안에 대기하고 있다가, 매체가 유휴 상태가 되면 DIFS만큼 대기한 후, 잔여 백오프 시간이 지나면 프레임 전송을 시작할 수 있다.
STA의 센싱 동작
전술한 바와 같이 CSMA/CA 메커니즘은 AP 및/또는 STA이 매체를 직접 센싱하는 물리적 캐리어 센싱(physical carrier sensing) 외에 가상 캐리어 센싱(virtual carrier sensing)도 포함한다. 가상 캐리어 센싱은 숨겨진 노드 문제(hidden node problem) 등과 같이 매체 액세스에서 발생할 수 있는 문제를 보완하기 위한 것이다. 가상 캐리어 센싱을 위하여, 무선랜 시스템의 MAC 은 네트워크 할당 벡터(Network Allocation Vector; NAV)를 이용할 수 있다. NAV는 현재 매체를 사용하고 있거나 또는 사용할 권한이 있는 AP 및/또는 STA이, 매체가 이용 가능한 상태로 되기까지 남아 있는 시간을 다른 AP 및/또는 STA에게 지시(indicate)하는 값이다. 따라서 NAV로 설정된 값은 해당 프레임을 전송하는 AP및/또는 STA에 의하여 매체의 사용이 예정되어 있는 기간에 해당하고, NAV 값을 수신하는 STA은 해당 기간동안 매체 액세스가 금지된다. NAV는, 예를 들어, 프레임의 MAC 헤더(header)의 듀레이션(duration) 필드의 값에 따라 설정될 수 있다.
또한, 충돌 가능성을 감소시키기 위해서 강인한 충돌 검출(robust collision detect) 메커니즘이 도입되었다. 이에 대해서 도 7 및 도 8을 참조하여 설명한다. 실제 캐리어 센싱 범위와 전송 범위는 동일하지 않을 수도 있지만, 설명의 편의를 위해서 동일한 것으로 가정한다.
도 7은 숨겨진 노드 및 노출된 노드에 대한 설명을 위한 도면이다.
도 7(a)는 숨겨진 노드에 대한 예시이며, STA A와 STA B는 통신 중에 있고 STA C가 전송할 정보를 가지고 있는 경우이다. 구체적으로 STA A가 STA B에 정보를 전송하고 있는 상황이지만, STA C가 STA B로 데이터를 보내기 전에 캐리어 센싱을 수행할 때에 매체가 유휴 상태인 것으로 판단할 수 있다. 이는 STA A의 전송(즉, 매체 점유)을 STA C의 위치에서는 센싱하지 못할 수도 있기 때문이다. 이러한 경우에, STA B는 STA A와 STA C의 정보를 동시에 받기 때문에 충돌이 발생하게 된다. 이 때 STA A는 STA C의 숨겨진 노드라고 할 수 있다.
도 7(b)는 노출된 노드(exposed node)에 대한 예시이며, STA B는 STA A에 데이터를 전송하고 있는 상황에서, STA C가 STA D에서 전송할 정보를 가지고 있는 경우이다. 이 경우에 STA C가 캐리어 센싱을 수행하면, STA B의 전송으로 인하여 매체가 점유된 상태라고 판단할 수 있다. 이에 따라, STA C가 STA D에 전송할 정보가 있더라도 매체 점유 상태라고 센싱되기 때문에 매체가 유휴 상태가 될 때까지 기다려야 한다. 그러나, 실제로는 STA A는 STA C의 전송 범위 밖에 있으므로, STA C로부터의 전송과 STA B로부터의 전송은 STA A의 입장에서는 충돌하지 않을 수도 있으므로, STA C는 STA B가 전송을 멈출 때까지 불필요하게 대기하는 것이 된다. 이 때 STA C를 STA B의 노출된 노드라고 할 수 있다.
도 8은 RTS와 CTS를 설명하기 위한 도면이다.
도 7과 같은 예시적인 상황에서 충돌 회피(collision avoidance) 메커니즘을 효율적으로 이용하기 위해서, RTS(request to send)와 CTS(clear to send)등의 짧은 시그널링 패킷(short signaling packet)을 이용할 수 있다. 두 STA 간의 RTS/CTS는 주위의 STA(들)이 오버히어링(overhearing)할 수 있도록 하여, 상기 주위의 STA(들)이 상기 두 STA 간의 정보 전송 여부를 고려하도록 할 수 있다. 예를 들어, 데이터를 전송하려는 STA이 데이터를 받는 STA에 RTS 프레임을 전송하면, 데이터를 받는 STA은 CTS 프레임을 주위의 단말들에게 전송함으로써 자신이 데이터를 받을 것임을 알릴 수 있다.
도 8(a)는 숨겨진 노드 문제를 해결하는 방법에 대한 예시이며, STA A와 STA C가 모두 STA B에 데이터를 전송하려고 하는 경우를 가정한다. STA A가 RTS를 STA B에 보내면 STA B는 CTS를 자신의 주위에 있는 STA A와 STA C에 모두 전송을 한다. 그 결과 STA C는 STA A와 STA B의 데이터 전송이 끝날 때까지 기다리게 되어 충돌을 피할 수 있게 된다.
도 8(b)는 노출된 노드 문제를 해결하는 방법에 대한 예시이며, STA A와 STA B 간의 RTS/CTS 전송을 STA C가 오버히어링함으로써, STA C는 자신이 다른 STA(예를 들어, STA D)에게 데이터를 전송하더라도 충돌이 발생하지 않을 것으로 판단할 수 있다. 즉, STA B는 주위의 모든 단말기에 RTS를 전송하고, 실제로 보낼 데이터가 있는 STA A만 CTS를 전송하게 된다. STA C는 RTS만을 받고 STA A의 CTS를 받지 못했기 때문에 STA A는 STC C의 캐리어 센싱 밖에 있다는 것을 알 수 있다.
전력 관리
전술한 바와 같이 무선랜 시스템에서는 STA이 송수신을 수행하기 전에 채널 센싱을 수행해야 하는데, 채널을 항상 센싱하는 것은 STA의 지속적인 전력 소모를 야기한다. 수신 상태에서의 전력 소모는 송신 상태에서의 전력 소모에 비하여 크게 차이가 나지 않으며, 수신 상태를 계속 유지하는 것도 전력이 제한된(즉, 배터리에 의해 동작하는) STA에게 큰 부담이 된다. 따라서, STA이 지속적으로 채널을 센싱하기 위해서 수신 대기 상태를 유지하면, 무선랜 처리율 측면에서 특별한 이점 없이 전력을 비효율적으로 소모하게 된다. 이러한 문제점을 해결하기 위해서, 무선랜 시스템에서는 STA의 전력 관리(power management; PM) 모드를 지원한다.
STA의 전력 관리 모드는 액티브(active) 모드 및 전력 절약(power save; PS) 모드로 나뉘어 진다. STA은 기본적으로 액티브 모드로 동작한다. 액티브 모드로 동작하는 STA은 어웨이크 상태(awake state)를 유지한다. 어웨이크 상태는, 프레임 송수신이나 채널 스캐닝 등 정상적인 동작이 가능한 상태이다. 한편, PS 모드로 동작하는 STA은 슬립 상태(sleep state) (또는 도즈(doze) 상태)와 어웨이크 상태(awake state)를 전환(switch)해가며 동작한다. 슬립 상태로 동작하는 STA은 최소한의 전력으로 동작하며, 프레임 송수신은 물론 채널 스캐닝도 수행하지 않는다.
STA이 슬립 상태로 가능한 오래 동작할수록 전력 소모가 줄어들기 때문에, STA은 동작 기간이 증가한다. 하지만 슬립 상태에서는 프레임 송수신이 불가능하기 때문에 무조건적으로 오래 동작할 수는 없다. 슬립 상태로 동작하는 STA이 AP에게 전송할 프레임이 존재하는 경우 어웨이크 상태로 전환하여 프레임을 송신할 수 있다. 한편, AP가 STA에게 전송할 프레임이 있는 경우, 슬립 상태의 STA은 이를 수신할 수 없으며 수신할 프레임이 존재하는 것도 알 수 없다. 따라서, STA은 자신에게 전송될 프레임의 존재 여부를 알기 위해(또한 존재한다면 이를 수신하기 위해) 특정 주기에 따라 어웨이크 상태로 전환하는 동작이 필요할 수 있다.
도 9는 전력 관리 동작을 설명하기 위한 도면이다.
도 9를 참조하면, AP(210)는 일정한 주기로 비콘 프레임(beacon frame)을 BSS 내의 STA들에게 전송한다(S211, S212, S213, S214, S215, S216). 비콘 프레임에는 TIM(Traffic Indication Map) 정보 요소(Information Element)가 포함된다. TIM 정보 요소는 AP(210)가 자신과 연관된 STA들에 대한 버퍼된 트래픽이 존재하며, 프레임을 전송할 것임을 알려주는 정보를 포함한다. TIM 요소에는 유니캐스트(unicast) 프레임을 알려주는데 사용되는 TIM과 멀티캐스트(multicast) 또는 브로드캐스트(broadcast) 프레임을 알려주는데 사용되는 DTIM(delivery traffic indication map)이 있다.
AP(210)는 3번의 비콘 프레임을 전송할 때 마다 1회씩 DTIM을 전송할 수 있다. STA1(220) 및 STA2(222)는 PS 모드로 동작하는 STA이다. STA1(220) 및 STA2(222)는 소정의 주기의 웨이크업 인터벌(wakeup interval) 마다 슬립 상태에서 어웨이크 상태로 전환하여 AP(210)에 의하여 전송된 TIM 요소를 수신할 수 있도록 설정될 수 있다. 각각의 STA은 자신의 로컬 클럭(local clock)에 기초하여 어웨이크 상태로 전환할 시점을 계산할 수 있으며, 도 9의 예시에서는 STA의 클럭은 AP의 클럭과 일치하는 것으로 가정한다.
예를 들어, 상기 소정의 웨이크업 인터벌은, STA1(220)이 비콘 인터벌마다 어웨이크 상태로 전환하여 TIM 요소를 수신할 수 있도록 설정될 수 있다. 따라서, STA1(220)은 AP(210)가 첫 번째로 비콘 프레임을 전송할 때(S211) 어웨이크 상태로 전환될 수 있다(S221). STA1(220)은 비콘 프레임을 수신하고 TIM 요소를 획득할 수 있다. 획득된 TIM 요소가 STA1(220)에게 전송될 프레임이 있음을 지시하는 경우, STA1(220)은 AP(210)에게 프레임 전송을 요청하는 PS-Poll(Power Save-Poll) 프레임을 AP(210)에게 전송할 수 있다(S221a). AP(210)는 PS-Poll 프레임에 대응하여 프레임을 STA1(220)에게 전송할 수 있다(S231). 프레임 수신을 완료한 STA1(220)은 다시 슬립 상태로 전환하여 동작한다.
AP(210)가 두 번째로 비콘 프레임을 전송함에 있어서, 다른 장치가 매체에 액세스하고 있는 등 매체가 점유된(busy medium) 상태이므로, AP(210)는 정확한 비콘 인터벌에 맞추어 비콘 프레임을 전송하지 못하고 지연된 시점에 전송할 수 있다(S212). 이 경우 STA1(220)은 비콘 인터벌에 맞추어 동작 모드를 어웨이크 상태로 전환하지만, 지연 전송되는 비콘 프레임을 수신하지 못하여 다시 슬립 상태로 전환한다(S222).
AP(210)가 세 번째로 비콘 프레임을 전송할 때, 해당 비콘 프레임에는 DTIM으로 설정된 TIM 요소가 포함될 수 있다. 다만, 매체가 점유된(busy medium) 상태이므로 AP(210)는 비콘 프레임을 지연 전송한다(S213). STA1(220)은 비콘 인터벌에 맞추어 어웨이크 상태로 전환하여 동작하며, AP(210)에 의해 전송되는 비콘 프레임을 통하여 DTIM을 획득할 수 있다. STA1(220)이 획득한 DTIM은 STA1(220)에 전송될 프레임은 없으며 다른 STA을 위한 프레임이 존재함을 지시하는 경우를 가정한다. 이 경우, STA1(220)은 자신이 수신할 프레임이 없음을 확인하고, 다시 슬립 상태로 전환하여 동작할 수 있다. AP(210)는 비콘 프레임 전송 후 프레임을 해당 STA에게 전송한다(S232).
AP(210)는 네 번째로 비콘 프레임을 전송한다(S214). 다만, STA1(220)은 이 전 2회에 걸친 TIM 요소 수신을 통해 자신에 대한 버퍼된 트래픽이 존재한다는 정보를 획득할 수 없었으므로, TIM 요소 수신을 위한 웨이크업 인터벌을 조정할 수 있다. 또는, AP(210)에 의해 전송되는 비콘 프레임에 STA1(220)의 웨이크업 인터벌 값을 조정을 위한 시그널링 정보가 포함된 경우, STA1(220)의 웨이크업 인터벌 값이 조정될 수 있다. 본 예시에서, STA1(220)은 비콘 인터벌마다 TIM 요소 수신을 위해 운영 상태를 전환하던 것을 3회의 비콘 인터벌마다 한 번 깨어나는 것으로 운영 상태를 전환하도록 설정될 수 있다. 따라서, STA1(220)은 AP(210)가 네 번째 비콘 프레임을 전송하고(S214), 다섯 번째 비콘 프레임을 전송하는 시점에(S215) 슬립 상태를 유지하므로 해당 TIM 요소를 획득할 수 없다.
AP(210)가 여섯 번째로 비콘 프레임을 전송할 때(S216), STA1(220)은 어웨이크 상태로 전환하여 동작하고 비콘 프레임에 포함된 TIM요소를 획득할 수 있다(S224). TIM 요소는 브로드캐스트 프레임이 존재함을 지시하는 DTIM이므로, STA1(220)은 PS-Poll 프레임을 AP(210)에게 전송하지 않고, AP(210)에 의해 전송되는 브로드캐스트 프레임을 수신할 수 있다(S234). 한편 STA2(230)에 설정된 웨이크업 인터벌은 STA1(220)보다 긴 주기로 설정될 수 있다. 따라서, STA2(230)는 AP(210)가 다섯 번째로 비콘 프레임을 전송하는 시점(S215)에 어웨이크 상태로 전환하여 TIM 요소를 수신할 수 있다(S241). STA2(230)는 TIM 요소를 통하여 자신에게 전송될 프레임이 존재함을 알고, 프레임 전송을 요청하기 위해 AP(210)에게 PS-Poll 프레임을 전송할 수 있다(S241a). AP(210)는 PS-Poll 프레임에 대응하여 STA2(230)에게 프레임을 전송할 수 있다(S233).
도 9와 같은 전력 절약 모드 운영을 위해 TIM 요소에는 STA이 자신에게 전송될 프레임이 존재하는지를 지시하는 TIM 또는 브로드캐스트/멀티캐스트 프레임이 존재하는지를 지시하는 DTIM이 포함된다. DTIM은 TIM 요소의 필드 설정을 통하여 구현될 수 있다.
도 10 내지 12는 TIM을 수신한 STA의 동작을 상세하게 설명하기 위한 도면이다.
도 10을 참조하면, STA은 AP로부터 TIM을 포함하는 비콘 프레임을 수신하기 위해 슬립 상태에서 어웨이크 상태로 전환하고, 수신한 TIM 요소를 해석하여 자신에게 전송될 버퍼된 트래픽이 있음을 알 수 있다. STA은 PS-Poll 프레임 전송을 위한 매체 액세스를 위해 다른 STA들과 경쟁(contending)을 수행한 후에, AP에게 데이터 프레임 전송을 요청하기 위하여 PS-Poll 프레임을 전송할 수 있다. STA에 의해 전송된 PS-Poll 프레임을 수신한 AP는 STA에게 프레임을 전송할 수 있다. STA은 데이터 프레임을 수신하고 이에 대한 확인응답(ACK) 프레임을 AP에게 전송할 수 있다. 이후 STA은 다시 슬립 상태로 전환될 수 있다.
도 10과 같이 AP는 STA으로부터 PS-Poll 프레임을 수신한 다음 소정의 시간(예를 들어, SIFS(Short Inter-Frame Space)) 후에 데이터 프레임을 전송하는 즉시 응답(immediate response) 방식에 따라 동작할 수 있다. 한편, AP가 PS-Poll 프레임을 수신한 후에 STA에게 전송할 데이터 프레임을 SIFS 시간 동안에 준비하지 못한 경우에는 지연된 응답(deferred response) 방식에 따라 동작할 수 있으며, 이에 대해서 도 11을 참조하여 설명한다.
도 11의 예시에서 STA이 슬립 상태에서 어웨이크 상태로 전환하여 AP로부터 TIM을 수신하고 경쟁을 거쳐 PS-Poll 프레임을 AP로 전송하는 동작은 도 10의 예시와 동일하다. AP가 PS-Poll 프레임을 수신하고도 SIFS 동안 데이터 프레임을 준비하지 못한 경우, 데이터 프레임을 전송하는 대신 ACK 프레임을 STA에게 전송할 수 있다. AP는 ACK 프레임 전송 후 데이터 프레임이 준비되면, 경쟁(contending)을 수행한 후 데이터 프레임을 STA에게 전송할 수 있다. STA은 데이터 프레임을 성공적으로 수신하였음을 나타내는 ACK 프레임을 AP에게 전송하고, 슬립 상태로 전환될 수 있다.
도 12는 AP가 DTIM을 전송하는 예시에 대한 것이다. STA들은 AP로부터 DTIM 요소를 포함하는 비콘 프레임을 수신하기 위해 슬립 상태에서 어웨이크 상태로 전환할 수 있다. STA들은 수신한 DTIM을 통해 멀티캐스트/브로드캐스트 프레임이 전송될 것임을 알 수 있다. AP는 DTIM을 포함하는 비콘 프레임 전송 후 PS-Poll 프레임의 송수신 동작 없이 바로 데이터(즉, 멀티캐스트/브로드캐스트 프레임)를 전송할 수 있다. STA들은 DTIM을 포함하는 비콘 프레임을 받은 후에 계속하여 어웨이크 상태를 유지하는 중에 데이터를 수신하고, 데이터 수신이 완료된 후에 다시 슬립 상태로 전환할 수 있다.
TIM 구조
상기 도 9 내지 12를 참조하여 설명한 TIM(또는 DTIM) 프로토콜을 기반으로 한 전력 절약 모드 운영 방법에 있어서, STA들은 TIM 요소에 포함된 STA 식별 정보를 통하여 자신을 위해 전송될 데이터 프레임이 존재하는지 여부를 확인할 수 있다. STA 식별 정보는 STA이 AP와 연관(association)시에 할당받는 식별자인 AID(Association Identifier)와 관련된 정보일 수 있다.
AID는 하나의 BSS 내에서는 각각의 STA에 대한 고유한(unique) 식별자로서 사용된다. 일례로, 현재 무선랜 시스템에서 AID는 1에서 2007까지의 값 중 하나의 값으로 할당될 수 있다. 현재 정의되어 있는 무선랜 시스템에서는, AP 및/또는 STA이 전송하는 프레임에는 AID를 위하여 14비트가 할당될 수 있으며, AID 값은 16383까지 할당될 수 있으나 2008에서 16383은 예비(reserved) 값으로 설정되어 있다.
기존의 정의에 따른 TIM 요소는, 하나의 AP에 많은 개수의 (예를 들어, 2007개 초과의) STA들이 연관될 수 있는 M2M 애플리케이션의 적용에 적절하지 않다. 기존의 TIM 구조를 그대로 확장하는 경우에는 TIM 비트맵 크기가 너무 커져서 기존의 프레임 포맷으로는 지원할 수 없고, 낮은 전송 레이트의 애플리케이션을 고려하는 M2M 통신에 적합하지 않다. 또한, M2M 통신에서는 하나의 비콘 주기 동안에 수신 데이터 프레임이 존재하는 STA의 개수가 매우 적을 것으로 예상된다. 따라서, 위와 같은 M2M 통신의 적용예를 고려하면, TIM 비트맵의 크기는 커지지만 대부분의 비트가 0 값을 가지는 경우가 많이 발생할 것으로 예상되므로, 비트맵을 효율적으로 압축하는 기술이 요구된다.
기존의 비트맵 압축 기술로서, 비트맵의 앞부분에 연속되는 0을 생략하고 오프셋(offset) (또는 시작점) 값으로 정의하는 방안이 마련되어 있다. 그러나, 버퍼된 프레임이 존재하는 STA들의 개수는 적지만 각각의 STA의 AID 값이 차이가 큰 경우에는 압축 효율이 높지 못하다. 예를 들어 AID가 10와 2000의 값을 가지는 단 두 개의 STA에게 전송할 프레임만이 버퍼되어 있는 경우에, 압축된 비트맵의 길이는 1990이지만 양 끝을 제외하고는 모두 0의 값을 가지게 된다. 하나의 AP에 연관될 수 있는 STA의 개수가 적은 경우에는 비트맵 압축의 비효율성이 크게 문제되지 않지만, STA의 개수가 증가하는 경우에는 이러한 비효율성이 전체 시스템 성능을 저해하는 요소가 될 수도 있다.
이를 해결하기 위한 방안으로서, AID를 여러 그룹으로 나누어 보다 효과적인 데이터의 전송을 수행하도록 할 수 있다. 각 그룹에는 지정된 그룹 ID(GID)가 할당된다. 이러한 그룹 기반으로 할당되는 AID에 대해서 도 13을 참조하여 설명한다.
도 13(a)는 그룹 기반으로 할당된 AID의 일례를 나타내는 도면이다. 도 13(a)의 예시에서는 AID 비트맵의 앞의 몇 비트들을 GID를 나타내기 위해 사용할 수 있다. 예를 들어, AID 비트맵의 처음 2 비트를 사용하여 4개의 GID를 나타낼 수 있다. AID 비트맵의 전체 길이가 N 비트인 경우에, 처음 2 비트(B1 및 B2)이 값은 해당 AID의 GID를 나타낸다.
도 13(a)는 그룹 기반으로 할당된 AID의 다른 일례를 나타내는 도면이다. 도 13(b)의 예시에서는 AID의 위치에 따라서 GID가 할당될 수 있다. 이 때, 동일한 GID를 사용하는 AID들은 오프셋(offset) 및 길이(length) 값으로 표현될 수 있다. 예를 들어, GID 1이 오프셋 A 및 길이 B로 표현되면, 비트맵 상에서 A 내지 A+B-1의 AID들이 GID 1을 가진다는 것을 의미한다. 예를 들어, 도 13(b)의 예시에서, 전체 1 내지 N4의 AID가 4개의 그룹으로 분할된다고 가정한다. 이 경우, GID 1에 속하는 AID들은 1 내지 N1이며, 이 그룹에 속하는 AID들은 오프셋 1 및 길이 N1로 표현될 수 있다. 다음으로, GID 2에 속하는 AID들은 오프셋 N1+1 및 길이 N2-N1+1으로 표현될 수 있고, GID 3에 속하는 AID들은 오프셋 N2+1 및 길이 N3-N2+1으로 표현될 수 있으며, GID 4에 속하는 AID들은 오프셋 N3+1 및 길이 N4-N3+1으로 표현될 수 있다.
이와 같은 그룹 기반으로 할당되는 AID가 도입되면, GID에 따라 다른 시간 구간에 채널 액세스를 허용할 수 있도록 함으로써, 많은 수의 STA에 대한 TIM 요소 부족 문제를 해결함과 동시에 효율적인 데이터의 송수신이 이루어질 수 있다. 예를 들어, 특정 시간 구간 동안에는 특정 그룹에 해당하는 STA(들)에게만 채널 액세스가 허용되고, 나머지 다른 STA(들)에게는 채널 액세스가 제한(restrict)될 수 있다. 이와 같이 특정 STA(들)에게만 액세스가 허용되는 소정의 시간 구간을, 제한된 액세스 윈도우(Restricted Access Window; RAW)라고 칭할 수도 있다.
GID에 따른 채널 액세스에 대해서 도 13(c)를 참조하여 설명한다. 도 13(c)에서는 AID가 3개의 그룹으로 나누어져 있는 경우, 비콘 인터벌에 따른 채널 액세스 메커니즘을 예시적으로 나타낸다. 첫 번째 비콘 인터벌(또는 첫 번째 RAW)은 GID 1에 속하는 AID에 해당하는 STA의 채널 액세스가 허용되는 구간이고, 다른 GID에 속하는 STA들의 채널 액세스는 허용되지 않는다. 이를 구현하기 위해서, 첫 번째 비콘에는 GID 1에 해당하는 AID들만을 위한 TIM 요소가 포함된다. 두 번째 비콘 프레임에는 GID 2를 가지는 AID들만을 위한 TIM 요소가 포함되며, 이에 따라 두 번째 비콘 인터벌(또는 두 번째 RAW) 동안에는 GID 2에 속하는 AID에 해당하는 STA의 채널 액세스 만이 허용된다. 세 번째 비콘 프레임에는 GID 3을 가지는 AID들만을 위한 TIM 요소가 포함되며, 이에 따라 세 번째 비콘 인터벌(또는 세 번째 RAW) 동안에는 GID 3에 속하는 AID에 해당하는 STA의 채널 액세스 만이 허용된다. 네 번째 비콘 프레임에는 다시 GID 1을 가지는 AID들만을 위한 TIM 요소가 포함되며, 이에 따라 네 번째 비콘 인터벌(또는 네 번째 RAW) 동안에는 GID 1에 속하는 AID에 해당하는 STA의 채널 액세스 만이 허용된다. 그 다음으로, 다섯 번째 이후의 비콘 인터벌들(또는 다섯 번째 이후의 RAW들)의 각각에서도, 해당 비콘 프레임에 포함된 TIM에서 지시되는 특정 그룹에 속한 STA의 채널 액세스만이 허용될 수 있다.
도 13(c)에서는 비콘 인터벌에 따라 허용되는 GID의 순서가 순환적 또는 주기적인 예시를 나타내지만, 이에 제한되는 것은 아니다. 즉, TIM 요소에 특정 GID(들)에 속하는 AID(들)만을 포함시킴으로써, 특정 시간 구간(예를 들어, 특정 RAW) 동안에 상기 특정 AID(들)에 해당하는 STA(들)만의 채널 액세스를 허용하고 나머지 STA(들)의 채널 액세스는 허용하지 않는 방식으로 동작할 수 있다.
전술한 바와 같은 그룹 기반 AID 할당 방식은, TIM의 계층적(hierarchical) 구조라고도 칭할 수 있다. 즉, 전체 AID 공간을 복수개의 블록들로 분할하고, 0이 아닌 값을 가지는 특정 블록에 해당하는 STA(들) (즉, 특정 그룹의 STA)의 채널 액세스만이 허용되도록 할 수 있다. 이에 따라, 큰 크기의 TIM을 작은 블록/그룹으로 분할하여 STA이 TIM 정보를 유지하기 쉽게 하고, STA의 클래스, 서비스품질(QoS), 또는 용도에 따라 블록/그룹을 관리하기가 용이하게 된다. 상기 도 13의 예시에서는 2-레벨의 계층을 나타내지만, 2 이상의 레벨의 형태로 계층적 구조의 TIM이 구성될 수도 있다. 예를 들어, 전체 AID 공간을 복수개의 페이지(page) 그룹으로 분할하고, 각각의 페이지 그룹을 복수개의 블록으로 구분하고, 각각의 블록을 복수개의 서브-블록으로 분할할 수도 있다. 이러한 경우, 상기 도 13(a)의 예시의 확장으로서, AID 비트맵에서 처음 N1개의 비트는 페이지 ID(즉, PID)를 나타내고, 그 다음 N2개의 비트는 블록 ID를 나타내고, 그 다음 N3개의 비트는 서브-블록 ID를 나타내고, 나머지 비트들이 서브-블록 내의 STA 비트 위치를 나타내는 방식으로 구성될 수도 있다.
이하에서 설명하는 본 발명의 예시들에 있어서, STA들(또는 각각의 STA에 할당된 AID들)을 소정의 계층적인 그룹 단위로 분할하고 관리하는 다양한 방식들이 적용될 수 있으며, 그룹 기반 AID 할당 방식이 상기 예시들로 제한되는 것은 아니다.
PPDU 프레임 포맷
PPDU(Physical Layer Convergence Protocol(PLCP) Packet Data Unit) 프레임 포맷은, STF(Short Training Field), LTF(Long Training Field), SIG(SIGNAL) 필드, 및 데이터(Data) 필드를 포함하여 구성될 수 있다. 가장 기본적인(예를 들어, non-HT(High Throughput)) PPDU 프레임 포맷은 L-STF(Legacy-STF), L-LTF(Legacy-LTF), SIG 필드 및 데이터 필드만으로 구성될 수 있다. 또한, PPDU 프레임 포맷의 종류(예를 들어, HT-mixed 포맷 PPDU, HT-greenfield 포맷 PPDU, VHT(Very High Throughput) PPDU 등)에 따라서, SIG 필드와 데이터 필드 사이에 추가적인 (또는 다른 종류의) STF, LTF, SIG 필드가 포함될 수도 있다.
STF는 신호 검출, AGC(Automatic Gain Control), 다이버시티 선택, 정밀한 시간 동기 등을 위한 신호이고, LTF는 채널 추정, 주파수 오차 추정 등을 위한 신호이다. STF와 LTF를 합쳐서 PCLP 프리앰블(preamble)이라고 칭할 수 있고, PLCP 프리앰블은 OFDM 물리계층의 동기화 및 채널 추정을 위한 신호라고 할 수 있다.
SIG 필드는 RATE 필드 및 LENGTH 필드 등을 포함할 수 있다. RATE 필드는 데이터의 변조 및 코딩 레이트에 대한 정보를 포함할 수 있다. LENGTH 필드는 데이터의 길이에 대한 정보를 포함할 수 있다. 추가적으로, SIG 필드는 패리티(parity) 비트, SIG TAIL 비트 등을 포함할 수 있다.
데이터 필드는 SERVICE 필드, PSDU(PLCP Service Data Unit), PPDU TAIL 비트를 포함할 수 있고, 필요한 경우에는 패딩 비트도 포함할 수 있다. SERVICE 필드의 일부 비트는 수신단에서의 디스크램블러의 동기화를 위해 사용될 수 있다. PSDU는 MAC 계층에서 정의되는 MAC PDU에 대응하며, 상위 계층에서 생성/이용되는 데이터를 포함할 수 있다. PPDU TAIL 비트는 인코더를 0 상태로 리턴하기 위해서 이용될 수 있다. 패딩 비트는 데이터 필드의 길이를 소정의 단위로 맞추기 위해서 이용될 수 있다.
MAC PDU는 다양한 MAC 프레임 포맷에 따라서 정의되며, 기본적인 MAC 프레임은 MAC 헤더, 프레임 바디, 및 FCS(Frame Check Sequence)로 구성된다. MAC 프레임은 MAC PDU로 구성되어 PPDU 프레임 포맷의 데이터 부분의 PSDU를 통하여 송신/수신될 수 있다.
한편, 널-데이터 패킷(NDP) 프레임 포맷은 데이터 패킷을 포함하지 않는 형태의 프레임 포맷을 의미한다. 즉, NDP 프레임은, 일반적인 PPDU 포맷에서 PLCP 헤더 부분(즉, STF, LTF 및 SIG 필드)만을 포함하고, 나머지 부분(즉, 데이터 필드)은 포함하지 않는 프레임 포맷을 의미한다.
채널 액세스 방안
도 14는 PS-Poll 메커니즘을 설명하기 위한 도면이다. 도 14는 상기 도 11의 PS-Poll 메커니즘의 구체적인 예시에 해당한다.
전술한 바와 같이, STA은 AP로부터 자신에게 전송될 데이터가 존재하는지 여부를 비콘의 TIM 요소를 통해서 알 수 있다. 자신에게 전송될 데이터가 존재하는 것을 확인한 STA은, AP로부터의 데이터(즉, 하향링크(DL) 데이터)를 요청하기 위해서 AP에게 PS-Poll 프레임을 전송할 수 있다. PS-Poll 프레임을 수신한 AP는 경쟁(contention)을 통해 STA에게 데이터를 전송할 수 있다. 구체적으로, 데이터를 전송하려는 AP가 데이터를 받는 STA에게 RTS 프레임을 전송하고, 데이터를 받을 STA은 CTS 프레임을 전송함으로써 자신이 데이터를 받을 것임을 알릴 수 있다. 이에 따라 AP는 데이터 프레임을 STA에게 전송하고, ACK 프레임을 수신할 수 있다. 이 경우 AP는 STA에게 한 번에 하나의 PSDU(Physical layer Service Data Unit) 만을 전송할 수 있다. 따라서, AP가 STA에게 보낼 데이터의 양이 많을 경우에는, STA으로부터의 새로운 PS-Poll에 응답하여 경쟁을 통해 데이터를 전송해야 하므로, 비효율적인 데이터 전송이 수행될 수 있다.
도 15는 U-APSD 메커니즘을 설명하기 위한 도면이다.
U-APSD(Unscheduled-Automatic Power Save Delivery) 메커니즘에 따르면, U-APSD 서비스 기간(service period; SP)을 사용하기 위해서 STA은 AP에게 요청 전송 기간(requested transmission duration)을 알려줄 수 있고, AP는 상기 SP 동안 STA에게 프레임을 전송할 수 있다. U-APSD 메커니즘에 따르면, STA는 자신의 SP를 이용하여 AP로부터 한 번에 여러 PSDU를 수신할 수 있다.
도 15를 참조하면, STA은 비콘의 TIM 요소를 통해 AP가 자신에게 보내고자 하는 데이터가 있음을 인지할 수 있다. 이후, STA이 원하는 시점에서 트리거 프레임(Trigger frame)을 AP에게 전송함으로써, 자신의 SP가 시작되었음을 AP에게 알리면서 AP에게 데이터를 전송할 것을 요청할 수 있다. AP는 트리거 프레임에 대한 응답으로 ACK을 전송할 수 있다. 그 후, AP는 경쟁을 거쳐 STA에게 RTS를 전송하고, STA으로부터 CTS 프레임을 수신하고 나서, STA에게 데이터를 전송할 수 있다. 여기서, AP가 전송하는 데이터는 하나 이상의 데이터 프레임으로 구성될 수 있다. AP가 마지막 데이터 프레임을 전송할 때, 해당 데이터 프레임에서의 EOSP(End Of Service Period)를 1로 설정하여 STA에게 전송하면, STA은 이를 인지하고 SP를 종료할 수 있다. 이에 따라, STA은 AP에게 성공적인 데이터 수신을 알리는 ACK을 전송할 수 있다. 이와 같이, U-APSD 메커니즘에 따르면, STA은 자신이 원할 때 자신의 SP를 시작하여 데이터를 수신할 수 있고, 하나의 SP 안에서 여러 개의 데이터 프레임을 수신할 수 있어 보다 효율적인 데이터의 수신이 가능해진다.
한편, 전술한 도 14 및 도 15의 예시에서와 같이, 숨겨진 노드 문제를 방지하기 위하여 데이터 송수신시에 RTS/CTS 프레임을 교환하는 것은, 데이터 송수신측 모두에 많은 양의 시그널링 오버헤드를 유발하게 된다. 또한, 상기 도 15의 예시에서와 같이 STA이 트리거 프레임을 전송하여 AP에게 데이터 전송을 요청한 시점으로부터, AP가 STA에게 보낼 데이터를 준비하고 데이터 전송을 위한 경쟁을 거치고 RTS/CTS 프레임의 송수신을 이후에 실제로 데이터 전송을 개시하기까지는, 짧지 않은 시간이 소요되고 이에 따라 STA의 많은 전력이 소모될 수 있다.
예를 들어, 숨겨진 노드 환경에서는 다른 STA이 전송하는 PS-Poll 프레임을 오버히어링하지 못하는 STA이 존재할 수 있고, 여러 STA으로부터 PS-Poll이 동시에 전송되어 충돌이 발생할 수도 있다. 나아가, M2M 통신에서와 같이 하나의 AP에 많은 개수의 STA들이 연관될 수 있는 환경에서는, 숨겨진 노드 문제가 더욱 자주 발생할 수 있다. 또한, 숨겨진 노드 문제를 해결하기 위한 기존의 CTS/RTS 프레임 교환 등의 방법을 이용하더라도, M2M 통신에 적합한 저전력 STA 등의 경우에는 CTS/RTS 프레임 송수신으로 인한 전력 소모도 큰 부담이 될 수 있다.
이러한 문제를 해결하기 위해서, 본 발명에서는 AP와 STA 간에 미리 SP로 이용될 수 있는 구간을 약속하여 두고, AP가 미리 STA에게 보낼 데이터를 준비하도록 동작할 수 있다. 이에 따라, STA SP-poll(또는 SP 트리거링) 프레임을 AP로 전송함으로써 자신의 SP를 AP에게 알리고, AP에게 데이터 전송을 요청할 수 있다. 여기서, SP-Poll 프레임에는 SP 구간을 나타내는 정보(예를 들어, SP 시작시점, SP 지속기간, SP 간격, SP 종료시점 등)를 포함시킬 수 있고, AP는 상기 SP 구간을 나타내는 정보로부터 다음 SP가 시작된 시점을 미리 알 수 있다. 이에 따라 생성된 SP를 polled-SP 라고 할 수 있다.
짧은 프레임 포맷
전술한 바와 같이 특정 STA은 SP 동안에는 독점적인 TXOP을 얻은 것과 같이 동작할 수 있다. 즉, 설정된 SP 동안에 특정 STA은 복수개의 데이터 프레임의 송수신을 경쟁 없이 수행할 수 있다. 이를 위해서 SP 설정에 대한 제어 정보가 STA과 AP 간에 교환될 필요가 있는데, 많은 STA들이 AP에 연관될 수 있는 환경에서는 특정 STA 또는 STA 그룹에 대한 SP 설정을 위한 시그널링 오버헤드가 시스템의 성능을 저하시킬 수도 있다.
구체적으로, 스케줄링되지 않은 SP를 트리거하는 프레임을 전송하기 경우 기존의 MAC 프레임 포맷을 사용하는 경우, 불필요하게 많은 오버헤드를 유발할 수 있다. 따라서, 본 발명에서는 STA의 전력 절약 트리거(power saving trigger)를 위해, MAC 헤더 내 사용되지 않는 불필요한 정보 필드(information field)를 제외한 새로운 MAC 프레임 포맷을 제안한다. 이에 따라, 시그널링 오버헤드 및 STA의 전력 소모를 줄일 수 있어서, 보다 효율적인 전송이 가능하다.
본 발명에서는 STA 및 AP간 SP 설정 및 관련 파라미터를 주고 받기 위한 짧은 프레임 포맷(short frame format)을 제안한다. 짧은 프레임은 STA가 AP로 데이터를 전송함과 동시에 서비스 기간을 시작하는지 여부에 따라 짧은 데이터 프레임(Short Data frame) 및 짧은 널 프레임(Short Null frame)으로 구분될 수 있다. 짧은 널 프레임은 짧은 널 데이터 패킷(NDP) 프레임이라고 칭할 수도 있다. 이에 대해서 도 16을 참조하여 구체적으로 설명한다.
도 16은 짧은 프레임 포맷의 일례를 설명하기 위한 도면이다.
도 16의 짧은 프레임 포맷은 일반 프레임 포맷에 비하여, 프레임 바디(frame body) 필드가 제외된다는 점에서 구별될 수 있다. 일반 프레임 포맷의 프레임 바디 필드에는, 송수신되는 데이터가 포함될 수 있다. , 구체적으로, 송수신되는 데이터는, MAC 제어 프레임, 관리 프레임, 액션 프레임, 또는 데이터 프레임 등에서 MAC 헤더와 프레임 체크 시퀀스(FCS: frame check sequence) 부분이 제외된 나머지 부분에 해당할 수 있다.
도 16(a)는 짧은 데이터 프레임을 예시한 도면이다. 도 16에 도시된 예에서와 같이, 짧은 데이터 프레임은 짧은 프레임 제어 필드, 수신자 주소(RA : Receiver Address) 필드, 전송자 주소(TA : Transmitter Address) 필드 및 프레임 체크 시퀀스(FCS: frame check sequence) 필드를 포함할 수 있다.
수신자 주소 필드는 짧은 데이터 프레임을 직접 수신하는 장치(예를 들어, AP 또는 STA)를 식별하는 MAC 주소를 가리키고, 전송자 주소 필드는 짧은 데이터 프레임을 송신하는 장치(예를 들어, STA)를 식별하는 MAC 주소를 가리킬 수 있다. 프레임 체크 시퀀스 필드는 짧은 데이터 프레임의 에러 탐색을 위하여 사용된다.
짧은 데이터 프레임의 짧은 프레임 제어 필드는 짧은 프레임 지시(Short frame indication) 필드, 짧은 프레임 타입(Short Frame Type) 필드, 짧은 프레임 서브타입(Short Frame subtype) 필드, To DS 필드, From DS 필드, Via AP 필드, PM(Power Management) 필드, AC(Access Category) 필드, EOSP(End of Service Period) 필드, 재시도(Retry) 필드, MD(More Data) 필드, 보호(Protected) 필드 및 예비(Reserved) 필드를 포함할 수 있다. 단, 짧은 프레임 제어 필드가 열거된 모든 필드를 포함하여야 하는 것은 아니며, 경우에 따라 일부 필드가 생략될 수도 있음은 물론이다.
짧은 프레임 제어 필드 내 짧은 프레임 지시 필드는 해당 프레임이 짧은 프레임(short frame)인지, 일반 프레임(normal frame) 인지 여부를 지시한다.
짧은 프레임 제어 필드에 의해 해당 프레임이 짧은 프레임이라 지시된 경우, 짧은 프레임 타입 필드는 짧은 프레임의 타입을 정의하는데 사용될 수 있다. 구체적으로, 짧은 프레임 제어 필드는 해당 짧은 프레임이 짧은 데이터 프레임인지, 후술되는 짧은 널 프레임(Short null frame)인지 여부를 지시할 수 있다.
짧은 프레임 서브 타입 필드는 짧은 프레임의 서브타입들을 정의한다. 짧은 프레임 서브 타입 필드가 짧은 프레임이 짧은 데이터 프레임인지 짧은 널 프레임인지 여부를 지시할 수도 있다.
To DS 필드 및 From DS 필드는 해당 짧은 프레임이 분배 시스템으로 향하는 것인지, 분배 시스템으로부터 나오는 데이터 프레임인지 여부를 지시한다. 예컨대, 같은 BSS내에 있는 STA간 통신을 수행하는 경우, DS와는 아무 연관을 맺지 않으므로, To DS 및 From DS 필드는 모두 ‘0’으로 설정될 수 있다. 이와 달리, STA이 DS에 짧은 프레임을 전송하는 경우, To DS 필드는 ‘1’ 로 설정되고, From DS 필드는 ‘0’으로 설정될 수 있다. 이와 반대로, STA이 DS로부터 짧은 프레임을 전송 받는 경우, To DS 필드는 ‘0’으로 설정되고, From DS 필드는 ‘1’로 설정될 수 있다. STA이 다른 BSS에 있는 STA과 통신을 수행하는 경우, To DS 필드와 From DS 필드는 모두 ‘1’로 설정될 수 있다.
Via AP 필드는 기존에 존재하던 다른 어드레스 정보를 제외시키고 필요시 대체용도로 사용할 수 있다.
PM 필드는 송신자가 전력 절감 모드에 있는지 알려준다. 예컨대, 송신자가 전력 절감 모드 하에 있다면, PM 필드는 ‘1’로 설정될 수 있고, 송신자가 활성 상태 하에 있다면, PM 필드는 ‘0’으로 설정될 수 있다.
AC 필드는 짧은 프레임과 관련된 AC에 대한 지시(indication) 또는 할당(assignment)을 위해 사용될 수 있다. 구체적으로, AC 필드는 STA가 전달 가능하거나 트리거 가능한 적어도 하나 이상의 AC를 가리킬 수 있다. 여기서, 짧은 프레임과 관련된 AC는 AC_BE(best effort), AC_BK(background), AC_VI(video) 및 AC_VO(voice) 중 적어도 하나를 포함할 수 있다. 도 1에서는 AC 필드가 2 비트 이지만, AC 필드를 4비트 확장하여, 4비트 각각이 AC_BE(best effort), AC_BK(background), AC_VI(video) 및 AC_VO(voice) 4가지 AC에 대한 허용 여부를 지시하도록 설정할 수도 있다. 본 발명의 다른 예에 따르면, AC 필드를 대신하여 TID(Traffic ID) 필드가 삽입될 수도 있다. 이 경우, TID 필드는 4비트로 구성되어 full TID 정보가 포함되도록 설정될 수도 있지만, 4비트 보다 작은 크기의 Partial TID 정보가 포함되도록 설정될 수도 있다.
EOSP 필드는 서비스 기간의 종료를 지시하고, 재시도 필드는 해당 짧은 프레임이 재전송 프레임인지 여부를 지시한다.
도 16의 (b)는 짧은 널 프레임을 예시한 도면이다. 도 16의 (b)에서, 도 16의 (a)와 동일한 용어로 정의된 필드의 용도는 도 16의 (a)의 도면을 참조하여 설명한 바와 같으므로, 이에 대한 상세한 설명은 생략한다. 도 16의 (b)를 참조하면, 짧은 널 프레임(Short Null frame)의 짧은 프레임 제어 필드에는, 짧은 데이터 프레임의 짧은 프레임 제어 필드에서와 달리 재시도 필드, 추가 데이터 필드 및 보호 필드가 생략될 수 있다. 그리고, 짧은 널 프레임의 짧은 프레임 제어 필드에는 최대 SP 길이(Max SP Length) 필드가 포함될 수 있다.
최대 서비스 기간 길이 필드는 서비스 기간을 트리거링(triggering)하는 STA으로 전송되는 총 버퍼된 데이터 유닛의 최대 개수를 지시하는데 사용될 수 있다. 여기서, 데이터 유닛은 MSDUs(AMC Service Data Unit), A-MSDUs 및 MMPDUs 중 적어도 하나를 포함하는 것일 수 있다.
표 1은 최대 서비스 기간 길이 필드의 인덱스 값에 따른 지시값을 예시한 것이다.
표 1
Max SP Length의 인덱스값 | 내용 |
00 | AP가 모든 버퍼된 MSDUs/A-MSDUs/MMPDUs 를 전송 |
01 | AP가 최대 2개의 버퍼된 MSDUs/A-MSDUs/MMPDUs 를 전송 |
10 | AP가 최대 4개의 버퍼된 MSDUs/A-MSDUs/MMPDUs 를 전송 |
11 | AP가 최대 6개의 버퍼된 MSDUs/A-MSDUs/MMPDUs 를 전송 |
데이터 유닛의 전송 개수가 최대 서비스 기간 길이 필드에서 정하는 최대 개수와 같아질 경우, 서비스 기간은 종료될 수 있다.
일반적으로 서비스 기간의 모든 파라미터를 포함하는 필드는 4 옥텟의 길이를 갖는다. 짧은 데이터 널 프레임에서는 4 옥텟의 서비스 기간 필드 대신 최소 2 비트의 최대 서비스 기간 길이 필드를 삽입하여 오버헤드를 줄일 수 있다.
최대 서비스 기간 길이 필드의 길이(예컨대, 2 비트)는 APSD 설정 단계에서 설정된 값과 동일한 값으로 설정되어, 해당 짧은 널 프레임 전송이 APSD 하향링크 전달(APSD DL delivery) 정보와 관련되도록 할 수 있다. 이는 APSD 메커니즘 하에 짧은 널 프레임을 사용하기 위함이다.
짧은 널 프레임의 최대 서비스 기간 길이 필드와 함께 데이터 프레임의 EOSP 필드를 이용하여, 서비스 기간의 종료가 지시될 수 있다. 이는, STA가 자신의 해당 서비스 기간 동안만 전력을 소모하고, 데이터를 송수신할 수 있게 한다.
도 16에 도시된 예에서, 수신자 주소(RA) 필드는 기본 서비스 세트 식별(BSSID: Basic Service Set IDentification) 필드로 설정될 수도 있다. 그리고, 전송자 주소(TA) 필드는 2 옥텟의 연관 식별자(Association ID, AID) 필드로 대체될 수도 있다. 다만, TA 필드를, AID 필드로 대체하기 위해서는 시스템에 AID 변경 및 업데이트 등의 메커니즘이 적용되어 전송의 모호함(ambiguity)를 줄 수 있는 환경이 조성되지 않을 것이 가정되어야 할 것이다.
도 16의 (a) 및 (b)를 통해 살펴본 바와 같이, 짧은 데이터 프레임 및 짧은 널 프레임은 전력 관리(PM) 필드 까지는 공통의 구조를 가질 수 있다. 데이터를 전송하는 짧은 데이터 프레임의 경우, 재시도(retry) 필드, 추가 데이터(MD) 필드 및 보호 필드로 데이터 전송을 지원하고, 데이터를 전송하지 않고 데이터의 수신만 트리거링하는 짧은 널 프레임(Short Null frame)의 경우, 서비스 기간에 관한 정보를 설정하여, 두 짧은 프레임간 정보 필드가 각각의 용도에 따라 효율적으로 구성되도록 할 수 있다.
다만, 도 16에 도시된 정보 블록들이 짧은 프레임에 모두 포함되어야 하는 것은 아니며, 일부는 생략될 수 있다. 나아가, 각 정보 블록의 크기나 배열 순서 역시 도 16에 도시된 예와 다르게 적용될 수도 있다.
짧은 프레임 포맷을 이용하는 개선된 채널 액세스 방안
기존의 무선랜 시스템에서는 NAV를 이용하여 매체를 사용할 STA이 다른 STA에게 매체가 이용가능한 상태로 되기까지 남아 있는 시간을 알려줄 수 있다. 즉, NAV로 설정된 값은 해당 프레임을 전송하는 STA에 의하여 매체의 사용이 예정되어 있는 기간에 해당하고, NAV 값을 수신하는 상기 다른 STA은 해당 기간동안 매체 액세스가 금지된다. 이러한 NAV는 MAC 헤더의 듀레이션(duration) 필드의 값에 따라 설정될 수 있다.
기존의 무선랜 시스템에서는 듀레이션 필드에 대한 오버헤드가 적지 않기 때문에(예를 들어, 2 옥텟의 오버헤드가 요구됨), 시그널링 오버헤드를 최소화하는 목적의 짧은 프레임 (예를 들어, 짧은 데이터 프레임 또는 널 프레임) 포맷에서는 듀레이션 필드가 생략되는 것이 일반적이다. 이러한 짧은 프레임 포맷이 이용되는 경우, NAV를 통한 다른 STA의 매체 액세스가 금지되는 동작이 지원될 수 없다.
한편, 일반적인 PS-poll 프레임에 의하면, 하나의 PS-poll 프레임을 통하여 하나의 데이터 프레임의 송수신 및 이에 응답하는 ACK 프레임의 송수신만이 허용되는데, 본 발명에서 제안하는 짧은 프레임 포맷을 이용하여 설정되는 서비스 기간(SP)에서 복수개의 데이터 프레임의 송수신 및 이에 응답하는 ACK 프레임의 송수신이 허용되어야 한다. 또한, 전술한 바와 같이 본 발명에서 제안하는 SP에서는 특정 STA의 복수개의 데이터 프레임의 송수신이 경쟁 없이 수행되어야 한다. 이러한 동작을 올바르게 지원하기 위해서는 짧은 프레임 포맷을 이용하면서도 다른 STA의 매체 액세스를 금지시키는 새로운 메커니즘이 요구된다.
도 17은 본 발명의 일례에 따른 개선된 채널 액세스 방안을 설명하기 위한 도면이다.
도 17에서는 짧은 널 프레임을 전송한 STA1이 SIFS 시간 후에 경쟁 없이 AP로부터의 첫 번째 데이터를 수신하는 동작을 나타낸다. 이를 지원하기 위해서, 짧은 널 프레임을 검출한 다른 STA들이 특정 정보를 통해 NAV를 설정할 수 있도록 해야 한다. 상기 NAV의 설정은, 적어도 하나의 데이터 프레임의 송수신 및 ACK 프레임의 송수신에 소요되는 시간만큼 다른 STA들의 채널 액세스를 연기(defer)하도록 해야 한다.
여기서, 일단 데이터 프레임(또는 데이터 프레임 및 ACK 프레임)의 송수신이 수행되면, 데이터 프레임 또는 ACK 프레임에 포함되어 있는 MAC 헤더의 듀레이션 필드를 이용하여 다른 STA들의 NAV 설정이 가능하다. 따라서, 짧은 널 프레임을 통해서 다른 STA들이 NAV 설정의 기준으로 삼아야 하는 시간 길이는, SP 내의 첫 번째 데이터 프레임(또는 데이터 프레임 및 ACK 프레임)의 송수신에 소요되는 시간에 해당할 수 있다. 이를 위하여 본 발명에서는 아래와 같은 새로운 메커니즘을 제안한다.
본 발명의 일례로서, 짧은 프레임 포맷(예를 들어, 짧은 데이터 프레임 또는 널 프레임 포맷)에 듀레이션 필드를 포함시켜서 전송할 수 있다.
도 18은 본 발명에서 제안하는 새로운 짧은 프레임 포맷을 설명하기 위한 도면이다.
도 18의 새로운 짧은 프레임 포맷은, 상기 도 16의 예시에 비하여 짧은 프레임 제어 필드와 RA 필드 사이에 듀레이션 필드가 추가된 것을 알 수 있다. 또한, 듀레이션 필드를 제외한 나머지 필드(즉, 짧은 프레임 제어, RA, TA, FCS 필드)의 구체적인 내용은 상기 도 16의 설명에 따를 수 있다.
도 18의 예시에서 듀레이션 필드는, SP 내의 복수개의 데이터 프레임(또는 복수개의 데이터 프레임 및 ACK 프레임)의 전부를 포함하는 시간 길이로 설정해 줄 필요는 없고, 첫 번째 데이터 프레임(또는 데이터 프레임 및 ACK 프레임)의 송수신에 소요되는 시간 길이만큼의 값으로 설정될 수 있다. 첫 번째 데이터 프레임 외의 나머지 데이터 프레임에 대해서는 바로 이전 데이터 프레임(또는 ACK 프레임)에 포함되어 있는 듀레이션 필드를 통해서 다른 STA들의 NAV 설정/업데이트가 가능하기 때문이다.
또한, 특정 STA이 전송하는 짧은 프레임 포맷 내의 짧은 프레임 제어 필드에 포함된 최대 SP 길이 필드의 정보를 이용하여, 다른 STA들이 상기 특정 STA가 경쟁 없이 매체 액세스(또는 채널 액세스)를 하도록 허용되는 시간 구간(즉, 다른 STA들의 매체 액세스(또는 채널 액세스)가 금지되는 시간 구간)을 묵시적으로 예측할 수도 있다.
기존의 무선랜 시스템에서 정의되는 최대 SP 길이 필드는, 연관 요청/응답 (또는 재연관 요청/응답) 과정을 통하여 설정되는 장-기간(long-term) 또는 반-정적(semi-static) 속성의 정보이고, 장-기간동안 적용될 수 있는(즉, 다양한 경우를 모두 고려한) 최대 값으로 설정된다. 이에 따라, AP는 STA이 연관된 동안(또는 새로 연관을 맺기 전까지) 상기 최대 값을 넘지 않는 데이터 패킷 개수의 송수신을 지원하는 방식으로 동작하였다. 그러나, 본 발명에서 제안하는 최대 SP 길이 필드는 짧은 프레임 포맷(예를 들어, 짧은 트리거 프레임 등)에 포함되는 정보이므로, 동적(dynamic)으로 그 값이 설정될 수 있다. 따라서, 본 발명에서 제안하는 최대 SP 길이 필드는 최대 값으로 설정될 필요는 없고, 실제로 해당 짧은 프레임에 의해서 트리거되는 데이터 패킷의 개수에 해당하는 값으로 설정될 수 있다. 또한, 짧은 프레임 포맷에 포함되는 최대 SP 길이 필드는, 연관(또는 재연관) 과정에서 설정되는 기존의 최대 SP 길이 필드에서 설정되는 최대값은 넘지 않는 범위 내에서 동적으로 그 값이 설정될 수 있다. 이는, 종래의 U-APSD 방식에 비하여 유연한 자원 할당/활용을 가능하게 한다는 점에서 유리하게 적용될 수 있다.
전술한 예시들에서와 같이, 본 발명에서 제안하는 짧은 데이터 포맷에 추가적으로 정의되는 듀레이션 필드는 긴 시간 길이를 지시하는 정보를 포함하는 것이 요구되지 않고, 최소한의 시간 길이를 지시하는 것으로 충분하다. 따라서, 본 발명에서 제안하는 짧은 데이터 포맷에 추가적으로 정의되는 듀레이션 필드는 기존의 듀레이션 필드와 같이 2 옥텟까지 정의될 필요는 없고, 1 옥텟 길이로서 정의될 수 있다.
본 발명의 다른 일례로서, 듀레이션 필드를 이용하지 않고 다른 STA들이 소정의 시간 동안 매체 액세스(또는 채널 액세스)를 연기하는 방안에 대해서 설명한다.
만약 다른 STA들이 특정 STA가 전송하는 짧은 프레임 포맷(예를 들어, 짧은 데이터 프레임 또는 널 프레임 포맷)을 검출한 경우, 상기 다른 STA들은 상기 짧은 프레임을 검출한 시점을 시작시점으로 하여, 소정의 시간 길이 만큼 상기 특정 STA을 위한 SP가 설정된다는 것을 묵시적으로 인식하고, 상기 소정의 시간 길이 동안 매체 액세스(또는 채널 액세스)를 연기할 수 있다.
상기 소정의 시간 길이에 대한 정보는 BSS에 속한 STA들에게 미리 지시 또는 미리 설정될 수 있다. 예를 들어, 특정 관리 프레임(예를 들어, 연관 요청/응답 프레임, 프로브 요청/응답 프레임 등)을 통하여 상기 소정의 시간 길이에 대한 정보가 지시/설정될 수 있다. 또는 특정 브로드캐스트 신호(예를 들어, 비콘)을 통하여 BSS 내의 STA들에게 상기 소정의 시간 길이에 대한 정보를 주기적으로 발표(announce)할 수도 있다. 만약 STA들의 SP가 동적으로 설정되는 것이 허용되는 경우에는, 상기 소정의 시간 길이에 대한 정보는 계속하여 업데이트되는 방식으로 발표될 수도 있다. 만약 상기 소정의 시간 길이에 대한 정보를 복수개 수신한 STA들은, 가장 나중에 수신/발표/업데이트된 시간 길이에 대한 정보를 이용할 수 있다. 즉, 특정 STA이 다른 STA의 짧은 프레임을 검출한 경우에, 상기 특정 STA이 수신한 상기 소정의 시간 길이에 대한 정보 중에서 가장 최근에 수신된 값을 이용하여 자신이 매체 액세스(또는 채널 액세스)를 연기해야 하는 시간 길이(또는, NAV)를 설정할 수 있다.
또한, 상기 소정의 시간 길이는 짧은 프레임에 의해서 SP가 시작하고 나서 첫 번째 데이터 프레임(또는 데이터 프레임 및 ACK 프레임)을 수신할 때까지의 시간 길이로 설정될 수 있다. 이에 따라, 특정 STA이 다른 STA의 짧은 프레임을 검출한 경우에 상기 소정의 시간 길이를 이용하여 첫 번째 NAV를 설정하고, 그 후에는 상기 첫 번째 데이터 프레임(또는 ACK 프레임)에 포함되어 있는 MAC 헤더의 듀레이션 필드의 값으로부터 후속 NAV를 설정/업데이트할 수 있다. 또는, 다른 STA의 짧은 프레임을 검출한 특정 STA은, 상기 본 발명에서 제안하는 최대 SP 길이에 의해서 결정되는 데이터 패킷의 개수에 대한 정보로부터 유추되는 시간 길이를, 상기 소정의 시간 길이에 더한 전체 시간 길이만큼 매체 액세스(또는 채널 액세스)를 연기하는 방식으로 동작할 수도 있다.
전술한 본 발명의 예시에서는, 짧은 프레임 포맷에 명시적으로 포함되는 듀레이션 필드 또는 최대 SP 길이 필드를 이용하거나, 짧은 프레임 포맷에 명시적인 필드를 추가하지 않고 BSS에서 미리 제공되는 소정의 시간 길이에 기초하여, 다른 STA(또는 서드파티 STA)들의 채널 액세스를 제어/연기(또는 NAV를 설정)하는 방안에 대해서 설명하였다. 본 발명의 추가적인 예시로서, 프레임 포맷의 PLCP 헤더에 포함되는 SIG 필드를 이용하여 서드파티 STA들이 NAV를 설정하는 방안에 대해서 이하에서 설명한다.
전술한 바와 같이, 기존의 동작에 따르면 짧은 프레임(또는 짧은 프레임 헤더를 포함하는 프레임)에 듀레이션 필드 정보가 포함되지 않는 경우에는 서드파티 STA이 채널 액세스를 연기하기 위한 NAV 설정을 할 수 없다. 따라서, 본 발명에서는 짧은 프레임 포맷에서도 항상 포함되는 PLCP 헤더의 PHY SIG 필드의 특정 필드를 이용하여 서드파티 STA의 NAV 설정을 하는 방안을 제안한다.
구체적으로, SIG 필드에 포함되는 ACK 정책(policy) 필드를 이용하여 특정 STA을 위한 데이터 패킷 크기, 또는 특정 STA을 위한 데이터 패킷과 이에 상응하는 ACK 응답 크기, 또는 특정 STA에 의해서 채널이 점유되는 시간/기간 정보를 서드파티 STA이 일정 레벨로 예측/계산할 수 있도록 하면, 상기 서드파티 STA은 NAV 설정 없이도 채널 액세스를 연기하도록 동작할 수도 있다. 아래의 표 2는 PHY SIG 필드에 포함되는 ACK 정책 필드(또는 ACK 지시 필드)를 나타내는 것이며, 이는 단지 예시적인 것이며 다른 분류방식에 따라서 ACK 정책 필드(또는 ACK 지시 필드)가 구성될 수도 있다.
표 2
Ack Indication | 내용 |
00 | ACK |
01 | BLOCK ACK (BA) |
10 | No ACK |
11 | ACK, BA 또는 CTS가 아닌 프레임 (a frame not ACK, BA or CTS) |
만약 ACK 지시 필드가 ‘ACK’을 가리킬 경우, 서드파티 STA은 최대 가용 데이터 패킷(즉, 데이터 패킷 전송에 걸리는 시간) + SIFS + ACK 크기(즉, ACK 프레임 전송에 걸리는 시간) + 기타 전송에 요구되는 시간 만큼 채널 액세스를 연기할 수 있다. 여기서, 상기 기타 전송에 요구되는 시간이란, 예를 들어, 전파 지연(propagation delay), 송신/수신 왕복시간(turnaround time), PHY/MAC 처리 지연 등을 포함할 수 있고, 시스템 상황에 따라서 어떤 요소가 포함될지와 해당 요소의 값이 설정될 수 있다.
만약 ACK 지시 필드가 ‘BA’를 가리킬 경우, 서드파티 STA은 N * 최대 가용 데이터 패킷(즉, 데이터 패킷 전송에 걸리는 시간) + SIFS + BA 크기(즉, BA 프레임 전송에 걸리는 시간) + 기타 전송에 요구되는 시간 만큼 채널 액세스를 연기할 수 있다. 여기서, N은 정수 값을 가지는 변수로서 정의되며, 시스템 환경에 따라서 그 값이 설정될 수 있다.
만약 ACK 지시 필드가 ‘No ACK’을 가리킬 경우, 서드파티 STA은 최대 가용 데이터 패킷(즉, 데이터 패킷 전송에 걸리는 시간) + 기타 전송에 요구되는 시간 만큼 채널 액세스를 연기할 수 있다.
만약 ACK 지시 필드가 ‘a frame not ACK, BA or CTS’을 가리킬 경우, 서드파티 STA은 2 * 최대 가용 데이터 패킷(즉, 데이터 패킷 전송에 걸리는 시간) + SIFS + 기타 전송에 요구되는 시간 만큼 채널 액세스를 연기할 수 있다. 여기서, SIFS 간격으로 계속하여 프레임이 전송될 수 있으므로, 상기 서드파티 STA는 상기 계속하여 전송되는 프레임을 수신하고(또는 듣고) 해당 프레임 내의 듀레이션, 최대 SP 길이, ACK 지시 필드 중의 하나 이상을 이용하여 채널 액세스를 연기하는 시간 길이를 업데이트할 수 있다.
만약 서드파티 STA이 PLCP 헤더를 디코딩하지 못하는 경우(예를 들어, 에러 발생, 채널 상태의 악화 등)에는, 상기 SIG 필드에 포함되는 ACK 지시 비트를 확인할 수 없다. 이 경우에는, 서드파티 STA은 디폴트 값으로서 최대 TXOP 듀레이션(즉, TXOP를 위해서 최대로 설정될 수 있는 시간 구간의 길이)만큼 채널 액세스를 연기하도록 동작할 수 있다.
전술한 본 발명의 예시들에서와 같이, 서드파티 STA들이 소정의 시간 길이만큼 채널 액세스를 연기한 후에, DIFS 만큼 채널 액세스를 더 연기한 후 백오프 카운트를 시작할 수 있다.
도 19는 본 발명의 일례에 따른 STA의 채널 액세스 제어 방법을 설명하기 위한 도면이다.
단계 S1910에서 특정 STA은 다른 STA이 전송하는 짧은 프레임(예를 들어, 짧은 데이터 프레임 또는 짧은 널 프레임)을 검출할 수 있다. 다른 STA의 짧은 프레임을 검출한 상기 특정 STA은 관련 정보를 이용하여 단계 S1920에서 소정의 시간 길이 동안 자신의 채널 액세스를 연기할 수 있다. 여기서, 상기 관련 정보는 상기 짧은 프레임에 포함된 듀레이션 필드의 값일 수도 있고, 최대 SP 길이 필드의 값일 수도 있다. 또는, 네트워크로부터 미리 제공/설정된 소정의 값에 기초하여, 상기 채널 액세스의 연기 동작이 수행될 수도 있다. 또는, PLCP 헤더의 SIG 필드에 포함되는 ACK 지시 필드에 기초하여 상기 소정의 시간 길이를 결정할 수도 있다.
도 19를 참조하여 설명한 본 발명의 채널 액세스 제어 방법에 있어서 전술한 본 발명의 다양한 실시예에서 설명한 사항들은 독립적으로 적용되거나 또는 2 이상의 실시예가 동시에 적용되도록 구현될 수 있다.
도 20는 본 발명의 일 실시예에 따른 무선 장치의 구성을 나타내는 블록도이다.
AP(10)는 프로세서(11), 메모리(12), 송수신기(13)를 포함할 수 있다. STA(20)는 프로세서(21), 메모리(22), 송수신기(23)를 포함할 수 있다. 송수신기(13 및 23)는 무선 신호를 송신/수신할 수 있고, 예를 들어, IEEE 802 시스템에 따른 물리 계층을 구현할 수 있다. 프로세서(11 및 21)는 송수신기(13 및 21)와 연결되어 IEEE 802 시스템에 따른 물리 계층 및/또는 MAC 계층을 구현할 수 있다. 프로세서(11 및 21)는 전술한 본 발명의 다양한 실시예에 따른 동작을 수행하도록 구성될 수 있다. 또한, 전술한 본 발명의 다양한 실시예에 따른 AP 및 STA의 동작을 구현하는 모듈이 메모리(12 및 22)에 저장되고, 프로세서(11 및 21)에 의하여 실행될 수 있다. 메모리(12 및 22)는 프로세서(11 및 21)의 내부에 포함되거나 또는 프로세서(11 및 21)의 외부에 설치되어 프로세서(11 및 21)와 공지의 수단에 의해 연결될 수 있다.
위와 같은 AP 및 STA 장치의 구체적인 구성은, 전술한 본 발명의 다양한 실시예에서 설명한 사항들이 독립적으로 적용되거나 또는 2 이상의 실시예가 동시에 적용되도록 구현될 수 있으며, 중복되는 내용은 명확성을 위하여 설명을 생략한다.
상술한 본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
상술한 바와 같이 개시된 본 발명의 바람직한 실시형태에 대한 상세한 설명은 당업자가 본 발명을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 발명의 바람직한 실시 형태를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다.