DOI QR코드

DOI QR Code

Node Balanced CNC Routing Protocol for Low Power and Lossy Networks

저전력 손실 네트워크를 위한 노드 균형 CNC 라우팅 프로토콜

  • 김태정 (상명대학교 컴퓨터과학과) ;
  • 정진우 (상명대학교 휴먼지능정보공학과)
  • Received : 2019.08.27
  • Accepted : 2019.10.04
  • Published : 2019.10.31

Abstract

The Internet Engineering Task Force (IETF) proposed IPv6 Routing Protocol for Low-power Lossy Network (RPL) as a routing protocol for Low Power and Lossy Networks (LLN). In RPL networks, only a few parent nodes are connected to many child nodes, which is called Thundering Herd Phenomenon. To solve this problem, it has been considered to limit the maximum number of child nodes connected per node using the CNC (Child Number Count) parameter. However, the problem remains that some parent nodes can be attached with as many as the maximum number of child nodes. How to determine the maximum CNC value is yet another problem. Therefore, in this paper, we propose an algorithm that evenly distributes the number of child nodes connected per node, to solve the Thundering Herd Phenomenon problem. The performance of the proposed algorithm is compared with that of the conventional RPL using CNC. As a result, we showed that the proposed algorithm performs better in terms of load balancing.

IETF(Internet Engineering Task Force)는 LLN(Low power and Lossy Networks)의 라우팅 프로토콜로 RPL(IPv6 Routing Protocol for Low-power Lossy Network)을 제안하였다. RPL을 사용하는 네트워크에서는 하나의 parent 노드가 많은 child 노드와 연결되어, 일부 노드로 연결이 몰리는 Thundering Herd Phenomenon이 발생할 수 있다. 이를 해결하기 위해 CNC(Child Number Count)를 사용하여 노드 당 연결되는 최대 child 노드 수를 제한하는 방법이 고려되었으나 여전히 일부 parent 노드에 최대 child 노드 수 만큼 붙을 수 있다는 문제와 최대 child 노드 수를 몇으로 결정하는가 하는 문제가 남아있다. 따라서 본 논문에서는 노드 당 연결되는 child 노드 수를 고르게 분배하는 알고리즘을 제안하여, Thundering Herd Phenomenon 문제를 해결하고자 한다. 기존 CNC를 사용하는 알고리즘과 성능 비교를 진행하였고, 그 결과 제안하는 알고리즘이 load balancing 측면에서 더 좋은 성능을 보이는 것을 검증하였다.

Keywords

Ⅰ. 서론

최근 IoT(Internet of Things) 기술을 바탕으로 무선 네트워크 센서가 스마트 홈, 스마트 팩토리 등 다양한 분야에 적용되며 기존 통신환경에서보다 훨씬 더 많은 수의 기계들이 네트워크에 연결되고 있다. [1]에 따르면 기존 정적 센서로 구성된 네트워크보다 움직임이 있는 센서로 구성된 네트워크의 더 높은 효율성을 가질 수 있고, 또한 [2]는 생활 공간뿐 아니라, 산림 공간에서 정보통신 기술 제공을 위한 IoT 네트워크 구축의 필요성을 보여주듯 과거와는 네트워크의 요구 조건이 많이 달라졌다. IEEE 802.15.11 표준으로는 변화된 요구 조건을 만족하지 못해 IEEE에서는 802.15.4e라는 새로운 표준을 제정하였다. IEEE 802.15.4e는 TSCH(Time Slotted Channel Hopping)를 표준으로 채택했다. [3]의 연구에 따르면, TSCH는 기존 방식보다 전력 소모를 적게 하는 장점을 가진다. TSCH의 표준 라우팅 프로토콜은 IETF에서 발표한 RPL(Routing Protocol for Low power and Lossy network)로, 저전력 손실 네트워크(LLN, Low power lossy network)를 위한 라우팅 프로토콜이다. 저전력 손실 네트워크의 특징은 많은 노드가 하나의 네트워크에 연결되며, 이로 인해 네트워크의 혼잡이 발생한다는 것이다. 이로 인해 네트워크에서 load balancing이 제대로 되지 않아 일부 노드에서 bottleneck과 같은 문제가 발생해 배터리 및 자원이 소모되어, latency 증가와 reliability의 감소로 이어질 수 있으며 이는 무선 네트워크에서 치명적인 문제이다. 이를 해결하기 위해 RPL에서는 load balancing과 관련된 연구가 활발히 진행되고 있다.

본 논문에서는 링크의 연결성과 child 노드 수를 바탕으로 load balancing을 할 수 있는 라우팅 프로토콜을 제안한다. 본 논문은 다음과 같이 구성되었다. 2장에서 RPL과 load balancing에 관한 기존 연구들을 살펴본다. 3장에서는 본 논문에서 제안하는 알고리즘을 설명하고, 4장에서 알고리즘의 비교 성능평가 결과를 살펴본다. 마지막 5장에서 결론과 추후 연구 방향에 대해 논의한다.

Ⅱ. 관련 연구

1. RPL(Routing Protocol for Low power and Lossy network)

RPL은 노드의 경로를 정할 때 DODAG(Destination Oriented Directed Acyclic Graph)들로 이루어진 DAG(Directed Acyclic Graph)를 형성한다[4]. 모든 노드는 OF(Objective Function)를 바탕으로 rank를 계산하고, DAG 구성 시 노드는 rank를 기준으로 계층적으로 연결된다. OF는 표준에서 명확히 정의하고 있지 않지만, OF0(Objective Function zero)와 MRHOF(Minimum Rank with Hysteresis Objective Function) 사용을 권장하고 있다.

MRHOF는 ETX(Expected Transmission Count), latency, hop count와 같은 metric 중 지정한 metric 값의 합이 가장 작은 경로를 선택한다[5]. Topology 구성은 root 노드에서 시작된다. Root 노드가 RPL Instance 정보를 담은 DIO(DODAG Information Object)를 브로드캐스트한다. root 노드의 DIO를 받은 노드들은 해당 정보를 바탕으로 자신의 DIO를 구성한 후 브로드캐스트한다. 이 과정은 DIO가 leaf 노드에 브로드캐스트 될 때까지 반복된다. DIO를 받은 노드는 사전에 preferred parent 노드가 없는 경우 DIO를 보낸 노드를 preferred parent 노드로 선택한다. MRHOF에서 ETX 를 metric으로 사용한다고 가정할 때 기존 preferred parent 노드보다 낮은 ETX를 가진 parent 노드를 preferred parent 노드로 변경할 때 시간과 노드의 자원이 사용된다. MRHOF는 사전에 정한 threshold보다 metric 변화가 큰 경우에만 preferred parent 노드를 변경하며 이를 hysteresis 방식이라 한다. RPL은 storing mode와 non-storing mode가 있다. Storing mode는 leaf 노드를 제외한 모든 노드가 라우팅 테이블을 지니고 있다. 노드가 DIO를 보낸 노드를 preferred parent 노드로 선택할 때 DAO (Destination Advertisement Object Acknowledgement)를 전달한다. 이를 받은 노드는 child 노드로 받아 줄 수 있는 경우 child 노드에게 DAO - ACK(Destination Advertisement Object Acknowledgement)를 유니캐스트한다.

2. RPL 연구 현황

RPL에서 데이터를 전달할 때 rank가 더 낮은 노드로 데이터를 전달하는 경로를 upward 경로라 하고, 그 반대를 downward route라 한다. [6,7]는 load balancing을 위해 노드의 upward route를 연결 가능한 모든 parent 노드를 사용해 전송하는 방식을 제안한다. [6]의 경우 데이터를 전송할 때 2개 이상의 경로를 사용한다. [7]는 노드의 buffer의 사용률이 threshold 이상이면 노드의 upward 경로를 2개로 늘린다. 그 후 노드의 buffer 사용률이 threshold보다 떨어지는 경우 주 경로 1개만 사용해 데이터를 전송한다. [8]는 네트워크의 load balancing을 위해 노드에 연결된 child 노드 수와 노드가 사용하는 bandwidth의 총 양을 고려한다. 노드의 총 가용 bandwidth와 연결된 child 노드들이 사용하는 총 bandwidth가 preferred parent 노드 선택의 기준이 된다. 초기 노드들의 bandwidth 측정에 대한 문제를 사전에 파악해야 하는 문제가 있다. 또 노드에 연결된 child 노드 수를 바탕으로 load balancing을 제안한 연구도 있다. 네트워크의 노드 1이 주위 노드보다 ETX가 좋은 경우 노드 1의 주위에 있는 노드들은 노드 1를 preferred parent 노드로 선택한다. 노드 1로 child 노드들이 몰리고 그로 인한 traffic이 노드 1로 집중돼, 네트워크 전체의 latency, packet loss rate 등이 늘어날 수 있다. 또 노드 1에서 congestion으로 에너지가 소모되어 네트워크에서 사라져, 노드 1에 연결되었던 노드들이 또 다른 노드로 연결이 몰리는 문제가 반복되는 Thundering Herd Phenomenon과 같은 문제가 발생할 수 있다.

OTNBBE_2019_v19n5_123_f0001.png 이미지

그림 1. CNC와 MAX_CNC

Fig. 1. CNC and MAX_CNC

[9]은 노드에 연결된 child 노드의 수와 연결 가능한 최대 child 노드 수를 DIO를 통해 전달하고, DIO를 받은 child 노드들이 preferred parent 노드를 선택할 때 최대 child 노드 수에 이미 도달한 경우 preferred parent 노드로 선택하지 않는 방법을 제안하였다. 노드에 최대 child 노드 수 이상의 child 노드가 연결되지 않아 load balancing이 될 수 있다. 이때 노드에 연결된 child 노드 수를 CNC(Child Number Count), 연결 가능한 최대 CNC를 MAX_CNC라 한다. 본 논문에서는 [9]의 알고리즘을 CNC-RPL로 작성했다. [10]에서 제안하는 알고리즘은 topology 관련 값들을 root 노드에 보내 그 값을 root 노드가 처리하도록 한다. root 노드는 노드 1, 2가 고른 child 노드 수를 가지게 하여 load balancing 문제를 해결한다. 하지만 노드들의 ICMP가 root 노드까지 전달되어 결정돼야 하므로 latency 증가와 root의 bottleneck 문제가 발생할 수 있다.

Ⅲ. 제안하는 RPL

위에서 설명한 CNC-RPL은, 일부 노드에 child 노드들이 집중적으로 연결되는 congestion을 해결할 수 있으나, MAX_CNC까지 연결되면 congestion이 발생하는 문제는 해결되지 않는다. 본 논문에서는 이를 해결하기 위해 NBC-RPL(Node Balanced CNC-RPL)을 제안한다. NBC-RPL은 네트워크의 노드에 고른 수의 child 노드가 연결되는 알고리즘으로 노드에 고른 child 노드들이 연결되면 일부 노드로 집중되는 traffic이 네트워크 전체로 분배되기 때문에, congestion 문제를 해결할 수 있다.

Algorithm 1:

RPL에서 노드가 DIO를 브로드캐스트를 할 때, DIO를 받은 노드는 자신보다 rank가 낮은 경우 parent list 에 넣고, 그 반대의 경우 무시한다. 즉, parent list에 들어간 노드는 metric 값의 차이가 있을 뿐, root 노드로 연결해줄 수 있음을 의미한다. 그러므로 NBC-RPL은 parent list에 들어간 노드는 연결이 가능한 것으로 가정해, metric 값을 고려하지 않는다. 이후 preferred parent 노드의 선택은 parent list의 노드 중 CNC 값이 가장 적은 노드를 선택한다. 노드가 preferred parent 노드가 없는 경우나 그 외의 연결 방법은 기존 RPL의 DAG 형성 과정과 동일하다. NBC-RPL로 child 노드가 preferred parent 노드를 선택하는 경우, 네트워크의 traffic은 비교적 고르게 분배되지만, 효율이 낮은 parent 노드의 선택을 막을 수 없다. child 노드의 metric 값을 고려하지 않기 때문에 더 효율적인 parent 노드를 선택하지 못한다. 즉, 비슷한 metric의 노드 선택에는 문제가 되지 않지만, 효율성이 안 좋은 노드를 선택화는 경우, congestion 문제는 해결되더라도 장기적으로 보았을 때 네트워크 연결에 문제가 발생할 수 있다. 효율성이 떨어지는 노드와의 연결을 막기 위해, preferred parent 노드를 변경하려는 경우 parent list 에 들어간 노드라도 metric이 threshold 값 이상(혹은 이하)의 metric이 측정되는 노드 preferred parent 노드로 선택되는 것을 제외하도록 한다. CNC 값을 사용해 preferred parent 노드의 변경 후에는 기존 및 변경된 preferred parent 노드의 CNC 값에 빠르게 적용되어야 한다. 그렇지 않으면 MAC_CNC가 되었음에도 노드들이 연결을 시도하거나, MAX_CNC만큼 연결된 줄 알고 preferred parent 노드 선택에서 제외되어 네트워크 성능이 저하 될 수 있다.

이를 막기 위해 노드는 기존 preferred parent 노드가 있는 경우 DAO를 기존 및 변경된 preferred parent 노드에 동시에 전달한다. 이를 받은 기존 preferred parent 노드는 CNC을 1 감소하며, 변경된 preferred parent 노드는 CNC을 1 증가시킨 후 DAO-ACK를 child 노드로 유니캐스트한다. 기존 DIO를 사용하는 경우 upward route 방향으로 사용되는 control message는 DAO이기 때문에 DIO를 사용하는 것은 적절하지 못한다. [9]에서는 이 문제를 해결하기 위해 DIO 에 Preferred parent 노드의 IPv6 주소를 넣은 후, DIO를 브로드캐스트 한다. 이때 노드는 자기와 연결된 child 노드가 DIO를 보낸 경우, DIO의 IPv6 주소를 확인한다, 만약 자기의 IPv6 주소가 아닌 경우 자신의 child 노드가 다른 preferred parent 노드를 선택함을 인지하고 CNC를 1 감소한다. 이 방법은 DIO에 IPv6 주소를 넣어야 하므로 control message의 overhead가 커질 수 있으며, 노드들이 자기보다 rank가 낮은 노드의 DIO를 확인해야 하는 처리 과정이 별도로 필요하다. 본 논문에서는 이를 해결하기 위해 기존 DAO의 전달 방법과 형태를 일부 수정하는 방법을 제시한다. DAO를 기존 preferred parent 노드와 변경하려는 preferred parent 노드에게 전달한다. 이때 DAO를 받은 기존 Preferred parent 노드는 CNC를 1 감소한다. 만약 노드가 DAO-ACK를 받지 못한 경우, 노드는 다시 처음으로 돌아와 수행한다. NBC-RPL을 통해 CNC가 네트워크의 변화에 즉각적으로 반영될 수 있다.

Ⅳ. 실험 및 결과

1. 시뮬레이션 환경

본 논문에서는 NBC-RPL의 성능평가를 위해 CNC-RPL 과 비교를 진행하였다. 토폴로지의 노드는 root 노드 1개와 19개의 일반 노드로 이루어져 있으며, root 노드의 rank를 0부터 rank 3까지로 구성된다. 모든 노드는 동일한 PGR(Packet Generation Rate)을 가지며 MAX_CNC는 4로, 노드와 연결될 수 있는 최대 child 노드 수는 4이다. 본 시뮬레이션의 1 iteration은 1000 slotframe으로 진행되었으며, PGR(packet generate rate)은 10%부터 2%씩 증가시켜 22%까지 진행하였다. 각 PGR 마다 50번 진행하였다. packet loss의 안정적인 측정을 위해 200 slotframe 이전의 packet loss는 측정하지 않고, 그 이후의 loss만 측정하여 PLR(Packet Loss Rate)을 구하였다. 일반성을 위해서 PGR을 제외한 모든 파라미터를 고정한 상태로 여러 번 시뮬레이션을 수행한 후 그 평균값을 구했다. 다음 표 1은 성능평가에 사용된 파라미터 값을 정리한 것이다.

표 1. 시뮬레이션에서 사용한 파라미터 값

Table 1. Parameter values used in the simulation.

OTNBBE_2019_v19n5_123_t0001.png 이미지

2. 성능평가 결과

그림 2와 3은 각각 CNC-RPL과 NBC-RPL 알고리즘 기반으로 만들어진 네트워크 topology이다. NBC-RPL 은 기존 CNC-RPL보다 노드 당 연결된 child 노드 수가 고르고 일부 노드에 child 노드가 몰리지 않아 일부 노드의 congestion과 네트워크의 성능 저하 문제를 해결할 수 있다. NBC-RPL의 경우 PLR이 CNC-RPL 알고리즘보다 현저히 낮다.

OTNBBE_2019_v19n5_123_f0002.png 이미지

그림 2. CNC-RPL 네트워크 토폴로지

Fig. 2. CNC-RPL Network topology

OTNBBE_2019_v19n5_123_f0003.png 이미지

그림 3. NBC-RPL 네트워크 토폴로지

Flg. 3. NBC-RPL Network topology

표 2를 보면 기존 CNC-RPL은 PGR이 10%부터 증가할 때 PLR이 꾸준히 증가한다. 그에 반해 NBC-RPL 의 경우 PGR이 16% 이하일 경우 PLR이 0으로, traffic 양이 적을 때 네트워크의 안정성이 높다. 시뮬레이션 결과 논문에서 NBC-RPL은 기존 CNC-RPL에 비해 노드 당 고른 연결 child 노드 수를 가져, 네트워크의 load balancing을 가진다.

