The Journal of the Acoustical Society of Korea. 31 January 2013. 86-94
https://doi.org/10.7776/ASK.2013.32.1.086

ABSTRACT


MAIN

  • I. 서 론

  • II. 시스템 모델

  •   2.1 센서 네트워크 구조

  •   2.2 매체 접속 방식

  • III. 네트워크 코딩 기법

  •   3.1 패킷 구조

  •   3.2 랜덤 선형 네트워크 코딩 기법

  •   3.3 리던던시의 결정

  • IV. 코드 할당 기법 및 데이터 전송

  • V. 성능 분석

  •   5.1 모의실험 환경 및 파라미터

  •   5.2 기본 네트워크 구조에서의 성능 분석

  •   5.3 리던던시 크기에 따른 성능 분석

  •   5.4 중계 노드의 수에 따른 성능 분석

  •   5.5 홉 수에 따른 성능 분석

  •   5.6 계층 간 거리에 따른 성능 분석

  •   5.7 패킷 크기에 따른 성능 분석

  • VI. 결 론

I. 서 론

최근 해양 자원에 대한 개발 및 관리의 중요성이 부각되면서 해양 환경 감시, 자원 조사, 재난 방지, 해양 탐지 등을 위한 수중 센서 네트워크의 기술적 수요가 증가하고 있다.[1] 또한 군 전술 분야에서는 현대화된 네트워크전의 개념이 해양으로 확대되어 손쉬운 네트워크 구성과 적은 유지비용이 장점인 수중 센서 네트워크 구축에 대한 중요성이 더욱 커지고 있으며 이에 대한 연구가 활발히 진행되고 있다.[2]

다양한 응용 분야에서 효율적인 수중 센서망의 구현을 위해서는 임의로 분포된 방대한 센서 노드들 사이의 신뢰성 있는 통신 링크 관리가 우선되어야 한다. 하지만 수중 통신에 사용되는 음향 신호는 전파 속도가 매우 느리므로 필연적으로 큰 전송 지연을 유발한다.[3] 또한 음파 신호의 경로 손실은 통신 노드 사이의 거리뿐만 신호의 주파수 대역에도 영향을 받으며, 높은 주파수 대역에서 큰 경로 손실(attenuation)을 겪게 되므로 사용 가능한 주파수 대역이 제한된다. 이 밖에도 음향 채널은 다중 경로 페이딩(multi-path fading), 도플러 확산(Doppler spread), 과도한 시변 특성(time varying characteristic)으로 인한 신호의 왜곡이 매우 심하므로 높은 비트 오류율(Bit Error Rate: BER) 및 패킷 오류율(Packet Error Rate: PER) 특성을 가진다.[4] 따라서 높은 오류율 특성을 가지는 열악한 수중 환경에서 효율적인 오류 정정 기법의 설계는 수중 센서 네트워크의 성공적 기능 수행을 위해 매우 중요하다.

네트워크 코딩 기법은 단순히 수신한 패킷을 다수의 경로를 통해 싱크 노드로 전달하는 다중 경로 전달(multi-path forwarding)과 달리, 수신한 다수의 패킷을 부호화(encoding)한 뒤 다음 목적지 노드로 전달하여 최종적으로 목적지 노드까지 전달하는 오류 정정 기법이다. 네트워크 코딩 기법은 부호화된 패킷을 전송함으로써 패킷 손실률이 큰 수중 환경에서 다중 경로 전달 기법에 비해 높은 효율을 나타낼 뿐만 아니라 별도의 재전송이 불필요하므로 자동 재송 요청(Automatic Repeat reQuset: ARQ) 기법과 비교하여 단 대 단 지연(end-to-end delay)을 효율적으로 감소시킬 수 있다.

코드 분할 다중 접속(CDMA: Code Division Multiple Access) 방식은 직교 코드를 사용하여 여러 사용자 데이터의 다중화를 수행한다. 코드 분할 다중 접속 방식의 수신기는 레이크 수신기(rake receiver)를 사용하여 데이터를 수신하므로 주파수 선택적 페이딩에 강인하다. 또한 여러 노드가 연속적으로 전송하는 신호를 직교 코드를 사용하여 쉽게 구별할 수 있고 주파수 재사용 효율이 좋으므로 수중 환경에서의 유망한 매체 접속 방식으로 활발히 연구되고 있다.[1,5]

