1. 서 론
무선 센서 네트워크(Wireless Sensor Networks, WSNs이라 명칭함)는 무선 센서 노드들을 목적하는 지역에 배포하여 온도, 습도, 산불 감지, 생태계 감시동의 정보를 수집하여 무선으로 정보를 전달하는 네트워크이다. WSNs를 구성하고 있는 센서 노드의 특성상 초기에 장착된 배터리가 모두 소모될 경우 센서 노드의 역할을 수행할 수 없게 된다. 이는 센서 노드에서 센서 노드로 전달되는 WSNs ad-hoc 방식의 특성상 한두 개 센서 노드의 배터리 고갈은 전체 네트워크의 수명을 단축시킬 수 있기 때문이다[1][2]. 그렇게 때문에 WSNs에 대한 많은 연구는 초기에 장착된 배터리를 효율적으로 사용하기 위한 것에 집중되어 왔다. 애드 혹(ad hoc) WSNs에서는 센서 노드에서 측정된 데이터 패킷을 싱크 노드로 직접 전송하지 않고 싱크 노드 방향의 센서 노드들을 거쳐 전송한다. 따라서 싱크 노드에 인접한 센서 노드들은 여러 곳으로부터 받은 데이터가 집중되기 때문에 전송해야 할 많은 데이터를 가지게 된다. 이를 funneling 효과 [3]라 한다. 이러한 전송 데이터 트래픽의 증가로 인하여 데이터 패킷의 충돌, 혼잡 및 손실이 발생할 수 있다[4]. 이러한 문제에 대해 Funneling-MAC [5] 프로토콜에서는 intensity region을 지정하고 영역 내의 센서 노드들은 TDMA 방식과 CSMA 방식을 동시에 사용하고, 이외에 지역에서는 CSMA 방식을 사용하는 방식을 제안하였다. Funneling-MAC 프로토콜은 센서 노드들이 소스 노드 및 홉수 정보를 가지 있어야 되므로 복잡한 알고리즘을 가진다. 한편, WSNs에서는 밀집된 지역에 센서 노드들을 무작위로 배포되기 때문에 이벤트 발생 시 인접한 센서 노드들은 동일한 데이터 패킷을 생성하여 전달하는 경우가 발생할 수 있다. 이러한 데이터 수집(data gathering)에 관한 연구 중 하나인 OBMAC[6] 프로토콜에서는 송신 노드의 데이터 패킷 전송을 이웃하는 센서 노드들이 overhearing하여 중복된 데이터 패킷일 경우 전송하지 않고 삭제하는 방식을 제안하였다. 이 방식에서는 이웃 센서 노드들은 sleep 하지 않고 데이터 패킷을 overhearing하기 때문에 에너지 소모가 크고, 노드 자체에서 생성한 데이터 패킷과 단지 인접 노드들로부터 전송받은 (relay) 데이터 패킷에 대한 구분이 없어 잘못 삭제되는 오류가 발생할 수 있다. 이러한 문제를 보안하기 위해 이전에 제안된 논문 [7]에서는 제어 프레임 포맷에 전송받은 데이터 패킷인지, 측정된 데이터 패킷인지를 구분하여 같은 데이터 패킷일지라도 전달받은 데이터 패킷이라면 삭제하지 않고 전달하는 방식을 제안하였다. 그러나 방향성 안테나만을 사용하여 중복된 데이터 패킷을 판단하기 때문에 잘못 삭제되는 경우가 발생할 수 있다.
2. 효율적인 패킷 전송 메커니즘
본 논문에서 제안하는 메커니즘에서는 이전에 제안되었던 QAEE-MAC[8] 프로토콜의 Tx-beacon 프레임과 Rx-beacon 프레임을 변형하여 사용한다. 비콘 프레임을 이용하여 경로를 설정하는 이유는 데이터 전송시 패킷 충돌 및 재전송이 발생할 경우 더 많은 에너지가 소모되기 때문이다. 본 논문에서 제안하는 메커니즘에서는 Tx- beacon 및 Rx-beacon 프레임을 통하여 싱크 노드와 1홉의 인접한 센서 노드들은 TDMA처럼 정해진 시간에 데이터 패킷을 전달하여 충돌 및 손실을 감소시키는 방식을 사용한다. 또한 1홉 이상의 센서 노드들은 기존의 경쟁방식에 추가적으로 중복된 데이터 패킷을 삭제함으로서 데이터 패킷의 지연 및 에너지 소모를 감소시키는 방식을 제안한다.
2.1 싱크 노드로의 전송을 위한 메커니즘
본 논문에서 제안하는 메커니즘은 크게 2가지 방법으로 구분할 수 있다. 첫째, 싱크 노드와 1홉 거리의 인접한 센서 노드들의 저-지연 데이터 패킷 전송을 위해 사용된 경쟁방식을 마치 비경쟁방식처럼 정해진 타임에 전송하는 방식이다. 둘째, 싱크 노드와 1홉 거리 이상의 센서 노드들에서 전송 효율을 위한 중복된 데이터 패킷을 전송하지 않는 방식이다. 2.2절에서는 첫 번째 방식에 대해 설명하고, 2.3절에서는 두 번째 방식에 대해 서술한다. Fig. 1은 여러 전송 노드들에서 하나의 싱크 노드로 데이터 패킷을 전송하는 방식의 개요를 보여준다. 그림에서 볼 수 있듯이 전송할 데이터 패킷을 가지는 센서 노드들은 싱크 노드로 Tx-beacon 프레임을 전송한다. 일정 기간 동안 인접한 센서 노드들로부터 Tx-beacon 프레임을 수신한 싱크 노드는 Rx-beacon 프레임을 broadcast하여 데이터 패킷을 수신할 준비가 되었음을 송신 노드들에게 알린다. 송신 노드들은 자신의 Tx-beacon 프레임 전송 시간과 싱크 노드의 Rx-beacon 프레임 수신 시간을 이용한 매핑 함수를 통하여 얻어진 서로 다른 시간에 데이터 패킷을 전송한다.
Fig. 1.Data Transmission between nodes and a sink node.
2.2 매핑 함수
본 논문에서 제안하는 메커니즘은 싱크 노드와 1홉의 인접한 센서 노드들의 효율적인 데이터 패킷전송을 위해 매핑 함수를 사용한다. Fig. 2의 (a)에서 보듯이 송신 노드는 채널이 사용 중이 아니면 Tx-beacon 프레임을 싱크 노드로 전송한다. 송신 노드는 싱크 노드의 Rx-beacon 프레임이 수신 될 때까지 짧은 시간 간격으로 listen과 sleep을 반복한다. 이는 송신 노드가 싱크 노드의 Rx-beacon 프레임을 수신할 때까지 채널을 listen 하는데 소모되는 에너지를 줄이기 위함이다. 송신 노드의 짧은 duty cycle 간격은 싱크 노드의 Rx-beacon 프레임을 수신할 정도로 짧은 간격을 가진다. 송신 노드는 싱크 노드의 Rx-beacon 프레임을 수신한다. 이를 이용하여 전송시간을 계산한다. 매핑 함수는 다음과 같다.
Fig. 2.Mapping function. (a) Single mapping function, (b) Multi-mapping function.
수식(1)과 같이 송신 노드가 수신한 Rx-beacon 프레임에는 싱크 노드의 active 구간 정보가 들어가 있다. 이를 통해 자신의 Tx-beacon 프레임과 active 시간간의 차이 및 sleep 시간과 송신 노드의 데이터 패킷 전송시간과의 차이의 비율로 송신 노드는 데이터 패킷을 전송할 시간을 계산할 수 있다. Fig. 2의 (b)는 한 개 이상의 송신 노드들이 있을 경우 매핑 함수를 이용한 전송 방식을 보여준다. 수식 (1)에 의해서 각각의 송신 노드들은 자신이 데이터 패킷을 전송할 시간을 계산한다. 송신 노드들의 wake up 시간은 수식 (2)와 같다. 각 송신 노드들은 수식 (2)를 통해 자신의 wake up 시간까지 sleep한다. 이를 통해 송신 노드들은 에너지 소모와 송신 노드간의 충돌 및 충돌로 인한 데이터 패킷의 손실을 줄일 수 있다.
2.3 중복된 데이터 패킷 전송을 위한 메커니즘
본 논문에서 제안하는 메커니즘은 송신 노드의 Tx-beacon 프레임에 1 bit의 특별한 영역을 추가하여 측정한 데이터 패킷인지, 전달받은 데이터 패킷인지를 구분한다. 수신 노드는 송신 노드의 Tx-beacon 프레임을 수신할 때 방향 및 신호의 세기를 통하여 중복된 데이터 패킷 여부를 판단하여 중복된 데이터 패킷일 경우 한 개의 센서 노드에서만 데이터 패킷을 수신한다. Fig. 3의 (a)에서는 OBMAC[6] 프로토콜의 신호의 세기만을 사용하였을 경우 중복되지 않은 데이터가 삭제되는 예를 보여준다. 그림에서 보듯이 센서 노드 B 와 C는 서로 다른 이벤트를 감지하고이 정보를 수신 노드 A로 전송하려고 한다. OBMAC 프로토콜의 경우 신호의 세기만을 이용하여 중복된 데이터 패킷을 판단하므로 위와 같은 경우 하나의 데이터 패킷은 삭제된다. 이러한 단점 때문에 이전에 제안된 논문 [7]에서는 센서 노드에 방향성 안테나를 사용하여 신혼의 방향으로 중복된 데이터 패킷을 판단하는 방법을 제안하였다. Fig. 3의 (b)는 논문 [7]에서 제안된 신호의 방향만을 사용할 경우 중복되지 않은 데이터 패킷이 삭제될 수 있는 예를 보여준다. 그림에서 보듯이 센서 노드 B와 C는 서로 다른 이벤트를 감지한다. 이 정보를 수신 노드 A로 데이터 패킷을 전송하려고 한다. 그러나 수신 노드 A에서는 2개의 센서 노드의 방향이 같기 때문에 하나의 데이터 패킷이 삭제될 수 있다.
Fig. 3.Examples of duplicated packet decision error cases. (a) by only strength (b) by only direction.
본 논문에서 제안하는 메커니즘은 근접한 시간에 측정된 한 개 이상의 이벤트 발생 시 신호의 강도 및 방향성을 판단하여 두 조건이 모두 만족할 경우 중복된 데이터 패킷은 전송하지 않는 방식이다. 제안하는 메커니즘은 다른 논문에서 제안된 메커니즘 보다 신뢰성 있는 전송이 가능하다.
2.4 알고리즘
Fig. 4는 송신 노드의 전송 알고리즘을 나타낸다.
Fig. 4.Sender node algorithm.
본 논문에서 제안하는 메커니즘은 송신 노드의 Tx-beacon 프레임으로 시작된다. 싱크 노드에서는 일정시간동안 송신 노드들의 Tx-beacon 프레임을 수신한 후 Rx-beacon 프레임을 송신한다. 송신 노드 들은 싱크 노드의 Rx-beacon 프레임을 이용한 매핑 함수를 통하여 자신의 전송할 시간을 계산하고, 수신 노드에서는 송신 노드의 Tx-beacon 프레임을 통하여 중복된 데이터 여부를 판단한다. 수신 노드에서는 결정된 Rx-beacon 프레임을 전송한다. 제안하는 메커니즘에서 Tx-beacon, Rx-beacon, 그리고 데이터 패킷 프레임의 전송방식은 기존의 IEEE 802.11 및 IEEE 802.15.4의 CSMA/CA 방식을 따른다. 충돌을 회피하기 위하여 IFS(Inter Frame Space)의 시간차를 가지고 전송을 시작하여 충돌이 날 확률이 적으며 충돌시 임의의 CW(contention window) 값을 사용함으로 재충돌을 줄일 수 있다.
3. 성능 분석
본 장에서는 제안하는 메커니즘과 기존의 MAC 프로토콜과 성능을 비교 평가한다. 본 논문의 성능분석은 명확한 비교를 위해 2가지 모드를 나누어서 분석하였다. 첫 번째는 송신 노드와 싱크 노드사이의 데이터 패킷 전송이고, 두 번째는 송신 노드와 수신 노드사이의 데이터 패킷 전송이다. 성능 분석을 위해 사용된 네트워크 파라미터 값은 Table 1과 같다. 본논문에서는 송신 노드와 싱크 노드와의 전송을 위한 성능 분석을 위해 다음과 같이 가정한다. 송신 노드와 싱크 노드의 거리는 1홉 거리로 한정한다. 네트워크의 구성은 임의로 배치된 송신 노드 10개와 1개의 싱크 노드로 되어있다. 총 10회 실험을 통하여 평균 값을 취한다. Fig. 5은 싱크 노드 및 1홉 거리의 센서 노드와의 에너지 소모 및 지연에 대한 결과를 보여준다. Fig. 5의 (a)는 데이터 패킷이 증가함에 따른 에너지 소모를 나타낸다. 그림에서 보듯이 제안하는 메커니즘은 데이터 패킷이 증가할수록 에너지 소모가 X-MAC[9] 및 RI-MAC[10] 프로토콜에 비해 적음을 알 수 있다. Fig. 5의 (b)는 데이터 패킷이 증가함에 따른 전송 지연을 보여준다. 그림에서 보듯이 제안하는 메커니즘은 데이터 패킷이 증가할수록 전송 지연이 적게 증가하고 있다. 이는 제안하는 메커니즘은 마치 스케줄 방식처럼 정해진 시간에 데이터 패킷을 보냄으로서 충돌 및 지연이 감소하기 때문이다.
Table 1.Networks Parameters [9-11]
Fig. 5.Energy consumption & delay of 1-hop node from sink. (a) average power consumption vs. no. of packet (b) packet delivery latency vs. no. of packet.
본 논문에서는 송신 노드와 수신 노드의 전송 성능 비교를 위해 다음과 같이 가정한다. 같은 클러스터(cluster) 내에 최대 2개의 이벤트가 발생한다. 이벤트의 발생은 랜덤하다. 총 5회를 측정하여 평균값을 취한다. Fig. 6은 송신 노드와 수신 노드 사이의 지연 및 에너지 소모를 나타낸다. Fig. 6의 (a)는 센서 노드의 수 증가에 따른 데이터 패킷의 전송 지연을 보여준다. 또한 Fig. 6의 (b)는 센서 노드의 수 증가에 따른 에너지 소모를 나타낸다. 그림에서 보듯이 제안하는 메커니즘은 기존의 X-MAC 및 RI-MAC 프로토콜에 비해 적은 에너지 소모와 지연이 발생함을알 수 있다. 이는 제안하는 메커니즘은 중복된 데이터 패킷을 전송하지 않기 때문에 데이터 패킷 전송및 전송하기 위한 제어 패킷의 송•수신 때문에 발생하는 에너지 소모를 줄일 수 있고, 중복된 데이터 패킷을 전송함으로서 다른 센서 노드로부터 전송할 데이터 패킷을 전송하지 못함으로서 발생하는 전송 지연을 줄일 수 있기 때문이다.
Fig. 6.Energy consumption & delay of over 2-hops node from sink. (a) latency vs number of nodes (b) energy consumption vs number of nodes.
4. 결 론
본 논문에서는 WSNs에서 효율적인 패킷 전송 메커니즘을 제안하였다. 싱크 노드와 1홉의 인접한 센서 노드와 싱크 노드에서의 전송은 마치 스케줄 방식처럼 매핑함수로 얻어진 시간에 데이터 패킷을 전송함으로서 충돌을 감소시킨다. 또한 1홉 이상의 센서 노드 간의 전송은 기존의 경쟁방식으로 데이터 패킷을 전송한다. 그러나 효율적인 전송을 위해 본 논문에서는 더 정밀하게 중복된 데이터 패킷 여부를 확인하여 중복일 경우 하나의 데이터 패킷만을 전송하는 방식을 제안하였다. 성능 분석을 통하여 X-MAC 프로토콜에 비해 에너지 소모 및 지연에 효율적임을 확인하였다. 이는 WSNs의 특성상 모든 데이터들은 싱크 노드로 집중되기 때문에 제안하는 메커니즘에서 싱크 노드와 인접한 센서 노드의 데이터 패킷 전송을 스케줄 방식처럼 전송함으로써 지연 및 충돌이 감소하기 때문이다. 또한 앞선 연구에서 제안된 중복된 데이터 전송을 위한 방법을 개선하여 센서 노드간 데이터 전송 시 하나의 데이터 패킷을 전송함으로 지연 및 에너지소모를 감소시켰다. 추후 다양한 환경에서의 적합성 연구가 이루어질 예정이다.
References
- P. Huang, L. Xiao, S. Soltani, M. Mutka, and N. Xi, "The Evolution of MAC Protocols in Wireless Sensor Networks: A Survey," IEEE Communications Surveys & Tutorials, Vol. 15, Issue 1, pp. 101-120, 2012. https://doi.org/10.1109/SURV.2012.040412.00105
- H.Y. Kim, S.C. Kim, J.H. Jeon and J.J. Kim, "Traffic Adaptive Wakeup Control Mechanism in Wireless Sensor Networks," Journal of Korea Multimedia Society Vol. 17. No. 6, pp. 681-686, 2014. https://doi.org/10.9717/kmms.2014.17.6.681
- C.Y. Wan, S.E. Eisenman, A.T. Campbell, and J. Crowcroft, "Siphon: Overload Traffic Management using Multi-Radio Virtual Sinks," Proceeding of 3rd ACM Conference on Embedded Networked Sensor Systems, pp. 116-129. 2005.
- B. Hull, K. Jamieson, and H. Balakrishnan, "Mitigating Congestion in Wireless Sensor Networks," Proceeding of 2nd ACM Conference on Embedded Networked Sensor Systems, pp. 134-147, 2004.
- G. Ahn, E. Miluzzo, A.T. Campbell, S.G. Hong, and F. Cuomo, "Funneling-MAC: a Localized, Sink-oriented MAC for Boosting Delity in Sensor Networks," Proceeding of the 4th international Conference on Embedded Networked Sensor Systems, pp. 293-306, 2006.
- H.C. Le, H. Guyennet, and V. Felea, "OBMAC: An Overhearing based MAC Protocol for Wireless Sensor Networks," Proceeding of International Conference on Sensor Technologies and Applications IEEE, pp. 547-553, 2007.
- S.C. Kim, J.H. Jeon, and H.J. Park, "Energy Efficient Data Transmission Mechanism in Wireless Sensor Networks," Lecture Notes in Electrical Engineering, Vol. Ⅱ, pp. 845-852,2013.
- S.C. Kim, J.H. Jeon, and H.J. Park, "QoS Aware Energy-Efficient (QAEE) MAC Protocol for Energy Harvesting Wireless Sensor Networks," Convergence and Hybrid Information Technology 2012, Lecture Note in Computer Science, Vol. 7425, pp. 41-48, Springer, 2012.
- M. Buettner, G.V. Yee, E. Anderson, and R. Han, "X-MAC: A Short Preamble MAC Protocol for Duty-Cycled Wireless Sensor Networks," Proceeding of ACM SenSys, pp. 307-320, 2006.
- Y. Sun, O. Gurewitz, and D.B. Johnson, "RI-MAC: A Receiver-Initiated Asynchronous Duty Cycle MAC Protocol for Dynamic Traffic Loads in Wireless Sensor Networks," Proceeding of ACM SenSys, pp. 1-14, 2008.
- J.Y. Oak, Y.J. Choi, and W.G. Pak, "EP-MAC: Early Preamble MAC To Achieve Low Delay And Energy Consumption In Duty Cycle Based Asynchronous Wireless Sensor Networks," KSII Transactions on Internet and Information Systems, Vol. 6, No. 11, pp. 2980-2991, 2012 https://doi.org/10.3837/tiis.2012.10.013
Cited by
- 무선 센서 네트워크에서 센서 노드의 잔여 에너지 기반 Wake-up 제어 메커니즘 vol.21, pp.1, 2015, https://doi.org/10.6109/jkiice.2017.21.1.187
- 무선 센서 네트워크에서 군 감시 정찰을 위한 저 지연 데이터 전송 메커니즘 vol.21, pp.4, 2017, https://doi.org/10.6109/jkiice.2017.21.4.855
- EtherCAT 통신방식을 응용한 IEEE 802.15.4 Ad-Hoc 무선 센서 네트워크 라우팅 방식 vol.22, pp.2, 2018, https://doi.org/10.7471/ikeee.2018.22.2.289