표 2. 패킷 실패 확률

Table 2. Packet loss rate

OTNBBE_2019_v19n5_123_t0002.png 이미지

 

OTNBBE_2019_v19n5_123_f0004.png 이미지

그림 4. 패킷 실패 확률 세미 로그 그래프

Flg. 4. PLR semi log graph

Ⅴ. 결론

본 논문에서는 Parent 당 child 수를 고르게 연결하는 라우팅 프로토콜을 제시하였다. 이 프로토콜을 통해 네트워크의 load balancing과 안전성을 얻을 수 있다. NBC-RPL은 기존 ICMP를 사용하여 라우팅에 필요한 정보를 교환하기 때문에, 추가 traffic으로 인한 overhead가 발생하지 않는다. 현재 RPL과 같은 라우팅 기법은, 변화하는 네트워크의 요소들을 다 고려하기 어렵다. 라우팅에 Reinforcement learning의 Q-learning 을 적용하는 경우, Dynamic Network에 적합한 라우팅 방법을 찾을 수 있다. 앞으로 라우팅 프로토콜에 Q-learning을 적용한 연구를 추가 진행할 계획이다.

References

  1. Kim, Tae-Rim, Jong-Gyu Song, Hyun-Jae Im, and Bum-Su Kim. "Drone Deployment;Unmanned Aerial Vehicle;Wireless Sensor Network;System Modeling;Network Coverage;Network Energy;Priority Mapping.",Journal of the Korea Academia-Industrial cooperation Society(JKAIS), Vol. 20, No. 8 pp. 15-22., 2019 DOI : 10.5762/KAIS.2019.20.8.15.
  2. Dae-Sik Ko, "Comparative Analysis of IoT Network Implementing Method for Information and Communication Service in Forest Area", The Journal of KIIT, Vol. 17, No. 9, pp. 57-64, 2019 DOI : 10.14801/jkiit.2019.17.9.57
  3. Dongwon Kim, Mi-Hee Youn, "Performance Evaluation on the Power Consumption of IEEE802.15.4e TSCH," The Journal of the Institute of Internet, Broadcasting and Communication, Vol. 18, No. 1, pp.37-41, 2018 DOI:https://doi.org/10.7236/JIIBC.2018.18.1.37
  4. Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, JP., and R. Alexander, "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", IETF, March 2012. DOI: https://tools.ietf.org/html/rfc6550
  5. O. Gnawali, P. Levis, "The Minimum Rank with Hysteresis Objective Function", IETF, September 2012. DOI: https://tools.ietf.org/html/rfc6719
  6. Q. Le, T. Ngo-Quynh and T. Magedanz, "RPL-based multipath Routing Protocols for Internet of Things on Wireless Sensor Networks," 2014 International Conference on Advanced Technologies for Communications (ATC 2014), Hanoi, 2014, pp. 424-429. DOI: 10.1109/ATC.2014.7043425
  7. Kim, S., Joung, J.. "Adaptive Multipath Routing Algorithm for Low-power Lossy Networks.",The Journal of The Institute of Internet, Broadcasting and Communication,Vol. 19, No. 2, 91-96, Apr 2019. DOI: 10.7236/JIIBC.2019.19.2.91.
  8. Sebastian, A., Sivagurunathan, S. (2018). Bandwidth Allocation based Load Balancing for RPL (BA-LBRPL). International Journal of Computer Sciences and Engineering International Journal of Computer Sciences and Engineering, (2). Retrieved from www.ijcseonline.org DOI: 10.14419/ijet.v7i2.22.11806
  9. J. Hou, Ed., R. Jadhav, Z. Luo, "Optimization of Parent-node Selection in RPL-based Networks draft-hou-roll-rpl-parent-selection-00", ROLL Working Group INTERNET-DRAFT,Expires: September 13, 2017 DOI: https://tools.ietf.org/html/draft-hou-roll-rpl-parent-selection-00
  10. Sebastian, Alphonse, Sivagurunathan, S."Load balancing metric based routing protocol for low power and lossy networks (lbRPL)." International Journal of Engineering and Technology(UAE). 7. 39-44. 10.14419/ijet.v7i2.22.11806., January 2018 DOI: 10.14419/ijet.v7i2.22.11806