본 논문에서는 매체 접속 방식으로 코드 분할 다중 접속 방식을 사용하는 수중 센서 네트워크에서의 네트워크 코딩 기법을 제안한다. 제안하는 기법은 최하위 계층에 다수의 소스 노드(source node)가 위치하고 최상위 계층에 싱크 노드(sink node)가 위치하며, 중계 노드(relay node)를 통해 소스 노드로부터 싱크 노드로의 데이터가 다중 경로를 통해 확산되는 다중 경로 전달 계층 구조를 가정한다. 각 소스 노드는 서로 다른 직교 코드를 사용하여 자신의 데이터 패킷을 구분하며, 중계 노드는 각 소스 노드의 데이터 패킷을 다중 코드를 사용하는 코드 분할 다중 접속 방식을 통해 다음 홉의 중계 노드들에게 중계하고 이 과정을 통해 최종적으로 싱크 노드까지 데이터가 전송된다.

본 논문은 다음과 같은 구성을 가진다. 서론에 이어 2장에서는 제안하는 네트워크 코딩 기법의 시스템 모델에 대해 설명하고, 3장에서는 제안하는 네트워크 코딩 기법에 대해 서술한다. 4장에서는 제안 기법에 사용되는 코드 할당 방식 및 데이터 전송에 대해서 설명하며, 5장에서는 여러 환경에서의 모의실험을 통해 제안 기법에 대한 성능을 분석한다. 마지막으로 6장에서는 성능 분석 결과를 바탕으로 결론을 맺는다.

II. 시스템 모델

2.1 센서 네트워크 구조

Fig. 1은 본 논문에서 고려하는 센서 네트워크의 구조를 나타낸다. 수중 음향 신호의 전방향 전파 특성으로 인해 자연스럽게 다중 경로 전달 구조를 형성하며 이러한 다중 경로 구조를 통해 다수의 중계 노드 사이의 협력을 통한 다중 경로 이득을 기대할 수 있다. 소스 노드들의 데이터가 다수의 중계 노드를 통해 다중 홉을 거쳐 싱크 노드로 전달되는 데이터 수집형 구조이며, 따라서 데이터는 최하위 계층의 소스 노드에서부터 최상위 계층의 싱크 노드로 전송되는 단방향 흐름만을 고려한다. 중계 노드의 수는 다중 경로 확산으로 인한 이득을 얻기 위해 적어도 전체 소스 노드 수의 두 배 이상이 분포되어 있다고 가정한다. 또한 동일한 계층에 위치한 노드 사이의 데이터 패킷 충돌이 존재하지 않는다고 가정한다.[2]

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PIC9F5B.png

Fig. 1. Layered multi-path forwarding topology.

2.2 매체 접속 방식

네트워크 코딩 기법은 다중 경로 확산을 이용하므로 기존의 순방향 에러 정정 기법과 자동 재송 요청 기법과 같은 오류 정정 기법에 비해 큰 트래픽 량을 유발한다. 따라서 매체 접속 방식으로는 높은 트래픽 환경에서 낮은 효율을 보이는 경쟁 기반 방식보다는 비경쟁 기반 방식을 사용하는 것이 합리적이다. 시분할 다중 접속 방식은 다수의 패킷이 전송되어야 하는 네트워크 코딩 기법 환경에서 매우 엄격한 노드 간의 동기화가 필요하므로 사용에 제한적이며 주파수 분할 다중 접속 방식은 절대적 가용 주파수 대역이 부족한 수중 환경에서 사용하기에 적합하지 않다. 따라서 본 논문에서는 매체 접속 방식으로 코드 분할 다중 접속 방식을 사용한다. 각각의 소스 노드는 서로 다른 직교 코드를 사용하여 데이터 패킷을 중계 노드로 전송하며, 중계 노드는 직교 코드를 활용한 역확산을 통해 여러 소스 노드의 데이터 패킷을 구분한다. 또한 중계 노드는 다수의 소스 노드로부터의 데이터 패킷을 동시에 수신할 수 있으므로 단 대 단 지연을 효과적으로 줄일 수 있다.

III. 네트워크 코딩 기법

3.1 패킷 구조

Fig. 2는 네트워크 코딩 기법의 패킷 구조와 부호화된 패킷의 생성 과정을 나타낸다. 소스 노드에서 생성되는 모든 패킷은 부호화된 메시지를 담은 정보 벡터(information vector)와 부호화 관련 파라미터를 담은 부호 벡터(encoding vector)로 구분된다. 본 논문에서 고려하는 랜덤 선형 네트워크 코딩 기법의 경우, 선형 결합된 메시지를 정보 벡터에, 선형 결합을 위해 임의로 발생시킨 계수를 부호 벡터에 실어 데이터 패킷을 전송한다. 데이터 패킷을 수신한 노드는 수신한 패킷에 대해 부호화를 새롭게 수행하고 이때 사용된 부호화 계수로 부호 벡터를 업데이트를 한 뒤 상위 계층으로 중계한다. 최종적으로 데이터 패킷을 수신한 싱크 노드는 데이터 패킷에 포함된 부호 벡터를 바탕으로 데이터 패킷의 복호(decoding)를 수행한다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PIC9F6C.png

Fig.2. Packet structure.

3.2 랜덤 선형 네트워크 코딩 기법

Fig. 3은 본 논문에서 사용하는 랜덤 선형 네트워크 코딩 기법의 부호화를 나타낸다. 이 기법은 다른 네트워크 코딩 기법에 비해 부호화를 위한 연산량이 적고 구현이 간단하므로 수중 센서 노드들의 배터리 소모를 최소화할 수 있다.[6] 소스 노드는 부호화를 위해 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PIC9FEB.gif개의 패킷을 선형 결합(linear combination)하여 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA00B.gif개의 부호화된 패킷을 생성한다. 이때 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA01C.gif개의 패킷 묶음을 생성자라 부르며 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA02D.gifhttp://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA04D.gif 사이에는 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA09C.gif의 관계가 성립한다. 여기서 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA0AD.gif은 리던던시(redundancy)의 크기이며 리던던시는 싱크 노드에서 패킷의 성공적인 복호를 위한 것이다. 하나의 생성자에 속해 있는 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA0CD.gif개의 패킷을 각각 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA0ED.gif, 부호화된  개의 패킷을 각각 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA11D.gif, 부호화에 사용된 계수를 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA12E.gif라고 할 때 부호화된 패킷은 다음과 같은 수식으로 나타낼 수 있다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PIC9F7D.png

Fig. 3. Layered multi-path forwarding topology.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA16D.gif.

(1)

부호화된 패킷의 수가 많을수록 네트워크 코딩 기법의 오류 정정 성능이 증가하지만 많은 패킷을 전송해야 하므로 에너지 소모에 의한 센서 노드의 수명 단축 문제가 발생한다. 따라서 부호화된 패킷의 수를 결정하는 문제는 네트워크 코딩 기법을 적용하는데 있어 중요한 문제이며 오류 정정 성능과 자원 효율 측면에서 신중하게 결정해야 한다.

중계 노드는 일정 시간동안 수신되는 패킷을 저장한 뒤 동일한 생성자에서 생성된 패킷이 일정 수 이상 도착하면 이를 이용해 네트워크 코딩을 수행한다. 중계 노드에 수신된 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA17E.gif개의 패킷, http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA18E.gif, http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA19F.gif, http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA1A0.gif을 통해 중계 노드 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA1C0.gif에서 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA1D1.gif개의 부호화된 패킷을 발생시킬 때 그 발생 패킷은 다음 수식에 의해 결정된다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA1F1.gif.

(2)

여기서 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA202.gif는 선형 결합을 위해 임의로 선택한 계수이다. 수신된 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA222.gif 개의 패킷에 포함되어 있던 부호 벡터를 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA242.gif, 새롭게 부호화된 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA243.gif의 부호 벡터를 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA273.gif라 할 때 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA274.gif의 부호 벡터는 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA285.gifhttp://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA295.gif을 이용하여 다음 수식과 같이 표현할 수 있다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA2B6.gif.

(3)

중계 노드는 자신이 수신한 패킷의 부호 벡터를 위 수식에 따라 새롭게 부호화하여 부호 벡터를 업데이트한 뒤 다음 상위 계층으로 중계한다.

