KR20210103628A - Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법 - Google Patents

Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법 Download PDF

Info

Publication number
KR20210103628A
KR20210103628A KR1020200017900A KR20200017900A KR20210103628A KR 20210103628 A KR20210103628 A KR 20210103628A KR 1020200017900 A KR1020200017900 A KR 1020200017900A KR 20200017900 A KR20200017900 A KR 20200017900A KR 20210103628 A KR20210103628 A KR 20210103628A
Authority
KR
South Korea
Prior art keywords
rpl
node
parent
rank
instability
Prior art date
Application number
KR1020200017900A
Other languages
English (en)
Other versions
KR102413475B1 (ko
Inventor
유성은
이준영
Original Assignee
대구대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 대구대학교 산학협력단 filed Critical 대구대학교 산학협력단
Priority to KR1020200017900A priority Critical patent/KR102413475B1/ko
Publication of KR20210103628A publication Critical patent/KR20210103628A/ko
Application granted granted Critical
Publication of KR102413475B1 publication Critical patent/KR102413475B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/04Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
    • H04W40/10Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

RPL을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법은 Rank 증가 및 부모 변경 시간을 통해 불안정성을 계산하고, 계산된 불안정성은 DIO(DODAG Information Objects) 메시지로 랭크(Rank)값에 반영하여 자식이 불안정한 부모를 선택하는 것을 회피하되, 잦은 부모 변경을 방지하여 에너지 효율성을 향상하기 위해서 주변 노드의 랭크(Rank)에 비례한 적응적 임계값을 사용하는 것을 특징으로 한다.

Description

RPL을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법{Routing Method for Improving Energy Efficiency and Packet Transmission / Reception in RPL-based Wireless Networks}
본 발명은 라우팅 방법에 관한 것으로서, 더 상세하게는 RPL을 기반한 무선네트워크에서 안정성을 개선하기 위한 라우팅 방법에 관한 것이다.
IoT(Internet of Things)는 지능화된 사물들이 통신기술을 사용해 모든 것이 연결되는 네트워크이다. 이 연결된 사물들은 정보를 교환하여 지능형 서비스를 제공한다. 교환되는 정보들은 클라우드, 빅데이터 등의 기술을 통해 초-연결사회를 형성하는 데 기여한다. 2017년 발표에서 Gartner는 연결된 사물이 2020년에 204억 개에 도달하고 2030년에는 2조 개가 넘을 것이라고 전망하였다. 또한 Gartner는 2019년 말에는 2018년 대비 21.5% 증가한 47억 개의 엔드 포인트가 사용되고 2020년에 58억 개의 엔드 포인트의 사용을 예상하는 만큼 앞으로도 IoT 기술의 중요도는 커질 것이다.
이러한 IoT는 무선 센서 네트워크(Wireless Sensor Network; WSN)로 연결된다. WSN은 작은 크기와 제한된 자원을 가지고 있어 비교적 저렴한 특징을 가지는 센서 노드가 주변 환경을 감지하고 측정한 정보를 수집하여 전송하는 네트워크이다. 무선으로 정보를 전송하는 WSN의 센서 노드는 산업, 군사, 환경, 의학 등의 많은 경우에 사용되어 환경 정보를 측정하고 처리하기 위한 센서, 메모리, 프로세스를 가지고 있다. 그리고 센서 노드는 접근이 어려운 위치를 고려한 무선 통신 및 배터리로 구동된다. 그렇기 때문에 WSN에서는 에너지, 통신 범위, 대역폭, 처리 및 저장 장치와 같은 제한된 리소스를 고려한 LoWPAN(Low-power Wireless Personal Area Networks)과 CoAP(Constrained Environments Application Protocol) 등의 표준화 기술들이 제정되었다.
LoWPAN은 저속 저전력 저비용의 무선 통신 네트워크로 배터리를 사용하는 저성능 임베디드 시스템에서 사용된다. 이러한 디바이스에서 동작하기 위해 IEEE 802.15.4 표준을 따라 2.4GHz의 대역에서 250kbps의 대역폭을 가지고 전송속도는 250kbit/s의 저속의 통신을 하며 기술적으로 단순하여 저렴하다. 또한, 전력 소비를 줄이기 위한 슬립 모드를 지원한다.
WSN에서는 수많은 디바이스의 연결을 위해 IPv6를 필요로 한다. IPv6는 무수히 많은 디바이스를 연결할 수 있도록 확장된 주소 지정이 가능하다. 기존에 사용하던 IPv4의 주소 크기를 32bit에서 128bit로 증가시키면서 무제한에 가까운 디바이스에게 주소를 할당할 수 있다.
IEEE 802.15.4에서 IPv6 패킷을 보내기 위해서는 6LoWPAN(IPv6 over Low-Power Wireless Personal Area Network)를 사용해 단편화, 재조립, 헤더를 압축하여 기존 IPv6를 저전력 WPAN에 적용해야 한다. 6LoWPAN은 Adaptation 계층을 IEEE 802.15.4 MAC계층과 IPv6계층 사이에 두어 IPv6 헤더 압축하는 기능, 자동으로 MAC주소에 따른 IPv6 주소를 배포하는 기능 등을 제공한다.
IETF CoRE(Constrained RESTful Environments) Working Group에서 정의한 CoAP은 저전력, 손실 등의 제약사항을 고려해야 하는 제한된 네트워크와 저성능 노드에 적합한 응용계층의 웹 전송 프로토콜이다. CoAP의 특징은 HTTP처럼 리소스를 사용하지만 축약된 메시지 헤더와 옵션 헤더를 가지고 있는 REST(Representational State Transfer) 방식의 경량화 된 프로토콜로서 낮은 처리능력과 적은 에너지를 고려해야 하는 IoT 디바이스에서의 M2M(Machine-to-Machine) 어플리케이션에 적합하다. 또한 HTTP와 쉽게 인터페이스 할 수 있다는 장점이 있다. CoAP은 서버 및 클라이언트로 구성되어 UDP에서 비동기적으로 메시지 전송을 한다. 그리고 유니캐스트와 멀티캐스트를 둘 다 지원하며 URI(Uniform Resource Identifier)와 Content-type을 지원하고 간단한 프록시 및 캐싱 기능이 있다.
최근, WSN을 사용하는 IoT 디바이스들이 확산되고 있고 이들은 LLN(Low power and Lossy Network) 환경으로 구성되는 경향이 있다. LLN은 ROLL(Routing Over Low power and Lossy networks) Working Group에서 분석한 요구사항을 표준으로 제정되었다. LLN 환경은 처리 능력 및 메모리 그리고 에너지가 제한된 수천 개의 노드로 구성된 것을 의미하고 이러한 노드들은 일반적으로 불안정한 링크로 연결되어 있다. 그러므로 LLN은 자원(메모리, 에너지) 제약적인 환경에서 경로 다양성, 노드 속성 인식 등의 요구사항을 충족해야 한다.
LLN의 요구사항을 만족시키기 위해서 RPL(IPv6 Routing Protocol for Low-Power and Lossy Networks)이 2012년에 IETF에 RFC 6550 문서로 표준화되었다. RPL은 산업, 가정, 도시 환경을 고려하여 자원 제약적인 장치에 적합하도록 설계되었다. RPL의 주요 목적은 저전력 무선을 사용하는 배터리로 동작하는 다수의 임베디드 장치에 IPv6 연결을 제공하는 것이다. RPL은 Industry 4.0의 스마트 공장에서 매우 적극적으로 활용될 것으로 예상된다. 스마트 공장에서는 수많은 센서로 위험 상황을 감지하고 실시간으로 처리해야 하므로 많은 IoT 장치가 사용된다. 이러한 IoT 장치들은 설치 및 유지 보수의 편의성과 경제성을 위해서 배터리로 동작하며 무선 네트워크로 구성된다.
스마트 공장은 간섭이 많고 노드의 이동성이 발생할 수 있는 환경이다. 이러한 환경에서 노드들은 네트워크의 단절과 링크의 손실이 발생하는 불안정한 네트워크를 형성한다. 네트워크가 불안정하면 잦은 부모 변경 및 패킷 손실 등의 문제가 발생한다. 특히, 부모 변경으로 인한 에너지 소모는 배터리를 사용하는 디바이스에 치명적인 요소이다. RPL은 LLN에 적합하도록 설계되었지만 RPL에서 자식 노드가 부모 노드를 선택할 때, 링크가 악화되고 부모 변경이 빈번하게 발생하는 부모 노드로 선택하는 문제가 있다.
노드의 불안정성은 부모의 잦은 변경과 Rank의 증가 때문이다. 이러한 상황이 빈번하게 발생하는 환경은 노드들이 이동하는 환경이다. 그러나 RPL은 불안정성이 발생할 수 있는 노드의 이동을 고려하지 않고 설계되어 이동성이 있는 장치에 적용이 필요하다. 특히, 산업 응용 분야에서 35km/h의 속도로 움직이는 디바이스를 지원해야 한다.
종래에는 모바일 노드가 리프로 동작하고 루트 노드로의 통신은 선호 부모만 필요하기 때문에 해결이 가능하다. 이러한 방법을 사용하는 ME-RPL(Mobility Enhanced RPL)은 모든 모바일 노드를 선호 부모로 선택되는 것을 피한다. ME-RPL에서는 경로 안정성을 위해서 명시적으로 이동성을 알리고 모바일 노드와 연결을 피하기 위해 DIS 메시지를 동적 간격으로 전송해 DIO 메시지를 요청한다. 하지만 대부분의 노드가 이동성이 있는 경우에 모바일 노드가 리프로 동작하면 고정 노드에 집중되어 라우팅 성능이 저하될 수 있다. 또는 특정 경우에만 이동성을 가지지만 항상 리프(leaf)로 동작하면 링크 측면에서 낭비가 될 수 있다. 이동성 또는 링크의 상태에 따른 적응적인 동작이 필요하다.
mod-RPL는 랜덤 궤적, 일시 정지 시간 및 속도를 고려하여 동적 환경에 적합한 타이머 알고리즘이다. mod-RPL에서는 Rank와 평균 RSSI(Received Signal Strength Indicator)를 통해 선호 부모 노드를 선택한다. 그리고 모바일 노드는 속도와 방향에 따른 선호 부모의 무선 범위를 벗어나는 TL(Time to Leave)를 계산한다. 이 TL을 이용하여 다음 제어 메시지의 간격을 조절한다. mod-RPL에서는 RSSI를 사용하여 거리를 추론하는 문제에서 환경적인 요인 또는 간섭으로 인해 정확도가 부족하다는 문제가 있다.
이 외 RSSI를 사용하여 거리를 측정하는 RPL 연구에는 동일한 문제점이 있을 것으로 보인다. RRD-RPL는 두 개의 제어 메시지로부터 Old RSSI와 New RSSI 값을 저장하고 이를 이용해 부모 노드로 이동 방향을 고려한다. 그리고 이동 방향 모니터링을 통해 루프를 방지하고 동적 DIO 주기 관리를 사용한다. 최종적으로 전송 범위의 히스테리 존과 다중 싱크를 고려한 MRRD+ 메커니즘을 연구하고 RPL을 향상시켰다. 하지만 실제 RSSI의 신호가 불안정한 환경에서 이동성을 파악하기 힘들 것이라는 문제가 있다.
KP-RPL(Kalman Positioning RPL)는 실제 WSN에서 발생하는 RSSI의 위치 부정확성을 고려하기 위해 칼만 포지셔닝을 사용한 RPL 메트릭을 사용한다. 칼만 필터링에 기반한 위치 결정 메커니즘을 포함함으로써 모바일 노드의 위치 결정 정확도를 향상시키고 속도 추정을 고려하여 위치를 예측할 수 있도록 한다.
MoMoRo는 라우팅 계층과 링크 계층의 사이의 이동성 지원 계층이다. MoMoRo에서는 이동성을 지원하기 위해서 연결이 단절되면 이웃 노드에게 요청을 통해 주변 정보를 신속하게 수집한다. 이를 퍼지 추출기를 사용하여 링크 품질을 판단한다. 또한 변화하는 채널 환경에 적응하도록 임계값을 재구성한다. 결과적으로 높은 PDR을 달성하였지만 오버헤드가 증가하였다는 문제가 있다.
Co-RPL는 DAG 루트 기준으로 원형 영역으로 나누는 Corona 메커니즘을 기반으로 한다. Co-RPL에는 트리클 타이머 대신 DODAG root가 주기적으로 DIO 메시지를 전송한다. 이 DIO 메시지는 C_ID를 포함하며 노드가 부모를 선택하고 브로드 캐스트 할 때 이 C_ID를 증가시킨다. 이 C_ID는 DODAG root에 대해 지역화하기 위해 사용된다. 이 방법은 DIO 메시지로 C_ID가 업데이트되지만 고정적인 DIO 메시지 전송 주기를 가지고 있다. 그러므로 통신상태를 고려하지 않은 DIO 메시지 전송은 오버헤드를 발생할 수 있다.
에너지 측면에서는 잔여 에너지가 적은 노드를 회피하는 것을 목적으로 하는 연구가 있다. 이 연구에서는 잔여 에너지를 고려한 OF으로 Rank 값에 반영하였다. 연구의 결과로 전송 정확도는 적은 폭으로 감소하면서 네트워크 수명을 증가하였고 에너지를 소모를 균등하게 분배하였다. 하지만 배터리의 수명을 고려하기 때문에 불안정한 링크로 연결이 될 가능성이 존재한다. 이 경우에 전체 네트워크 측면에서는 재전송과 부모의 변경으로 인한 에너지 소모가 증가하는 문제점을 가진다.
트래픽이 특정 노드에 집중되는 병목현상과 전송 품질을 고려하여 RPL을 개선한 연구에서는 에너지 효율성과 지연시간을 개선하였다. 이 연구에서는 병목현상이 발생한 노드의 트래픽을 반영한 예상 수명과 ETX를 기반으로 한 누적 링크 품질을 계산하여 메트릭으로 사용하였다. 이 메트릭에서 예상 수명으로 에너지 소비를 줄이고 누적 링크 품질로 지연시간을 줄인다. 하지만 DIO 메시지 추가적인 정보를 포함하기 때문에 메시지의 크기가 증가하고 이동성 또는 간섭이 많이 발생하면 예상 수명과 ETX의 변화가 커져 메트릭의 변화가 많이 발생하는 문제가 발생할 수 있다.
기존 연구에서는 이동성을 판단하기 위해서 RSSI를 사용하여 정확도가 부족한 문제점과 이동성을 보완하기 위해서 추가적인 오버헤드를 발생하였다. 또는 링크의 상태를 고려하지 않거나 추가적인 정보를 DIO 메시지에 포함한다.
KR 10-1208400 B
본 발명은 상기와 같은 기술적 과제를 해결하기 위해 제안된 것으로, 최소한의 오버헤드로 안정적인 연결을 구성하기 위해서 ETX를 기반으로 계산된 Rank 값과 부모의 변경 시간을 통한 링크상태를 판단하는 ADP-RPL 라우팅 방법을 제공한다.
또한, Rank 증가 및 부모 변경 시간을 통해 불안정성을 계산하고, 계산된 불안정성은 DIO메시지의 Rank 값에 반영하여 자식이 불안정한 부모를 선택하는 것을 회피하는 ADP-RPL 라우팅 방법을 제공한다.
또한, 잦은 부모 변경을 방지하여 에너지 효율성을 향상하기 위해서 주변 노드의 Rank에 비례한 적응적 임계값을 사용하는 ADP-RPL 라우팅 방법을 제공한다.
상기 문제점을 해결하기 위한 본 발명의 일 실시예에 따르면, 패킷을 오류 없이 전송하는데 필요한 예상 전송 횟수인 ETX(Expected Transmission Count)를 기반으로 계산된 랭크(Rank)값과 부모의 변경 시간을 통해 링크상태를 판단하는 것을 특징으로 하는 ADP-RPL 라우팅 방법이 제공된다.
또한, 본 발명의 다른 실시예에 따르면, Rank 증가 및 부모 변경 시간을 통해 불안정성을 계산하고, 계산된 불안정성은 DIO(DODAG Information Objects) 메시지로 랭크(Rank)값에 반영하여 자식이 불안정한 부모를 선택하는 것을 회피하는 것을 특징으로 하는 ADP-RPL 라우팅 방법이 제공된다.
또한, 본 발명의 또 다른 실시예에 따르면, 잦은 부모 변경을 방지하여 에너지 효율성을 향상하기 위해서 주변 노드의 랭크(Rank)에 비례한 적응적 임계값을 사용하는 것을 특징으로 하는 ADP-RPL 라우팅 방법이 제공된다.
또한, 본 발명의 또 다른 실시예에 따르면, Rank 증가 및 부모 변경 시간을 통해 불안정성을 계산하고, 계산된 불안정성은 DIO(DODAG Information Objects) 메시지로 랭크(Rank)값에 반영하여 자식이 불안정한 부모를 선택하는 것을 회피하되, 잦은 부모 변경을 방지하여 에너지 효율성을 향상하기 위해서 주변 노드의 랭크(Rank)에 비례한 적응적 임계값을 사용하는 것을 특징으로 하는 ADP-RPL 라우팅 방법이 제공된다.
제안된 ADP-RPL 라우팅 방법은 링크 품질 악화 및 네트워크의 불안정성을 반영할 수 있는 라우팅 프로토콜이다. 불안정한 노드를 피하기 위해 ADP-RPL에서는 노드가 DIO 메시지를 보낼 때, Rank 값의 증가와 부모의 변경 시간을 링크 품질의 악화로 고려하여 불안정성을 계산하고 이웃 노드로 전달하는 Rank 값에 반영한다. ADP-RPL에서 자식 노드는 링크의 불안정성이 반영된 Rank 값을 이용하여 불안정한 노드를 부모 노드로 선택하지 않음으로 라우팅을 안정적으로 유지한다.
ADP-RPL에서는 잦은 부모 변경을 방지하기 위해서 주변 노드의 Rank에 비례한 임계값을 사용한다. 기존 RPL에서 하위 노드는 Rank 값과 관계없이 동일한 임계값을 사용하여 Rank의 변화가 비교적 큰 하위 노드의 경우에 부모 변경을 방지하지 못한다. 이를 해결하기 위해서 ADP-RPL에서는 적응적인 임계값을 사용하여 변화가 적게 발생하는 상위 노드에서는 작은 임계값으로 제한하고 변화가 많이 발생하는 하위 노드에서는 더 큰 임계값을 사용하여 부모의 변경을 제한한다. 이 적응적인 임계값은 RPL의 전체 노드들에서 발생하는 빈번한 부모 변경을 강력하게 제한하여 에너지 소비를 줄인다.
도 1은 RPL의 구조를 나타낸 도면
도 2는 ADP-RPL의 과거의 불안정 정도를 통해 불안정성인 Instability 값을 계산하는 알고리즘을 나타낸 도면
도 3 및 도 4는 C 와 Variation(V), Hold_time(node_hold_time)의 따른 Instability의 변화를 나타낸 도면
도 5는 ADP-RPL의 적응적 Threshold 계산 알고리즘을 나타낸 도면
도 6은 검증 어플리케이션 Collect View를 실행한 화면을 나타낸 도면
도 7은 Cooja 시뮬레이터에서 그리드 토폴로지에 대한 도면
도 8은 그리드 토폴로지에서 각 알고리즘의 적용에 따른 전송 실패율에 대한 그래프
도 9는 각 알고리즘의 적용에 따라 부모가 변경된 횟수를 나타낸 그래프
도 10은 그리드 토폴로지에서 각 알고리즘의 평균 전력 사용량을 나타낸 도면
도 11은 각 알고리즘의 전체 전력 사용량을 나타낸 도면
도 12는 이동성이 있는 랜덤 토폴로지의 구성도
도 13은 랜덤 토폴로지에서 전송 실패율을 나타낸 도면
도 14는 랜덤 토폴로지에서 부모 변경 횟수를 나타낸 도면
도 15는 랜덤 토폴로지에서 전체 전력 소모를 나타낸 도면
도 16은 Cooja 시뮬레이터에서 그리드 토폴로지
도 17 Sender 노드의 수에 따른 전송 실패율을 나타낸 도면
도 18 Sender 노드의 수에 따른 평균 부모 변경 횟수를 나타낸 도면
도 19 Sender 노드의 수에 따른 평균 전력 소모를 나타낸 도면
도 20 CoAP을 사용한 네트워크 구조를 나타낸 도면
도 21 Sink 노드와 Sender 노드의 메시지 교환을 나타낸 도면
도 22 CoAP을 사용한 그리드 토폴로지를 나타낸 도면
도 23 혼잡한 환경에서 전송 실패 확률을 나타낸 도면
도 24 혼잡한 환경에서 부모 변경 횟수를 나타낸 도면
도 25 혼잡한 환경에서 평균 전력 소모를 나타낸 도면
도 26 불안정 노드가 있을 때 전송 실패 확률을 나타낸 도면
도 27 불안정 노드가 있을 때 부모 변경 횟수를 나타낸 도면
도 28 불안정 노드가 있을 때 평균 전력 소모를 나타낸 도면
도 29 RE-Mote 디바이스의 실사도를 나타낸 도면
도 30 테스트베드에서 노드 위치를 나타낸 도면을 나타낸 도면
도 31 테스트베드에서 전송 실패 확률과 부모 변경 횟수를 나타낸 도면
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.
- RPL
LLN(Low power and Lossy Network)은 처리 능력, 메모리 그리고 에너지가 제한된 수천 개의 노드가 불안정한 링크로 연결된 네트워크이다. 예를 들어 LLN 환경에서는 주변에서 움직임이 발생하거나 고전압으로 인한 노이즈, 통신에 의한 간섭과 같은 많은 요소로 인해서 특정 노드의 네트워크 상태가 불안정해질 수 있다. 이러한 경우에서는 노드의 링크가 악화되고 노드의 부모가 빈번하게 변경되는 등의 문제가 발생하게 된다. 특히 빈번한 부모 변경에서는 배터리를 사용하는 디바이스에서 에너지 효율성을 저하하기 때문에 심각한 문제가 된다.
LLN은 RFC 5867, RFC 5826, RFC 5673, RFC 5548 문서로 빌딩, 집, 공장, 도시 등 저전력과 손실이 발생하는 다양한 환경에서의 라우팅을 위한 요구 조건을 정의하고 있다. 이 요구 사항에서는 P2P(Point-to-Point)뿐만 아니라 다양한 트래픽 패턴에 따라 MP2P(Multipoint-to-Point) 또는 P2MP (Point-to-Multipoint)의 트래픽 패턴과 유니캐스트, 애니캐스트, 멀티캐스트의 지원을 요구한다. 128kb 이하의 메모리를 가진 8bit의 장치를 호스트로 동작하고 1% 이하의 듀티 사이클로 5년 이상의 수명을 제공해야 한다. 이외 경로 다양성, 수렴 시간 등의 수많은 요구 사항들을 정의하고 있다.
RPL(IPv6 Routing Protocol for Low-Power and Lossy Networks)은 거리 벡터 라우팅 프로토콜로 LLN의 조건을 위해서 ROLL Working Group에서 설계되었다. RPL의 주요 목적은 산업, 가정 및 도시 환경에서 저전력 무선을 사용하는 다수의 배터리로 작동하는 무선 임베디드 장치에 IPv6 연결을 제공하고 데이터를 다수의 홉으로 전달하는 것이다. RPL 라우팅 프로토콜은 IPv6 기반 프로토콜이며 저전력 및 손실이 잦은 환경에서 사용된다.
RPL에서는 링크 비용 및 노드 정보를 고려한 DODAG(Destination Oriented Directed Acyclic Graph)를 형성한다. DODAG는 방향성이 있지만 순환하지 않는 그래프인 DAG(Directed Acyclic Graph)에서 하나의 DODAG root로 향하는 목적지를 가지는 그래프이다. DODAG root는 LLN 경계 라우터(LLN Border Route; LBR)로 동작하며 DODAG를 다른 라우팅 프로토콜로 재배포할 수 있다. 이 DODAG root로 향하는 경로를 상향 경로라는 용어를 사용하며 DODAG root에서 다른 노드로 전송하는 경로를 하향 경로라고 한다.
RPL에서 동일한 목적 함수(Object Function; OF)를 사용하는 DODAG의 집합은 RPL Instance라고 한다. 네트워크에는 여러 개의 RPL Instance가 존재하며 RPL Instance ID로 하나 이상의 DODAG 집합을 식별한다.
도 1은 RPL의 Instance와 DODAG 및 Rank로 구성된 구조를 나타낸 것이다. RPL Instance는 여러 개의 DODAG를 가지고 있으며 각 DODAG는 고유한 DODAG ID로 식별된다. DODAG Version Number는 전체 토폴로지를 재구성하여 새로운 버전을 형성하기 위해 DODAG root에서 순차적으로 증가하는 값이다.
Rank는 각 노드에서 DODAG root까지의 상대 거리 및 위치를 결정한다.
RPL의 Rank는 상향인 DODAG root로 갈수록 엄격하게 감소하고 하향인 리프(leaf) 노드로 갈수록 단조 증가하는 16비트 스칼라 값이다. RPL에서는 Rank를 사용해 부모 노드를 선택함으로 경로를 형성한다.
RPL은 DODAG를 형성하기 위해서 3가지의 주요 ICMPv6(Internet Control Message Protocol version 6) 메시지인 DIO, DAO, DIS를 사용한다.
RPL에서 토폴로지는 DIO(DODAG Information Objects) 메시지로 생성되고 유지, 관리된다. DIO 메시지는 Rank, Instance ID, DODAG ID, Version Number 등의 주요 정보들을 포함하고 있으며 각 노드로 전파된다. DIO 메시지를 받은 노드는 Instance ID와 DODAG ID를 통해 DODAG에 참여한다. 그리고 DIO 메시지의 Rank와 목적 함수를 통해 자신의 부모를 정하고 Rank 값을 갱신한다.
RPL 라우팅은 다음 과정을 통해서 생성된다. 처음은 DODAG root를 시작으로 브로드캐스트로 DIO 메시지를 전송한다. 근처의 이웃 노드는 루트로부터 DIO 메시지를 수신하여 루트를 부모로 선택한다. 부모를 선택한 노드는 브로드캐스트로 DIO를 전송한다. 두 개의 DIO를 수신한 경우 목적 함수를 통해 부모를 선택한다. 이 과정은 모든 노드가 DODAG에 참여할 때까지 하향 전파된다.
DIS(DODAG Information Solicitation) 메시지는 이웃에게 라우팅 정보를 업데이트하기 위해서 DIO 메시지를 요청한다. DIS 메시지를 수신한 이웃 노드들은 DIO 메시지로 응답한다. 노드는 DIO 메시지를 확인하고 목적 함수를 사용하여 계산된 Rank를 통해 가진 노드를 선호 부모로 선택한다.
DAO(Destination Advertisement Object)는 목적지 정보를 상향 전파하여 라우팅 테이블을 관리하기 위해서 사용된다. 선호 부모를 선택한 노드는 비저장 모드 경우에 라우팅 테이블을 가지고 있는 DODAG root로 DAO 메시지를 전송한다. 저장 모드에서는 중간 노드가 라우팅 테이블을 가지고 있어 라우팅 테이블이 있는 선택된 부모로 DAO 메시지를 보내 하향 경로를 유지한다.
트리클 타이머는 DIO 메시지 전송의 주기를 조절한다. 잦은 DIO 메시지는 트래픽과 리소스 사용을 발생하기 때문에 RPL에서는 에너지 소비를 줄이고 신뢰성을 향상시키기 위해서 트리클 타이머에 의해 DIO 메시지를 주기적으로 전송한다. DIO의 전송은 최소 Imin에서 시작해서 전송될 때마다 증가하여 Imax에 도달할 때까지 2배씩 증가하는 타이머이다. RFC 6550에서는 Imin의 기본값은 3으로 2^DIOIntervalMin으로 계산되어 최소 주기는 8ms이다. 네트워크가 최대로 안정된 상태에서의 노드의 Imax는 20으로 약 1048초의 주기를 가진다.
RPL에서는 최소 비용 경로를 가진 부모를 선택하기 위해서 목적 함수(Object Function; OF)를 사용된다. 목적 함수는 RPL의 노드가 경로를 선택하고 최적화하는 방법을 정의하는 것이다. 그 중 두 가지의 표준인 OF0(Objective Function Zero)와 MRHOF(the Minimum Rank with Hysteresis Objective Function)가 많이 사용된다.
OF0는 DODAG root로의 홉을 기반으로 계산되어 노드들은 최소 경로의 라우팅을 형성한다. 즉, OF0에서는 최소한의 노드를 통과하는 경로가 적은 Rank 값을 가지게 된다. 반면, MRHOF는 패킷을 오류 없이 전송하는 데 필요한 예상 전송 횟수인 ETX(Expected Transmission Count)를 사용하여 계산한다. ETX의 연산은 RFC 6551에서 수학식 (1)으로 예시한다. 수학식 (1)의 Df는 이웃이 패킷을 수신할 확률이고 Dr은 ACK를 성공적으로 수신될 확률이다. MRHOF와 OF0를 비교하는 연구에서는 네트워크 품질 측면에서 신뢰성은 MRHOF는 OF0보다 우수하고 OF0는 낮은 전력과 빠른 연결 측면에서 우수 하다는 것을 보여준다.
<수학식 1>
Figure pat00001
MRHOF는 히스테리시스를 사용한다. OF0에서는 부모 선택에서 가능한 작은 낮은 순위를 가진 부모를 선호 부모로 선택한다. 하지만 히스테리시스를 사용하는 MRHOF에서는 현재 경로의 Rank와 새로운 경로의 Rank의 차이가 특정 임계값보다 큰 경우 새로운 경로를 선택한다. Rank의 차이가 임계값보다 작은 경우에 기존의 경로를 유지함으로 잦은 부모의 변경을 방지할 수 있다.
- ADP-RPL
1. Instability
이하 본 발명의 실시예에 따른 ADP-RPL 라우팅 방법에 대해서 설명한다. ADP-RPL은 DIO 메시지를 전달하기 전에 Rank 값의 증가와 노드의 부모 변경을 노드의 링크 상태 악화로 판단한다. ADP-RPL은 링크 상태에 따라 노드가 광고하는 Rank 값에 불이익을 줌으로써 부모 노드로 선택되지 않도록 하는 것을 목적으로 한다.
도 2는 ADP-RPL의 과거의 불안정 정도를 통해 불안정성인 Instability 값을 계산하는 알고리즘이다. 이 알고리즘은 Trickle 알고리즘에 따라 주기적으로 실행된다. 트리클(Trickle) 타이머는 노드의 부모가 변경되었을 경우 더 빠르게 DIO 메시지를 광고한다. 그러므로 이 알고리즘은 부모가 변경되었을 때 최근변화를 더 자주 반영하게 된다.
1) Rank의 증가를 통한 링크 악화 판단
Instability 알고리즘은 매번 현재 노드의 Rank 값을 참조하고 현재의 Rank값이 최댓값보다 작을 때 동작한다. 그리고 링크 상태의 악화를 판단하기 위해서 과거의 Rank 값과 현재의 Rank 값이 존재하는 경우에 계산한다. Instability에서 링크의 악화를 판단하기 위해서 과거의 Rank보다 현재의 Rank가 증가했을 경우에 차이를 V에 저장한다. RPL의 MRHOF에서 Rank 값은 링크의 상태를 나타내는 ETX에 의해 계산되기 때문에 V의 증가는 상위노드에서의 링크 상태가 악화를 의미한다.
평균에 사용되는 C는 배열에 저장된 V의 개수를 나타내는 것으로 알고리즘이 실행될 때마다 증가하여 배열의 최대 크기까지 증가한다. C는 링크 상태의 히스토리를 저장하는 배열이 완성되지 않을 때까지 Instability를 조절하기 위해서 사용되는 값이다. C가 증가된 이후에 최근 상태에 더 큰 가중치를 두고 과거 기록을 반영하기 위해 메모리를 이동하여 V를 배열의 첫 번째에 저장한다.
2) 부모의 유지 시간을 고려한 링크 악화 판단
ADP-RPL에서는 불안정한 노드로 판단할 때 부모의 변경을 반영한다. 부모가 안정적인 경우에 V의 반영을 감소하기 위해서 V는 저장될 때 노드가 부모 노드를 유지한 시간인 node_hold_time으로 나누어 저장된다. 이 node_hold_time 은 최솟값이 1이고 Trickle 알고리즘이 증가할 때 같이 증가되고 부모가 변경되면 초기화된다. 그러므로 노드가 부모가 변경되지 않아 안정적인 경우 node_hold_time은 증가하게 되고 배열에 저장되는 V는 감소하게 된다. 이를 통해 ADP-RPL에서는 Rank 값이 악화되더라도 노드가 부모가 지속적으로 변경되지 않은 경우에 비교적 안정적인 노드로 판단한다. 반면 부모가 변경되고 Rank가 증가하는 것을 최악의 경우로 고려하여 Instability가 급격히 증가한다. 이 V값은 수학식 (2)으로 표현할 수 있다.
<수학식 2>
Figure pat00002
Instability의 반영은 R을 사용해서 조절된다. R이 크면 Instability의 크기가 증가하여 불안정 노드를 더 회피할 수 있지만 적은 Rank의 변화에도 Instability의 값이 상승한다. Instability를 많이 반영할수록 Rank의 변화도 증가하여 부모 노드의 변경이 빈번하게 발생할 수 있다.
Instability 값은 저장된 배열의 V 값을 최근 값에 가중치를 적용한 평균으로 계산된다. 배열의 평균으로 Instability는 순간적인 변화에 반응하는 것이 아니라 과거의 불안정 정도를 반영한다. 그리고 순차적으로 가중치를 둠으로써 과거의 변화보다 최근의 변화에 더 민감하게 반응할 수 있다. 즉, Instability는 히스토리가 저장된 배열인 array와 배열에 저장된 개수인 C를 사용하여 수학식 (3)으로 계산된다.
<수학식 3>
Figure pat00003
최종적으로 계산된 Instability 값은 수학식 (4)처럼 노드가 주변 노드로 전달하는 DIO 메시지의 Rank 값에 페널티를 부과한다. 노드가 불안정할수록 DIO 메시지의 Rank는 증가된 Instability가 반영되어서 광고된다. 이를 통해 Instability는 노드가 불안정한 노드보다 안정된 노드를 우선적으로 부모로 선택할 수 있도록 한다.
<수학식 4>
Figure pat00004
특히, Instability는 이동성이 있는 노드에서 효율적으로 동작하게 된다. 이동성이 존재하는 경우의 주요 특징인 링크 상태와 부모 노드의 변화를 반영하기 때문이다. 즉, 노드가 이동성이 발생하여 불안정하다고 판단되면 자신이 광고하는 Rank 상태에 페널티를 부과함으로 다른 노드들이 선호 부모로 선택할 가능성이 낮아져 리프(leaf) 노드로 동작할 가능성이 증가한다.
Instability가 과도하게 반영되는 것을 방지하기 위해서 Rank 값의 일정 비율 이상의 반영을 제한하는 것을 권장한다. 빈번한 부모 변경과 Rank 값의 증가로 Instability의 값이 Rank보다 큰 경우에 ETX를 반영한 Rank는 제 기능을 못 하고 최악의 상황에 루프가 발생할 수 있다. 본 발명에서는 Instability의 최댓값이 Rank의 50% 이상이 넘지 않도록 하였다.
도 3 및 도 4는 C 와 Variation(V), Hold_time(node_hold_time)의 따른 Instability의 변화를 나타낸 도면이다.
도 3은 배열이 초기화된 상태에서 배열에 저장될 때마다 C가 0부터 시작해서 증가할 때의 Instability의 변화이다. 도 4는 C가 배열 최대 크기인 10일 때의 Instability의 변화를 나타낸다. 배열이 모두 저장될 때까지는 도 3과 같이 Variation에 따른 Instability의 변화는 도 4의 변화보다 작게 반영된다. Rank의 변화가 발생하였지만 부모가 안정될 때는 도 3과 도 4에서 Variation의 변화의 반영이 Hold_time에 따라 억제된다. 그리고 과거에 Rank의 변화가 발생하여 Instability가 증가되었지만 노드가 안정된 시간이 길어지면 Instability는 점차 감소한다.
이 Instability를 사용함으로 Rank의 증가와 부모의 변경을 링크의 악화로 반영하여 DODAG를 형성한다. 노드는 Instability를 반영한 Rank를 DIO 메시지로 전송함으로 자신의 불안정을 알리고 자식 노드는 증가된 Rank를 통해 부모의 선택을 회피한다. 이를 통해 불안정한 링크를 가진 노드를 회피하여 안정적인 라우팅을 형성한다.
2. 적응적 Threshold
MRHOF에서는 수학식 (5)으로 부모의 Rank 값에 부모와의 ETX 값으로 부모의 예상 Rank 값을 구한다. 수학식 (6)은 이 예상 Rank의 최소 결과를 가지는 부모를 선호 부모로 선택한다. 하지만 MRHOF는 새로운 최소 Rank가 현재 Rank의 임계값보다 작지 않으면 새 부모를 선택하지 않는 히스테리시스를 사용함으로 부모의 빈번한 부모 변경을 방지한다.
<수학식 5-6>
Figure pat00005
RFC 6551에서 ETX의 값은 정수 형식의 16bit를 사용하여 표현되며 전송성공 확률에 128을 곱한 가장 가까운 정수로 반올림하여 인코딩된다. 이 경우에 RFC 6719에서는 임계값인 PARENT_SWITCH_THRESHOLD을 현재 경로보다 최소 1.5번 감소한 전송이 있는 경우에만 새 경로로 전환하도록 192의 값을 정하고 있다. ContikiRPL에서는 RFC 6719에 정의된 임계값보다 적극적인 부모 변환을 위해서 0.75번 감소한 전송에 변경하도록 96을 기본 임계값으로 사용한다.
하지만 기존의 임계값은 모두 동일해서 Rank의 변화가 안정적인 상위 노드에 비해 Rank의 변화가 큰 하위 노드에서 매우 빈번한 부모 변경이 발생한다. 루트 노드와 가까운 상위 노드의 경우는 루트 노드까지의 적은 홉의 경로와 짧은 링크를 가지기 때문에 Rank의 변화가 비교적 적다. 하지만 하위 노드로 갈수록 루트 노드까지의 상위 부모의 영향과 긴 링크로 인한 Rank의 변화가 크게 발생한다. 이 경우에 고정된 임계값은 상위 노드에서는 강력하게 부모 변경을 억제하지만 임계값보다 변화가 큰 하위 노드에서는 부모 변경을 억제하지 못하게 된다.
특히, ADP-RPL에서는 Instability 값을 사용하여 RPL보다 Rank의 변화가 더 증가한다는 문제점이 있다. Instability는 상위 노드의 불안정성을 반영하여 DIO 메시지의 Rank 값에 반영하기 때문에 기존 ETX만 고려했을 때보다 Rank의 변화의 크기가 증가한다. 그러므로 Instability를 사용한 ADP-RPL에서는 더 효율적으로 부모를 억제하는 적응적 Threshold가 필요하다.
ADP-RPL에서는 부모 노드의 변경을 감소시키기 위해서 임계값을 주변 노드에 비례해서 증감시킨다. 도 5는 임계값 계산 알고리즘이다. 노드는 두 개의 잠재적 부모 노드 예상 Rank 값을 계산한다. 임계값은 예상 Rank 값의 평균에 특정 λ를 나누어서 도출한다. 두 잠재적 부모의 Rank의 차이가 임계값 보다 적으면 변경되지 않지만 크면 Rank가 적은 부모가 새로운 선호 부모가된다. 이를 모든 이웃 노드에 대해서 반복 수행한다.
이 임계값은 루트에 가까운 상위 노드인 경우 링크가 안정적이고 Rank가 낮기 때문에 감소한다. 반대로 하위 노드의 경우에 링크 상태에 따른 Rank의 변화가 증가하지만 임계값도 증가함으로 부모의 변경을 제한할 수 있다. 그리고 임계값은 λ에 따라서 조절된다. λ가 크면 임계값이 줄어들어 노드는 Rank 값의 변화에 더 민감하게 반응하지만 에너지 소모가 증가한다. 반대로 λ가 작으면 노드는 Rank 값의 변화에 반응하지 않아 성능이 하락할 수 있다.
- 성능평가
1. 시뮬레이터를 사용한 성능 평가
이하 Cooja 시뮬레이터를 사용하여 ADP-RPL과 RPL 및 Instability와 적응적 Threshold를 각각 적용한 결과를 분석하여 기술한다. 그리고 제안한 ADP-RPL을 이동성 있는 노드가 있는 환경과 노드에 개수에 따른 성능을 평가한다. 마지막으로 실제 환경을 고려하기 위해 CoAP 메시지를 전송하는 혼잡한 네트워크에서 ADP-RPL의 성능을 분석하였다. 평가의 주요 지표는 부모 변경과 전송 실패율에 따른 에너지 효율성 측면이다.
1) 구현 및 측정 방법
ADP-RPL의 성능을 평가하기 위하여 시뮬레이션을 수행한다. 다음 표 1은 시뮬레이션의 구성 환경을 나타낸 것이다. 시뮬레이터로는 Cooja를 사용하고 디바이스로는 Contiki OS 기반의 Zolertia사의 Z1을 사용한다.
<표 1>
Figure pat00006
Contiki는 IoT를 위한 초소형 마이크로 컨트롤러용으로 CoAP, RPL, 6LoWPAN, ContikiMAC 등의 저전력 무선 통신을 제공하는 운영체제이다. 주요 특징으로는 Contiki는 C 언어로 개발된 오픈소스 운영체제이고 모든 응용 프로그램도 C 언어로 개발되어 Texas Instruments MSP430 및 Atmel AVR 등의 여러마이크로 컨트롤러 아키텍처에 이식성이 우수하다. 그리고 Contiki는 이벤트 중심 커널을 기반으로 개별 프로세스에 적용 가능한 선점형 멀티 쓰레딩 옵션을 제공한다. 그러므로 이벤트 중심 커널에서 응용 라이브러리를 구축할 수 있어 재진입이나 다중 스택의 오버헤드가 없이 쓰레드 기반 프로그램이 실행이 가능하다.
Contiki의 RPL 라우팅은 ‘/core/net/rpl’의 디렉토리에 여러 파일로 구성되어 있다. 그 중 ‘rpl-imcp6.c’는 ICMP 메시지를 전송하기 위한 기능을 가지고 있다. 이 파일에서는 DIO 메시지 및 DIS, DAO등 제어 메시지의 입출력을 담당한다. 본 발명에서의 Instability는 ‘rpl-imcp6.c’의 ‘dio_output()’ 함수 내에 구현된다. 도 5에서 제안한 임계값 알고리즘은 부모를 선택하는‘rpl-mrhof.c’의 ‘best_parent()’ 함수에서 잠재적 부모들의 Rank 값에 비례한 임계값을 설정하도록 구현되어 있다. ETX 값의 계산은 Contiki에서 제공되는 알고리즘을 사용하였다.
Contiki OS에서 사용되는 듀티 사이클인 ContikiMAC은 전력 효율적인 wake-up 메커니즘을 사용하여 장치가 트랜시버를 중지할 수 있도록 한다. ContikiMAC은 매우 제한적인 배터리로 동작하는 디바이스를 위해서 이웃 노드에 의해 프레임이 전송되고 있는지 채널을 주기적으로 모니터링을 한다. 이를 통해 ContikiMAC를 사용하면 노드가 네트워크 통신에 참여하면서도 라디오를 약 99% 동안 중지 상태로 유지할 수 있다.
Cooja는 센서 네트워크를 시뮬레이션하기 위한 Java로 구현된 시뮬레이터로서 Contiki를 하드웨어로 이식하기 전에 Cooja에서 에뮬레이션이 가능하다. 그리고 네트워크 레벨만 아니라 운영 체제 레벨 및 머신 코드 명령 레벨에서 동시 시뮬레이션을 할 수 있다는 장점이 있다. 이 시뮬레이션의 결과는 Collect View 툴, 타임 라인, 라디오 메시지, RSSI 값 등으로 확인할 수 있고 패킷은 pcap의 확장자로 저장할 수 있어 Wireshark 프로그램을 사용하여 분석할 수 있다. 기본적으로 Cooja는 이동성을 가진 노드를 지원하지 않지만 이동성 플러그인을 통해 시간에 따른 노드의 좌표를 설정할 수 있다. 그리고 거리 손실이 있는 UDGM(Unit Disk Graph Medium)을 사용하여 수신할 수 있는 전송범위 디스크를 설정이 가능하여 손실이 많은 네트워크를 구성할 수 있다.
ADP-RPL의 성능을 검증하기 위해 먼저 Collect-View 어플리케이션을 사용해서 노드 속성을 수집한 결과를 살펴본다. Collect-View 메시지에는 부모노드 정보, ETX 값, Rank 값, 이웃 노드의 수, 전류 소모를 계산할 CPU, LPM(Low Power Mode), TX, RX의 사용 시간 등의 정보를 포함하고 있다. Sender 노드는 자신의 정보를 포함해 Sink 노드로 UDP 메시지를 전송한다. 이 정보들은 Collect View 툴을 사용해 Sink 노드의 시리얼 통신을 통해 메시지를 수집하고 패킷의 메시지의 포함된 각 정보들을 파싱해 시각화한다. 도 6은 Collect View를 실행한 화면이다.
전체 네트워크에서 사용되는 에너지 소모를 측정하기 위해서 energest_type_time 함수를 사용한다. 이 함수는 CPU, LPM, TX, RX의 사용 시간을 클럭 틱으로 반환한다. 따라서 각 클럭 틱의 전력 소비를 통해 전체 사용 시간 동안 사용한 전력 소모를 계산할 수 있다. 데이터시트의 초당 현재 전류 소모를 참고하고 이 전류 소모량을 클럭 틱(Z1에서 32,768)로 나누어 클럭 틱 당 전류소모를 계산한다. 단, CPU는 Contiki에서 설정된 기본 동작 속도인 8Mhz를 기준으로 계산한다. 이 전류 소모량과 동작 전압(Z1에서 3V)을 곱하여 클럭 틱 당 전력 소모를 계산한다. 하드웨어 측정에 비해서 energest_type_time 함수를 사용한 전력 소비량 측정은 94% 정확하다. Zolertia Z1 디바이스 기준의 틱 당 소비 전력은 표 2와 같다.
<표 2>
Figure pat00007
2) Collect View를 사용한 성능 평가
ADP-RPL의 성능을 분석하기 위해 도 7과 같이 Cooja 시뮬레이터에서 그리드 토폴로지(Sink 노드 1개와 Sender 노드 10개)로 노드를 배치하였다. 그리고 기존 RPL을 사용한 경우와 제안된 ADP-RPL에서 Instability를 사용하지 않을 때와 λ가 2일 때, 4일 때를 각각 비교하였다. 시뮬레이션에서 노드의 전송 성공률은 간섭이 심하고 손실이 심한 환경이라고 가정하여 반영하였다. 낮은 전송 성공률을 반영하기 위해서 수신 성공률은 70%, 전송 성공률은 70%로 설정하였다. 그리고 Cooja 시뮬레이터에서 UDGM 모델을 사용함으로 넓은 원은 다른 노드와의 간섭을 나타내고 좁은 원은 전송 범위를 의미하며 수신 성공률은 거리에 비례해서 감소한다. 평가는 패킷의 전송 실패율과 부모의 변경 횟수, 평균 전력 사용량과 총 전력 사용량이다. 시뮬레이션 결과는 1시간 동안 3번 측정하여 평균을 도출한 결과이다.
도 8은 그리드 토폴로지에서 각 알고리즘의 적용에 따른 전송 실패율을 그래프로 나타낸 것이다. 그리고 도 9는 각 알고리즘의 적용에 따라 부모가 변경된 횟수를 나타낸 것이다. 실험 결과 이 결과는 λ가 2로 설정된 ADP-RPL 이 기존의 RPL과 비교하여 낮은 패킷 손실률을 가지며 부모 변경 횟수가 77% 감소한다는 것을 보여준다. 그러나 ADP-RPL에서 Instability를 사용하면 Rank 변경이 더 두드러지기 때문에 적응적인 임계값을 사용하지 않을 경우 더 많은 부모 변경이 발생한다. 이 적응적인 임계값은 λ가 큰 경우 부모의 변경이 더 빈번하게 발생하고 λ가 적은 경우 더 엄격하게 제한되는 것을 확인할 수 있다. 그렇기 때문에 시스템에 따른 적절한 λ의 설정이 필요하다.
도 10은 그리드 토폴로지에서 각 알고리즘의 평균 전력 사용량을 나타낸 것이다. 그리고 도 11은 각 알고리즘의 전체 전력 사용량을 나타낸 것이다. 이 결과는 λ가 2로 설정된 ADP-RPL의 전체 시간 동안 평균 전력 소비가 RPL보다 더 효율적이며 전체 전력 소모가 RPL보다 약 15% 적게 나타난 것을 보여준다. 그리고 테스트 결과에서는 부모의 변경 횟수가 적을수록 전력소모가 감소하는 것을 확인할 수 있다.
이 실험에서는 적응적인 임계값의 λ 값이 2인 경우 다른 경우에 비해 부모의 변경이 감소하고 에너지 효율이 증가함을 확인하였다. 반면 부모 변경 횟수 및 전송 실패율과 동일하게 Instability를 사용하지만 적응적인 Threshold를 사용하지 않은 경우 기존 RPL 보다 전력 소모량이 증가함을 확인할 수 있다. 따라서Instability를 사용한 ADP-RPL에서 λ를 조절함으로써 부모의 변경 횟수와 전송실패율을 감소시킬 수 있기 때문에 최적의 λ가 전력 소모를 감소시킬 수 있다.
다음 실험으로 실제 환경을 고려하기 위하여 이동성이 있는 노드를 포함하여 테스트를 수행하였다. 토폴로지는 Sender 노드를 30개로 늘려 랜덤 토폴로지를 구성하여 시뮬레이션을 진행하였다. 이 실험에서는 기존 RPL을 사용한 경우와 제안된 ADP-RPL에서 λ가 2로 설정된 Instability를 사용하지 않을 경우와 사용을 하는 경우를 각각 비교하였다. 도 12는 Sink 노드와 30개의 Sender 노드를 사용하여 랜덤 토폴로지를 구성한 것이다. 이 실험에서는 빈번한 부모 변경을 발생하는 이동하는 노드가 존재하는 환경을 평가하기 위해서 거리에 따른 수신 성공률을 50%, 전송 성공률을 100%로 설정하고 전송 거리도 35m로 설정하였다. 간섭이 심한 환경을 고려하여 노드의 거리에 반비례하여 패킷을 수신할 확률을 가진다. 움직이는 노드는 4개로 각 노드의 위치에서 대각선으로 20초마다 대각선으로 두 점을 왕복 운동한다.
도 13 및 도 14는 노드가 이동하는 랜덤 토폴로지의 전송 실패율과 부모 변경 횟수의 결과이다. 도 13에서 λ가 2이고 Instability를 사용하는 ADP-RPL의 패킷 손실 비율은 RPL보다 6% 적었다. 그리고 도 14는 제안된 ADP-RPL이 RPL에 비해 부모 변화가 75% 감소했음을 보여준다. 이 결과를 통해 ADP-RPL이 이동하는 노드가 있는 환경에서 연결이 우수한 부모 노드를 찾고 링크의 상태의 악화 빈번하게 발생하는 부모를 회피하여 네트워크를 안정적으로 유지함을 확인할 수 있다.
도 15는 랜덤 토폴로지에서 전체 전력 소모를 나타낸 도면이다. 도 15는 RPL에 비해 약 33%의 총 전력 소모의 감소를 보여준다. 그리고 부모의 변경과 전송 실패율이 감소함에 따라 다른 경우에 비해 ADP-RPL에서 CPU, LPM, RX, TX의 부분에서 에너지가 감소하였다. 특히, Instability와 Threshold를 계산하는 과정이 있음에도 불구하고 CPU의 사용량의 에너지 소모도 감소함을 확인하였다.
ADP-RPL의 모바일 노드에서는 부모가 자주 변경되고 링크가 많이 변경되므로 Instability 값이 증가한다. 따라서 노드는 이동 노드를 부모 노드로 선택함을 방지할 수 있다. 결과에 따르면 이동 노드가 있는 랜덤 토폴로지에서 Instability가 있는 ADP-RPL은 Instability가 없는 것보다 에너지 효율과 전송 성공률이 더 우수함을 확인할 수 있다
다음으로는 노드가 많은 환경에서의 성능을 테스트하기 위해서 Sink 노드 1 개와 각 30개, 50개, 70개의 Sender 노드를 도 16과 같이 그리드 토폴로지로 구성하였다. 간섭이 있는 환경을 고려해서 노드의 거리에 비례한 전송 성공률을 가지는 UDGM에서 수신 확률은 75%로 설정하였다. 위의 테스트와 동일하게 도 16의 넓은 원은 다른 노드와의 간섭을 나타내고 좁은 원은 전송범위를 의미한다. 이번 실험에서는 지난 실험에서 우수한 성능을 보였던 λ가 2이고 Instability를 사용하는 ADP-RPL와 기존 RPL을 비교한다. 테스트의 시간은 각 30분이고 테스트의 평가는 전송 실패 확률과 각 노드의 평균 부모 변경 횟수, 평균 전력 소모량이다.
다음 도 17은 노드의 평균 전송 실패 확률을 그래프로 나타낸 것이다. 그리고 도 18은 노드의 평균 부모 변경 횟수이다. 도 19는 각 노드의 평균전원 소모량이다.
도 17의 전송 실패율에서 30개와 50개의 Sender 노드에서는 ADP-RPL가 전송 성공률에서 우수하지만 큰 차이가 없었다. 그러나 70개가 넘어가면서 ADP-RPL에 비해 RPL의 성능이 급격하게 하락했다. 따라서 노드의 개수가 증가할수록 ADP-RPL이 기존 RPL보다 전송 성공률에서 더 좋은 성능을 내는 것을 확인하였다.
도 18에서 ADP-RPL의 경우는 전체적으로 RPL보다 부모 변경이 감소하였다. RPL에서 일정한 공간에 노드가 더 많을수록 링크의 상태가 우수한 부모를 선택하여 부모 변경 횟수가 감소한다. 잦은 부모 변경은 제어 메시지 전송을 통한 네트워크 혼잡을 유발하기 때문에 제안된 ADP-RPL이 더 좋은 성능을 보인다.
노드의 전력 소모를 도출하기 위해서 energest_type_time 함수로 얻은 CPU, LPM, RX, TX의 사용 시간에 각 전력을 곱하여 계산한다. 이 과정은 수학식 (7),(8), (9), (10)과 같다. 평균 전력 소모량을 계산하기 위해서 수학식 (11)과 같이 전체 전력 소모량에 노드가 동작한 시간인 CPU와 LPM의 합으로 나누어서 평균 전력 소모를 도출하였다.
<수학식 7-11>
Figure pat00008
도 19는 부모 변경과 전송 실패 확률이 적은 ADP-RPL의 평균 전력 소모가 낮음을 확인할 수 있다. 노드가 많아지는 70개부터 급격하게 전송 실패확률이 증가하면서 전력 소모가 증가한다. 전송 실패 확률이 증가하면 라우팅을 형성하기 위해서 더 많은 제어 패킷을 전송하게 되고 에너지 소모와 오버헤드가 증가된다.
이상 Cooja 시뮬레이터와 Collect View를 사용하여 다양한 모델에서 성능을 평가하였다. 첫 번째로 적응적 임계값의 성능을 평가하기 위해서 간섭이 심한 환경을 고려한 그리드 토폴로지에서 RPL과 비교를 수행하였다. ADP-RPL에서 적응적 임계값의 조건을 변경하여 성능을 평가하여 λ가 2인 적응적 임계값이 가장 성능이 우수함을 확인하였다. 두 번째로 Instability의 성능을 평가하기 위해서 움직임이 있는 랜덤 토폴로지 테스트하였다. 기존의 RPL과 Instability를 사용에 따른 ADP-RPL의 성능을 평가하였다. 움직임이 있는 토폴로지에서 Instability를 사용하지 않은 경우보다 Instability를 사용한 ADP-RPL의 성능의 우수함을 보였다. 마지막으로 대단위의 토폴로지에서 λ가 2이고 Instability를 적용한 ADP-RPL와 RPL의 성능을 검증하기 위해서 Sender 노드를 30, 50, 70개로 적용한 그리드 토폴로지를 구성하였다. 이 결과 ADP-RPL이 RPL보다 토폴로지의 크기가 증가하는 경우에 전송 실패율과 에너지 효율성 측면에서 효과적임을 확인하였다.
3) 혼잡한 전송 환경을 고려하기 위해 CoAP을 사용한 평가
추가적으로 본 발명에서는 실제 환경을 반영하기 위해서 CoAP 어플리케이션으로 주기적으로 메시지를 전송하는 상태를 구성해서 측정하였다. 도 20은 CoAP 메시지를 전송하는 전체 네트워크 구조를 나타낸다.
도 21은 테스트에서 사용된 Sink 노드와 Sender 노드의 메시지 교환을 나타낸다. 주기적으로 메시지를 전송하는 CoAP 어플리케이션은 Sender 노드가 Sink 노드로 텍스트를 전달하는 GET과 LED를 제어하는 POST를 전송하고 응답 메시지를 수신한다. 그리고 Sender 노드는 네트워크 정보를 수집하기 위한 Collect-View 메시지를 Sink 노드로 전송한다.
CoAP은 URI를 전송하여 원하는 서비스를 요청한다. 테스트에서 CoAP은 5683을 포트 번호로 사용하는 CoAP Server인 Sink와 CoAP Client인 Sender 노드로 구성되었다. Sender에서 Sink 노드의 LED를 토글 모드로 제어를 위한 POST를 전송하기 위해서 Schema가 ‘coap://’이고 Path가 ‘actuators/leds’, Quary가 ‘color=r’로 하는 ‘coap:/[Sink IP]:5683/actuators/leds?color=r’의 URI 를 생성하고 페이로드로 ‘mode=toggle’을 포함하여 전송한다. Sink는 Sender 로부터 받은 요청을 처리하고 응답을 보낸다. GET도 이와 유사하게 URI를 통해 요청하고 응답을 받을 수 있다. 이와 같은 간단한 리소스 정의를 통해 요청 및 응답을 할 수 있어 다양한 응용이 가능함을 볼 수 있다.
CoAP의 사용은 저전력 네트워크 기술인 CoAP과 6LoWPAN, Zigbee를 사용하여 홈 IoT 시스템을 구성함으로 효율이다. 이 본 발명에서는 Server는 Broker와 저전력 통신을 위해 IEEE 802.15.4 모듈을 사용하여 6LoWPAN으로 연결된 환경을 구성하였다. 그리고 구성된 저전력 통신에서 기존 HTTP 통신 대신 패킷의 사이즈가 작은 CoAP으로 Server에 데이터를 송수신하고 홈 IoT 시스템의 성능 평가를 통해 CoAP의 에너지 효율성과 실용 가능성을 확인하였다.
도 22는 CoAP을 적용한 그리드 토폴로지이다. Cooja에서 CoAP과 ContikiMAC 등의 제한사항을 가진 노드를 대량으로 구성 시에 네트워크 성능이 급격하게 저하되어 측정이 어려운 문제점이 발생하였다. 따라서 도 22와 같이 1개의 Sink 노드와 10개의 Sender 노드로 구성하였다. Sink 노드는 DODAG root와 CoAP 및 Collect-View 서버로 동작한다. 본 발명에서는 간섭이 심한 환경을 가정하기 위해서 최저 수신 성공률을 75%로 설정하였다.
각 테스트는 제안된 Instability와 적응적 Threshold 값을 사용하는 ADP-RPL과 Instability와 적응적 Threshold 값을 사용하지 않는 RPL을 비교한다. 그리고 적응적 Threshold 값을 사용하지 않는 RPL에 Instability를 적용한 경우와 적응적 Threshold 값을 사용하는 ADP-RPL에 Instability를 제외한 경우로 4개의 케이스를 테스트하였다. 이 테스트를 통해 ADP-RPL과 RPL의 비교 외에도 각 Instability와 적응적 Threshold가 혼잡한 네트워크에서의 영향을 분석하였다.
CoAP을 적용한 테스트에서는 Collect-View 메시지를 통해 네트워크의 정보를 수집하였다. 그리고 실제 환경을 고려한 혼잡한 네트워크를 구성하기 위해서 Sender 노드들은 60초 주기로 GET과 POST 방식의 메시지를 Sink 노드로 전달하였다. Sink 노드는 1분 동안 10개의 GET과 10개의 POST 메시지를 수신하고 각각 응답 메시지를 전송하였다. 그리고 Sink 노드는 10개의 Collect-View 메시지를 수신한다. 이를 통해 Sink 노드로 갈수록 트래픽이 집중되는 혼잡한 네트워크를 구성하여 테스트를 진행하였다.
도 23은 각 알고리즘의 전송 실패한 확률을 계산한 것이다. 그리고 도 24는 테스트 시간 동안 부모가 변경된 횟수를 그래프로 나타낸 것이다. 두 결과에서 ADP-RPL이 다른 알고리즘에 비해 전송 실패의 확률과 부모 변경 횟수가 가장 낮은 것으로 나타났다. 그러나 Instability를 사용하지 않은 ADP-RPL의 경우는 부모 변경은 적지만 패킷 전송 실패 확률은 가장 높다. 반면 Instability를 사용한 RPL에서는 전송 실패 확률이 감소하였지만 부모 변경은 증가하였다. 이 결과를 통해 Instability는 안정적인 노드를 찾아서 패킷 전송 실패 확률을 감소시켜주지만 적응적인 임계값을 사용하지 않으면 성능이 하락하는 것을 확인할 수 있다.
도 25는 CPU, LPM, TX, RX의 사용 시간을 통해 구한 클럭 틱의 평균 전원 소모량을 나타낸 것이다. ADP-RPL는 기존 RPL에 비해 부모 변경과 패킷 전송 실패 확률이 낮기 때문에 전원 소모가 낮은 것을 확인할 수 있다. 특히 Instability를 사용하지 않은 ADP-RPL과 Instability를 사용한 RPL경우에서는 기존 RPL 알고리즘에 비해 전력 소모량 측면에서 좋은 성능을 보인다. 그러나 제안된 ADP-RPL 알고리즘에 비해서는 전송 실패율이 증가하고 전력소모도 증가함을 확인할 수 있다.
다음은 불안정한 노드가 있는 경우 성능을 분석하기 위해서 특정 노드가 이동하는 환경에서 테스트를 진행하였다. 첫 번째 테스트는 도 21의 6번 노드가 240초의 주기로 1번 대각선 화살표 방향으로 왕복 이동한다. 두 번째 테스트에서는 6번 노드의 이동과 동시에 11번 노드를 240초 주기로 2번 가로 화살표 방향으로 왕복 이동한다. 노드가 이동하는 환경에서의 측정 시간은 30분과 60분이다. 이때 제안된 ADP-RPL과 RPL 알고리즘에서 부모 변경 횟수와 전송 실패 확률, 평균 전력 소모량을 측정하였다.
도 26과 도 27은 링크가 불안정한 이동하는 노드가 있는 경우의 부모 변경 횟수와 전송 실패 확률의 테스트 결과이다. 부모 변경 횟수를 비교한 결과에서는 RPL보다 ADP-RPL의 경우 링크 상태가 불안정함에도 불구하고 부모의 변경 횟수가 작은 것으로 나타났다. 그리고 전송 실패 확률을 비교한 결과에서도 RPL에 비해 우수한 성능을 보였다.
하지만 테스트의 노드의 수가 적음에 따라 RPL과 ADP-RPL 간의 전송 성공률의 높은 변화는 발생하지 않음을 확인할 수도 있다. 특히, 테스트에서 이동하는 노드는 전송 성공률이 낮아서 ETX 값이 증가하고 그에 따른 Rank 값이 상승하였기 때문에 RPL에서도 부모의 선택을 회피를 한다. 하지만 ADP-RPL보다 RPL에서 더 잦은 부모 변경으로 인한 네트워크의 불안정으로 전송 실패율이 증가하였다.
도 28은 평균 전력 소모의 결과이다. RPL과 ADP-RPL의 전송 성공률의 차이는 크게 발생하지 않았지만 ADP-RPL의 경우 부모 변경이 RPL보다 더 빈번하게 발생하였다. 그러므로 RPL에서 부모 변경으로 인한 잦은 제어메시지 전송으로 ADP-RPL에 비해 전력 소모가 증가였음을 확인할 수 있다.
실험에서는 실제 환경을 고려하여 CoAP의 메시지를 전송하는 네트워크를 구성하였다. 이러한 전송 실패율이 증가하고 잦은 부모 변경이 발생하는 혼잡한 네트워크에서 ADP-RPL의 성능을 평가하였다. 첫 번째 실험에서 적응적 Threshold만 사용했을 때, 부모의 변경은 억제하지만 전송 실패율이 증가하는 문제가 발생하였다. 하지만 Instability를 사용함으로 트래픽이 집중되어 악화되는 링크를 회피하여 전송 실패율이 감소함을 확인하였다. 두 번째 실험에서는 혼잡한 환경에서 동적으로 움직이는 노드가 있는 환경을 구성하여 평가를 수행하였다. 이 실험을 통해 메시지를 전송하고 움직임이 존재하는 공장과 같은 환경에서도 RPL보다 ADP-RPL의 성능이 우수할 것으로 기대할 수 있다.
2. 테스트베드에서 성능 평가
1) 디바이스 및 실험 환경
테스트에 사용된 디바이스는 Zolertia사의 RE-Mote를 사용하였다. RE-Mote는 CC2538 System on chip(SoC)을 사용하여 2.4GHz IEEE 802.15.4 통신을 지원하며 32MHz에서 동작하고 32kb의 램을 가지고 있다. RE-Mote는 보드에 LED를 장착하고 있으며 다양한 센서를 사용할 수 있는 ADC 포트를 지원한다. 도 29는 테스트베드에 사용된 RE-Mote 디바이스이다.
실제 환경에서 ADP-RPL을 테스트하기 위해서 도 20의 네트워크를 구성하였다. 테스트베드를 통한 테스트를 위해서 실제 다수의 네트워크 디바이스가 산재되어 있고 간섭이 많이 발생할 것으로 예상되어지는 실내 공간에서 테스트를 진행하였다. 그림 30과 같이 Sink 노드 한 개와 Sender 노드 열 개로 구성하였다. 테스트는 총 15분 동안 진행하였으며 움직임이 있는 노드를 위해서 Sender 노드 중 한 개의 노드는 도보의 속도(약 3.5km/h)로 도 30의 경로로 왕복 이동하였다.
테스트베드를 통한 테스트에서는 ADR-RPL과 RPL의 전송 실패율과 부모 변경 횟수를 통해서 에너지 소모량을 예상해본다. 테스트에서는 잦은 모니터링을 위해서 Collect-View 메시지는 10초 이내의 간격에 한 번 전송하였다. 테스트 베드에서는 Sender 노드는 배터리로 동작하며 배터리의 성능은 동일하다고 고려하였다. Sender 노드는 RE-Mote의 네트워크의 정보를 포함한 Collect-View 메시지를 Sink 노드로 전송하였다. Sink 노드는 Collect View 툴을 실행한 Host PC와 시리얼 통신으로 연결되어 수신한 Collect-View 메시지를 Host PC로 전송하였다. Host PC에서 시리얼 통신으로 Collect-View 메시지를 Collect View 툴을 사용하여 분석하였다.
실제 상황과 네트워크의 상태를 고려해서 CoAP은 60초마다 GET과 POST 메시지를 전송하는 상황에서 측정하였다. Sender 노드로 동작하는 RE-Mote디바이스는 텍스트를 전송하는 GET 메시지와 싱크 노드의 LED를 제어하는 POST 메시지를 전송하고 Sink 노드로부터 응답 메시지를 받는다
2) 결과 및 분석
도 31은 테스트의 결과로 전송 실패율과 부모 변경 횟수이다. 테스트의 결과에서는 전송 실패율과 부모 변경 횟수가 RPL보다 ADP-RPL에서 낮음을 볼 수 있다. 그리고 CoAP을 통해 메시지를 성공적으로 주고받아 Sink 노드의 LED를 제어하였으며 문자열도 전송하고 응답을 수신하였다. 그러므로 CoAP을 응용하여 저전력 홈 IoT에서의 적용도 충분히 가능할 것으로 예상한다.
앞의 시뮬레이션을 통해 전송 실패율과 부모의 변경 횟수가 감소하면 전력소모가 감소하는 것을 확인하였다. 그러므로 실제 환경에서의 RE-Mote를 통한 테스트베드에서 ADP-RPL이 전송 실패율과 부모의 변경 횟수가 낮음으로 에너지 효율성과 신뢰성이 향상됨을 확인할 수 있다.
본 발명에서는 기존 RPL에서 불안정 노드를 회피하지 못하고 잦은 부모 변경이 발생하는 문제를 해결하기 위한 ADP-RPL을 구현하고 성능 평가를 진행하였다. 제안된 ADP-RPL은 링크 품질 악화 및 부모 변경을 통해 불안정성을 계산하고 반영하여 자식이 불안정한 부모를 선택하는 것을 회피하도록 한다. 그리고 ADP-RPL는 잦은 부모 변경을 방지하여 에너지 효율성을 향상시키기 위해서 주변 노드의 Rank에 비례한 적응적 임계값을 사용한다.
Cooja 시뮬레이터를 사용하여 ADP-RPL의 성능을 평가하였다. 평가 결과는 정적인 그리드 토폴로지와 동적인 랜덤 토폴로지에서 Instability와 적응적 Threshold의 전송 실패율과 부모 변경 감소에 따른 에너지 효율성을 보였다. 대량의 노드에서의 평가는 30개, 50개, 70개의 Sender 노드에서 노드 수가 많아질수록 ADP-RPL이 RPL보다 성능이 우수함을 보였다. 그리고 실제 전송환경을 고려한 성능을 평가하기 위하여 LLN 환경에서 적합한 CoAP 메시지 전송하는 실험을 진행하였다. 그 결과 혼잡한 네트워크 환경에서도 ADP-RPL의 성능이 기존의 RPL보다 뛰어남을 확인하였다.
마지막으로 실내 공간에서 실제 디바이스로 테스트를 진행하기 위하여 ADP-RPL과 CoAP을 적용한 RE-Mote 디바이스를 사용해서 테스트베드로 구축하였다. 실험 결과 현실 환경에서도 전송 실패율과 부모 변경의 횟수가 RPL과 비교하여 우수한 결과를 도출하였다. 따라서 제안된 ADP-RPL은 에너지 효율적이고 신뢰성이 높을 것으로 보인다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (4)

  1. 패킷을 오류 없이 전송하는데 필요한 예상 전송 횟수인 ETX(Expected Transmission Count)를 기반으로 계산된 랭크(Rank)값과 부모의 변경 시간을 통해 링크상태를 판단하는 것을 특징으로 하는 ADP-RPL 라우팅 방법.
  2. Rank 증가 및 부모 변경 시간을 통해 불안정성을 계산하고, 계산된 불안정성은 DIO(DODAG Information Objects) 메시지로 랭크(Rank)값에 반영하여 자식이 불안정한 부모를 선택하는 것을 회피하는 것을 특징으로 하는 ADP-RPL 라우팅 방법.
  3. 잦은 부모 변경을 방지하여 에너지 효율성을 향상하기 위해서 주변 노드의 랭크(Rank)에 비례한 적응적 임계값을 사용하는 것을 특징으로 하는 ADP-RPL 라우팅 방법.
  4. Rank 증가 및 부모 변경 시간을 통해 불안정성을 계산하고, 계산된 불안정성은 DIO(DODAG Information Objects) 메시지로 랭크(Rank)값에 반영하여 자식이 불안정한 부모를 선택하는 것을 회피하되, 잦은 부모 변경을 방지하여 에너지 효율성을 향상하기 위해서 주변 노드의 랭크(Rank)에 비례한 적응적 임계값을 사용하는 것을 특징으로 하는 ADP-RPL 라우팅 방법.
KR1020200017900A 2020-02-13 2020-02-13 Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법 KR102413475B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200017900A KR102413475B1 (ko) 2020-02-13 2020-02-13 Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200017900A KR102413475B1 (ko) 2020-02-13 2020-02-13 Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법

Publications (2)

Publication Number Publication Date
KR20210103628A true KR20210103628A (ko) 2021-08-24
KR102413475B1 KR102413475B1 (ko) 2022-06-27

Family

ID=77507078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200017900A KR102413475B1 (ko) 2020-02-13 2020-02-13 Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법

Country Status (1)

Country Link
KR (1) KR102413475B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230030302A (ko) * 2021-08-25 2023-03-06 인천대학교 산학협력단 빅데이터 기반 사물인터넷의 효율적 에너지 라우팅 제공 장치
KR20230054036A (ko) * 2021-10-15 2023-04-24 중앙대학교 산학협력단 전력선 통신 네트워크에서의 rpl 프로토콜 성능 향상을 위한 경로 선택 방법 및 시스템
CN117097665A (zh) * 2023-10-18 2023-11-21 杭州联芯通半导体有限公司 一种父节点选择方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101208400B1 (ko) 2011-10-28 2012-12-05 삼성에스디에스 주식회사 Rpl 라우팅 프로토콜에서의 혼합 모드 라우팅 노드 및 방법
KR101915566B1 (ko) * 2018-06-29 2018-11-06 서울대학교산학협력단 멀티홉 네트워크 및 그것의 토폴로지 형성 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101208400B1 (ko) 2011-10-28 2012-12-05 삼성에스디에스 주식회사 Rpl 라우팅 프로토콜에서의 혼합 모드 라우팅 노드 및 방법
KR101915566B1 (ko) * 2018-06-29 2018-11-06 서울대학교산학협력단 멀티홉 네트워크 및 그것의 토폴로지 형성 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김용주. AMI 네트워크를 위한 병목 회피 RPL 프로토콜. 아주대학교 대학원 공학 석사학위 논문. 2016년.* *
최경산 외 3인. RPL 기반 다중 홉 네트워크에서 간섭에 강인한 라우팅 프로토콜. 한국통신학회 학술대회논문집, 2016년 6월, 381-382면* *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230030302A (ko) * 2021-08-25 2023-03-06 인천대학교 산학협력단 빅데이터 기반 사물인터넷의 효율적 에너지 라우팅 제공 장치
KR20230054036A (ko) * 2021-10-15 2023-04-24 중앙대학교 산학협력단 전력선 통신 네트워크에서의 rpl 프로토콜 성능 향상을 위한 경로 선택 방법 및 시스템
CN117097665A (zh) * 2023-10-18 2023-11-21 杭州联芯通半导体有限公司 一种父节点选择方法、装置、电子设备及存储介质
CN117097665B (zh) * 2023-10-18 2024-01-19 杭州联芯通半导体有限公司 一种父节点选择方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
KR102413475B1 (ko) 2022-06-27

