본 논문에서는 무선 센서 네트워크에서 에너지 효율적인 싱크노드 기반의 MAC 프로토콜을 제안한다. 본 논문에서 제안되는 싱크 노드 기반 MAC 프로토콜(Sink node-Based MAC: SB-MAC)은 송신자 노드의 에너지 소모를 줄이고 전송 지연을 감소시키기 위해 RB (rapid beacon) 프레임이 사용된다. RB 프레임은 IEEE 802.15.4의 비콘 프레임의 수정된 형태이다. RB 프레임에 포함된 전송 노드의 데이터 길이 정보를 이용하여, 데이터 전송에 참여하지 않는 다른 노드들이 오랫동안 sleep 모드에 머물게 함으로써 에너지 소모를 줄일 수 있다. 이를 통하여 기존의 X-MAC 및 RI-MAC 프로토콜들에 비해 데이터 전송 지연 및 에너지 소모 면에서 더 좋은 성능을 가진다. SB-MAC 프로토콜은 하나의 싱크노드와 다수의 송신 노드들로 구성되어 있는 네트워크 환경에 에너지 효율적인 프로토콜이다.
In this paper, we propose an energy efficient sink node based MAC protocol for Wireless Sensor Networks (WSNs). The proposed sink node-based MAC (SB-MAC) protocol uses a RB(rapid beacon) frame to save sender’s energy consumption and to reduce transmission delay. The RB frame is a modified IEEE 802.15.4 beacon frame. The RB frame contains the length of the sender nodes data. Using this information other nodes except sender and receiver nodes can be stay sleep mode long time to reduce energy consumption. Results have shown that the SB-MAC protocol outperformed other protocols like X-MAC and RI-MAC in terms of packet delivery delay and energy consumption. The SB-MAC protocol is especially energy efficient for the networks with one sink node and many senders.
무선 센서 네트워크(Wireless Sensor Networks: WSNs)는 교체하기 어려운 배터리에 의해 동작하는 센서 노드들로 구성되어 있기 때문에 네트워크의 오랜 동작을 위하여 노드의 정해진 에너지를 소모하는 방안에 대한 연구들이 지속적으로 이루어지고 있다. 따라서 기존의 네트워크에 비해서 무선 센서 네트워크는 데이터패킷의 효율적인 전송 처리보다는 에너지의 효율적 이용 측면에 더 관심을 가지고 설계되었다[1]. 그러나 이상적인 무선 센서 네트워크는 높은 데이터 처리량을 가지는 동시에 에너지 효율성을 가지는 것이다. WSNs에서 노드의 에너지 소모를 줄이기 위하여 노드들이 데이터 전송에 참여하지 않을 경우에는 sleep 모드에 머물게 된다. 더 좋은 에너지 효율을 얻기 위하여 가능하면 노드들이 sleep 모드에 오래 머물러야 하는데, sleep 모드에 있는 노드들은 데이터 전송에 참여할 수 없기 때문에 데이터 전송에서 지연이 더 늘게 된다. 이와 같은 이유로 인하여 높은 데이터 처리와 효율적인 에너지 사용이 두 가지를 동시에 만족하기는 어렵다. 따라서 무선센서 네트워크의 특성상 지연을 줄이거나 데이터 처리를 높이는 면보다는 에너지 효율적인 이용에 관한 연구가 주를 이루어 왔다. 에너지 소모는 MAC 계층, 네트워크 계층 등에서 일어나지만, 그 동안 MAC 계층에서의 에너지 효율적인 프로토콜들이 많이 연구되었다. 에너지 효율적인 MAC 프로토콜은 크게 동기식, 비동기식, 그리고 하이브리드식으로 구분될 수 있다[2]. 이 중 동기식 MAC 프로토콜로는 고정적인 듀티 사이클을 사용하는 S-MAC[3]과 Time out 을 통해 전송이 없을 때 빠르게 sleep 으로 바꾸어 에너지를 절약하는 T-MAC[4] 등을 들 수 있다. 비동기식 MAC 프로토콜에는 긴프리앰블(long preamble)을 사용하는 B-MAC[5], slotted preamble을 통해 B-MAC의 단점을 해결한 X-MAC[6], 그리고 수신자에서 시작하여 송신자의 프리앰블로 소모되는 에너지를 절약하는 RI-MAC[7] 등이 있다. 다른 면으로 중복된 데이터 패킷을 한번만 전송하여 에너지를 절약하는 MAC 프로토콜[8]이 있다. 또한 효율적인 데이터 전송 측면에서는 우선순위가 높은 데이터 패킷을 먼전 전송하는 방식으로 QoS(Quality of Service)을 지원하는 QAEE- MAC[9], EEPB-MAC[10] 등이 있다.
기존의 송신자 기반의 MAC 프로토콜에서는 송신 노드의 지속적인 제어(control) 신호의 전송으로 인한 에너지 소모가 발생된다는 문제점을 가진다. 이러한 단점을 해결하기 위해 수신자 기반의 프로토콜인 RI-MAC[7]에서는 수신 노드의 제어 신호를 받은 송신 노드가 데이터 전송을 시작하기 때문에 송신 노드의 에너지 소모를 줄일 수 있었다. 그러나 RI-MAC의 문제점으로는 송신 노드들이 수신 노드의 제어 신호를 기다리며(idle listening) 불필요한 에너지를 소모한다는 것이다. 데이터 전송과 함께 센서 노드의 idle listening은 에너지를 소모하는 주요 요소이기 때문이다[1,3]. 본 논문에서는 RB(rapid beacon) 프레임을 통해 송신 노드들의 idle listening으로 소모되는 에너지를 줄이는 새로운 MAC 프로토콜을 제안한다. 제안하는 SB-MAC 프로토콜은 송신자 기반의 MAC 프로토콜에 비해 전송 지연을 줄이는 효과와 수신자 기반의 MAC 프로토콜에 비해 센서 노드의 에너지를 절약 하는 장점을 가지고 있다.
본 논문의 구성은 다음과 같다. 2절에서는 제안하는 SB-MAC 프로토콜에 대한 설명이 이루어진다. 3절에서는 X-MAC 및 RI-MAC과 SB-MAC을 시뮬레이션을 통해 성능에 대해 비교분석하고, 마지막 4절은 결론으로 구성된다.
본 논문에서 제안하는 SB-MAC 프로토콜의 동작을 설명하기 위하여 아래의 그림1과 같은 하나의 싱크노드와 다수의 송신 노드들로 구성된 네트워크를 고려하기로 한다. 네트워크 내에 있는 모든 센서 노드들은 싱크 노드와 1-홉의 위치에 존재한다. 즉, 모든 센서 노드들은 자신들이 측정한 데이터를 직접 싱크 노드로 전송할 수 있다고 가정한다. 이와 같은 네트워크 구성에 있어서 많은 센서 노드들이 싱크 노드로 데이터를 동시에 전송하기 원하기 때문에 싱크 노드에서의 효율적인 데이터 수신 방법이 필요하다.
그림 2는 SB-MAC 프로토콜에서 사용되는 RB 비콘 프레임 및 데이터 패킷 프레임 구성을 보여 준다.
그림에서 볼 수 있듯이 본 논문에서 사용되는 RB 비콘 프레임은 RI-MAC[6]에서 사용되는 비콘 프레임의 수정된 형태를 가진다. 즉, 기존의 프레임 형식에 송신 노드에서 전송되어지는 데이터 패킷의 크기를 포함하는 새로운 필드가 추가되었다. 이 RB 프레임은 다음의 두 가지 의미를 가진다. 첫째 의미는 데이터의 전송에 참여하고 있지 않은 다른 노드들에게 싱크노드의 데이터 전송 완료 예측 정보를 제공하는 것이다. 즉, 현재 데이터 전송에 참여하고 있지 않은 노드들은 이 프레임에 들어 있는 데이터 패킷 크기 정보를 이용하여 전송 완료되는 시간을 예측한다. 둘째로는 데이터 전송한 송신 노드에게는 데이터 패킷에 대한 수신 응답(acknowledgment) 기능을 제공하는 것이다. 이 프레임을 받은 송신 노드는 전송된 프레임의 성공적인 전송을 확인한 후에 다른 데이터 패킷을 전송하게 된다. 한편 전송되는 데이터 패킷에는 전송할 데이터 패킷의 크기에 대한 정보를 가지는 필드가 추가된다. 싱크 노드는 수신된 이 데이터 패킷 크기 정보를 RB 프레임에 실어 다른 노드들에게 전송함으로 노드들이 잔여 전송 패킷의 크기를 알 수 있게 함으로 노드들이 충분한 시간 sleep 모드에 머물 수 있게 함으로 에너지 소모를 줄인다.
SB-MAC 프로토콜의 동작은 아래의 그림 3을 통해 설명하기로 한다. 그림 3에서 송신 노드 B는 싱크 노드로부터 비콘 프레임을 수신한 이후에 즉각 연속된 데이터 패킷을 전송한다. 데이터 패킷을 수신한 싱크 노드는 수신되는 데이터 패킷과 패킷 사이에는 RB 프레임을 주위의 모든 노드들에게 브로드캐스트한다. RB 프레임에 포함된 전송 개수를 나타내는
송신 노드 A는 자신의 스케줄링에 맞추어 sleep 상태로부터 wake-up 한다. wake-up한 송신 노드 A는 싱크 노드로부터 전송되어진 RB 프레임을 수신하게 된다. RB 프레임을 수신한 송신 노드 A는 현재 데이터를 전송하고 있는 송신 노드 B가 전송하려는 전체 데이터를 알 수 있기 때문에 싱크 노드와 송신 노드 사이의 현재 진행 중인 데이터 전송이 완료될 때까지 sleep 모드에 머물게 된다. 데이터 전송 완료 직후에 wake-up한 송신 노드 A는 싱크 노드에게 자신의 데이터 전송을 시작한다. 따라서 데이터 전송을 위해 wake-up한 송신 노드 A는 데이터 전송을 위해 idle 상태에 머무는 것이 아니라 현재 진행 중인 데이터 전송이 완료될 때까지 sleep 모드에서 머물기 때문에 idle listening 으로 인한 에너지 소모를 줄일 수 있다.
이상에서 살펴 본 바와 같이 SB-MAC 프로토콜의 장점들은 다음과 같다.
· 송신 노드 기반의 MAC 프로토콜에 비해 전송 지연을 줄일 수 있다. · 수신 노드 기반의 MAC 프로토콜의 idle listening으로 인한 에너지 소모를 줄일 수 있다.
각 노드에서 소모되는 에너지에 대한 수치적 분석을 위해 사용되는 파라미터들 표 1과 같이 정의한다.
파라미터들에 대한 설명
다음(next) 전송할 송신 노드가 RB 프레임을 수신했을 때 소모되는 에너지는 다음과 같다.
다음 데이터 패킷을 전송할 송신 노드가 RB 프레임을 수신하지 못했을 때 소모되는 에너지는 다음과 같다.
총 소모되는 에너지는 식 (2) 와 식 (3)의 합으로 다음과 같다.
수식 (2)는 수식 (3)에 비해 작은 값이다. 결과적으로 RB가 도착할 누적분포함수가 클수록 송신 노드 에너지소모는 감소하게 된다. 또한 송신 노드 개수가 증가할수록 감소되는 에너지는 증가한다.
본 장에서는 본 논문에서 제안한 SB-MAC 프로토콜과 X-MAC 및 RI-MAC 프로토콜들과의 성능 비교 분석이 이루어진다. 각 노드에서의 데이터 발생은 30% ~ 40%로 임의로 일어난다고 가정하였고, 동일한 전송 범위에서 싱크로 전송하는 송신자는 2개에서 10개까지 증가시키면서 성능의 변화를 살펴보았다. 또한 기존의 다른 프로토콜들과의 성능 비교를 위해 표 2의 파라미터 값들을 사용하였다. 그림 4는 송신 노드의 수의 증가에 따른 전체 전력 소모를 보여준다. 그림에서 알 수 있듯이 본 논문에서 제안된 SB-MAC 프로토콜은 송신 노드의 수가 증가할수록 다른 MAC 프로토콜보다 적은 에너지를 소모하는 것으로 나타났다.
[표 2.] 성능 분석에 사용된 파라미터들 [7,11]
성능 분석에 사용된 파라미터들 [7,11]
이는 송신 노드의 수가 증가할수록 송신자 기반의 X-MAC 프로토콜에서는 더 많은 프리앰블 전송과 프리앰블 충돌로 인한 재전송으로 에너지 소모가 증가한다. 그러나 수신자 기반의 RI-MAC 프로토콜은 X-MAC 프로토콜처럼 프리앰블로 인한 에너지 소모가 없는 반면 전송하기 위해 싱크 노드의 비콘 프레임을 기다리는 idle listening으로 에너지가 소모된다.
그림 5는 송신 노드에서 싱크 노드로 데이터를 전송할 때 데이터 길이의 증가에 따른 전력소모를 보여준다. 본 논문에서 제안된 SB-MAC 프로토콜에서는 앞에서 살펴 본 대로 데이터 전송완료 시간을 다른 송신 노드들에게 전달한다. 그렇기 때문에 데이터의 길이가 증가할수록 에너지 소모는 적게 증가한다. 그러나 RI-MAC 프로토콜은 송신 노드의 데이터 길이가 길어질수록 idle listening으로 발생하는 에너지 소모가 증가한다.
수신자 기반의 MAC 프로토콜은 수신 노드로 부터 데이터 수신 가능 신호를 받은 송신 노드가 데이터 전송을 시작하기 때문에 송신 노드들이 idle listening에 머물면서 소모하는 에너지를 줄일 수 있다는 장점을 가진다. 그러나 수신자 기반의 MAC 프로토콜인 RI-MAC에서는 송신 노드들이 수신 노드의 데이터 수신 가능 신호를 기다리며(idle listening) 불필요한 에너지를 소모하는 문제점을 가진다. 따라서 본 논문에서는 이들 idle listening 으로 인한 에너지 소모를 줄임으로써 전체 네트워크의 수명을 연장할 수 있는 SB-MAC 프로토콜을 제안하였다. 본 논문에서 제안된 SB-MAC 프로토콜은 하나의 싱크로 다수의 송신 노드들이 데이터 패킷을 전송하는 네트워크 환경에서 트래픽 부하가 많은 경우에 더 효율적임을 알 수 있었다. 또한 데이터를 전송하려는 송신 노드가 증가할수록 에너지 소모를 더 줄일 수 있는 장점을 보였다. 뿐 만 아니라 SB- MAC 프로토콜은 전송할 데이터의 길이가 증가할수록 더 효율적인 결과를 보여주었다. 추후 보다 더 큰 규모의 센서 네트워크에서의 적용 방법 및 에너지 수확 환경에서의 성능 변화에 대한 지속적인 연구가 이루어질 예정이다.