성공적인 복호를 위해 싱크 노드에서의 수신 패킷 수는 생성자의 크기 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA2D6.gif보다 많아야 한다. 모든 패킷은 선형 결합을 통해 부호화되었으므로 싱크 노드는 역행렬을 이용하여 복호화를 수행한다. 역행렬을 이용한 복호화는 다음과 같은 수식으로 나타낼 수 있으며[7], 이를 위한 연산량은 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA306.gif이 된다.[6]

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA364.gif.

(4)

3.3 리던던시의 결정

데이터 패킷의 전송은 크게 소스 노드와 중계 노드, 중계 노드와 중계 노드, 중계 노드와 싱크 노드 사이의 전송으로 구분된다. 중계 노드와 중계 노드, 중계 노드와 싱크 노드 사이 전송의 경우, 상위 계층의 노드는 하위 계층에 위치하는 다수의 중계 노드로부터 패킷을 수신할 수 있으므로 일부의 패킷이 손실되었을 경우에도 다중 경로 전달에 의한 이득을 기대할 수 있다. 따라서 소스 노드와 중계 노드 사이에서의 전송을 제외한 다른 계층 사이의 전송에서는 별도의 리던던시를 추가하지 않는다. 즉, 생성자의 크기를 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA385.gif, 중계 노드에서 수신한 패킷의 수를 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA395.gif 이라 할 때, 중계 노드에서 송신하는 패킷의 수 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA3C5.gif은 다음과 같이 나타낼 수 있다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA405.gif.

(5)

반면 소스 노드와 중계 노드 사이 전송에서는 데이터 패킷이 손실되었을 경우 이를 보상할 수 없으므로 약간의 리던던시를 추가한다. 즉, 소스 노드에서 부호화된 패킷의 수를 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA415.gif라 할 때 부호화된 패킷 수는 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA464.gif로 앞서 설명한 것과 같이 나타낼 수 있다.

IV. 코드 할당 기법 및 데이터 전송

Fig. 4는 계층별 다중 접속을 위한 직교 코드의 사용 방식을 나타낸다. 다수의 소스 노드는 고유한 직교 코드를 사용하여 데이터 패킷을 전송한다. 중계 노드는 직교 코드의 역확산을 활용하여 서로 다른 소스 노드의 패킷을 구분하여 부호화한 후 다중 직교 코드를 이용한 다중화를 사용하여 상위 노드로 중계한다. 각각의 소스 노드와 중계 노드에 할당되는 코드는 센서 네트워크 구성 초기화 과정에서 싱크 노드에 의해서 각 노드에 영구적으로 할당된다고 가정하며, 할당 가능한 코드의 수는 충분하다고 가정한다.[5]

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA4A4.png

Fig. 4. Code allocation scheme.

Fig. 5는 하위 계층(http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA4C5.gif) 노드와 상위 계층(http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA4D6.gif) 노드 사이의 동기화된 패킷 전송 과정을 시간 축에서 나타낸다. 계층별 채널은 시분할되어 슬립 모드(sleep mode)와 동작 모드(awake mode)가 반복되는 구조로 운용된다. 동작 모드는 다시 수신 구간(Rx)과 송신 구간(Tx)으로 나누어진다. 상위 계층의 수신 구간은 하위 계층의 송신 구간과 동기화되며 이때 수중 음향 신호의 긴 전파 지연 시간만큼 실제 시간 축 상에서는 지연되어 배치된다.[2,8] 동일 계층에 존재하는 노드라 하더라도 상위 계층 부모 노드까지의 거리가 다를 수 있으므로 송신 구간의 시작점이 달라진다. 즉, 거리에 상관없이 다수의 하위 노드로부터의 전송 패킷이 상위 노드의 수신 구간에 동시에 도착할 수 있도록 하위 계층 노드의 송신 구간이 결정되어야 한다.[8-11]

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA4B5.png

Fig. 5. Timing diagram of data packet transmission for source-relay.

V. 성능 분석

5.1 모의실험 환경 및 파라미터

모의실험을 위한 시뮬레이터로 MATLAB 프로그램을 사용하며, 시뮬레이터는 일반적인 PC 환경에서 동작한다. MATLAB 시뮬레이터를 사용하여 수중 음향 센서 망 환경을 구축하기 위해 수중 환경의 비트 오류율 및 패킷 손실률의 값을 사용하였다. 모의실험의 구조로서 첫 번째 계층에 싱크 노드가 위치하며, 두 번째 계층에는 4개의 중계 노드, 마지막 계층에는 2개의 소스 노드가 위치하는 구조를 고려한다(Fig. 6). 계층 간 수직 거리는 600 m, 계층 내 노드 간 거리는 중계 노드의 경우 200 m, 소스 노드의 경우 400 m로 설정했다. 이 밖의 시스템 파라미터로 패킷의 크기는 500 bits, 생성자의 크기 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA536.gif 의 값은 3, 소스 노드에서의 리던던시 크기 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA537.gif은 2로 설정하였으며 다양한 환경에서의 모의실험을 위하여 패킷 손실률은 기본적으로 0.1에서 0.6 사이의 값을 가진다고 설정하였다. 수중 음향 채널의 모든 링크는 동일한 패킷 오류율을 갖는다고 가정하며, 오류 패킷은 모두 손실 처리되는 손실 채널(lossy channel)이라 가정한다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA525.png

Fig. 6. Basic network topology.

제안하는 네트워크 코딩 기법의 성능 분석을 위한 파라미터로 패킷 전달률(Packet Delivery Ratio: PDR)을 사용한다. 패킷 전달률은 소스 노드에서 전송한 전체 패킷의 수와 싱크 노드에서 성공적으로 복호한 패킷의 수의 비로 정의한다. 싱크 노드에서의 성공적인 복호의 기준은 싱크 노드에서 생성자의 크기 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA557.gif보다 많은 수의 패킷을 수신하였는지에 대한 여부로 판단하며, 그렇지 않을 경우 생성자에 속한 모든 패킷을 복호할 수 없다고 가정한다.

5.2 기본 네트워크 구조에서의 성능 분석

Fig. 7은 기본 네트워크 구조에서 다양한 패킷 손실률에 따른 패킷 전달률을 나타낸다. 패킷 손실률이 증가함에 따라 패킷 전달률 또한 감소하는 것을 확인할 수 있다. 패킷 손실률이 0.4 이상일 경우 패킷 전달률의 값이 급속히 감소하는 것은 패킷의 손실률이 증가하여 싱크 노드에서 수신하는 패킷의 수가 생성자의 크기 http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA567.gif보다 적어 복호가 불가능하기 때문이다. 하지만 패킷 손실률이 0.4 이하의 환경에서는 패킷 전달률 값이 95% 이상, 거의 1과 가깝게 나타나며, 따라서 패킷 손실률이 0.4 이하의 환경에서 제안 기법을 활용할 경우 높은 신뢰성을 가지는 데이터 패킷 전송이 가능하다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA643.gif

Fig. 7. Packet delivery ratio under various packet loss rate condition.

5.3 리던던시 크기에 따른 성능 분석

Fig. 8은 소스 노드에서 전송하는 데이터 패킷에 추가되는 리던던시의 크기에 따른 패킷 전달률을 나타낸다. 리던던시 크기에 따른 오류 정정 성능은 높은 패킷 손실률 환경일수록 큰 차이를 보이게 되며, 이는 소스 노드와 중계 노드 사이의 데이터 패킷 전송에서 손실된 패킷은 이후에 다수의 중계 노드로 인한 다중 경로 확산의 이득으로도 복구할 수 없다는 것을 의미한다. 그러나 지나치게 많은 리던던시의 수는 많은 수의 패킷을 전송함에 따른 트래픽의 증가로 이어지므로 적절한 수의 리던던시의 크기를 설정하는 것이 중요하다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA6A2.gif

Fig. 8. Packet delivery ratio under various redundancy size.

5.4 중계 노드의 수에 따른 성능 분석

Fig. 9는 두 번째 계층에 위치한 중계 노드의 수에 따른 패킷 전달률 성능을 분석한 그림이다. 해당 모의실험은 두 번째 계층에 위치한 중계 노드의 수를 2 개에서 5 개로 변화시키면서 수행하였다. 중계 노드의 수가 많아질수록 다중 경로 전달에 의한 이득으로 인한 성능 향상을 보이므로 중계 노드의 수가 2개일 경우에 비해 중계 노드의 수가 5개일 경우의 패킷 전달률이 최대 40% 정도 성능 향상을 보인다. 그러나 중계 노드의 수가 4개에서 5개로 증가할 경우에는 성능의 향상이 거의 없는 것을 확인할 수 있다. 이는 다중 경로 전달에 의한 이득이 일정 수준 이상으로 증가하지 않는 다는 것을 의미하며, 따라서 지나치게 많은 수의 중계 노드는 트래픽의 증가로 이어져 자원 효율을 감소시키는 원인이 되므로 적절한 수의 중계 노드를 배치하는 것이 필요하다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA6E1.gif

