In this paper, we propose an algorithm that select efficient relay nodes using information of network environment and nodes. The proposed algorithm can be used changeable weight factors as following network environment in node density. The routing protocols adopting store-carry-forward method are used for solving network problems occurred by unstable end-to-end connection in Delay Tolerant Networks(DTNs). Exiting DTN routing algorithms have problems that large latency and overhead because of deficiency of network informations. The proposed algorithm could be provide a solution this problems using changeable weight factor and prediction of network environment. Thus, selected relay nodes work efficiently in unstable and stressed network environment. Simulation results show that enhancement performance as overhead, delivery ratio, average latency compared to exiting DTN routing algorithm.
Delay Tolerant Network(DTN)이란 종단간의 연결이 불안정한 네트워크에서도 통신이 가능하도록 디자인된 네트워크 구조이다[1]. 기존의 무선 네트워크(WLAN, Wireless LAN)은 이질적으로 연결된 망들을 이용하여, 미리 라우팅 경로를 설정하고 이를 이용하여 메시지를 전송한다. 하지만 네트워크 기반 시설을 상실한 환경에서는 통신의 단절이 빈번하게 일어나, 기존의 TCP/IP방식의 프로토콜을 적용하기 어렵다. DTN은 이를 해결하기 위해 저장 및 전달(Store-Carry-Forward)기반의 메시지 전달 방식을 사용하여 종단 간 연결이 불안정한 상황에서도 중계 노드를 통해 메시지를 보존하여 통신을 가능하게 한다. 그림 1은 소스 노드
네트워크의 전체적인 시야가 부족한 DTN의 특성상 라우팅 경로를 미리 선정할 수 없기 때문에 효율적인 중계노드를 선택하는 것이 네트워크의 성능에 큰 영향을 준다. 기존의 예측기반 DTN 라우팅 기법은 노드의 위치 정보나 지역과의 연결성에 따라 순위를 정하여 라우팅 방법을 결정하거나, 추가적인 정보를 전달 할 수 있는 장치를 추가하여 중계 노드를 선택한다. 이러한 기존 DTN 라우팅 기법은 네트워크 환경에 대한 인식이 부족한 상태에서 중계 노드를 선택하기 때문에 네트워크 환경 변화에 따라 성능의 변화폭이 커 신뢰도가 떨어진다.
본 논문에서는 이 문제를 해결하기 위해 노드의 속성정보를 분석하여 네트워크 환경을 해석하고, 네트워크 환경에 따라 유동적으로 변화하는 중계 노드 선택 가중치를 사용해 현재 네트워크 환경에 적합한 중계 노드를 선택하는 알고리즘을 제안한다. 본 논문의 구성은 다음과 같다. 2장에서는 현재 DTN 라우팅 방법에 관한 연구를 기술 하였고, 3장에서는 본 논문에서 제안하는 알고리즘에 대해 기술한다. 4장에서는 제안한 알고리즘의 성능을 모의실험을 통하여 기존 DTN 라우팅 기법과 비교, 분석한다. 마지막으로 5장에서는 결론 및 향후 연구방향에 대하여 기술한다.
DTN 환경에서의 라우팅 프로토콜은 크게 결정론적(Determinisitc) 라우팅 프로토콜과 추론적(Stochastic) 라우팅 프로토콜로 나누어진다[2]. 결정론적 라우팅 프로토콜은 노드가 향후 이동하는 이동 정보나 위치 정보를 미리 알고 있는 상황을 가정한다. 이에 따라 이동성 정보와 같은 각 노드의 정보를 사용하여 메시지를 전송하는 기법을 적용 할 수 있다. 대표적으로 oracle 정보를 이용하여 전송을 수행하는 Oracle-based 기법[3]과 노드가 움직이는 경로를 미리 예측하는 시공간 그래프(Space-time graph)를 이용한 라우팅 기법[4]이 있다. 본 논문에서는 네트워크의 상황이 유동적이며 정보를 추정해야 하는 상황을 가정하므로, 결정론적 라우팅 프로토콜 기법과는 추구하는 바가 다르다.
추론적 라우팅 프로토콜은 네트워크의 변화를 알 수 없는 환경을 가정하기 때문에, 메시지를 언제, 어떤 노드에게 전달 할 지를 고려해야 한다. 추론적 라우팅 프로토콜 기법으로는 Epidemic 라우팅[5], Spray and Wait 라우팅[6], Prophet 라우팅[7], Bubble rap[8] 라우팅 기법 등이 있다.
Epidemic 라우팅과 비롯한 많은 추론적 라우팅 기법들은 소스 노드의 전송 범위 안에 다른 노드가 인접 했을 시 노드의 정보를 교환하고, 이때 상대 노드가 가지고 있지 않은 메시지가 있을 경우, 해당 메시지를 복사하여 전송한다. 메시지를 전염 시키는 것과 같은 이 방법은 불확실한 네트워크 환경에서의 메시지 전달에 가장 효과적이라 알려져 있으나, DTN에서의 각 노드는 제한된 버퍼를 가지고 있기 때문에 메시지의 복사가 한정적이게 된다. 이로 인해 네트워크에 과부하가 발생하게 되어, 메시지의 전송률이 낮아지고, 높은 오버헤드가 발생하게 된다.
이러한 라우팅 기법들은 메시지의 효율적인 확산에 대한 판단 없이 접촉하는 모든 노드에게 메시지를 복사한다. 때문에 네트워크 전역에 불필요한 메시지가 분포하게 되고, 노드 버퍼의 부하가 커지며 그에 따라 메시지를 운반할 수 있는 중계 노드의 수가 감소하게 되어 메시지 전달에 문제가 발생하게 된다. 또한 네트워크의 노드 밀도가 높을 시, 복사되는 메시지의 수가 급격히 증가하게 되므로 네트워크의 자원 활용에도 문제가 발생한다.
이와 같은 문제를 연구한 기존의 Prophet 라우팅과 Bubble rap 라우팅은 노드의 히스토리 정보를 이용하여 효율적인 중계 노드를 설정한다. 하지만 네트워크의 노드 밀도가 낮아 노드 간 접촉 기회가 적을 경우 히스토리를 통해 정확한 정보를 분석하기가 어려워 효율적인 중계 노드 선택이 불가능하다. 따라서 이로 인한 추론적 라우팅 프로토콜에서의 문제를 보완하기 위해 히스토리 정보와 메시지 복사 과정을 동적으로 연결하는 연구들이 최근 활발하게 이루어지고 있다[9].
본 논문은 이러한 연구의 일환으로, 노드 히스토리의 속성 정보를 분석하여 네트워크의 현재 상태와 추후 환경을 예측하고 그에 따라 유동적인 중계 노드 선택 가중치를 적용해 더 효율적인 중계 노드를 선택하도록 유도하는 알고리즘을 제안한다.
본 논문에서 제시하는 기법은 기본적으로 Epidemic 라우팅이나 Spray and Wait 라우팅과 같은 플러딩(flooding) 기반 메시지 전달 방식을 채택하고 있다. 기존의 플러딩 기반 라우팅 기법들은 노드들이 무작위적인 이동성을 가지고 있다고 가정하고 있지만 실제로 노드의 이동은 목적성을 띄고 있기 때문에 일정한 방향성과 목적지에 대한 정보를 가지게 된다. 따라서 각각의 노드가 GPS와 같은 위치 서비스 시스템을 가지고 있어서 노드의 이동성 정보를 얻을 수 있다면 이 정보를 기반으로 노드의 추후 위치를 예측하여 효율적인 중계 노드를 선택할 수 있다. 이러한 예측기반 기법은 네트워크상에서 무분별하게 복사되는 메시지의 수를 줄일 수 있어 오버헤드를 크게 감소시킬 수 있다. 또한 본 논문은 노드의 이동성 정보를 분석하여 네트워크의 환경을 해석하고 효율적인 중계노드 선택 확률을 결정하기 위하여 네트워크 환경에 따라 유동적인 중계 노드 선택가중치를 적용해 성능 향상을 도모한다. 본 논문에서 중계 노드를 선택하기 위해 사용하는 노드의 속성은 표 1과 같으며 각 속성의 의미는 그림 2와 같다. 노드는 자신의 속성 정보를 테이블로 관리하며 서로 이웃했을 때 다음과 같이 동작한다.
노드의 속성 정보 테이블
이때 소스 노드에 이웃한 노드
식 (1)에서,
하지만 네트워크의 전체적인 시야가 부족한 DTN의 특성상 노드들은 전체적인 노드의 밀도를 알 수 없기 때문에,
이는 그림 4와 같이 표현할 수 있으며
식 (2)에서
식 (3)을 통해 보정된
따라서 넓게 분포된 메시지는 보다 높은 속도를 가진 중계 노드를 통해 전달할수록 TTL 내에 목적 노드에 도착할 확률이 높아진다. 이러한 제안에 따라 노드는 메시지의 분포를 판단하기 위해 다음과 같은 과정을 거친다.
식(4)에 의해
식 (5)에 의하여 메시지가 네트워크에 많이 분포되어 있을 경우 적게 분포되어 있을 때보다
노드들이 해석한 네트워크 내 노드의 밀도와 메시지의 분포 정도에 따라 보정된 중계 노드 선택 확률
식 (6)을 통해
본 장에서는 기존의 추론적 라우팅 프로토콜인 Epidemic 라우팅 프로토콜과 가중치를 사용하지 않은 예측 기반 알고리즘[10]을 제안한 알고리즘과 모의실험을 통해 비교한다. 실험 환경은 표 2와 같다.
실험 환경
그림 6은 기존 DTN 라우팅과 제안하는 알고리즘을 사용한 라우팅 프로토콜의 노드 수 증가에 따른 오버헤드를 비교한 그래프이다. 제안하는 알고리즘을 사용한 라우팅 프로토콜은 예측 기반 라우팅 프로토콜에 비해 노드수가 증가함에 따른 평균 오버헤드가 38%을 나타내고 있다. 하지만 Epidemic 라우팅 프로토콜에 비해 노드수의 증가에 따른 평균 오버헤드가 47% 감소했다. 또한 노드수의 증가에 따른 오버헤드 증가율도 50% 감소하였다. 이는 노드의 밀집된 네트워크 환경일수록 제안하는 알고리즘을 적용한 라우팅 프로토콜의 성능이 더 효율적임을 의미한다.
그림 7은 노드 수 증가에 따른 전송률을 비교한 그래프이다. 제안하는 알고리즘은 기존 예측기반 알고리즘과는 달리 적은 노드 수에서도 Epidemic 라우팅에 근접한 전송률을 보여주었으며 노드 수가 증가 할수록 더 높은 전송률을 보여주고 있다. 결과적으로 제안하는 알고리즘의 전송률은 기존 예측기반 라우팅에 비해 2배에 서 최대 4배에 근접한 성능향상을 보이고 있다.
그림 8은 노드 수 증가에 따른 평균 지연시간을 비교한 그래프이다. 제안하는 알고리즘은 적은 노드 수에서도 기존 예측기반 알고리즘과는 달리 Epidemic 라우팅에 근접한 낮은 평균 지연시간을 보이고 있으며 기존 예측기반 라우팅에 비해 50%에서 최대 80% 감소한 평균지연 시간을 보이고 있다.
제안하는 알고리즘을 사용한 라우팅 프로토콜은 기존 예측기반 라우팅 프로토콜과는 달리 노드 수가 적은 환경에서도 Epidemic 라우팅 프로토콜에 근접한 높은 전송률과 낮은 지연시간을 보이는 동시에 Epidemic 라우팅의 50%의 오버헤드만을 발생시킨다. 또한 노드 수 증가에 따른 오버헤드 증가도 감소하였다. 따라서 제안하는 알고리즘이 가중치를 통해 기존 예측기반 라우팅 프로토콜과 Epidemic 라우팅 프로토콜의 단점을 보완하고 있음을 알 수 있다.
불안정한 네트워크 연결 문제를 해결하기 위해 제안된 DTN은 우주 공간이나 심해와 같은 정상적인 통신 상황이 불가능한 지역의 네트워크 문제를 해결할 수 있어 주목되고 있다. 하지만 기존 DTN 라우팅은 메시지의 전송률에만 목적을 두어 효율적인 통신이 불가능해 실제 네트워크에 적용하기에는 어려운 측면이 있었다.
본 논문에서 제안하는 알고리즘은 이러한 문제를 해결하기 위해 DTN에서 더 효율적인 중계 노드를 찾을 수 있는 방안을 제안하였다. 제안하는 알고리즘은 DTN에서 효율적인 중계노드를 선택하기 위해 노드의 히스토리 노드 속성 정보를 분석하여 노드 스스로 네트워크의 상황을 해석하고, 이에 따라 유동적으로 변화하는 중계 노드 선택 가중치를 적용하여 불규칙적인 네트워크의 상황에 능동적으로 대처하는 것을 목적으로 하였다. 또한 노드의 실제 이동은 모의실험에서 사용한 RWP 모델[11]과는 달리 일정한 규칙이 존재하기 때문에 실제 상황과 근접할수록 예측의 정확도가 높아져 더 좋은 성능을 보일 것이다. 추후 연구를 지속하여 노드의 버퍼와 에너지에 따른 중계 노드 선택을 고려하면 더 안정적인 DTN 라우팅의 구성이 가능할 것이다.