1. 서론
통신 기술의 발달과 함께 생활 속의 다양한 분야에서 무선 통신 기술이 활용되고 있다. 특히, Wi-Fi 와 4G-LTE 무선 통신 기술을 이용한 무선 인터넷의 대중화는 유비쿼터스 네트워크를 가능케 하였다[1]. 이러한 유비쿼터스 네트워크의 발전과 더불어 네트워크를 통해 사람과 사물을 잇는 Internet of Things(IoT) 기술이 다양한 분야에서 각광받고 있다. IoT 기술이 산업 전반에 활용되기 시작하면서 무선 통신 기기를 인터넷과 연결하여 실시간으로 정보를 수집하고, 기기를 제어하는 등의 다양한 응용 분야들이 연구되었다. IoT는 인터넷을 통해 모든 통신 기기들이 연결되므로 이종 통신 기술을 사용하는 기기 간에도 정보를 수집 및 통합하여 활용하는 것이 가능하다. 그러나 PHY/MAC 계층이 달라 이종 통신 기술간 직접적인 호환이 불가능하기 때문에 multi-radio gateway를 이용하고 있다. 그러나 gateway를 통한 IoT 구현은 추가적인 비용, 제어를 위한 트래픽 발생, 배치 복잡성 등의 단점을 가진다[2].
무선 통신 표준이 활용되는 주파수 대역은 Indus-trial Scientific and Medical(ISM) 밴드로 2.4GHz, 5GHz 대역을 지칭한다. 무선 통신 수요가 증가함에 따라 ISM 밴드를 이용하는 통신 기기들의 수가 많아지면서 다른 통신 표준 간 같은 주파수 대역에서 간섭을 고려해야 하는 통신 포화구간에 이르렀다[3]. ISM 밴드의 포화로 인해 발생하는 이종 통신 기술간 간섭을 줄이기 위한 연구는 최근에 주목 받기 시작하였으며, 채널 포화의 한계점을 극복하고 이종 통신 기술 간 공존을 위한 기술의 필요성이 대두되었다.
언급된 문제점을 해결하고, 이종 통신 기술 간 정보 공유를 통해 새로운 응용 기술을 창출하기 위한 목적으로 Cross-technology Communication(CTC)에 대한 연구가 시작되었다. CTC란 multi-radio gateway을 거치지 않고, 이종 통신 기술과 직접 정보를 교환하는 기술이다. 이러한 CTC 기술의 활용을 통해 스마트 홈 IoT 서비스를 지원하는 것이 가능하며 기존의 gateway 설치 시 발생하는 단점을 해결한다. 또한, 이종 통신 기술 간 정보 공유를 통해 같은 주파수 대역을 사용하는 이종 통신 기술 간 간섭을 줄이는 방법 등 다양한 분야에서 응용이 가능하다.
무선 통신 기술 Wi-Fi, Bluetooth, ZigBee는 모두 ISM 밴드 2.4GHz 대역에 분포하기 때문에 같은 주파수 대역을 공유하여 사용한다. 같은 주파수 대역을 공유하는 무선 통신 기술은 공기를 매질로 이용하여 신호를 전송하므로 이종 통신 기술 기기 간 복조가 불가능할지라도 신호의 에너지는 검출 가능하다. CTC 기술은 이러한 특성을 활용하며 Wi-Fi, Blue-tooth, ZigBee 간 신호 세기의 특징들을 이용한 정보 교환 방법이 다양하게 제안되었다. 대표적인 연구들에는 FreeBee[2], Esense[4], ToneSense[5] 등이 있다. 이 중 FreeBee는 Wi-Fi에서 일정시간 간격으로 전송되는 Beacon 프레임을 정보 전달에 활용한다. Beacon 신호 세기를 이용하여 ZigBee, Bluetooth에서 Beacon을 검출하고, Beacon Interval을 단위로 샘플링하여 Beacon의 위치를 정보화 하였다. 정보화된 Beacon의 위치를 통해 이동한 위치 변화량을 정보 비트로 활용하는 방법으로 Wi-Fi와 ZigBee, Bluetooth 간 정보를 교환한다. Esense는 신호의 energy burst time을 활용한다. 패킷의 전송 시간 동안 발생하는 신호의 길이를 포착하여 정보 비트로 이용하고, 이러한 특징을 활용하기 위해 Wi-Fi 패킷 크기에 변화를 주어 energy burst time 길이를 달리한 alphabet set을 통해 이종 통신 기술 간 정보를 전달한다. ToneSense는 전송 신호 세기를 다수의 레벨로 나누고, 2개 혹은 4개의 전송 신호 세기 레벨을 비트 신호에 대응시켜 alphabet set을 만든다. 그 후 전송하고자 하는 비트 신호에 맞추어 신호 세기를 변화 시킨 패킷을 전송함으로써 Wi-Fi와 ZigBee간 정보를 교환한다.
그러나 기존 CTC 기술은 RSSI 검출 시 기존 패킷과 CTC 패킷의 구분이 어려워 신뢰성이 저하되는 단점과 IEEE 802.15.4 기기의 duty cycle을 고려하지 않아 에너지 소모가 크다는 단점 그리고 낮은 처리량 때문에 장시간 데이터를 전송해야 한다는 단점이 존재한다. 또한, 실제 기술 적용 시 사전 조사가 필요한 경우 등의 어려움이 존재한다.
본 논문은 이러한 단점을 보완한 새로운 방식의 CleBur Sense(CB-sense)를 제안한다. CB-sense는 IEEE 802.11 표준이 데이터 전송 시간외의 대부분의 시간을 유휴시간으로 보낸다는 사실에 착안하여 Carrier Sense Multiple Access/Collision Avoidance (CSMA/CA) 매커니즘에서 사용되는 Clear to Send(CTS) 패킷의 전송을 통해 유휴 채널을 확보하여 정보를 전송하는 통신 프로토콜을 제안한다 [6, 7, 11]. 이러한 방식은 간섭 신호의 전송을 막으므로 간섭 신호를 최소화하는 장점과 확보된 채널 시간동안 패킷을 직접 생성하여 정보 비트를 전송함으로써 높은 처리량을 가진다. 또한, CB-sense는 기존에 제안된 CTC 방식이 IEEE 802.15.4 기기의 duty cycle을 고려하지 않아 발생하는 에너지 소모를 줄이고 낮은 duty cycle을 유지하기 위해 CTC 구간을 형성한다. 이 때, CTC 구간임을 알리기 위해서 IEEE 802.11 Beacon 신호에 전송 신호 세기를 이용한 패턴을 만들어 이용한다. 이러한 신호 패턴을 인식한 IEEE 802.15.4 기기는 CTC 구간 동안 깨어나 RSSI 신호를 샘플링함으로써 에너지 소모를 크게 줄인다.
본 논문의 구성은 다음과 같다. 2장에서는 관련 연구인 FreeBee, Esense와 ToneSense 기술을 소개한다. 3장에서는 CB-sense(Clebur sense)의 기반 기술인 IEEE 802.11 CTS 패킷을 소개하고, CB-sense 를 제안한다. 그 후 정량적 분석을 통해 기술의 유효성에 대해 검증한다. 4장에서는 먼저 실험 환경에 대해 소개하고, 다양한 상황에서 CB-sense의 성능을 전송 신뢰성과 처리량을 중점으로 실험을 통해 분석한다. 5장에서는 결론을 통해 논문의 끝을 맺는다.
2. 관련 연구
TC 연구에 대한 필요성이 대두되면서 다양한 방식을 활용한 기술이 제안되었다. 이 절에서는 신호 세기를 활용한 대표적인 세 가지 기술 FreeBee, Esense, ToneSense에 대해 소개한다.
2.1 FreeBee [2]
FreeBee는 Wi-Fi에서 일정시간 간격으로 전송되는 Beacon 프레임을 활용하여 추가적인 트래픽 발생 없이 이종 통신 기술 간 정보를 전송한다. ZigBee, Bluetooth 기기들이 Wi-Fi 신호의 에너지를 수신할 수 있으므로 Received Signal Strength Indication (RSSI)를 통해 Beacon을 검출한다. 이종의 통신 기술을 이용하는 기기들이 Beacon Interval 동안 주기적으로 RSSI를 샘플링할 경우 Beacon의 위치를 검출할 수 있다. FreeBee에서는 Beacon Interval을 일정 간격으로 나누어 위치를 나타내는 단위로써 이용하고 검출된 Beacon의 위치를 통해 정보를 전송한다. 그러므로 Beacon Interval을 나누는 기준 간격에 따라 Beacon 하나 당 보낼 수 있는 정보량이 변한다. Beacon Interval T와 Beacon interval을 나누는 기준 간격의 길이 Δ를 고려할 때 Beacon 하나 당 보낼 수 있는 정보량을 식으로 표현하면 식 (1)로서 표현할 수 있다.
\(B_{\max }=\log _{2} \frac{T}{\Delta}\) (1)
그러나 이 같은 방식은 주변의 잡음이 존재하는 경우 Beacon의 위치를 특정하기 어렵다. 그러므로 Beacon Interval 구간을 여러 번 반복하여 얻은 RSSI 샘플링 값을 통해 Beacon을 검출함으로써 Beacon 위치 정보의 정확성을 높인다. FreeBee에서는 두 가지 방식의 Basic FreeBee와 A-FreeBee를 제안한다. Basic FreeBee는 Fig. 1과 같이 Beacon의 기준 위치 대비 변화량 Δ를 정보로 이용한다. 반면, A-FreeBee 는 Fig. 2와 같이 샘플링 시간을 2T로 두 배 늘이는 대신 두 개의 Beacon을 검출하여 Beacon간 상대적인 위치 차이를 통해 정보를 전달하는 방식이다. 이러한 경우 샘플링 시간이 두 배로 늘어나므로 Basic FreeBee 방식에 비해 전달 가능한 비트가 절반으로 줄게 되지만 상대적인 위치 차이를 통해 정보를 전달하므로 주기적인 시각 동기화 과정이 필요 없다는 장점이 있다.
Fig. 1. A Basic Structure of FreeBee.
Fig. 2. A Basic Structure of A(Asynchronous)-FreeBee.
FreeBee 방식의 전송량은 Beacon Interval T, Beacon Interval 구간을 여러 번 반복하여 샘플링 하는 횟수 ρ 두 가지 요소에 의해 좌우된다. 먼저 T 값은 심볼 당 전송할 수 있는 비트 수와 비례한다. ρ는 Beacon을 검출하기 위해 T 시간만큼 반복한 횟수를 의미한다. ρ의 증가는 Beacon 신호 검출의 정확성이 증가하므로 잡음에 강해지고 신뢰성은 증가하지만 심볼 당 전송할 수 있는 비트 수가 감소하게 된다. 심볼 당 bit rate를 식으로 표현하면 식 (2)와 같이 나타낼 수 있다.
\(R=\frac{\log _{2} \frac{T}{\Delta}}{T \times \rho}(\text { Bit per Symbol })\) (2)
FreeBee는 추가적인 트래픽 생성 없이 주기적으로 전송되는 Beacon 프레임을 활용하며 정보 비트를 전송한다는 장점이 있다. 하지만 낮은 처리량 값을 가지며 잡음이 강한 환경에서 샘플링 시 반복 횟수를 늘리므로 처리량 값이 더욱 낮아지는 단점이 있다. 또한, 효율적인 정보 전송을 위해 IEEE 802.11 Beacon의 전송 간격 변경이 필요하다.
2.2 Esense [4]
CTC에 이용되는 특성은 RSSI, energy burst time, inter energy burst gap 등이 있다. Esense는 energy burst time을 통해 정보를 교환하며, energy burst time은 Wi-Fi 패킷의 전송 시 신호의 세기가 유지되는 구간을 말한다. 이 때, ZigBee는 energy burst time을 RSSI 샘플링을 통해 측정한다. IEEE 802.11에서 고정된 Data rate를 통해 특정 크기의 패킷을 전송할 경우 ZigBee는 일정 길이 값의 energy burst time을 측정하게 된다. Esense는 이 같은 특성을 이용해 패킷의 크기에 따른 energy burst time의 길이 값에 정보를 싣는다. 길이 값을 조절한 패킷들의 집합을 alphabet set이라 하며, alphabet set의 전송을 통해 이종 통신 기술 간 정보를 교환한다.
이러한 Esense 방식은 두 가지 문제가 존재하는데, 먼저 기존의 IEEE 802.11 패킷과 Esense 패킷의 구분이 어렵다는 단점이 있다. 이 같은 문제를 해결 하기 위해서는 Fig. 3과 같이 실제 장소에서 Wi-Fi 패킷의 측정이 필요하다. 이 때, y축은 log 스케일로 패킷 크기에 따른 발생 빈도를 나타낸다. 각 장소에서 패킷 크기에 따른 발생 빈도를 기반으로 thresh-old percentage를 정하고, 발생 빈도가 threshold percentage 이하의 패킷 크기에 alphabet set을 대응 시켜 전송함으로써 기존 패킷과 구분한다. threshold percentage의 값을 크게 할수록 다수의 CTC 데이터 전송을 통해 처리량을 높일 수 있으나 그만큼 Symbol Error Rate(SER)이 증가되는 Trade-off가 존재한다.
Fig. 3. A Packet Size Distribution in Cafeteria [4].
두 번째 문제는 IEEE 802.15.4 하드웨어의 한계이다. IEEE 802.15.4 하드웨어의 RSSI 샘플링 시 발생하는 오차로 인해 energy burst time의 길이 값이 더해지거나 손실되는 경우 등이 발생한다. Fig. 4와 같이 주로 네 가지 경우에 오차가 발생할 수 있는데 패킷이 간격 사이에 위치하는 경우, 실제 보다 길이 값이 작게 측정되는 경우, 패킷이 합쳐져 측정되는 경우, 실제 보다 길이 값이 크게 측정되는 경우 등이 있다.
Fig. 4. Timing Error of IEEE 802.15.4 Hardware.
Esense는 잡음이 없는 경우 높은 처리량을 가진다. 그러나 2.4 Ghz 대역은 현재 포화상태라고 할 만큼 많은 무선 통신기술이 사용되는 상황이므로 패킷의 구분을 위해 장소마다 패킷 크기에 따른 발생 빈도를 조사하여 적용하는 것은 불가능하다. 또한, 장소마다 발생 빈도 값에 기반하여 alphabet set을 적용해야 하므로 범용성이 떨어진다.
2.3 ToneSense [5]
ToneSense는 전송 신호 세기를 17개의 레벨로 나누고, 2개 혹은 4개의 전송 신호 세기 레벨에 정보 신호를 대응시켜 alphabet set을 만듦으로써 Wi-Fi 와 ZigBee 간 정보를 교환한다. 먼저 Wi-Fi가 전송하고자 하는 정보 비트에 맞추어 전송 신호 세기 레벨을 변경하여 기존의 패킷을 전송한다. 이 때, ZigBee는 나타나는 수신 신호 세기 값을 다시 정보 비트로서 복조한다. alphabet set의 구성은 1bit와 2bit를 표현하는 두 가지 방식을 이용한다. 예를 들어 ‘10’의 정보 비트를 1bit 방식의 alphabet set을 이용하여 전송할 경우, 먼저 비트 ‘1’을 나타내는 전송 신호 세기로 바꾸어 패킷을 전송한다. 그 후 다시 비트 ‘0’을 나타내는 전송 신호 세기로 패킷을 전송하여 정보를 전달한다. 이 때, 전송 신호 세기 간 차이가 커질수록 RSSI 값의 차이가 커지므로 구분이 용이해지는 장점이 있다. 이러한 장점을 활용하여 alphabet set의 전송 신호 세기 차이를 크게 하여 대응시킴으로써 전송 신뢰성을 확보한다.
3. CB-Sense
기존 CTC는 RSSI 검출 시 기존 패킷과 CTC 패킷의 구분이 어려워 신뢰성이 저하되는 단점과 IEEE 802.15.4 기기의 duty cycle을 고려하지 않아 에너지 소모가 크다는 단점 그리고 낮은 처리량 때문에 장시간 데이터를 전송해야 한다는 단점이 존재한다. 또한, 실제 기술 적용 시 사전 조사가 필요한 경우 등 활용에 어려움이 존재한다. 본 장에서는 이러한 단점을 보완한 새로운 방식의 CleBur Sense(CB-sense) 를 제안한다. CB-sense는 CTC를 위한 구간을 만들고, IEEE 802.11에서 전송하고자 하는 정보 비트를 일정 크기의 CTC 블록으로 구성된 CTS 데이터 맵에 대응시켜 CTS 패킷을 생성한 후 전송한다. IEEE 802.15.4는 CTC 구간을 인식하면 RSSI 값의 샘플링을 통해 energy burst time을 검출하여 정보 비트로 복조함으로써 이종 통신 기술 간 정보를 전달한다.
3.1 IEEE 802.11 RTS/CTS
IEEE 802.11 표준의 제어프레임 중 Request To Send(RTS)/Clear to Send(CTS)는 CSMA/CA를 위해 사용되며 CSMA/CA는 데이터링크 계층에서 추가적으로 선택하여 사용할 수 있는 매커니즘이다. 이러한 매커니즘은 은닉 노드 문제에 의한 충돌을 방지 하기 위하여 사용된다. RTS 프레임은 송신측에서 데이터 전송을 위해 medium을 예약하는 것에 이용 되며 헤더 부분만 존재한다. RTS의 전송 범위에 속한 노드들이 RTS 프레임을 받게 되면 Fig. 5의 duration 필드 시간 동안 데이터 전송을 하지 않고 기다린다. 이 때, CTS 프레임은 수신측에서 RTS 프레임에 대한 응답으로 전송을 허용하는 역할을 수행한다.
Fig. 5. RTS/CTS Frame.
CTS 프레임은 RTS 프레임과 같이 전송범위에 있는 노드들이 duration 필드의 시간동안 전송하지 않도록 한다. 실제 노드들은 프레임의 수신 후 채널의 점유 시간이 들어있는 duration 필드 값에 따라 Network Allocation Vector(NAV)라는 타이머를 설정하고 타이머가 0이 될 때까지 전송을 연기하게 된다. Fig. 6은 RTS/CTS가 활용된 데이터 교환 과정을 나타낸다.
Fig. 6. An Example of RTS/CTS Mechanism.
Table 1과 같이 CTS 헤더 필드의 duration은 16 bit 길이이며 값을 0~32767 사이의 숫자로 조절 가능 하다. 이 때, 단위는 microsecond이고 최댓값인 32767을 넣을 경우 32 ms의 시간 동안 채널을 점유하여 사용한다. RTS/CTS가 선택적 매커니즘인 이유는 임계값이 정해져 있기 때문이다. 임계값보다 큰 크기의 프레임 전송에 대하여 RTS/CTS 매커니즘을 이용하여 전송하게 되며 일반적으로 임계값은 2347 Byte로 설정된다.
Table 1. Duration/ID Field of IEEE 802.11 Control Frame [6]
3.2 제안하는 프로토콜
이종 통신 기술 간 multi-radio gateway 없이 직접 데이터를 전송하여 기존 gateway 설치 방식의 문제점을 해결하고, 기존 통신 기술의 한계를 넘는 다양한 응용 창출을 위한 CTC 기술 CB-sense를 제안한다. 본 절은 제안하는 CB-sense를 CTC 구간 형성 부분, 정보 비트를 CTC 데이터에 대응시켜 생성된 CTS 패킷을 전송하는 IEEE 802.11 부분, 전송되는 패킷의 RSSI를 샘플링하고 energy burst time을 검출하여 정보 비트로써 복조하는 IEEE 802.15.4 부분으로 나누어 자세히 기술한다.
3.2.1 Wi-Fi와 ZigBee의 채널 분포
Wi-Fi는 2.4Ghz 대역에 22Mhz의 대역폭으로 13개의 채널이 존재한다. ZigBee 또한 2.4Ghz 대역에 2Mhz의 대역폭으로 16개의 채널이 존재한다. Fig. 7은 2.4Ghz 대역에서 Wi-Fi와 ZigBee 채널의 분포를 보여준다. Fig. 7과 같이 Wi-Fi와 ZigBee가 공존 하는 주파수 대역은 데이터 전송 시 서로의 신호를 모두 수신한다[8]. 이 같은 특성을 이용하는 기술인CTC는 동일 주파수 대역을 사용하도록 채널을 설정 하는 것이 선행되어야 한다.
Fig. 7. Wi-Fi and ZigBee Channels.
3.2.2 CB-sense의 구조
CB-sense는 기존 IEEE 802.11 채널이 대부분 유휴시간인 점을 활용하여 Beacon Interval 동안 CTS 패킷의 전송을 통해 이종 통신 기술 간 정보를 교환한다[7]. 먼저 CTC 구간임을 나타내는 Beacon 패턴을 전송한다. 그 후 Fig. 8과 같이 IEEE 802.11 기기에서 byte 크기와 헤더의 duration 필드 값을 변경한 CTS 패킷을 전송하게 된다. 이 때, IEEE 802.15.4 기기는 CTS 패킷의 전송 전 Beacon 패턴을 통해 CTC 를 위한 구간임을 인식한다. 이후 전송 시간 동안 일정 간격으로 RSSI 값을 샘플링 하여 전송된 패킷의 energy burst time을 판단한다. 이러한 energy burst time을 바탕으로 각각의 정보비트 값을 복조한다.
Fig. 8. An Example of CB-Sense.
(1) CTC를 위한 구간 형성
기존 CTC 기술이 가지고 있던 단점인 IEEE 802.15.4 기기가 지속적으로 깨어있어야 한다는 문제를 해결하기 위하여 CTC 전송을 위한 CTC 구간을 형성한다. CB-sense는 CTC 구간 동안만 IEEE 802.15.4 기기가 깨어나 RSSI 샘플링을 수행하여 이종 통신 기술 간 정보를 전송 받으므로 에너지 소모를 줄이고, 낮은 duty cycle을 유지한다.
Fig. 9는 CTC 구간 형성 예시이며 CTC 구간의 형성을 위해 IEEE 802.11 기기의 Beacon 신호 전송을 이용한다. IEEE 802.11 기기에서 Beacon의 전송 신호 세기를 조절하여 전송할 경우 IEEE 802.15.4 기기에서 검출되는 RSSI 값의 차이가 발생하며 이러한 RSSI 신호 차이를 통해 패턴을 나타낸다. 먼저 Fig. 9의 IEEE 802.11 기기는 20dBm의 전송 신호 세기로 Beacon을 전송한다. 이 때, IEEE 802.15.4는 주기적인 Beacon의 전송 시간을 알고 있으며 Beacon의 전송 시간 마다 깨어나서 RSSI 샘플링을 수행한다. CTC 구간임을 IEEE 802.15.4 모듈에게 알리기 위해 IEEE 802.11 기기는 6dBm의 전송 신호 세기로 변경한 Beacon을 두 번 전송한다. 주기적으로 깨어나 RSSI 샘플링을 진행하고 있던 IEEE 802.15.4 모듈은 변경된 Beacon의 에너지 신호를 통해 CTC 구간을 알리기 위한 패턴임을 인식한다. IEEE 802.15.4 모듈은 두 번의 6dBm Beacon 에너지 신호를 검출한 후 다시 20dBm의 신호 세기로 전송된 Beacon 에너지 신호를 검출할 경우 CTC 전송을 위한 구간임을 인식한다. 그러므로 Beacon을 전송 받은 후에도 깨어 있는 상태를 유지하며 깨어있는 CTC 구간 동안 CTS 패킷의 에너지 신호를 지속적으로 검출하여 정보 비트로써 복조한다. Fig. 9와 같은 예의 CTC 인식 패턴은 다양하게 변화 가능하며, 여러 가지 환경에서 적용이 가능하다. 이러한 CTC 구간의 형성을 통해 IEEE 802.15.4 기기는 RSSI 샘플링을 필요한 경우에만 수행하게 되므로 불필요한 에너지 소모를 줄이고, 낮은 duty cycle을 유지한다.
Fig. 9. An Example of CTC Operation.
(2) IEEE 802.11 CTS 패킷 기반의 CTC 데이터 구성
CB-sense에서는 정보 전달의 매개로 일정 크기의 CTS 패킷을 이용한다. CTS 패킷은 헤더의 duration 필드 값 동안 전송 범위의 다른 IEEE 802.11 노드들의 전송을 지연시킨다. 그러므로 CTS 패킷을 이용할 경우 다른 노드의 간섭을 막아 전송 신뢰성을 확보할 수 있다. 또한, 전송 범위에 새롭게 포함되는 노드들의 전송을 지속적으로 막아 안정적 채널의 확보가 가능하다. 본 논문에서는 Table 2와 같이 25 byte와 50 byte 단위로 차등을 준 CTC 데이터를 제작하여 전송한다. 25Byte, 50Byte의 차이를 둘 경우 CTS 패킷의 energy burst time의 길이 변화가 나타난다. 이에 따른 처리량과 전송 신뢰성의 차이를 4장에서 확인한다.
Table 2. A Structure of CTC Data
예를 들어, IEEE 802.11 기기에서 Table 2의 2bit 표현 방식과 25byte를 CTC 블록 크기로 하는 CTC 데이터를 가정할 경우 정보 비트 ‘10101100’의 CTS 패킷 생성 및 전송은 다음과 같다. CTC 데이터에 대응시켜 생성된 CTS 패킷은 각각 75 Byte(10), 75 Byte(10), 100 Byte(11), 25 Byte(00)이며 IEEE 802.11 기기는 생성된 CTS 패킷을 순차적으로 전송한다. CTS 패킷은 전송 시 1ms 간격을 두게 되는데 패킷이 겹쳐져 샘플링 되는 경우를 방지하고 신뢰성을 높이기 위한 가드타임이다. 또한, 전송되는 CTS 패킷의 Data rate는 1Mbps이다[9]. CTC를 위한 CTS 패킷의 duration 값은 전송 시작 지점에서 최댓값 32767이 입력된 패킷을 전송하여 장시간 안정적으로 채널을 확보한다. 그러나 전송이 마무리 된 후의 채널 점유시간을 최소화하기 위하여 마지막 CTS 패킷의 duration 값은 0으로 입력하여 전송한다.
(3) IEEE 802.15.4 RSSI 샘플링
IEEE 802.15.4 기기는 energy detection 함수를 정의하고 있으며 CC2650의 IEEE 802.15.4 RSSI 샘플링 측정 간격은 약 31 μs이다. IEEE 802.15.4 모듈은 RSSI 샘플링을 통해 전송된 CTS 패킷의 energy burst time을 측정하고 복조를 진행한다. CB-sense 는 하드웨어에서 발생하는 오차를 극복하기 위하여 샘플링된 시간 이외에 추가적인 시간을 가드타임으로 지정한다. 예를 들어, 특정 임계값 이상의 RSSI 값 검출 시 IEEE 802.15.4는 energy burst time의 구간임을 인식하는데 RSSI 샘플링 측정 간격 안에서 전송이 시작될 경우 energy burst time 측정 오차가 발생한다. Fig. 10은 실제 CTS 패킷을 25, 50, 75 Byte 크기로 전송하였을 때 1 m 거리에서 RSSI가 임계값 이상일 경우의 energy burst time 검출과정을 나타낸 그래프이다. RSSI 임계값을 유효 데이터 기준선으로 표시하였으며, byte 크기에 따라 검출되는 시간의 길이가 달라지는 것을 확인할 수 있다.
Fig. 10. An Example of RSSI Sampling Results in CC2650.
Fig. 11은 전송 지점의 거리 변화에 따른 RSSI 스펙트럼과 유효 데이터 기준선을 나타낸다. 추가적으로 유효 기준선을 적용하여 RSSI 값을 필터링 할 경우 간섭 신호와 CTC 데이터 간 RSSI 값 차이가 발생 하기 때문에 더욱 정확한 energy burst time의 검출이 가능하다. 이 때, RSSI 값은 거리에 따라 검출되는 값이 작아지므로 RSSI 스펙트럼을 분석하여 유효 데이터 기준선을 변경해야 한다. 유효 데이터 기준선을 높게 잡을 경우 신호를 인식하지 못하는 상황이 발생하며, 유효 데이터 기준선이 낮을 경우 간섭 인식에 의한 오차 발생 확률이 증가하므로 거리에 따른 최적 유효 기준선을 잡는 것이 중요하다. 이러한 과정을 거쳐 얻은 값들은 byte 단위에 따라 energy burst time의 차등이 나타나며 검출된 길이에 따라 정보 비트로서 복조된다. 앞서 소개한 전송 예시를 복조하게 될 경우 75, 75, 100, 25 Byte는 각각 600, 600, 800, 200 μs 구간으로 검출되며 이러한 energy burst time 값은 다시 정보비트 ‘10101100’으로 복조된다.
Fig. 11. RSSI According to Distance of Devices.
3.3 처리량 분석
본 절은 정량적인 분석을 통해 CB-sense의 유효성을 검증한다. 또한, 기존 기술과 CB-sense의 성능을 비교한다. 본 항에서는 CTC 데이터의 표현 비트 수와 CTC 블록 크기 변화에 따른 CB-sense의 처리량을 정량적으로 분석한다. 평균적인 처리량 값을 구하기 위하여 각 정보 비트의 발생 확률은 동일하다고 가정한다. 또한, 각 정보 비트가 모두 차례대로 지속적으로 전송된 경우를 평균값으로 표현한다.
\(\frac{T \bullet B \cdot N}{\left(N \times T+\left(\sum_{i=1}^{N} 8 U i\right)\right)}(\text { bit } / T)\) (3)
식(3)은 CB-sense의 한 Beacon Interval 당 평균적인 처리량을 나타낸다. T는 Beacon Interval의 길이, B는 CTS 패킷 전송 시 표현되는 비트 수, N은 CTC 데이터의 개수, Ti는 CTS 패킷의 전송 간격, U는 CTC 데이터를 구성하는 CTC 블록의 크기를 나타낸다. 한번의 CTS 패킷 전송 시 표현되는 비트 수가 2Bit이면서 CTC 데이터를 구성하는 블록 크기가 25Byte일 경우 평균적인 처리량은 1365.3bps(Bit per second)이다. Table 3은 CTC 데이터에 따른 CB-sense의 처리량을 나타낸다.
Table 3. CB-sense Throughput According to CTC Data Size
본 항에서는 기존 CTC인 FreeBee와 CB-sense의 성능을 비교해본다. FreeBee는 Beacon의 위치를 정보 비트로써 표현하여 Beacon Interval 당 정보 비트를 전송한다. 본 논문에서 제안하는 CB-sense 또한 유휴 채널의 Beacon Interval 동안 정보 비트를 전송한다는 점에서 FreeBee와 성능을 비교해본다. Free Bee의 처리량은 식 (2)를 통해 구할 수 있다. 이 때, A-FreeBee의 경우 두 배의 샘플링 시간을 요구하므로 T 대신 2T의 값을 대입해야 한다. IEEE 802.11의 표준에 따라 Beacon Interval T를 102.4ms로 설정하고, ∆를 1.024ms로 두었을 때 한 Beacon Interval 당 보낼 수 있는 정보비트의 양은 식 (1)에 따라 6.64 Bit이다. (A-FreeBee의 경우 3.32 Bit)
FreeBee에서 소개하고 있는 식 (2)는 Bit per symbol의 양으로써 표현되는데, 이 때 Bit per symbol의 의미는 한 번의 정보 비트 전송에 필요한 총 시간 T×ρ 동안 전송된 정보 비트의 양을 말한다. (AFreeBee 경우 2T×ρ) 여기서 ρ는 정보 비트를 얻기 위해 구간을 반복해서 샘플링 하는 횟수이다.
잡음에 의해 Beacon의 검출이 어려울 경우 구간을 반복해서 샘플링 함으로써 Beacon의 정확한 위치를 얻는다. 하지만 ρ가 커질 경우 시간 당 처리량이 크게 저하된다. ρ=1 일 경우, FreeBee 처리량을 bit per second를 기준으로 구하면 66.4bps의 값을 얻는다. (A-FreeBee 경우 33.2bps) ρ=1의 의미는 하나의 Beacon Interval 후에 Beacon의 위치 변화를 검출한 것으로 최상의 시나리오를 의미한다. 잡음을 고려하여 ρ의 값을 증가시킬 경우 Fig. 12와 같은 형태의 그래프가 나타난다. 그래프는 ρ의 값이 증가함에 따라 시간 당 처리량 값이 급격하게 감소하는 것을 보인다. 이러한 자료를 바탕으로 CB-sense와 FreeBee의 성능을 bit per second를 기준으로 비교한 그래프가 Fig. 12이다.
Fig. 12. Bit Rate of FreeBee According to the number of Repetition.
Fig. 13에서는 FreeBee의 ρ을 1로써 잡음이 없는 이상적인 환경을 가정한다. 그래프의 x축 값은 A-FreeBee, FreeBee, CB-sense를 나타내며, CB-sense의 경우 대응시킨 CTC 데이터의 표현 비트 수와 CTC 블록 크기를 순서대로 표시하였다. 그래프는 FreeBee와 CB-sense의 시간 당 처리량 차이가 20배 이상 나타남을 보인다. AFreeBee의 경우 2T의 시간을 요구하기 때문에 최대 40배가량 차이가 발생한다. 또한, FreeBee의 경우 주위 간섭을 고려하여 ρ의 횟수를 늘린다면 CB-sense와 처리량에서 더욱 큰 차이가 발생한다. CB-sense는 CTS 패킷을 전달 매개로 사용하여 다른 노드들의 전송을 방지하므로 주위 간섭의 영향을 최소화 하고 성능을 유지한다.
Fig. 13. Bit Rate Comparison of FreeBee and CB-sense.
4. 성능 평가
본 장에서는 제안하는 기술인 CB-sense를 실제 환경에서 구현하여 성능을 분석한다. 4.1은 실험 환경에 대해 자세히 서술한다. 4.2는 처리량을 통해 성능을 분석하고 전송할 수 있는 최대 처리량과 최소 처리량을 구한다. 4.3에서는 다양한 상황에서 제안하는 기술의 전송 신뢰성을 분석한다.
4.1 실험 환경
본 절에서는 실제 CB-sense가 구현된 실험 환경과 장치에 대해 자세하게 기술한다. Vmware를 통해 구현된 Ubuntu 14.04 리눅스 환경 하에서 Scapy 툴[10]을 이용하여 CTS 패킷을 전송하였다. 기존 Scapy 툴을 활용할 경우 패킷 전송 시 지연 시간이 크게 발생하므로 통신 소켓을 구성한 후 소켓을 재사용하는 방식으로 지연 시간을 최소화하여 전송한다. Fig. 14(a)와 같이 IEEE 802.11 어댑터는 Tp-link사의 TL-WN722N을 사용하였으며 Tx power를 20 dBm으로 설정한 후 11번 채널을 이용하였다. 또한, Scapy 툴의 사용을 위해 모니터 모드 설정 후 1Mbps 의 data rate로 패킷을 전송하였다. Fig. 14(b)와 같이 Texas Instruments사의 CC2650 Sensortag 장치를 이용하여 신호를 수신한다. IEEE 802.11 11번 채널의 전송 신호를 받기 위하여 겹치는 채널인 IEEE 802.15.425번 채널을 사용하였다. IEEE 802.15.4의 RSSI 샘플링 시간은 평균 31 μs 간격으로 진행하였다. 실험은 충북대학교 학연산 공동교육관 405호에서 진행했다. IEEE 802.11 어댑터와 CC2650 사이의 장애물이 없는 Line Of Sight(LOS)로 통신 환경을 구성하여 실험했다. 정확한 실험 결과를 위해 주변에서 사용하지 않는 WiFi 채널을 선택하여 간섭에 의한 영향을 최소화 했다.
Fig. 14. Devices for Experimental Evaluation.
4.2 처리량 평가
본 절에서는 실제 환경에서 구현된 FreeBee와 CBsense의 처리량을 비교한다. 또한, CB-sense의 CTC 블록 크기와 표현 bit 수 변화에 따른 처리량을 분석한다. 이후 각 CB-sense에서 얻어진 처리량의 최댓 값과 최솟값 분석을 통해 최적의 성능을 발휘하기 위한 방안을 제시한다. CB-sense를 2bit와 3bit를 표현하는 방식과 CTC 블록 크기 값이 25, 50byte일 경우의 CTC 데이터를 구성하여 처리량을 실험하였다. FreeBee의 경우 간섭이 존재하지 않는 환경을 가정하였으며 CB-sense는 대응시킨 CTC 데이터의 표현 비트 수와 CTC 블록 크기를 순서대로 표시한다. 처리량은 동일 발생 확률로 CTC 데이터를 전송할 경우 얻어진 값을 나타낸다. Fig. 15는 FreeBee와 CB-sense의 처리량을 비교한 그래프이다. 그래프에서 FreeBee와 CB-sense는 시간 당 처리량 차이가 20배 이상 나타나며, A-FreeBee와는 40배 이상의 차이를 보인다. CB-sense는 CTC 블록 크기가 25Byte 일 경우 50 Byte 대비 30% 이상의 bit rate 값을 가진다. 이것은 정해진 구간 동안 시간 당 보내는 Byte의 양이 감소하므로 전송할 수 있는 기회가 늘어나기 때문이다. 또한, 3bit를 표현하는 방식의 CTC 데이터를 보내는 경우 한 번에 보낼 수 있는 정보 비트의 숫자가 증가하므로 처리량이 증가한다. 그래프에서 처리량이 2bit와 3bit 간 극적인 차이가 나지 않는 것은 3bit를 표현하기 위한 CTC 데이터의 종류가 많아 지고, 정보 비트를 표현하기 위한 CTS 패킷의 크기가 커지기 때문이다. 특정 비트 값이 다른 비트 값에 비해 자주 전송되는 상황에서 가장 작은 CTS 패킷에 특정 비트 값을 부여할 경우 전송 기회가 증가하며 평균적인 처리량보다 높은 처리량을 얻을 수 있다. 이러한 점을 활용하기 위해 CB-sense가 가질 수 있는 최대 전송량과 최소 전송량을 실제 실험을 통해 검증한다.
Fig. 15. Bit Rate Comparison of FreeBee and CB-sense.
Fig. 16은 4가지 경우에 CB-sense가 얻을 수 있는 최대 전송량과 최소 전송량의 그래프이다. 최대 전송량을 얻을 수 있는 경우는 가장 작은 단위의 패킷만 전송될 때이며, 최소 전송량을 얻는 경우는 가장 큰 크기의 패킷만 전송될 경우이다. Fig. 16을 보면 표현 bit의 값이 2와 3일 때 최댓값과 최솟값의 차이가 크게 나타난다. 3bit와 2bit의 CTC 블록 크기는 동일하지만 표현 bit의 수가 훨씬 크므로 이러한 결과 값을 얻는다. 2bit 방식의 경우 평균적인 전송 Byte값과 최대 byte값의 차이가 크지 않아 최댓값과 최솟값의 폭이 작다. 또한, CTC 블록 크기가 클수록 평균적인 전송 값과 최솟값의 차이가 크게 벌어지는 데 평균 전송 byte와 차이가 크게 벌어지기 때문이다. 50byte 의 경우 50% 가까이 전송량이 떨어지는 결과를 나타낸다. 그래프에서 가장 큰 값을 나타내는 것은 3bit를 25byte CTC 블록 크기로 표현할 경우로 3개 비트 값을 25byte라는 가장 짧은 길이로 표현하기 때문이다. 이러한 결과들을 통해 3bit 25byte의 값에 가장 많이 전송되는 정보 비트 값을 대응시킨다면 가장 좋은 성능의 처리량을 얻는다.
Fig. 16. The Maximum and Minimum Bit Rate of CBsense.
4.3 전송 신뢰성 평가
본 절에서는 실제 환경에서 구현된 CB-sense의 거리에 따른 전송 신뢰성을 SER을 통해 평가한다. 또한, 주변 간섭이 증가하는 상황을 가정하여 전송 범위 내 지역에 AP 개수를 변화시켰을 때의 전송 신뢰성을 평가한다. RSSI 신호의 경우 거리가 멀어 질수록 신호 세기가 감소하므로 그에 맞춰 유효 데이터 기준선을 변경해야 한다. 이 때, 거리가 멀어지면서 주위 간섭 신호와 CB-sense 신호의 세기 차이가 줄어들게 된다. 그러므로 IEEE 802.15.4 장치가 간섭 신호를 인식하는 경우가 발생하며 오차 발생확률을 높이는 원인이 된다. 또한, CTS 패킷 전송 범위 밖 노드의 전송이 IEEE 802.15.4 장치에 전해져 은닉 노드 문제로 인한 오차도 발생할 수 있다.
Fig. 17은 거리에 따른 전송 신뢰성을 나타낸 그래프이다. 거리에 변화를 주며 1000개의 CTC 데이터를 보냈을 경우의 전송 신뢰성 결과를 SER로 나타내었다. 그래프를 통해 거리가 멀어질수록 전송 신뢰성은 저하되지만 SER이 5% 이하의 값을 유지하는 것을 볼 수 있다. 이 같은 신뢰성 저하는 위에 언급한 원인들로 인해 발생한 오차와 IEEE 802.15.4 장치의 RSSI 샘플링 오차로 인한 것이다. 또한, CTC 블록 크기 값이 25byte와 50byte일 때 전송 신뢰성의 차이가 발생하는데 이러한 이유는 CTC 블록 크기 값이 커질 경우 표현하는 CTC 데이터의 검출 간격이 늘어나기 때문이다. 이렇게 검출 간격이 커질 경우 복조 시 허용 오차범위 시간의 길이를 길게 하여 발생하는 오차를 줄일 수 있다. 그러므로 전송 거리가 멀어질수록 CTC 블록 크기를 크게 설정하여 전송 신뢰성을 높일 수 있다.
Fig. 17. Symbol Error Rate According to Distance.
CB-sense는 CTS 패킷을 이용하여 데이터를 전송한다. 이 때, CTS 패킷을 받은 주위 노드들은 헤더의 duration 필드 값 동안 전송하지 않으므로 CB-sense는 간섭에 강한 특성을 갖는다. 이러한 특성을 검증하기 위하여 전송 범위 내에 AP 개수를 늘리면서 전송 신뢰성을 평가하였다. Fig. 18은 AP 개수의 변화에 따른 전송 신뢰성을 SER로 나타낸 그래프이다. AP 개수에 변화를 주며 1000개의 CTC 데이터를 보냈을 때 전송 신뢰성 결과를 SER로 나타내었다. 이 때, AP와의 거리는 1m이다. 그 결과 주위 AP의 개수가 0일 때 SER은 1% 이하의 수치를 기록 하였다. 그러나 AP의 개수가 늘어나면서 SER이 조금씩 증가하는 것을 볼 수 있었는데 이것은 CTS 패킷을 전송함으로써 데이터의 전송은 이뤄지지 않지만 각 AP의 Beacon 전송으로 인하여 energy burst time 측정에 오차가 발생하였기 때문이다. 그 중에서도 CTC 블록 크기가 작은 25byte의 경우 Beacon의 전송 시간동안 다수의 신호에 간섭이 발생하므로 SER의 값이 50byte에 비해 높은 것을 알 수 있다. 이러한 결과를 통해 데이터를 전송하는 AP가 여러 개 존재할 경우에도 CB-sense는 SER을 10% 이하로 유지하는 전송 신뢰성을 나타낸다. 또한, AP의 개수가 많을 경우 CTC 블록 크기를 크게 하여 높은 전송 신뢰성을 확보할 수 있음을 보여준다.
Fig. 18. Symbol Error Rate According to the Number of Access Points.
5. 결론
본 논문은 기존 CTC 기술이 가지고 있는 단점을 해결하고, 이종 통신 기술 간 정보 공유를 통해 새로운 응용 기술 창출을 위한 CTC 프로토콜 CB-sense(CleBur Sense)를 제안한다. 제안하는 기술 CBsense는 Beacon의 전송 신호 세기 변화를 이용해 패턴을 만들어 전송함으로써 CTC 구간을 형성한다. IEEE 802.15.4 기기는 CTC 구간 동안만 지속적으로 RSSI 샘플링을 진행하므로 에너지 소모를 줄이고 낮은 duty cycle을 유지한다. 또한, 정보 비트를 CTC 블록을 기준으로 만들어진 CTC 데이터 맵에 대응시켜 생성한 CTS 패킷을 전송매개로 사용한다. CTS 패킷을 전송 매개로 이용할 경우 주변 노드의 전송을 막아 간섭을 최소화하고 전송 범위에 새롭게 포함되는 노드들의 전송을 지속적으로 막아 안정적으로 채널을 확보한다. 제안하는 프로토콜 CB-sense는 기술의 적용 시 주변 환경에 대한 사전 정보가 필요 없고 하드웨어의 수정이 필요하지 않은 기술이다. 그러므로 실제 환경에서 기술의 활용이 가능하다는 장점을 가진다. 제안하는 프로토콜을 구현하여 실제 실험을 통해 CB-sense의 성능을 검증하였다. 그 결과 CTC 데이터 맵에 따른 성능 차이가 존재하지만 FreeBee 대비 최소 20배 이상의 처리량을 나타내었다. 또한, 주변 AP의 개수를 늘려가며 간섭이 증가하는 상황을 가정한 실험에서도 5% 이하의 SER을 유지하였다. 이러한 결과들을 통해 CB-sense가 실제 환경에서 적용될 수 있는 새로운 CTC 기술임을 확인하였다.
참고문헌
- J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami, "Internet of Things (IoT): A Vision, Architectural Elements, and Future Directions," Future Generation Computer Systems, Vol. 29, No. 7, pp. 1645-1660, 2013. https://doi.org/10.1016/j.future.2013.01.010
- S.M. Kim and T. He, "Freebee: Cross-technology Communication Via Free Side-channel," Proceedings of the 21st Annual International Conference on Mobile Computing and Networking, pp. 317-330. 2015.
- C.J.M. Liang, N.B. Priyantha, J. Liu, and A. Terzis, "Surviving Wi-fi Interference in Low Power Zigbee Networks," Proceedings of the 8th Association for Computing Machinery Conference on Embedded Networked Sensor Systems, pp. 309-322, 2010.
- K. Chebrolu and A. Dhekne, "Esense: Communication Through Energy Sensing," Proceedings of the 15th Annual International Conference on Mobile Computing and Networking, pp. 85-96, 2009.
- X. Xia, S. Li, Y. Zhang, L. Li, M. Wei, and W. Qin, "ToneSense: Communication Across Technologies Through Power-channel: Poster," Proceedings of the 22nd Annual International Conference on Mobile Computing and Networking, pp. 447-449, 2016.
- Wireless LAN Working Group, IEEE Standard Part 11: Wireless Lan Medium Access Control (Mac) and Physical Layer (Phy) Specifications, IEEE Std IEEE 802.11-2012 (Revision of IEEE Std IEEE 802.11-2007), 2012.
- J. Liu and L. Zhong, "Micro Power Management of Active 802.11 Interfaces," Proceedings of the 6th International Conference on Mobile Systems, Applications, and Services, pp. 146-159, 2008.
- Y. Yan, P. Yang, X. Li, Y. Zhang, J. Lu, L. You, et al., "Wizbee: Wise Zigbee Coexistence Via Interference Cancellation with Single Antenna," IEEE Transactions on Mobile Computing, Vol. 14, No. 12, pp. 2590-2603, 2015. https://doi.org/10.1109/TMC.2014.2359673
- A. Matoba, M. Hanada, H. Moon, and M.W. Kim, "Asymmetric RTS/CTS in Ad Hoc Wireless LAN," Proceedings of the 16th International Conference on Advanced Communication Technology, pp. 575-578, 2014.
- Scapy, https://scapy.net/ (accessed November 10, 2019).
- S.J. Lee and K.R. Seo, "An Improved CSMA/CD with Channel Reservation Facility," Journal of Korea Multimedia Society, Vol. 7, No. 3, pp. 340-348, 2004.