Fig. 9. Packet delivery ratio for different number of nodes.

5.5 홉 수에 따른 성능 분석

Fig. 10은 홉 수에 따른 패킷 전달률을 나타낸다. 해당 모의실험은 홉 수에 따른 성능 차이가 확실하게 나타나도록 하고 다수의 중계 노드로 인한 이득을 최소화하기 위해 각 계층의 중계 노드 수를 2개로 설정하였으며, 홉의 수는 2 홉에서 5 홉까지 증가시키면서 패킷 전달률의 성능을 분석하였다. 홉 수가 증가함에 따라 더 많은 패킷 전송이 발생하고 이로 인한 지속되는 패킷 손실로 인해 패킷 전달률이 감소할 것이라고 예상하였으나 모의실험 결과 홉 수의 증가에도 불구하고 패킷 전달률의 성능은 감소하지 않는 것으로 나타났다. 이는 다중 경로 확산에 의한 이득과 네트워크 코딩에 의한 이득이 홉 수의 증가에 따른 패킷 전송의 증가에 비해 크다는 것을 의미한다. 따라서 제안 기법을 통해 중계 노드의 수와 무관하게 안정적인 다중 홉 통신 환경을 기대할 수 있다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA77F.gif

Fig.10. Packet delivery ratio for different number of hops.

5.6 계층 간 거리에 따른 성능 분석

Fig. 11은 계층 간 거리 변화에 따른 패킷 손실률과 그에 따른 패킷 전달률을 나타낸다. 해당 모의실험은 계층 간 거리에 따른 패킷 손실률의 변화와 그에 따른 성능을 분석하기 위해 패킷의 크기를 500 bits로 고정시키고 계층 간의 거리를 200 m에서 1200 m까지 200 m 단위로 증가시켰다. Fig. 11에서 계층 간 거리의 증가에 따라 함께 증가하는 값이 패킷 손실률이며 계층 간 거리가 800 m 이상일 경우 패킷 손실률의 크기가 0.4 이상이 된다. 이는 거리가 증가함에 따라 신호 감쇠의 크기가 급격히 증가하여 비트 오류율 또한 급격히 증가하는 수중 음향 채널의 특성에 의한 것이다. 패킷 손실률이 0.4인 경우를 기점으로 패킷 전달률의 값이 급격히 감소하므로 신뢰성 높은 데이터 패킷 전송을 위해서는 패킷 손실률이 0.4 이하가 되도록 센서 노드 사이의 거리를 조절해야 한다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA78F.png

Fig. 11. Packet delivery ratio for different distance between livels.

5.7 패킷 크기에 따른 성능 분석

Fig. 12는 소스 노드에서 생성되는 패킷의 크기에 따른 패킷 손실률과 그게 따른 패킷 전달률 값의 변화를 나타낸다. 해당 모의실험은 계층 간의 거리를 600 m로 고정시키고 패킷의 크기를 500 bits에서 2500 bits까지 500 bits 단위로 증가시켰다. 패킷의 크기가 증가할수록 패킷 손실률 또한 함께 증가하지만 계층 사이의 거리 변화에 따른 패킷 손실률의 증가(Fig.  11)에 비해 낮은 폭으로 증가하며 패킷 전달률의 값은 패킷 손실률이 0.4 이상의 값을 가지게 되면 급격히 감소한다. 따라서 비트 오류율에 의한 패킷 순실률을 고려하여 원하는 수준의 패킷 전달률을 갖기 위한 패킷의 크기를 결정할 수 있다.

http://static.apub.kr/journalsite/sites/ask/2013-032-01/0660320110/images/PICA7B0.png

Fig. 12. Packet delivery ratio for different packet size.

VI. 결 론

본 논문에서는 수중 센서 네트워크에서의 코드 분할 다중 접속 방식을 사용한 네트워크 코딩 기법을 제안하고 이에 대한 성능을 분석하였다. 고려하는 수중 센서 네트워크의 구조는 다수의 소스 노드와 중계 노드, 하나의 싱크 노드로 구성된 다중 경로 전달 계층 구조이며, 코드 분할 다중 접속 방식을 사용함으로써 다수의 소스 노드를 가지는 네트워크 구조에서 효율적인 네트워크 코딩 기법의 운용이 가능하였다. 또한 네트워크 코딩 기법으로 인한 연산량의 증가를 고려해 구현이 간단하고 연산량이 적은 랜덤 선형 네트워크 코딩 기법을 사용하였다. 수중 센서 네트워크에서의 네트워크 코딩 기법의 성능을 분석하기 위해 모의실험을 통하여 다양한 환경에서의 패킷 전달률 값을 구하고 이를 분석하였다. 이를 통해 수중 센서 네트워크에서 네트워크 코딩 기법을 적용하기 위해서는 패킷 손실률의 관리가 필수적이며 패킷 손실률의 관리는 패킷의 크기와 통신 노드의 거리를 조절하는 것으로써 가능하다는 것을 확인하였다. 또한 안정적인 다중 홉 확장이 가능하므로 네트워크 코딩 기법의 적용에 있어서 경우 홉 사이의 거리가 짧은 다중 홉 환경이 적합하다. 향후 다중 홉 수중 센서 네트워크 환경에서 제안 기법을 활용함으로써 신뢰성 높은 데이터 패킷 통신을 기대할 수 있다.

Acknowledgements

본 연구는 방위사업청과 국방과학연구소의 지원으로 수행되었으며, 이에 대해 깊이 감사를 드립니다(계약번호 UD100002KD). 본 논문의 일부는 2012학년도 경북대학교 학술연구비에 의하여 연구되었음.

References

1
I. F. Akyildiz, D. Pompili, and T. Melodia, "Underwater acoustic sensor networks: research challenges," in Proc. Ad Hoc Networks (El-sevier) 3, 257-279 (2005).
10.1016/j.adhoc.2005.01.004
2
J. -P. Kim, J. -W. Lee, Y. -S. Jang, K. Son, and H. -S. Cho, "A CDMA-based MAC protocol in tree-topology for underwater acoustic sensor networks," in Proc. WAINA'09, 1166-1171 (2009).
10.1109/WAINA.2009.18
3
J. G. Proakis, E. M. Sozer, J. A. Rice, and M. Stojanovic, "Shallow water acoustic networks," IEEE Comm. Mag. 39, 114-119 (2001).
10.1109/35.965368
4
M. Stojanovic, Encyclopedia of Telecommunications - Acoustic (Underwater) Communications (Wiley, NewYork, 2003).
10.1002/0471219282.eot110PMC2172754
5
I. F. Akyildiz, D. Pompili, and T. Melodia, "A CDMA-based medium access control for underwater acoustic sensor networks," in Proc. IEEE Trans. on Wireless Comm. 8, 1899-1909 (2009).
10.1109/TWC.2009.080195
6
T. Ho, R. Koetter, M. Medard, D.R. Karger, M. Effros, "The benefits of coding over routing in a randomized setting," in Proc. IEEE ISIT 2003, 442 (2003).
10.1109/ISIT.2003.122845914716918
7
C. Fragouli, J. -Y. L. Boudec, J. Widmer, "Network coding: an instant primer," in Proc. ACM SIGCOMM Comp. Comm. Review 36, 63-68 (2006).
10.1145/1111322.1111337
8
G. Lu, B. Krishnamachari, and C. S. Raghavendra, "An adaptive energy-efficient and low-latency MAC for data gathering in wireless sensor networks," in Proc. 18th International Parallel and Distributed Processing Symposium, 224, (2004).
9
A. A. Syed and J. Heidemann "Time synchronization for high latency acoustic networks," in Proc. IPDPS 2006, 1-12 (2006).
10.1109/INFOCOM.2006.16116542000
10
C Tian, W. Liu, J. Jin, J. W, and Y. Mo, "Localization and synchronization for 3D underwater acoustic sensor networks," in Proc. UIC 2007, 662-631 (2007).
11
N. Chirdchoo, W. -S. Soh, and K. C. Chua, "MU-sync: a time synchronization protocol for underwater mobilenetworks," in Proc. WUWNet'08, 35-42 (2008).
10.1145/1410107.1410115
페이지 상단으로 이동하기