Similar Documents

Publication Publication Date Title
KR102413475B1 (ko) Rpl을 기반한 무선네트워크에서 에너지 효율성 및 패킷 송수신 안정성을 개선하기 위한 라우팅 방법
Spachos et al. Energy aware opportunistic routing in wireless sensor networks
Dunkels et al. Low-Power IPv6 for the internet of things
Bouzebiba et al. FreeBW-RPL: a new RPL protocol objective function for internet of multimedia things
Brachman RPL objective function impact on LLNs topology and performance
Renold et al. MRL-SCSO: multi-agent reinforcement learning-based self-configuration and self-optimization protocol for unattended wireless sensor networks
Mahyoub et al. An efficient RPL-based mechanism for node-to-node communications in IoT
Mavromoustakis et al. Using real-time backward traffic difference estimation for energy conservation in wireless devices
Lee et al. Distributed topology control algorithm on broadcasting in wireless sensor network
Arshad et al. Energy efficient cluster head selection in mobile wireless sensor networks
Papadopoulos et al. T-AAD: Lightweight traffic auto-adaptations for low-power MAC protocols
Schandy et al. Average power consumption breakdown of Wireless Sensor Network nodes using IPv6 over LLNs
Kumar et al. Performance of energy conservation models, generic, micaz and micamotes, using AODV routing protocol on a wireless sensor network
Mavromoustakis et al. On the real-time evaluation of two-level BTD scheme for energy conservation in the presence of delay sensitive transmissions and intermittent connectivity in wireless devices
Sasidharan et al. Improving network lifetime and reliability for machine type communications based on LOADng routing protocol
Sharma et al. Performance evaluation of MANETs with Variation in transmission power using ad-hoc on-demand multipath distance vector routing protocol
Dimakis et al. GreenLoRaWAN: An energy efficient and resilient LoRaWAN communication protocol
Vikram et al. Interference aware adaptive transmission power control algorithm for zigbee wireless networks
Banu et al. A New Multipath Routing Approach for Energy Efficiency in Wireless Sensor Networks
Singh et al. Analysis of energy model and QoS in wireless sensor network under different modulation schemes
Loganathan et al. Improved Load-Balanced Clustering for Energy-Aware Routing (ILBC-EAR) in WSNs.
De Marco et al. Impact of radio irregularities on topology tradeoffs of WSNs
Tarus et al. A review of energy efficient on-demand routing protocols and the design of energy efficient algorithm in mobile ad hoc networks
Lu et al. Energy aware dynamic task allocation in mobile ad hoc networks
Sen An adaptive and multi-service routing protocol for Wireless Sensor Networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant