KR101063933B1 - 모바일 애드 혹 네트워크 환경에서 데이터 패킷의재전송을 위한 장치 및 방법 - Google Patents

모바일 애드 혹 네트워크 환경에서 데이터 패킷의재전송을 위한 장치 및 방법 Download PDF

Info

Publication number
KR101063933B1
KR101063933B1 KR1020040018890A KR20040018890A KR101063933B1 KR 101063933 B1 KR101063933 B1 KR 101063933B1 KR 1020040018890 A KR1020040018890 A KR 1020040018890A KR 20040018890 A KR20040018890 A KR 20040018890A KR 101063933 B1 KR101063933 B1 KR 101063933B1
Authority
KR
South Korea
Prior art keywords
packet
information
node
lost
broadcast
Prior art date
Application number
KR1020040018890A
Other languages
English (en)
Other versions
KR20040092392A (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 JP2004128829A priority Critical patent/JP4064944B2/ja
Priority to EP20040252404 priority patent/EP1471696B1/en
Priority to CNB2004100552766A priority patent/CN1315279C/zh
Priority to US10/831,274 priority patent/US7310761B2/en
Publication of KR20040092392A publication Critical patent/KR20040092392A/ko
Application granted granted Critical
Publication of KR101063933B1 publication Critical patent/KR101063933B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 데이터 패킷의 재전송을 위한 장치 및 방법에 관한 발명으로서, 모바일 애드 혹 네트워크 환경에 있어서, 본 발명의 실시에 따른 패킷 재전송을 요청하는 방법은 주기적으로 브로드캐스트되는 제1 패킷을 수신하는 단계와, 상기 제1 패킷으로부터 어플리케이션 프로그램에 의해 발생된 데이터를 포함하는 제2 패킷에 대한 패킷 전송 정보를 추출하는 단계와, 상기 패킷 전송 정보로부터 상기 제2 패킷의 손실 여부를 판단하는 단계와, 상기 제2 패킷이 손실되었다고 판단된 경우, 상기 제2 패킷의 재전송을 요청하는 요청 패킷을 브로드캐스트하는 단계를 포함한다.
모바일 애드 혹 네트워크(mobile add hoc network), 패킷 손실(packet loss), 브로드캐스트 데이터 패킷(broadcast data packet)

Description

모바일 애드 혹 네트워크 환경에서 데이터 패킷의 재전송을 위한 장치 및 방법{Apparatus and method for retransmission of data packet in mobile add hoc network environment}
도 1은 모바일 애드 혹 네트워크(mobile ad hoc network)에 있어서, 종래의 기술에 따른 플러딩(Flooding) 메커니즘을 나타내고 있는 예시도이다.
도 2는 모바일 애드 혹 네트워크(mobile ad hoc network)에 있어서, 패킷 전송의 효율성을 얻기 위한 종래의 브로드캐스트 메커니즘을 나타내고 있는 예시도이다.
도 3은 상기 도 1에 있어서, 패킷 충돌(packet collision)이 발생하는 메커니즘을 나타내고 있는 예시도이다.
도 4는 본 발명의 실시에 따라 패킷 손실을 감지하고, 패킷 재전송을 요청하는 개략적인 메커니즘을 설명하는 예시도이다.
도 5는 본 발명의 실시에 따라 데이터 패킷의 재전송을 요청하는 메카니즘을 설명하기 위한 모바일 애드 혹 네트워크(mobile ad hoc network) 토폴로지(topology)를 나타내는 예시도이다.
도 6은 본 발명의 실시에 따른 브로드캐스트 패킷의 포맷을 나타내는 예시도이다.
도 7은 본 발명의 실시에 따라 상기 도 5에서 도시한 네트워크 토폴로지(network topologoy)를 구성하는 노드(node)간에 헬로 패킷을 송수신하는 메커니즘을 설명하는 예시도이다.
도 8은 본 발명의 실시에 따른 헬로 패킷의 포맷을 나타내는 예시도이다.
도 9는 본 발명의 실시에 따른 이웃 노드 정보 테이블(neighbor table)을 나타내는 예시도이다.
도 10은 본 발명의 실시에 따라 브로드캐스트 패킷을 송신하는 과정을 나타내는 일실시예 처리 흐름도이다.
도 11은 본 발명의 실시에 따라 수신한 헬로 패킷을 처리하는 과정을 나타내는 일실시예 처리 흐름도이다.
도 12는 본 발명의 실시에 따라 수신한 브로드캐스트 패킷을 처리하는 과정을 나타내는 일실시예 처리 흐름도이다.
도 13은 본 발명의 실시에 따라 패킷 재전송을 요청하는 과정을 나타내는 일실시예 처리 흐름도이다.
도 14는 본 발명의 실시에 따라 패킷 재전송을 요청하기 위한 장치의 내부 블록도를 나타내는 예시도이다.
도 15는 본 발명에 대한 시뮬레이션 결과에 따른 단일의 소스 노드(source node)의 대한 패킷 전송율을 측정한 결과를 나타내는 그래프이다.
도 16은 본 발명에 대한 시뮬레이션 결과에 따른 다수의 소스 노드(source node)에 대한 패킷 전송율을 측정한 결과를 나타내는 그래프이다.
도 17은 본 발명에 대한 시뮬레이션 결과에 따른 단일의 소스 노드(source node)에 대한 재전송되는 패킷 수를 측정한 결과를 나타내는 그래프이다.
도 18은 본 발명에 대한 시뮬레이션 결과에 따른 다수의 소스 노드(source node)에 대한 재전송되는 패킷 수를 측정한 결과를 나타내는 그래프이다.
<도면의 주요 부분에 대한 부호의 설명>
1400: 제어 모듈
1410: 저장 모듈
1420: 패킷 분석 모듈
1430: 패킷 생성 모듈
1440: 송수신 모듈
본 발명은 모바일 애드 혹 네트워크(Mobile ad hoc network)에 관한 것으로, 보다 상세하게는 브로드캐스팅 방법에 의해 전송되는 패킷(이하, '브로드캐스트 패킷'이라 한다)의 손실을 완화하기 위한 손실된 데이터 패킷의 재전송을 위한 방법 및 장치에 관한 것이다.
모바일 애드 혹 네트워크(Mobile ad hoc network)는 이동성(mobility)을 갖는 단말(이하, '노드(node)'라고 한다)들 사이의 연결을 무선링크(wireless link)를 이용하여 인프라스트럭처(infrastructure)에 기반하지 않고 확보해 주는 네트워 크이다.
그런데 모바일 애드 혹 네트워크(Mobile ad hoc network)를 구성하는 각각의 노드(node)들은 서로 독립적으로 이동하므로 모바일 애드 혹 네트워크(mobile ad hoc network)를 제어하거나 노드(node)들간에 정보를 공유하고자 할 때에는 중앙집중적(centralized)인 방식보다는 분산(decentralized)방식을 이용해야 한다.
상기와 같은 분산(decentralized) 방식을 이용하여 모바일 애드 혹 네트워크(Mobile ad hoc network)를 구성하는 전체 노드(node)들을 제어하기 위해서는, 전체 노드(node)들에 대한 제어 정보를 포함하는 패킷을 브로드캐스팅 방법에 의해 전송하는 메커니즘이 필수적으로 요청된다.
이 때, 모바일 애드 혹 네트워크(mobile ad hoc network)에서는 인프라스트럭처(infrastructure)를 기반으로 하는 무선 랜(Wireless Local Area Network)의 억세스 포인트(Access Point)와 같은 중앙집중적(centralized)인 제어장치가 없으므로 하나 이상의 노드에서 패킷이 동시에 브로드캐스트될 가능성이 높다. 그러나, 이러한 경우에 무선 링크(wireless link)의 특성상 전파 영역이 겹치는 두 노드가 동시에 브로드캐스트 패킷을 전송하면 상기 브로드캐스트 패킷 사이에 패킷 충돌(packet collision)이 발생할 수 있다. 즉, 여러 노드에서 동시에 전송한 중요한 제어 정보들이 브로드캐스트의 전달 경로가 겹쳐서 발생하는 패킷 충돌(packet collision)에 의해 소멸될 가능성이 커지게 되어 브로드케스트 패킷의 전송 신뢰성(reliability)(이하, '신뢰성(reliability)'라고 한다) 문제가 발생될 수 있는 것이다.
따라서, 상기와 같은 신뢰성(reliability)을 보장하기 위해 모바일 애드 혹 네트워크(mobile ad hoc network) 시스템에서는 '플러딩(Flooding)'이라는 브로드캐스트 메커니즘이 있다.
플러딩 메커니즘에서는 최초로 패킷을 생성하는 소스 노드(source node)가 이웃하는 다른 노드(node)들에게 상기 생성된 패킷을 브로드캐스트하고, 상기 이웃하는 각각의 노드(node)들은 수신한 패킷을 단1회만 브로드케스트한다. 이러한 과정은 모바일 애드 혹 네트워크(mobile ad hoc network)에서 도달 가능하는 모든 노드(node)들이 상기 패킷을 수신할 때까지 계속된다.
도 1에서는 상기와 같은 플러딩 메커니즘을 나타내고 있는데, 상기 도 1을 이용하여 보다 구체적으로 설명하도록 한다.
송신노드(sender)가 이웃 노드(neighbor node)들에게 패킷을 브로드캐스트하면, 상기 이웃 노드(neighbor node)들은 자신이 수신한 브로드캐스트 패킷을 자신의 이웃 노드(neighbor node)들에게 전송하게 된다. 따라서, 하나의 노드(node)가 동일한 패킷을 여러 번 수신하게 되어 대역폭(bandwidth)을 많이 소비하게 되고, 이에 따라 브로드캐스트 효율성(broadcast efficiency)이 크게 저하된다.
상기 도 1에서 도시하는 바와 같이, 예컨대 노드-3이 소스 노드(source node)가 되어 패킷을 브로드캐스트한 후, 이를 수신한 노드-1과 노드-4는 1-홉(1-hop) 내에 있는 자신의 이웃 노드(neighbor node)로 상기 패킷을 브로드캐스트한다. 이 때, 노드-2, 노드-6, 노드-7은 상기 노드-1로부터 상기 패킷을 수신하고, 노드-5, 노드-6은 상기 노드-4로부터 상기 패킷을 수신하게 된다. 그리고 나서, 상 기 노드-2, 상기 노드-5, 상기 노드-6, 상기 노드-7은 다시 이웃 노드(node)들에게 패킷을 브로드캐스트하는데, 이 때 브로드캐스트되는 전파 영역이 대부분 겹치게 되어 많은 패킷 손실(packet loss)이 발생하게 된다.
그러나, 상기 플러딩 메커니즘은 하나의 노드가 동일한 패킷을 여러 번 수신하게 함으로써, 단일 패킷 손실(single packet loss)은 다른 여분의 패킷에 의해 보완될 수 있고 상기 신뢰성(reliability)이 보장된다.
반면에, 상기 플러딩 메커니즘은 여분의 패킷들이 대역폭을 소비하면서 여러 번 전송되기 때문에 브로드캐스트 효율성(broadcast efficiency)을 저하시키게 한다.
따라서, 모바일 애드 혹 네트워크(mobile ad hoc network)에서 상기 브로드캐스트 효율성(broadcast efficiency)을 개선하기 위하여, 여분의 패킷 수를 최소화하기 위한 여러 가지 방법들이 제안되었다.
이러한 방법들 중의 하나로서, 모든 노드(node)들이 브로드캐스트 패킷을 다시 브로드캐스트하는 것이 아니라, 이웃하는 노드(node)들 중 일부 노드(node)들만이 수신한 브로드캐스트 패킷을 다시 브로드캐스트하는 방법이 있다.
모바일 애드 혹 네트워크(mobile ad hoc network)는 인프라스트럭처(infrastructure)없이 모바일 노드(mobile node)들이 무선 링크(wireless link)로 연결되어 있기 때문에, 네트워크를 구성하는 노드(node)들의 이동성(mobility)으로 인하여 수시로 네트워크 토폴로지가 변하게 된다. 따라서 모바일 애드 혹 네트워크(mobile ad hoc network)에 속한 노드(node)들은 이웃 노 드(neighbor node)들의 상태와 전체 네트워크의 토폴로지를 파악하기 위하여 자신의 주소 정보와 확인된 이웃 노드(neighbor node)들에 대한 정보를 포함하고 있는 헬로우 패킷(Hello packet)을 주기적으로 교환한다.
즉, 브로드캐스트 패킷 송신자(sender)는 상기 헬로우 메시지(Hello packet)에 의해 수집된 이웃 노드(neighbor node)들에 대한 정보를 기초로 하여 이웃 노드(neighbor node)들중 일부 노드(node)들을 중계자(relayer)로 선택할 수 있는데, 이러한 메커니즘의 대표적인 것으로서 AHBP(Add Hoc Broadcast Protocol)이 있다. 상기 AHBP는 2-hop 내에 이웃하고 있는 노드(node)들에 대한 정보를 갖고 있는 임의의 노드가 1-hop 내에 있는 노드(node)들 중 임의의 노드(node)를 중계자(relayer)로 선정하고, 상기 임의의 노드가 전송한 브로드캐스트 패킷을 상기 선정된 중계자(relayer)만이 다시 브로드캐스트할 수 있도록 하는 프로토콜(protocol)이다.
도 2에서는 상기 AHBP가 동작하는 방법을 구체적으로 나타내고 있다.
즉, 상기 도 2에서는 여분의 패킷(redundant packet) 수를 최소화함으로써 대역폭을 효율적으로 사용하기 위하여 일부 노드에서만 패킷을 브로드캐스트 하는 방법을 사용한다.
예컨대, 노드-3을 소스 노드(source node)라고 하면, 노드-1과 노드-4는 상기 노드-3에 의해 중계자(relayer)로 선택되고, 노드-6은 상기 노드-1 또는 상기 노드-4에 의해 중계자(relayer)로 선택되어 패킷을 브로드캐스트하게 된다.
그러나, 이러한 방법에 의해 여분의 패킷 수를 최소화시키는 것은 단일 패킷 손실(single packet loss)에 대한 신뢰성(reliability)을 저하시키게 되고, 특히 상기 중계자(relayer)가 패킷을 손실하는 경우에는 더욱더 문제가 되는 것이다.
또한, 모바일 애드 혹 네트워크(mobile ad hoc network)를 구성하는 노드(node)들은 무선 링크(wireless link) 환경에서 자유롭게 이동하고 다른 노드(node)들과 독립적으로 데이터를 송수신하게 되어 도 3에서 도시하는 바와 같이 여러 노드가 동시에 브로트캐스트 패킷을 송신할 가능성이 크다. 이렇게 되면 패킷들이 전달되는 경로가 겹침으로 인하여, 상기 도 3에서 도시하는 바와 같이 경로가 겹칠 때마다 패킷 충돌(packet collision)이 발생하여 신뢰성(reliability)이 크게 감소될 수 있다.
따라서, 모바일 애드 혹 네트워크(mobile ad hoc network) 환경에서 하나 이상의 노드가 브로드캐스트 패킷을 전송하는 경우, 브로드캐스트 전달 경로가 겹치기 때문에 발생하는 패킷 충돌(packet collision)의 영향을 최소화하고 브로드캐스트 패킷을 효율적이고 안정적으로 전달시킴으로써 신뢰성(reliability)과 브로드캐스트 효율성(broadcast efficiency)을 확보하기 위한 메커니즘이 필요하게 되었다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 브로드캐스트 패킷을 수신하는 수신자(receiver)가 패킷 손실(packet loss)을 감지하고, 패킷을 송신한 소스 노드(source node) 또는 중계자(relayer)에게 손실된 패킷의 재전송을 요청하는 방법을 제공하는데 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 모바일 애드 혹 네트워크 환경에 있어서, 본 발명의 실시에 따른 패킷 재전송을 요청하는 방법은 주기적으로 브로드캐스트되는 제1 패킷을 수신하는 단계와, 상기 제1 패킷으로부터 어플리케이션 프로그램에 의해 발생된 데이터를 포함하는 제2 패킷에 대한 패킷 전송 정보를 추출하는 단계와, 상기 추출한 패킷 전송 정보가 상기 제2 패킷에 대한 가장 최근에 수신된 패킷 전송 정보와 동일하지 않은 경우에 상기 제2 패킷이 손실되었다고 판단하는 단계와, 상기 제2 패킷이 손실되었다고 판단된 경우, 상기 제2 패킷의 재전송을 요청하는 요청 패킷을 브로드캐스트하는 단계를 포함한다.
바람직하게는 상기 제1 패킷은 상기 무선 네트워크에 속하는 각각의 노드들에 대한 라우팅 정보를 포함한다.
바람직하게는 상기 제2 패킷의 손실 여부를 판단하는 단계는, 상기 추출한 패킷 전송 정보가 상기 제2 패킷에 대한 가장 최근에 수신된 패킷 전송 정보와 동일하지 않는 경우에 상기 제2 패킷의 손실이 발생하였다고 판단하는 단계를 포함한다.
바람직하게는 상기 요청 패킷은 상기 제1 패킷과 동일한 패킷 구조를 포함한다.
바람직하게는 상기 패킷 전송 정보는 상기 제1 패킷 내의 패킷에 관한 정보를 나타내는 영역에 포함된다.
바람직하게는 상기 요청 패킷을 브로드캐스트하는 단계는, 상기 요청 패킷 내에 패킷 손실을 나타내는 패킷 손실 식별 정보와 손실된 패킷에 대한 정보를 포함하여 브로드캐스트하는 단계를 포함한다.
바람직하게는 상기 손실된 패킷에 대한 정보는 손실된 패킷에 대한 패킷 전송 정보와 상기 손실된 패킷을 전송한 노드의 식별 정보를 포함한다.
상기 목적을 달성하기 위하여, 모바일 애드 혹 네트워크 환경에 있어서, 본 발명의 실시에 따른 패킷 재전송을 위한 장치는 어플리케이션 프로그램에 의해 발생된 데이터를 포함하는 데이터 패킷에 대한 패킷 전송 정보와 상기 데이터 패킷의 손실 여부를 나타내는 패킷 손실 식별 정보와 손실된 데이터 패킷에 대한 정보를 포함하는 무선 패킷을 송수신하는 송수신 모듈과, 상기 송수신 모듈로부터 상기 무선 패킷을 전달받고, 상기 패킷 손실 식별 정보에 대응하는 이벤트를 발생시키거나, 브로드캐스트 방식으로 전송할 패킷을 생성하여 상기 송수신 모듈로 전달하는 패킷 처리 모듈과, 상기 패킷 전송 정보와 이웃하는 노드들에 대한 라우팅 정보를 저장하는 저장 모듈, 및 소정의 어플리케이션 프로그램과 상기 패킷 처리 모듈 간에 데이터 전달을 수행하거나, 상기 이벤트에 대응하는 이벤트 처리를 수행하는 제어 모듈을 포함한다.
바람직하게는 상기 무선 패킷은 주기적으로 브로드캐스트되는 패킷인 것을 포함한다.
바람직하게는 상기 이벤트 처리는 상기 패킷 손실 식별 정보가 패킷이 손실되지 않았음을 나타내는 경우에, 상기 패킷 전송 정보를 이용하여 손실된 데이터 패킷의 재전송 여부를 결정하는 이벤트 처리를 포함한다.
바람직하게는 상기 이벤트 처리는 상기 패킷 손실 식별 정보가 패킷이 손실되었음을 나타내는 경우에, 상기 손실된 데이터 패킷에 대한 정보를 이용하여 손실된 데이터 패킷의 재전송 여부를 결정하는 이벤트 처리를 포함한다.
바람직하게는 상기 손실된 데이터 패킷에 대한 정보는 손실된 데이터 패킷에 대한 패킷 전송 정보와 상기 손실된 데이터 패킷을 전송한 노드의 식별 정보를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
한편, 본 발명에 대한 이해를 용이하게 하기 위해 최초로 패킷을 생성하여 브로드캐스트하는 노드를 '소스 노드(source node)'라 하고, 상기 패킷을 수신하는 노드를 '수신자(receiver) '라 하고, 상기 수신자 중에서 수신한 패킷을 다시 브로드캐스트하는 노드를 '중계자(relayer) '라고 칭하기로 한다.
또한, 본 발명의 실시에 있어서, 패킷 손실 감지 및 패킷 재전송 요청을 하기 위한 정보로서 'RBS(Relayer Broadcast Sequence number)'라는 값을 정의하는데, 상기 RBS값은 브로드캐스트 패킷에 포함된 소정의 필드값으로 설정할 수 있다.
상기 RBS값은 소스 노드(source node) 또는 중계자(receiver)가 브로드캐스트 패킷을 전송하거나 중계할 때마다 변하게 되는데, 본 발명에 대한 이해를 용이하게 하기 위해 여기에서는 브로드캐스트 패킷이 소스 노드(source node) 또는 중계자(receiver)를 경유할 때마다 1씩 증가하는 것으로 가정한다.
도 4는 본 발명의 실시에 따라 패킷 손실을 감지하고, 패킷 재전송을 요청하는 개략적인 메커니즘을 설명하는 예시도이다. 이 때, 상기 도 4에서 도시한 메커니즘은 본 발명의 핵심을 명확하게 이해하기 위한 하나의 예로서, 본 발명의 내용이 상기 도 4에서 도시한 메커니즘에 한정되지는 않는다.
상기 도 4에서는 노드-1을 수신자(receiver)로, 노드-2와 노드-3을 중계자로 가정하고, 브로드캐스트 패킷과 헬로 패킷의 송수신에 따른 패킷 손실 감지 및 패킷 재전송 요청 과정을 설명하고 있다. 이 때, 상기 헬로 패킷은 모바일 애드 혹 네트워크를 구성하고 있는 각각의 노드들이 주기적으로 브로드캐스트하는 패킷으로서, 상기 헬로 패킷에는 자신의 라우팅 정보와 1-홉(1-hop) 내에 있는 다른 노드들의 라우팅 정보를 포함하고 있다. 또한, 상기 헬로 패킷도 브로드캐스트 패킷의 한 종류로 볼 수도 있으나, 본 발명에 대한 설명에 있어서는 어플리케이션 데이터를 포함하고 브로드캐스팅 방법에 의해 전송되는 패킷을 브로드캐스트 패킷이라고 하여 상기 헬로 패킷과 구별하기로 한다.
노드-1이 노드-2로부터 RBS값이 2로 설정된 브로드캐스트 패킷을 수신한 후(S410), 소정의 시간이 지난 후 노드-3으로부터 RBS값이 3으로 설정된 헬로 패킷을 수신한다(S415). 이 때, 상기 노드 -1은 상기 노드-3으로부터 RBS값이 3으로 설정된 브로드캐스트 패킷을 이미 정상적으로 수신하였다고 가정한다.
그리고 나서, 상기 노드-1은 상기 노드-2로부터 RBS값이 3으로 설정된 브로드캐스트 패킷과, 상기 노드-3으로부터 RBS값이 4로 설정된 브로드캐스트 패킷을 동시에 수신하게 된다(S420, S425). 이 때, 충돌에 의하여 패킷이 손실된다.
한편, 상기 노드-2와 상기 노드-3은 패킷 손실이 발생한 사실을 알지 못하고, 각각 헬로 패킷을 브로드캐스트한다. 즉, 상기 노드-2는 이미 RBS값이 3으로 설정된 브로드캐스트 패킷을 전송하였으므로, RBS값이 3으로 설정된 헬로 패킷을 브로드캐스트하고(S430), 상기 노드-3은 이미 RBS값이 4로 설정된 브로드캐스트 패킷을 전송하였으므로, RBS값이 4로 설정된 헬로 패킷을 브로드캐스트한다(S435). 이와 같이 헬로 패킷에 포함된 RBS값은 해당 노드가 최근에 전송한 브로드캐스트 패킷의 RBS값을 나타낸다. 한편, 상기 노드-1은 패킷이 손실된 사실을 알지 못한 채, 상기 노드-2와 상기 노드-3으로부터 각각 헬로 패킷을 수신하게 된다.
상기 노드-1은 상기 노드-2에 대하여 RBS값이 2로 설정된 브로드캐스트 패킷을 수신한 후, RBS값이 3으로 설정된 헬로 패킷을 수신하게 되므로 RBS값이 3으로 설정된 브로드캐스트 패킷을 수신하지 못하였다는 것을 감지하게 된다. 또한, 상기 노드-3에 대하여도 RBS값이 3으로 설정된 브로드캐스트 패킷을 수신한 후, RBS값이 4로 설정된 헬로 패킷을 수신하게 되므로 RBS값이 4로 설정된 브로드캐스트 패킷을 수신하지 못하였다는 것을 감지하게 된다. 따라서, 상기 노드-1은 헬로 패킷을 브로드캐스트하면서 상기 노드-2와 상기 노드-3에 대하여 패킷 재전송을 요청한다(S440, S445). 이 때, 패킷 재전송을 요청하는지 여부는 헬로 패킷 내에 소정의 필드를 패킷 재전송 요청을 위한 정보 필드로 정의하고, 상기 정보 필드에 설정된 값으로 판단한다. 본 발명에 대한 설명에서는 상기 필드를 'NACK'으로 칭하기로 한다. 또한, 패킷 재전송 요청은 도 4에서 도시한 바와 같이 2이상의 노드에 대하여 가능하므로, 본 발명에서는 헬로 패킷 내에 패킷 재전송을 요청받는 각각의 노드에 대한 정보와 재전송 대상이 되는 패킷 정보를 포함하는 소정의 필드를 설정한다.
상기 노드-2와 상기 노드-3은 상기 노드-1로부터 헬로 패킷을 수신한 후, 상기 노드-1이 재전송을 요청한 패킷을 각각 다시 브로드캐스트한다(S450, S455).
도 5는 본 발명의 실시에 따라 데이터 패킷의 재전송을 요청하는 메카니즘을 설명하기 위한 모바일 애드 혹 네트워크(mobile ad hoc network) 토폴로지(topology)를 나타내는 예시도이다.
상기 도 5에서는 노드-3을 소스 노드(source node)로 하고, 노드-1, 노드-4, 노드-6을 중계자(relayer)로 하고, 노드-2, 노드-5, 노드-7, 노드-8, 노드-9를 수신자(receiver)로 하고 있다. 이 때, 어떤 노드를 중계자로 할 것인지는 앞에서 설명한 AHBP(Add Hoc Broadcast Protocol)에 따라 결정될 수 있다.
본 발명의 실시에 따라, 소스 노드에 해당하는 노드-3에서 생성된 어플리케이션 데이터를 브로드캐스트할 경우에는 RBS값에 해당하는 정보를 상기 도 5에서 도시한 바와 같이 브로드캐스트 패킷 내의 소정의 필드에 설정해야 한다. 이 때, 상기 브로드캐스트 패킷은 각각의 노드들간에 데이터 통신을 가능하게 하는 통신 프로토콜을 따르는 데이터 패킷일 수 있으며, 여기에서는 IP(Internet Protocol) 패킷을 예로 설명한다.
도 6은 본 발명의 실시에 따른 브로드캐스트 패킷의 포맷을 나타내는 예시도로서, IP 패킷의 구조를 예를 들고 있다.
상기 IP 패킷은 패킷에 관한 정보를 포함하는 IP 헤더 영역과 패이로드(payload)에 해당하는 데이터 영역을 포함하고 있는데, 상기 IP 헤더 영역과 데이터 영역 사이에는 기타 정보들을 포함하고 있는 IP 옵션(option) 영역이 있다. 본 발명의 실시에 따른 RBS값에 대한 정보는 상기 IP 헤더 영역 또는 IP 옵션(option) 영역에 설정할 수 있다. 이하, IP 헤더 영역은 상기 IP 옵션(option) 영역을 포함하는 것으로 한다.
도 7은 본 발명의 실시에 따라 상기 도 5에서 도시한 네트워크 토폴로지(network topology)를 구성하는 노드(node)간에 헬로 패킷을 송수신하는 메커니즘을 설명하는 예시도이다.
헬로 패킷은 앞서 설명한 바와 같이 주기적으로 브로드캐스트되는 패킷으로서, 소스 노드(source node) 또는 중계자(relayer)는 브로드캐스트 패킷을 전송한 후, 전송된 패킷에 포함된 RBS값을 헬로 패킷에 설정하여 브로드캐스트한다. 또한, 중계자(relayer) 또는 수신자(receiver)는 패킷 손실을 감지하는 경우, 헬로 패킷에 NACK 정보를 설정하여 브로드캐스트에 의해 패킷 재전송을 요청하게 된다. 상기와 같은 헬로 패킷의 기능을 수행하기 위하여 도 8에서 도시한 바와 같은 헬로 패킷의 구조를 갖을 수 있다.
상기 도 8에 도시된 헬로 패킷은 '타입' 필드, '플래그' 필드, '이웃 노드 개수' 필드, 'RBS 정보' 필드, 'NACK 지도' 필드, '이웃 노드 정보' 필드를 포함한다.
상기 '타입' 필드는 패킷의 종류가 헬로 패킷을 나타내는 정보를 포함한다.
상기 '플래그' 필드는 상기 헬로 패킷을 송신하는 노드가 패킷을 손실하였음을 나타내는 정보를 포함한다. 예컨대, 상기 '플래그' 필드 중 특정 비트를 NACK 필드로 설정한 후, 상기 NACK 필드가 0으로 설정되면 패킷을 손실하지 않았다(이하, 'NACK 필드가 디스에이블되었다'라고 한다)는 것을 나타내고, 상기 NACK 필드가 1로 설정되면 패킷을 손실하였다(이하, 'NACK 필드가 인에이블되었다'라고 한다)는 것을 나타내는 방법으로 패킷 손실 여부를 나타낼 수 있다.
상기 '이웃 노드 개수' 필드는 상기 헬로 패킷을 송신하는 노드로부터 1-홉(1-hop) 내에 있는 노드의 개수를 나타낸다.
상기 'RBS 정보' 필드에는 상기 헬로 패킷을 송신하는 노드가 가장 최근에 소스 노드(source node) 또는 중계자(relayer)로부터 수신한 브로드캐스트 패킷의 RBS값이 설정된다.
상기 '이웃 노드 정보' 필드는 패킷 재전송을 요청받는 노드의 식별 정보를 나타내는 '이웃 노드 식별자' 정보와 상기 '이웃 노드 식별자'에 해당하는 노드에게 재전송을 요청하는 패킷에 대한 정보를 나타내는 'RBS_requested' 정보를 포함한다.
상기 'NACK 지도(NACK MAP)' 필드는 상기 '이웃 노드 식별자' 정보 또는 'RBS_requested' 정보를 가리키는 포인터 정보를 포함한다. 이 때, 상기 '이웃 노드 정보' 필드에 2이상의 '이웃 노드 식별자' 정보가 있는 경우에는 각각의 '이웃 노드 식별자' 정보를 가리키는 2이상의 포인터 정보를 포함한다.
한편, 본 발명의 실시를 위한 헬로 패킷의 구조는 상기 도 8에 도시된 구조로 한정하는 것이 아니라, 이와 유사한 기능을 하는 필드를 갖는 헬로 패킷의 구조를 포함한다.
도 9는 본 발명의 실시에 따른 이웃 노드 정보 테이블(neighbor table)을 나타내는 예시도이다.
상기 이웃 노드 정보 테이블(neighbor table)은 이웃 노드들로부터 수신하는 브로드캐스트 패킷 또는 헬로 패킷에 포함된 RBS 정보를 저장하고, 패킷 손실에 따른 패킷 재전송 요청시 이용될 수 있다. 따라서, 모바일 애드 혹 네트워크에 속하는 모든 노드들은 수시로 상기 이웃 노드 정보 테이블(neighbor table)을 갱신하게 된다.
상기 이웃 노드 정보 테이블(neighbor table)에 있는 '노드(node) ' 필드는 이웃하는 노드들의 식별자 정보를 포함한다. 상기 도 9에서는 본 발명의 설명을 용이하게 하기 위하여 '3번 노드', '5번 노드', '6번 노드'로서 이웃하는 노드들을 나타내고 있다. 또한, '링크 상태(link state)' 필드는 본 발명이 적용되는 무선 링크의 상태를 나타내는데, 각각의 노드간에 양방향 통신이 가능한 무선 환경을 'sym'이라고 표현하고, 본 발명은 'sym' 상태에서만 적용되는 것으로 한다. 또한, '이웃 노드들의 최신 RBS(neighbor RBS)' 필드는 해당 노드로부터 가장 최근에 수신한 브로드캐스트 패킷의 RBS값에 대한 정보를 포함하고, 'Try_flag'은 해당 노드에게 패킷 재전송을 요청한 회수를 나타내며, 'NACKs' 필드는 손실된 패킷의 RBS값에 대한 정보를 포함한다. 이 때, 상기 'Try_flag' 정보의 경우에 패킷 재전송 요청 회수를 일정한 회수로 제한할 수 있다. 너무 많은 패킷 재전송 요청은 네트워크에 많은 부하가 걸리게 할 수도 있기 때문이다.
한편, 본 발명의 실시를 위한 이웃 노드 정보 테이블(neighbor table)은 상기 도 9에 도시된 구조로 한정하는 것이 아니라, 이와 유사한 기능을 하는 필드를 갖는 테이블 구조를 포함한다.
도 10은 본 발명의 실시에 따라 브로드캐스트 패킷을 송신하는 과정을 나타내는 일실시예 처리 흐름도로서, 보다 구체적으로는 소스 노드(source node)에서 패킷을 생성하여 브로드캐스트하는 과정을 나타내고 있다.
우선 소스 노드(source node)에 있는 어플리케이션 프로그램이 동작하여 이웃 노드로 브로드캐스트할 데이터가 발생하면, 상기 소스 노드(source node)에서 데이터 송수신을 담당하는 모듈은 상기 데이터를 상기 어플리케이션 프로그램으로부터 수신한다(S1000). 이 때, 상기 모듈은 하드웨어나 소프트웨어, 또는 하드웨어와 소프트웨어의 결합에 의해 구현될 수 있다.
그리고 나서, 소스 노드(source node) 자신이 갖고 있는 RBS값을 1만큼 증가시키고(S1010), 이웃 노드들중 중계자(relayer)가 존재하는지를 검사한다(S1020). 이 때, 중계자(relayer)가 존재하는지 여부는 AHBP(Add Hoc Broadcast Protocol)에 의한 중계자(relayer) 선정 알고리즘을 이용하여 결정할 수 있다. 만일 상기 알고리즘에 따라 중계자(relayer)가 선정된 경우에는 상기 도 6에서 도시한 바와 같은 브로드캐스트 패킷의 헤더 영역에 상기 선정된 중계자(relayer) 목록을 설정하고(S1030), 상기 헤더 영역에 소스 노드(source node) 자신의 RBS값을 설정한다(S1040). 만일 상기 알고리즘에 따라 중계자(relayer)가 선정되지 않는 경우에는 상기 S1030 단계를 거치지 않고 브로드캐스트할 패킷의 헤더 영역에 소스 노드(source node) 자신의 RBS값을 설정한다(S1040).
한편, 상기 브로드캐스트 패킷의 헤더 영역에 RBS값이 설정되면 상기 소스 노드(source node)는 상기 패킷을 브로드캐스트하고(S1050), 주기적으로 브로드캐스트하는 헬로 패킷에 최근에 브로드캐스트한 패킷에 포함된 RBS값을 설정하여 브로드캐스트한다(S1060).
도 11은 본 발명의 실시에 따라 수신한 헬로 패킷을 처리하는 과정을 나타내는 일실시예 처리 흐름도이다.
소스 노드(source node) 또는 중계자(relayer)가 이웃 노드로부터 인에이블된 NACK 정보를 포함하는 헬로 패킷을 수신하고(S1100), 상기 헬로 패킷의 '이웃 노드 식별자'가 자신을 가리키지 않는 경우에는 상기 수신한 헬로 패킷을 폐기한다.
그러나, 만일 상기 헬로 패킷의 '이웃 노드 식별자'가 자신을 가리키는 경우에 상기 헬로 패킷의 'RBS_requested'가 자신이 최근에 브로드캐스트한 패킷의 RBS값과 동일하면 상기 헬로 패킷을 수신한 소스 노드(source node) 또는 중계자(relayer)는 상기 RBS값에 해당하는 브로드캐스트 패킷을 다시 브로드캐스트하게 된다(S1130, S1140).
도 12는 본 발명의 실시에 따라 수신한 브로드캐스트 패킷을 처리하는 과정을 나타내는 일실시예 처리 흐름도이다.
임의의 노드(이하, 도 12에 관한 설명에서는 '수신 노드'라고 한다)가 브로드캐스트 패킷을 수신하면(S1200), 상기 수신 노드는 상기 도 9에서 도시한 '이웃 노드 정보 테이블(neighbor table)'에 있는 '노드(node)' 필드의 정보와 '이웃 노드들의 최신 RBS(neighbor RBS)' 필드의 정보를 갱신한다(S1210).
그리고 나서, 상기 수신 노드는 상기 수신한 패킷에 포함된 중계자(relayer) 목록에 자신의 주소가 있는지 여부를 검사한다(S1220). 만일 자신의 주소가 없는 경우에는 상기 수신한 브로드캐스트 패킷을 다시 이웃 노드들로 브로드캐스트할 필요가 없으므로, 상기 수신 노드는 상기 수신한 브로드캐스트 패킷에 포함된 데이터 정보를 자신의 어플리케이션 프로그램으로 전달한다(S1280).
한편, 상기 수신한 패킷에 포함된 중계자(relayer) 목록에 자신의 주소가 있는 경우에는 상기 수신 노드는 상기 수신한 브로드캐스트 패킷을 다시 이웃 노드들로 브로드캐스트해야 한다. 따라서, 상기 도 10에서 도시한 과정을 거치게 된다. 즉, 자신이 갖고 있는 RBS값을 1만큼 증가시키고(S1230), 이웃 노드들중 중계자(relayer)가 존재하는지를 검사한다(S1240). 이 때, 중계자(relayer)가 존재하는지 여부는 AHBP(Add Hoc Broadcast Protocol)에 의한 중계자(relayer) 선정 알고리즘을 이용하여 결정할 수 있다. 만일 상기 알고리즘에 따라 중계자(relayer)가 선정된 경우에는 상기 도 6에서 도시한 바와 같은 브로드캐스트 패킷의 헤더 영역에 상기 선정된 중계자(relayer) 목록을 설정하고(S1250), 상기 헤더 영역에 자신의 RBS값을 설정한다(S1260). 만일 상기 알고리즘에 따라 중계자(relayer)가 선정되지 않는 경우에는 상기 수신 노드는 상기 S1250 단계를 거치지 않고 브로드캐스트할 패킷의 헤더 영역에 자신의 RBS값을 설정한다(S1260).
한편, 상기 브로드캐스트 패킷의 헤더 영역에 RBS값이 설정되면 상기 수신 노드는 상기 패킷을 브로드캐스트하고(S1270), 상기 수신한 브로드캐스트 패킷에 포함된 데이터 정보를 자신의 어플리케이션 프로그램으로 전달한다(S1280).
또한, 상기 수신 노드는 주기적으로 브로드캐스트하는 헬로 패킷에 최근에 브로드캐스트한 패킷에 포함된 RBS값을 설정하여 브로드캐스트한다.
도 13은 본 발명의 실시에 따라 패킷 재전송을 요청하는 과정을 나타내는 일실시예 처리 흐름도로서, 수신자(receiver)가 패킷 재전송을 요청하는 과정을 예를 들어 설명하고 있다.
수신자(receiver)가 이웃 노드로부터 헬로 패킷을 수신하면(S1300), 상기 수신자(receiver)는 상기 수신한 헬로 패킷에 있는 RBS값과 상기 수신자(reveiver)가 관리하는 '이웃 노드 정보 테이블(neighbor table)'에 있는 '이웃 노드들의 최신 RBS(neighbor RBS)' 필드의 값을 비교한다(S1310).
이 때, 만일 상기 수신한 헬로 패킷에 있는 RBS값이 상기 '이웃 노드들의 최신 RBS(neighbor RBS) ' 필드의 값보다 큰 경우에는, 상기 수신자(receiver)는 상기 수신한 헬로 패킷에 있는 RBS값에 해당하는 브로드캐스트 패킷을 수신하지 못한 것이 된다. 따라서, 이러한 경우 패킷 손실이 발생하였다고 판단하여 상기 손실된 패킷에 대한 재전송 요청을 하게 된다(S1320). 이 때, 상기 요청은 상기 도 8에서 도시한 헬로 패킷의 '플래그' 필드에 있는 NACK 정보를 인에이블시키고, '이웃 노드 정보' 필드의 '이웃 노드 식별자' 정보와 'RBS_requested' 정보를 설정한 후, 수신자(receiver)가 상기 헬로 패킷을 브로드캐스트함으로써 이루어진다.
도 14는 본 발명의 실시에 따라 패킷 재전송을 위한 장치의 내부 블록도를 나타내는 예시도이다.
상기 도 14에서는 무선 링크를 통하여 데이터를 송수신하기 위한 송수신 모듈(1440)과, 패킷 재전송을 판별하기 위한 송수신 패킷 정보와 기타 라우팅 정보를 저장하기 위한 저장 모듈(1410)과, 상기 송수신 모듈(1440)로부터 패킷을 전달받아 패킷의 종류 및 패킷에 포함된 정보들을 추출하는 패킷 분석 모듈(1420)과, 송신할 패킷을 생성하여 상기 송수신 모듈(1440)로 전달하는 패킷 생성 모듈(1430)과 상기 저장 모듈(1400), 상기 패킷 분석 모듈(1420), 상기 패킷 생성 모듈(1430)들의 동작을 제어하고, 어플리케이션 프로그램(1450)과 데이터를 송수신하는 제어 모듈(1400)을 도시하고 있다.
이 때, 상기 '모듈'은 소프트웨어로 구성되거나, FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨 어적인 요소로 구성될 수 있다.
이하에서는 상기 모듈들을 탑재한 노드가 패킷을 수신하는 경우와 패킷을 송신하는 경우로 나누어 설명하도록 한다.
상기 노드가 송수신 모듈(1440)을 통하여 패킷을 수신하면, 패킷 분석 모듈(1420)에서는 상기 수신한 패킷이 헬로 패킷인지 아니면 브로드캐스트 패킷인지를 검사한다. 만일 헬로 패킷인 경우에는 제어 모듈(1400)에서는 상기 도 11과 상기 도 13에서 도시한 방법에 따라 이미 브로드캐스트한 패킷을 다시 브로드캐스트하거나, 다른 노드에 대하여 패킷 재전송을 요청하게 된다. 그리고, 만일 브로드캐스트 패킷인 경우에는 상기 도 12에서 도시한 방법에 따라 상기 수신한 브로드캐스트 패킷을 이웃 노드들로 다시 브로드캐스트하게 된다. 이 때, 상기 도 9에서 도시한 '이웃 노드 정보 테이블(neighbor table)'은 상기 저장 모듈(1410)에 저장될 수 있다. 한편, 상기 노드가 송수신 모듈(1440)을 통하여 패킷을 송신하는 과정은 상기 도 10에서 도시하고 있다. 이 때, 브로드캐스트 패킷을 송신하는 경우에는 상기 제어 모듈(1400)이 어플리케이션(1450)으로부터 어플리케이션 데이터를 전달받아 동작을 시작하고, 헬로 패킷을 송신하는 경우에는 제어 모듈(1400)이 상기 저장 모듈(1410)에 저장된 정보를 이용하여 주기적으로 상기 패킷 생성 모듈(1430)로 하여금 헬로 패킷을 생성하여 브로드케스트하도록 한다.
한편, 유선 또는 무선 네트워크를 시뮬레이션할 때 널리 사용되는 'Network Simulator 2'를 이용하여 본 발명의 알고리즘을 시뮬레이션하였는데, 이하에서 설명하도록 한다. 이 때, '플러딩(Flooding)' 알고리즘, 'AHBP' 알고리즘과 비교하기 위해 본 발명에 따른 알고리즘을 '개선된 AHBP(improved AHBP)'로 나타내기로 한다.
그리고, 시뮬레이션을 위한 파라미터로서, 패킷 전송 거리(transmission range)는 250m, 네트워크 유형(network type)은 IEEE(Institute of Electrical and Electronics Engineers)802.11(2Mbps) 표준 규격을 따르도록 하였다. 또한, 시나리오 파라미터로서, 공간 크기(field size)는 500*500(m), 시뮬레이션 시간은 100초, 데이터 페킷 사이즈는 64바이트 페이로드(64bytes payload), 모빌리티 모델(mobility model)은 'Random Waypoint', 패킷 전송율은 6.4bps로 하였다.
플러딩(Flooding)은 가장 신뢰성(reliability)이 높은 브로드캐스트 전송 방식이고, AHBP는 가장 브로드캐스트 효율성(broadcast efficiency)이 높은 브로드캐스트 전송 방식이라고 할 수 있다.
본 발명에 대한 시뮬레이션에서는 패킷 전송율(packet delivery rate, 이하 'PDR'이라 한다)을 이용하여 신뢰성(reliability)을 측정하였고, 재전송되는 패킷 수를 카운트하여 대역폭이 소비되는 것을 이용하여 브로드캐스트 효율성(broadcast efficiency)을 측정하였다.
시뮬레이션 결과는 본 발명이 대역폭 소비를 증가시키지 않고 플러딩(Floolding) 방법에 의한 것과 유사할 정도로 신뢰성(reliability)을 개선시켰음을 보여 준다.
또한, 상기 시뮬레이션에서는 단일의 소스 노드(source node)를 갖는 시나리오와 다수의 소스 노드(source node)를 갖는 시나리오로 나누어 테스트하였다. 단 일의 소스 노드(source node)를 갖는 시나리오에서는 하나의 노드에서 브로드캐스트 패킷을 생성하여 전송하고, 다수의 소스 노드(source node)를 갖는 시나리오에서는 하나 이상의 소스 노드(source node)에서 동시에 브로드캐스트 패킷을 생성하여 전송한다.
이하, (1) 패킷 전송율(packet delievery rate), (2) 대역폭 소비(bandwidth consumption)에 대한 시뮬레이션 결과를 구체적으로 설명하도록 한다.
(1) 패킷 전송율(packet delievery rate)
도 15에서는 단일의 소스 노드(source node)에 대한 PDR을, 도 16에서는 다수의 소스 노드(source node)에 대한 PDR을 측정한 결과를 나타내고 있다.
상기 도 15에서 나타난 바와 같이 단일의 소스 노드(source node)를 갖는 시나리오에서는 플러딩(Flooding), AHBP 알고리즘, 개선된 AHBP 알고리즘은 거의 유사한 성능을 나타낸다. 그러나, 다수의 소스 노드(source node)를 갖는 시나리오에서는 AHBP 알고리즘의 경우에 PDR이 20%이하로 감소하게 되는데, 이것은 중계자(relayer)에서 패킷 손실(packet loss)을 검사하지 않기 때문이다.
그러나, 개선된 AHBP 알고리즘의 경우에는 상기 도 16에서 나타난 바와 같이 플러딩(Flooding) 알고리즘과 거의 유사한 PDR을 보여주고 있다.
(2) 대역폭 소비(bandwidth consumption)
도 17에서는 단일의 소스 노드(source node)에 대한 재전송되는 패킷 수를, 도 18에서는 다수의 소스 노드(source node)에 대한 재전송되는 패킷 수를 측정한 결과를 나타내고 있다.
플러딩(Flooding) 알고리즘을 이용한 경우에, 상기 도 17에서 도시하는 바와 같이 단일의 소스 노드(source node)를 갖는 시나리오에서는 재전송되는 패킷 수는 선형적으로 증가하고, 상기 도 18에서 도시하는 바와 같이 다수의 소스 노드(source node)를 갖는 시나리오에서는 지수함수적으로 증가한다.
그러나, AHBP 알고리즘을 이용한 경우에, 상기 도 17에서 도시하는 바와 같이 단일의 소스 노드(source node)를 갖는 시나리오에서는 재전송되는 패킷 수는 거의 100개 이하로 유지되고, 상기 도 18에서 도시하는 바와 같이 다수의 소스 노드(source node)를 갖는 시나리오에서는 400개 이하로 유지된다.
한편, 개선된 AHBP 알고리즘을 이용하면, 상기 AHBP 알고리즘을 이용한 것과 유사한 결과를 얻게 된다.
결국, 상기 도 16과 상기 도 18에서 나타난 바와 같이, 본 발명에 따른 개선된 AHBP 알고리즘을 이용하면 다수의 소스 노드(source node)를 갖는 시나리오에서 대역폭 소비를 낮게 유지하면서 신뢰성(reliability)을 개선시키게 되는 것이다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정하는 것은 아니다.
본 발명의 실시에 따라 모바일 애드 혹 네트워크 환경에서 브로드캐스트 패킷을 송수신하는 경우 패킷 충돌(packet collision)의 영향을 최소화하고 브로드캐 스트 패킷을 효율적이고 안정적으로 전달시킴으로써 신뢰성(reliability)과 브로드캐스트 효율성(broadcast efficiency)을 동시에 얻을 수 있는 효과가 있다.

Claims (12)

  1. 모바일 애드 혹 네트워크 환경에서,
    주기적으로 브로드캐스트되는 제1 패킷을 수신하는 단계;
    상기 제1 패킷으로부터 어플리케이션 프로그램에 의해 발생된 데이터를 포함하는 제2 패킷에 대한 패킷 전송 정보를 추출하는 단계;
    상기 추출한 패킷 전송 정보가 상기 제2 패킷에 대한 가장 최근에 수신된 패킷 전송 정보와 동일하지 않은 경우에 상기 제2 패킷이 손실되었다고 판단하는 단계;
    상기 제2 패킷이 손실되었다고 판단된 경우, 상기 제2 패킷의 재전송을 요청하는 요청 패킷을 브로드캐스트하는 단계를 포함하는 패킷 재전송 요청 방법.
  2. 제1항에 있어서,
    상기 제1 패킷은 상기 모바일 애드 혹 네트워크에 속하는 각각의 노드들에 대한 라우팅 정보를 포함하는 패킷인 패킷 재전송 요청 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 요청 패킷은 상기 제1 패킷과 동일한 패킷 구조를 포함하는 패킷 재전송 요청 방법.
  5. 제1항에 있어서,
    상기 패킷 전송 정보는 상기 제1 패킷 내의 패킷에 관한 정보를 나타내는 영역에 포함되는 패킷 재전송 요청 방법.
  6. 제1항에 있어서,
    상기 요청 패킷을 브로드캐스트하는 단계는,
    상기 요청 패킷 내에 패킷 손실 여부를 나타내는 패킷 손실 식별 정보와 손실된 패킷에 대한 정보를 설정하여 브로드캐스트하는 단계를 포함하는 패킷 재전송 요청 방법.
  7. 제6항에 있어서,
    상기 손실된 패킷에 대한 정보는 손실된 패킷에 대한 패킷 전송 정보와 상기 손실된 패킷을 전송한 노드의 식별 정보를 포함하는 패킷 재전송 요청 방법.
  8. 모바일 애드 혹 네트워크 환경에서,
    어플리케이션 프로그램에 의해 발생된 데이터를 포함하는 데이터 패킷에 대 한 패킷 전송 정보와 상기 데이터 패킷의 손실 여부를 나타내는 패킷 손실 식별 정보와 손실된 데이터 패킷에 대한 정보를 포함하는 무선 패킷을 송수신하는 송수신 모듈;
    상기 송수신 모듈로부터 상기 무선 패킷을 전달받고, 상기 패킷 손실 식별 정보에 대응하는 이벤트를 발생시키거나, 브로드캐스트 방식으로 전송할 패킷을 생성하여 상기 송수신 모듈로 전달하는 패킷 처리 모듈;
    상기 패킷 전송 정보와 이웃하는 노드들에 대한 라우팅 정보를 저장하는 저장 모듈; 및
    소정의 어플리케이션 프로그램과 상기 패킷 처리 모듈 간에 데이터 전달을 수행하거나, 상기 이벤트에 대응하는 이벤트 처리를 수행하는 제어 모듈을 포함하는 패킷 재전송을 위한 장치.
  9. 제8항에 있어서,
    상기 무선 패킷은 주기적으로 브로드캐스트되는 패킷인 패킷 재전송을 위한 장치.
  10. 제8항에 있어서,
    상기 이벤트 처리는 상기 패킷 손실 식별 정보가 패킷이 손실되지 않았음을 나타내는 경우에, 상기 패킷 전송 정보를 이용하여 손실된 데이터 패킷의 재전송 여부를 결정하는 이벤트 처리를 포함하는 패킷 재전송을 위한 장치.
  11. 제8항에 있어서,
    상기 이벤트 처리는 상기 패킷 손실 식별 정보가 패킷이 손실되었음을 나타내는 경우에, 상기 손실된 데이터 패킷에 대한 정보를 이용하여 손실된 데이터 패킷의 재전송 여부를 결정하는 이벤트 처리를 포함하는 패킷 재전송을 위한 장치.
  12. 제11항에 있어서,
    상기 손실된 데이터 패킷에 대한 정보는 손실된 데이터 패킷에 대한 패킷 전송 정보와 상기 손실된 데이터 패킷을 전송한 노드의 식별 정보를 포함하는 패킷 재전송을 위한 장치.
KR1020040018890A 2003-04-26 2004-03-19 모바일 애드 혹 네트워크 환경에서 데이터 패킷의재전송을 위한 장치 및 방법 KR101063933B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004128829A JP4064944B2 (ja) 2003-04-26 2004-04-23 モバイルアドホックネットワーク環境でのデータパケットの再転送のための装置及び方法
EP20040252404 EP1471696B1 (en) 2003-04-26 2004-04-24 Apparatus and method for retransmitting data packets in mobile ad hoc network environment
CNB2004100552766A CN1315279C (zh) 2003-04-26 2004-04-26 在移动自组织网络环境下重发数据分组的设备和方法
US10/831,274 US7310761B2 (en) 2003-04-26 2004-04-26 Apparatus and method for retransmitting data packets in mobile ad hoc network environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20030026615 2003-04-26
KR1020030026615 2003-04-26

Publications (2)

Publication Number Publication Date
KR20040092392A KR20040092392A (ko) 2004-11-03
KR101063933B1 true KR101063933B1 (ko) 2011-09-08

Family

ID=37372864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040018890A KR101063933B1 (ko) 2003-04-26 2004-03-19 모바일 애드 혹 네트워크 환경에서 데이터 패킷의재전송을 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101063933B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100689615B1 (ko) * 2005-07-29 2007-03-09 한국정보통신대학교 산학협력단 이동형 애드 혹 네트워크 시스템의 다중 전송 장치 및 방법

Also Published As

Publication number Publication date
KR20040092392A (ko) 2004-11-03

Similar Documents

Publication Publication Date Title
JP4064944B2 (ja) モバイルアドホックネットワーク環境でのデータパケットの再転送のための装置及び方法
KR100552509B1 (ko) 이동 애드 혹 네트워크에서의 브로드캐스트 데이터 처리방법
US7002949B2 (en) Bandwidth efficient source tracing (BEST) routing protocol for wireless networks
KR100664953B1 (ko) 모바일 애드 혹 네트워크 환경에서의 멀티캐스트 라우팅방법
Johnson et al. RFC 4728: The dynamic source routing protocol (DSR) for mobile ad hoc networks for IPv4
JP2008547311A (ja) 無線通信ネットワークにおいて経路を発見するための方法
AU2018442113B2 (en) Model based path selection in a bluetooth low energy, BLE, mesh network
Cheng et al. Dynamic source routing (DSR) protocol implementation in ns-3
AlQarni et al. Reliable and energy efficient protocol for MANET multicasting
Bocchino et al. SPEED routing protocol in 6LoWPAN networks
Savalkar Link prediction for identifying link failure using cross layer approach
KR101063933B1 (ko) 모바일 애드 혹 네트워크 환경에서 데이터 패킷의재전송을 위한 장치 및 방법
Milic et al. Adaptation of the breadth first search algorithm for cut-edge detection in wireless multihop networks
Royer Routing in Ad hoc Mobile Networks: On-Demand and Hierarchical Strategies
Nakorn et al. Comparison of reliable broadcasting protocols for vehicular ad-hoc networks
US20200245221A1 (en) Method and device for updating the number of retransmissions in a wireless mesh network
Sharma et al. Evaluation of proactive, reactive and hybrid ad hoc routing protocol for ieee 802.11 mac and 802.11 dcf in vanet using qualnet
CN112104982B (zh) 通信方法及装置
Hundebøll et al. Inter-flow network coding
Shinko et al. Performance analysis of different architectures and TCP congestion-avoidance algorithms using WMN-GA simulation system
Patsariya et al. Hybrid Routing Approach and WIMAX Network for Minimization Routing Overhead and Increasing Radio Range in MANET
Almeida Rede Tolerante a Atraso Para cenários Da Marinha: Abordagem Baseada Na Qualidade
Dong Research of improved multi-channel MAC protocol in MANET
Hassnawi et al. A new design for a motorway surveillance system using a wireless ad-hoc camera network to improve safety
Lesiuk Dynamic Routing for Measurement Networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee