KR100964972B1 - 무선 네트워크에서 요구기반의 이웃노드 발견 방법 - Google Patents

무선 네트워크에서 요구기반의 이웃노드 발견 방법 Download PDF

Info

Publication number
KR100964972B1
KR100964972B1 KR1020070127878A KR20070127878A KR100964972B1 KR 100964972 B1 KR100964972 B1 KR 100964972B1 KR 1020070127878 A KR1020070127878 A KR 1020070127878A KR 20070127878 A KR20070127878 A KR 20070127878A KR 100964972 B1 KR100964972 B1 KR 100964972B1
Authority
KR
South Korea
Prior art keywords
packet
node
neighbor
request
response
Prior art date
Application number
KR1020070127878A
Other languages
English (en)
Other versions
KR20090060895A (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 KR1020070127878A priority Critical patent/KR100964972B1/ko
Publication of KR20090060895A publication Critical patent/KR20090060895A/ko
Application granted granted Critical
Publication of KR100964972B1 publication Critical patent/KR100964972B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • 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)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 애드 혹 및 센서 네트워크에서 이웃노드 정보를 필요로 하는 경우에만 조건적으로 수행되고, 무선 전송 매체의 간섭 및 충돌 특성으로 인한 HELLO 패킷의 분실에도 견고한 요구기반의 이웃노드 발견 방법에 관한 것으로, 필요한 경우에만 요청-광고-응답의 3단계 처리 과정을 수행하여 임의 노드 주변의 이웃노드를 발견함으로써 네트워크의 부하를 줄이고, 무선 전송 매체의 간섭과 충돌 문제로 인한 제어 패킷들의 분실문제를 해결할 수 있어 신뢰성이 높고, 견고한 이웃노드 발견 서비스를 제공할 수 있는 효과가 있다.
이웃노드 발견

Description

무선 네트워크에서 요구기반의 이웃노드 발견 방법{Method for discovering of neighborhood based request in wireless networks}
본 발명은 무선 네트워크에서 주변의 이웃노드를 발견하는 방법에 관한 것으로서, 특히 무선 애드 혹 및 센서 네트워크에서 이웃노드 정보를 필요로 하는 경우에만 조건적으로 주변 이웃노드 정보를 획득하고, 무선 전송 매체의 간섭 및 충돌 특성으로 인한 패킷의 분실에도 견고한 요구기반의 이웃노드 발견 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-085-01, 과제명: 자동차 센서노드용 초소형 운영체제 개발].
무선 애드 혹(ad hoc) 및 센서(sensor) 네트워크는 자가 구성(self-organized) 네트워크로써 네트워크 토폴로지(network topology)가 동적으로 생성되고 유지된다.
따라서 무선 네트워크가 구성되는 초기에 각 노드들은 자신의 주변에 있는 이웃노드들의 존재를 인식하는 과정이 필요하고, 또한 각 노드들은 자신 혹은 이웃노드가 이동하면 이동 사실을 인지할 수 있는 방법이 필요하다.
기존에는 네트워크를 구성하는 임의의 노드들이 지속적이고 주기적으로 자신의 HELLO 패킷을 방송(일반적으로 1초당 하나의 HELLO 패킷 방송)하여 자신의 존재를 주변 노드들에게 알리는 이웃노드 발견(neighborhood discovery) 방법이 이용되었다.
그러나 하위 계층의 간섭 및 충돌과 같은 무선 전송매체의 특성들 때문에 HELLO 패킷이 분실될 수 있으며, 이로 인하여 종래의 주기적 HELLO 이웃노드 발견 방법은 다음 두 가지 문제가 발생되었다.
첫째는 이웃하는 두 개의 노드 사이에 논리적 단방향 링크가 생성되는 문제이고, 둘째는 이웃노드에 대한 잘못된 정보를 유지하는 문제이다.
예들 들어, A와 B, 두 개의 노드가 이웃해 있고, A와 B는 각각 자신의 존재를 주변에 알리기 위해서 자신의 HELLO 패킷을 방송할 경우, A가 방송한 HELLO 패킷은 B에게 성공적으로 전송되었지만, B가 방송한 HELLO 패킷이 분실되었다고 가정하자.
따라서 A의 HELLO 패킷을 수신한 B는 A를 자신의 이웃노드 테이블에 추가하고, 논리적인 링크를 생성할 수 있다.
하지만 A는 B의 HELLO 패킷을 수신하지 못했기 때문에 물리적으로는 양방향으로 연결되어 있지만, 논리적으로 A에서 B로의 논리적 단방향 링크가 생성된다.
또한, B의 HELLO 패킷이 분실되면 A가 B의 존재 사실을 인지할 방법이 없기 때문에 A는 자신의 이웃노드 테이블에 실제 물리적 네트워크 토폴로지와는 다른, 즉 B를 이웃노드로 인지하지 못한 채 잘못된 이웃노드 정보를 유지하게 되고, 이러한 잘못된 정보는 이웃노드 정보를 필요로 하는 네트워크 프로토콜 및 응용 프로그램의 성능에 직접적인 영향을 줄 수 있다. 따라서 이와 같은 HELLO 패킷 분실로 야기되는 문제들을 보완할 수 있는 방법이 필요하다.
상기 방법으로 애드 혹 네트워크에서 AODV, DSR, OLSR, DSDV 등과 같은 다수의 라우팅 프로토콜들이 개발되었고, 이들은 크게 사전적(proactive) 라우팅과 주문형(reactive) 라우팅 프로토콜로 분류할 수 있다.
사전적 라우팅 프로토콜은 라우팅 경로가 미리 설정되어 지속적으로 유지되는 방법이고, 주문형 라우팅 프로토콜은 필요한 경우에 동적으로 라우팅 경로를 설정하고 유지하는 방법이다.
이러한 라우팅 프로토콜들은 종래의 주기적 HELLO 이웃노드 발견 방법을 이용하여 이웃노드에 대한 정보를 획득할 수 있다.
그러나 종래의 주기적 HELLO 이웃노드 발견 방법은 주기적으로 HELLO 패킷을 방송하여 지속적으로 이웃노드 정보를 유지하기 때문에 사전적 라우팅 프로토콜에는 알맞게 적용될 수 있지만, 주문형 라우팅 프로토콜과 같이 동적으로 라우팅 경로를 설정하거나, 계속해서 이웃노드 정보를 유지할 필요가 없는 응용 프로그램에 적용하는 것은 부적합하다.
따라서 무선 애드 혹 및 센서 네트워크에서 주문형 라우팅 프로토콜처럼 이웃노드 정보를 필요로 하는 경우에만 동적으로 수행할 수 있는 방법이 필요하다.
네트워크 트래픽의 발생 빈도가 적은 애드 혹 및 센서 네트워크 환경에 종래의 주기적 HELLO 이웃노드 발견 방법을 적용했을 때 불필요하게 주기적으로 방송되는 HELLO 패킷으로 인해 네트워크 부하가 발생하는 문제점이 있다.
본 발명은 상기와 같은 네트워크 부하를 줄이기 위하여 이웃노드 정보를 필요한 경우에만 조건적으로 수행할 수 있고, 무선 전송 매체의 간섭 및 충돌 특성으로 인한 HELLO 패킷의 분실에도 견고한 무선 네트워크에서 요구기반의 이웃노드 발견 방법을 제공하고자 한다.
본 발명의 일실시예에 따른 무선 네트워크에서 요구기반의 이웃노드 발견 방법은, 임의의 노드가 이웃노드 정보를 필요로 하는 경우, 상기 이웃노드에게 자신의 존재를 알리도록 요청하는 요청 패킷을 생성하여 방송하는 요청 단계; 상기 요청 패킷을 수신한 이웃노드는 상기 임의의 노드가 자신의 존재를 모르고 있는 경우에만 자신의 존재를 알리는 광고 패킷을 생성하여 상기 임의의 노드에게 전송하는 광고 단계; 및 상기 임의의 노드가 상기 광고 패킷을 수신하여 상기 이웃노드의 존재를 확인하였음을 알리는 응답 패킷을 생성하여 상기 이웃노드에게 전송하는 응답 단계;를 포함한다.
상기 요청 패킷은 상기 요청 패킷의 유효 시간, 상기 임의의 노드가 현재 유지하고 있는 이웃노드들의 목록 및 상기 임의의 노드 자신의 ID를 나타내는 소스 ID를 적어도 포함한다.
상기 요청 단계는 상기 임의의 노드가 상기 요청 패킷을 생성하는 단계; 상기 임의의 노드가 현재 유지하고 있는 이웃노드들의 목록 및 상기 요청 패킷의 유효 시간 값을 설정한 후 상기 요청 패킷을 이웃노드에게 방송하는 단계; 및 광고패킷대기타이머를 상기 요청 패킷의 유효 시간 값으로 설정하고, 상기 광고패킷대기타이머가 종료될 때까지 광고 패킷의 수신을 대기하는 단계;를 포함한다.
상기 광고 단계는 상기 요청 패킷을 수신한 이웃노드가 자신의 이웃노드 테이블에서 상기 요청 패킷의 소스 ID의 존재 유무를 확인하는 단계; 확인 결과, 상기 소스 ID가 존재하지 않으면, 상기 요청 패킷의 소스 ID를 상기 이웃노드 테이블에 추가한 후, 상기 소스 ID 엔트리에 대한 유효기간을 갱신하는 단계; 상기 임의의 노드가 현재 유지하고 있는 이웃노드들의 목록에서 상기 이웃노드 자신의 ID의 존재 유무를 확인하는 단계; 확인 결과, 상기 이웃노드 자신의 ID가 포함되어 있지 않으면, 상기 이웃노드가 광고 패킷을 생성하는 단계; 상기 생성한 광고 패킷을 상기 임의의 노드에게 전송하는 단계; 및 상기 임의의 노드의 응답으로 응답 패킷의 수신을 대기하는 단계; 를 포함한다.
상기 광고 단계는 상기 광고 패킷을 생성하는 단계와 상기 광고 패킷을 전송하는 단계 사이에, 지수적 백오프 알고리즘을 적용하여 상기 광고 패킷의 전송을 지연하는 지연시간을 산출하고, 상기 지연시간만큼 백오프 지연후에 상기 광고 패킷을 전송하는 단계;를 더 포함한다.
상기 응답 패킷을 대기하는 단계는 상기 임의의 노드로부터 응답 패킷을 수신하는데 소요되는 시간으로 응답패킷대기타이머를 설정하고, 상기 응답패킷대기타 이머가 종료될 때까지 상기 응답 패킷을 대기한다.
상기 응답 패킷을 대기하는 단계는, 상기 응답패킷대기타이머가 종료될 때까지 상기 응답 패킷을 수신하지 못하면, 상기 지수적 백오프 알고리즘을 적용하여 지연시간을 산출하고, 상기 지연시간만큼 백오프 지연후에 상기 광고 패킷을 전송하는 단계로 리턴함으로써 반복적으로 상기 응답 패킷을 대기한다.
상기 응답 패킷을 대기하는 단계는, 상기 응답패킷대기타이머가 종료되기 전에 상기 응답 패킷을 수신하면, 상기 이웃노드에서 상기 응답 패킷의 목적지 ID와 상기 이웃노드 자신의 ID를 비교하는 단계; 및 비교 결과, 두 ID가 일치하면, 광고 패킷 전송을 종료하고, 그렇지 않으면, 상기 수신한 응답 패킷을 폐기한 후, 새로운 응답 패킷을 대기하는 단계를 더 포함한다.
상기 요청 패킷의 소스 ID의 존재 유무를 확인하는 단계의 확인 결과, 상기 이웃노드의 이웃노드 테이블에서 상기 요청 패킷의 소스 ID가 존재하면, 상기 소스 ID 엔트리에 대한 유효기간을 갱신한다.
상기 이웃노드 자신의 ID 존재 유무를 확인하는 단계의 확인 결과, 상기 요청 패킷의 현재 유지하고 있는 이웃노드들의 목록에서 상기 이웃노드 자신의 ID가 포함되어 있으면, 상기 요청 패킷을 폐기한다.
상기 응답 단계는, 상기 임의의 노드에서 상기 이웃노드의 광고 패킷을 수신하고, 상기 광고 패킷의 목적지 ID와 상기 임의의 노드 자신의 ID를 비교하는 단계; 비교 결과, 상기 두 ID가 다르면 수신한 광고 패킷을 폐기하고, 그렇지 않으면 상기 광고 패킷에 포함된 상기 이웃노드의 ID를 자신의 이웃노드 테이블에 추가하 는 단계; 및 상기 임의의 노드에서 상기 광고 패킷에 대한 응답으로 응답 패킷을 생성하여 상기 이웃노드에게 전송하는 단계;를 포함한다.
따라서 본 발명에 따른 무선 네트워크에서 요구기반의 이웃노드 발견 방법은 이웃노드 정보가 필요한 경우에만 수행되기 때문에 네트워크 부하를 현저히 줄일 수 있고, 또한, 무선 전송 매체의 간섭과 충돌 때문에 발생하는 HELLO 패킷 분실로 인한 논리적 단방향 링크와 잘못된 이웃노드 정보를 가지는 문제를 해결할 수 있는 효과가 있다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다.
다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
또한 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일실시예에 따른 무선 네트워크에서 요구기반의 이웃노드 발견 방법에 있어서 임의의 노드와 주변의 이웃노드 간 이웃노드 발견 과정을 나타낸 예시도이다.
임의의 노드(I)가 주변의 이웃노드들(N1, N2)에게 자신들의 존재를 알리도록 요청하는 NODE_SOLICITATION 패킷을 생성하여 방송하고(10), 이웃노드들(N1, N2)은 NODE_SOLICITATION 패킷을 수신한 후, 상기 노드(I)에게 ADVERTIZEMENT 패킷을 생성하여 전송함으로써 자신의 존재를 알린다(20).
그런 다음, 상기 노드(I)가 이웃노드들(N1, N2)의 ADVERTIZEMENT 패킷을 수신한 후 그 응답으로 ACK 패킷을 생성하여 전송한다(30).
도 2는 본 발명의 일실시예에 따른 무선 네트워크에서 요구기반의 이웃노드 발견 방법의 전체 과정을 나타낸 것으로, 본 발명의 요구기반의 이웃노드 발견 방법은 요구기반으로 필요한 경우에만 요청-광고-응답의 3단계 처리 과정을 통해 이웃노드를 발견한다.
먼저, 요청 단계(S200)는 이웃노드를 발견하기 위한 초기화 단계로써, 임의의 노드(I)에서 주변의 이웃노드 정보가 필요할 경우, 상기 노드(I)는 이웃노드들에게 자신들의 존재를 알리도록 요청하기 위해 NODE_SOLICITATION 패킷을 생성하 고, 주변의 이웃노드들(N1, N2)에게 상기 생성한 NODE_SOLICITATION 패킷을 방송한다.
여기서, NODE_SOLICITATION 패킷은 VALIDITY_TIME, N_LIST 및 임의의 노드(I) 자신을 나타내는 소스 ID를 포함한다. VALIDITY_TIME은 NODE_SOLICITATION 패킷의 유효 시간을 의미하며, 일반적으로 1초의 시간값으로 설정된다. N_LIST는 임의의 노드(I)가 현재 유지하고 있는 이웃노드들의 리스트를 포함한다.
다음으로, 광고 단계(S210)는 이웃노드들이 자신의 존재를 알리는 단계이다.
임의의 노드(I)의 이웃노드들(N1, N2)은 상기 노드(I)로부터 NODE_SOLICITATION 패킷을 수신하면, 자신들의 이웃노드 테이블에서 NODE_SOLICITATION 패킷의 소스 ID, 즉 임의의 노드(I)의 ID가 존재하는지 확인하여 갱신한다.
또한, 이웃노드들(N1, N2)은 NODE_SOLICITATION 패킷의 N_LIST에서 자신의 ID가 존재하는지 확인하여 포함되어 있지 않은 경우에만, 즉, 임의의 노드(I)가 자신의 존재를 모르고 있는 경우에만 ADVERTIZEMENT 패킷을 생성하여 임의의 노드(I)에게 전송함으로써 자신의 존재를 알린다.
마지막으로, 응답 단계(S220)는 임의의 노드(I)가 이웃노드들(N1, N2)의 존재를 확인했음을 알리는 단계이다.
임의의 노드(I)는 이웃노드들(N1, N2)의 ADVERTIZEMENT 패킷을 수신하고, 이에 대한 응답으로 ACK 패킷을 생성하여 전송함으로써 이웃노드들(N1, N2)의 존재를 확인했음을 알린다.
이하 도 2에 나타낸 본 발명에 따른 무선 네트워크에서 요구기반의 이웃노드 발견 방법에 대하여 도 3 내지 도 5를 참조하여 구체적으로 설명하도록 한다.
도 3은 본 발명의 일실시예에 따른 무선 네트워크에서 요구기반의 이웃노드 발견 방법에 있어서 임의의 노드(I)가 NODE_SOLICITATION 패킷을 생성하여 전송하는 요청 과정을 나타낸 것이다.
임의의 노드(I)는 자신의 주변의 이웃노드들에게 자신의 존재를 알리도록 요청하기 위해 NODE_SOLICITATION 패킷을 생성한다(S300).
생성한 NODE_SOLICITATION 패킷에 대해 자신의 이웃노드 테이블을 참조하여 N_LIST를 구성하고, VALIDITY_TIME의 값을 1초로 설정한다(S310). 현재 VALIDITY_TIME 값을 1초로 적용하였지만, 이웃노드의 수, 즉 네트워크 밀도에 따라 VALIDITY_TIME 값은 유연하게 적용할 수 있다. 그리고 임의의 노드(I)가 오랜 기간 동안 통신에 참여하지 않은 것으로 가정하면, 이웃노드 테이블은 비어있게 되므로 N_LIST는 공백 값으로 설정된다.
이처럼 N_LIST와 VALIDITY_TIME의 값이 설정되면, 임의의 노드(I)는 생성한 NODE_SOLICITATION 패킷을 주변의 이웃노드들에게 방송한다(S320).
그런 다음, 임의의 노드(I)는 이웃노드들이 NODE_SOLICITATION 패킷에 대한 응답으로 전송하는 ADVERTIZEMENT 패킷의 수신을 대기한다(S340).
이를 위해 임의의 노드(I)는 ADVERTIZE_WAIT_TIMER(광고패킷대기타이머)를 VALIDITY_TIME 값으로 설정한 후에 ADVERTIZE_WAIT_TIMER()를 실행하여, 상기 ADVERTIZE_WAIT_TIMER()가 종료될 때까지 ADVERTIZEMENT 패킷의 수신을 대기한다.
여기서, ADVERTIZE_WAIT_TIMER()는 이웃노드들이 전송하는 ADVERTIZEMENT 패킷을 대기하는 시간을 제한하기 위한 것으로, ADVERTIZE_WAIT_TIMER()를 사용하는 이유는, 현재 임의의 노드(I)의 주변에 어느 정도의 이웃노드들이 존재하는지 알 수 없기 때문에, 임의의 노드(I)가 모든 이웃노드로부터 ADVERTIZEMENT 패킷을 수신할 때까지 무한 반복하여 대기하는 것을 방지하고, 주변의 이웃노드의 존재를 요청하는 요청 과정을 종료시키기 위해서이다.
도 4는 본 발명의 일실시예에 따른 무선 네트워크에서 요구기반의 이웃노드 발견 방법에 있어서 임의의 노드(I)의 이웃노드들(N1, N2)이 수신한 NODE_SOLICITATION 패킷에 대한 응답으로 ADVERTIZEMENT 패킷을 전송하여 자신의 존재를 알리는 광고 과정을 나타낸 것이다.
임의의 노드(I)의 이웃노드가 NODE_SOLICITATION 패킷을 수신하면(S400), 이웃노드는 자신의 이웃노드 테이블에서 수신한 NODE_SOLICITATION 패킷의 소스 ID가 존재하는지 확인한다(S410).
확인 결과, NODE_SOLICITATION 패킷의 소스 ID가 존재하면, 이웃노드 테이블에서 해당 엔트리의 EXPIRE_TIME을 갱신한다(S430). 그렇지 않으면, NODE_SOLICITATION 패킷의 소스 ID, 즉 임의의 노드(I)의 ID를 이웃노드 테이블에 추가하고(S420), 해당 엔트리의 EXPIRE_TIME을 갱신한다(S430). 이웃노드 테이블에서 EXPIRE_TIME은 해당 엔트리의 유효 기간을 나타낸다.
그리고, 수신한 NODE_SOLICITATION 패킷의 N_LIST에 이웃노드 자신의 ID가 포함되어 있는지 확인하여(S440), 자신의 ID가 있다면, 임의의 노드(I)가 이미 자신의 존재를 알고 있는 것을 의미하므로, 이웃노드는 ADVERTIZEMENT 패킷을 임의의 노드(I)로 전송하여 자신의 존재를 다시 알릴 필요가 없다. 따라서 수신한 NODE_SOLICITATION 패킷을 폐기한다(S450).
만약, N_LIST에 자신의 ID가 포함되어 있지 않다면, 자신의 존재를 임의의 노드(I)에게 알리기 위해 ADVERTIZEMENT 패킷을 생성하고 이를 임의의 노드(I)로 전송해야 한다(S470).
하지만, 다수의 이웃노드들이 동시에 ADVERTIZEMENT 패킷을 임의의 노드(I)로 전송할 경우, 임의의 노드(I)에서 충돌이 발생할 수 있다.
따라서 이러한 충돌문제를 완화하기 위해 이웃노드는 지수적 백오프 알고리즘(Exponential_backoff())을 수행하여 ADVERTIZEMENT 패킷을 전송하기 전에 대기할 지연시간을 산출한다(S460).
산출한 시간만큼 백오프 지연을 수행한 후에 ADVERTIZEMENT 패킷을 전송하고(S470), 그런 다음, ACK_WAIT_TIMER()(응답패킷대기타이머)를 ACK_DELAY_TIME으로 설정하여 초기화한 후에 ACK_WAIT_TIMER()을 실행한다(S480).
그런 다음, ACK_WAIT_TIMER()가 종료할 때까지 임의의 노드(I)가 응답하는 ACK 패킷을 대기한다(S490). 여기서, ACK_DELAY_TIME은 임의의 노드(I)로부터 ACK 패킷을 수신하는데 소요되는 시간을 나타낸다.
ACK_WAIT_TIMER()가 종료할 때까지 임의의 노드(I)로부터 ACK 패킷을 수신하 지 못하면, S460 내지 S490 단계를 반복한다.
도 5는 본 발명의 일실시예에 따른 무선 네트워크에서 요구기반의 이웃노드 발견 방법에 있어서 임의의 노드(I)가 이웃노드들(N1, N2)에서 전송한 ADVERTIZEMENT 패킷에 대한 응답으로 ACK 패킷을 전송하는 응답 과정을 나타낸 것이다.
임의의 노드(I)는 NODE_SOLICITATION 패킷을 방송한 후, 이웃노드들의 ADVERTIZEMENT 패킷을 수신 대기하고(S500), 이웃노드들(N1, N2)로부터 ADVERTIZEMENT 패킷을 수신하면(S510), 수신한 ADVERTIZEMENT 패킷의 목적지 ID와 임의의 노드(I) 자신의 ID를 비교한다(S520).
만약 두 개의 ID가 다르면, 즉 자신이 수신할 패킷이 아니므로 수신한 ADVERTIZEMENT 패킷을 폐기하고(S530), 두 개의 ID가 같으면, ADVERTIZEMENT 패킷의 소스 ID를 자신의 이웃노드 테이블에 추가하여 갱신한 후(S540), 그 응답으로 ACK 패킷을 생성하여 방송한다(S550).
그리고, 이웃노드들이 ADVERTIZEMENT 패킷을 임의의 노드(I)로 전송한 후, 그 응답을 대기하고(S560), 임의의 노드(I)로부터 ACK 패킷을 수신하면(S570), 이웃노드는 ACK 패킷의 목적지 ID와 자신의 ID를 비교한다(S580). 비교 결과, 두 ID가 일치하면, ADVERTIZEMENT 패킷 전송 과정을 종료하고, 두 ID가 일치하지 않으면, 즉 자신에게 전송된 패킷이 아니므로 수신한 ACK 패킷을 폐기하고(S590), 계속해서 ACK 패킷의 수신을 대기한다(S560).
여기서, ACK 패킷은 수신된 ADVERTIZEMENT 패킷에 대한 응답의 역할을 수행한다. 또한, ACK 패킷은 NODE_SOLICITATION 패킷과 동일한 기능을 갖는다.
즉, 무선 전송 매체의 간섭 및 충돌 특성 때문에 일부 이웃노드가 임의의 노드(I)에서 이전에 방송했던 NODE_SOLICITATION 패킷을 수신하지 못하는 경우가 발생하게 되고, 이처럼 NODE_SOLICITATION 패킷을 수신하지 못한 일부 이웃노드들이 임의의 노드에서 방송하는 ACK 패킷을 수신하게 되면, 이전에 NODE_SOLICITATION 패킷을 수신하지 못한 사실을 인지하여 임의의 노드(I)에게 ADVERTIZEMENT 패킷을 전송한다.
따라서 ACK 패킷은 이웃노드들에게 이전의 NODE_SOLICITATION 패킷이 분실되었음을 인지하게 하여 자신의 존재를 임의의 노드에게 알릴 수 있도록 하는 기능을 갖는다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.
도 1은 본 발명의 일실시예에 따른 무선 네트워크에서 요구기반의 이웃노드 발견 방법에 있어서 임의의 노드와 주변의 이웃노드 간 이웃노드 발견 과정을 예시한 도면,
도 2는 본 발명의 일실시예에 따른 요구기반의 이웃노드 발견 방법의 전체 흐름을 나타낸 도면,
도 3은 본 발명의 일실시예에 따른 요구기반의 이웃노드 발견 방법에 있어서 임의의 노드(I)가 NODE_SOLICITATION 패킷을 생성하여 전송하는 요청 과정을 나타낸 도면,
도 4는 본 발명의 일실시예에 따른 요구기반의 이웃노드 발견 방법에 있어서 이웃노드들(N1, N2)이 수신한 NODE_SOLICITATION 패킷에 대한 응답으로 ADVERTIZEMENT 패킷을 전송하여 자신의 존재를 알리는 광고 과정을 나타낸 도면, 그리고,
도 5는 본 발명의 일실시예에 따른 요구기반의 이웃노드 발견 방법에 있어서 임의의 노드(I)가 수신한 ADVERTIZEMENT 패킷에 대한 응답으로 ACK 패킷을 전송하는 응답 과정을 나타낸 도면이다.

Claims (11)

  1. 임의의 노드가 이웃노드 정보를 필요로 하는 경우, 상기 이웃노드에게 자신의 존재를 알리도록 요청하는 요청 패킷을 생성하여 방송하는 요청 단계;
    상기 요청 패킷을 수신한 이웃노드는 상기 임의의 노드가 자신의 존재를 모르고 있는 경우에만 자신의 존재를 알리는 광고 패킷을 생성하여 상기 임의의 노드에게 전송하는 광고 단계; 및
    상기 임의의 노드가 상기 광고 패킷을 수신하여 상기 이웃노드의 존재를 확인하였음을 알리는 응답 패킷을 생성하여 상기 이웃노드에게 전송하는 응답 단계;
    를 포함하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
  2. 제1항에 있어서,
    상기 요청 패킷은 상기 요청 패킷의 유효 시간, 상기 임의의 노드가 현재 유지하고 있는 이웃노드들의 목록 및 상기 임의의 노드 자신의 ID를 나타내는 소스 ID를 적어도 포함하는 것을 특징으로 하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
  3. 제1항에 있어서, 상기 요청 단계는
    상기 임의의 노드가 상기 요청 패킷을 생성하는 단계;
    상기 임의의 노드가 현재 유지하고 있는 이웃노드들의 목록 및 상기 요청 패킷의 유효 시간 값을 설정한 후 상기 요청 패킷을 이웃노드에게 방송하는 단계; 및
    광고패킷대기타이머를 상기 요청 패킷의 유효 시간 값으로 설정하고, 상기 광고패킷대기타이머가 종료될 때까지 광고 패킷의 수신을 대기하는 단계;
    를 포함하는 것을 특징으로 하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
  4. 제1항에 있어서, 상기 광고 단계는
    상기 요청 패킷을 수신한 이웃노드가 자신의 이웃노드 테이블에서 상기 요청 패킷의 소스 ID의 존재 유무를 확인하는 단계;
    확인 결과, 상기 소스 ID가 존재하지 않으면, 상기 요청 패킷의 소스 ID를 상기 이웃노드 테이블에 추가한 후, 상기 소스 ID 엔트리에 대한 유효기간을 갱신하는 단계;
    상기 임의의 노드가 현재 유지하고 있는 이웃노드들의 목록에서 상기 이웃노드 자신의 ID의 존재 유무를 확인하는 단계;
    확인 결과, 상기 이웃노드 자신의 ID가 포함되어 있지 않으면, 상기 이웃노드가 광고 패킷을 생성하는 단계;
    상기 생성한 광고 패킷을 상기 임의의 노드에게 전송하는 단계; 및
    상기 임의의 노드의 응답으로 응답 패킷의 수신을 대기하는 단계;
    를 포함하는 것을 특징으로 하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
  5. 제4항에 있어서, 상기 광고 패킷을 생성하는 단계와 상기 광고 패킷을 전송하는 단계 사이에,
    지수적 백오프 알고리즘을 적용하여 상기 광고 패킷의 전송을 지연하는 지연시간을 산출하고, 상기 지연시간만큼 백오프 지연후에 상기 광고 패킷을 전송하는 단계;를 더 포함하는 것을 특징으로 하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
  6. 제5항에 있어서,
    상기 응답 패킷을 대기하는 단계는 상기 임의의 노드로부터 응답 패킷을 수신하는데 소요되는 시간으로 응답패킷대기타이머를 설정하고, 상기 응답패킷대기타이머가 종료될 때까지 상기 응답 패킷을 대기하는 것을 특징으로 하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
  7. 제6항에 있어서, 상기 응답 패킷을 대기하는 단계는,
    상기 응답패킷대기타이머가 종료될 때까지 상기 응답 패킷을 수신하지 못하면, 상기 지수적 백오프 알고리즘을 적용하여 지연시간을 산출하고, 상기 지연시간만큼 백오프 지연후에 상기 광고 패킷을 전송하는 단계로 리턴함으로써 반복적으로 상기 응답 패킷을 대기하는 것을 특징으로 하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
  8. 제7항에 있어서, 상기 응답 패킷을 대기하는 단계는,
    상기 응답패킷대기타이머가 종료되기 전에 상기 응답 패킷을 수신하면, 상기 이웃노드에서 상기 응답 패킷의 목적지 ID와 상기 이웃노드 자신의 ID를 비교하는 단계; 및
    비교 결과, 두 ID가 일치하면, 광고 패킷 전송을 종료하고, 그렇지 않으면, 상기 수신한 응답 패킷을 폐기한 후, 새로운 응답 패킷을 대기하는 단계를 더 포함하는 것을 특징으로 하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
  9. 제4항에 있어서,
    상기 요청 패킷의 소스 ID의 존재 유무를 확인하는 단계의 확인 결과, 상기 이웃노드의 이웃노드 테이블에서 상기 요청 패킷의 소스 ID가 존재하면, 상기 소스 ID 엔트리에 대한 유효기간을 갱신하는 것을 특징으로 하는 무선 네트워크에서 요 구기반의 이웃노드 발견 방법.
  10. 제4항에 있어서,
    상기 이웃노드 자신의 ID 존재 유무를 확인하는 단계의 확인 결과, 상기 요청 패킷의 현재 유지하고 있는 이웃노드들의 목록에서 상기 이웃노드 자신의 ID가 포함되어 있으면, 상기 요청 패킷을 폐기하는 것을 특징으로 하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
  11. 제1항에 있어서, 상기 응답 단계는,
    상기 임의의 노드에서 상기 이웃노드의 광고 패킷을 수신하고, 상기 광고 패킷의 목적지 ID와 상기 임의의 노드 자신의 ID를 비교하는 단계;
    비교 결과, 상기 두 ID가 다르면 수신한 광고 패킷을 폐기하고, 그렇지 않으면 상기 광고 패킷에 포함된 상기 이웃노드의 ID를 자신의 이웃노드 테이블에 추가하는 단계; 및
    상기 임의의 노드에서 상기 광고 패킷에 대한 응답으로 응답 패킷을 생성하여 상기 이웃노드에게 전송하는 단계;
    를 포함하는 것을 특징으로 하는 무선 네트워크에서 요구기반의 이웃노드 발견 방법.
KR1020070127878A 2007-12-10 2007-12-10 무선 네트워크에서 요구기반의 이웃노드 발견 방법 KR100964972B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070127878A KR100964972B1 (ko) 2007-12-10 2007-12-10 무선 네트워크에서 요구기반의 이웃노드 발견 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070127878A KR100964972B1 (ko) 2007-12-10 2007-12-10 무선 네트워크에서 요구기반의 이웃노드 발견 방법

Publications (2)

Publication Number Publication Date
KR20090060895A KR20090060895A (ko) 2009-06-15
KR100964972B1 true KR100964972B1 (ko) 2010-06-21

Family

ID=40990562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070127878A KR100964972B1 (ko) 2007-12-10 2007-12-10 무선 네트워크에서 요구기반의 이웃노드 발견 방법

Country Status (1)

Country Link
KR (1) KR100964972B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101374519B1 (ko) * 2010-12-21 2014-03-14 한국전자통신연구원 무선 애드 혹 네트워크의 이웃 노드 발견 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101107326B1 (ko) * 2008-12-02 2012-01-20 한국전자통신연구원 센서 네트워크에서의 이웃 노드 발견 및 보고 방법
KR101988658B1 (ko) * 2018-02-12 2019-06-12 한림대학교 산학협력단 데이터 처리량 향상을 위한 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040078549A (ko) * 2003-03-04 2004-09-10 삼성전자주식회사 애드 혹 네트워크 환경에서 신뢰성 있게 브로드캐스팅하는시스템 및 방법
KR20050059304A (ko) * 2002-10-25 2005-06-17 해리스 코포레이션 애드 혹 무선시스템 내에 링크를 설치하는 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050059304A (ko) * 2002-10-25 2005-06-17 해리스 코포레이션 애드 혹 무선시스템 내에 링크를 설치하는 방법 및 장치
KR100677671B1 (ko) 2002-10-25 2007-02-09 해리스 코포레이션 무선통신 네트워크 시스템 및 복수의 이동노드에 대한 통신링크 설치방법
KR20040078549A (ko) * 2003-03-04 2004-09-10 삼성전자주식회사 애드 혹 네트워크 환경에서 신뢰성 있게 브로드캐스팅하는시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ohammad Nazeeruddin, Gerard Parr and Bryan Scotney, "DHAPM: A New Host Auto-configuration Protocol for Highly Dynamic MANET," Journal of Network and Systems Management, Vol. 14, No. 3, pp. 441-475*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101374519B1 (ko) * 2010-12-21 2014-03-14 한국전자통신연구원 무선 애드 혹 네트워크의 이웃 노드 발견 방법

Also Published As

Publication number Publication date
KR20090060895A (ko) 2009-06-15

Similar Documents

Publication Publication Date Title
EP1966961B1 (en) Method and system for improving a wireless communication route
EP2566137B1 (en) Methods and systems for peer-to-peer network discovery using multi-user diversity
JP5087553B2 (ja) メッシュネットワークにおける適応性無線ルーティングプロトコルのための方法およびシステム
KR100898680B1 (ko) 무선 네트워크에서 데이터를 라우팅하기 위해 무선네트워크에서 상이한 유형들의 노드들을 액세스 포인트노드들과 연관짓기 위한 시스템 및 방법
US7894378B2 (en) Method for updating a multicast state of a multicast group
US8971231B2 (en) Systems and methods for mobile communications
JP4535380B2 (ja) ワイヤレスセンサネットワークにおけるデータ送信方法
WO2016081734A2 (en) Techniques to support heterogeneous network data path discovery
EP1653680A2 (en) Apparatus and method for extending mobility in a mobile ad-hoc network
WO2008033651A2 (en) Selecting a leader node for an ad hoc network based on services
US20060092898A1 (en) Hand-off method using edge nodes in mobile ad-hoc network
US20050157749A1 (en) System and method for communication with an external network in an IPv6 MANET network
JP5036602B2 (ja) 無線アドホック端末およびアドホック・ネットワーク・システム
JP2006519515A (ja) アドホック接続を用いて拡張されるセルラ無線通信システムにおける情報の伝送のための方法及び基地局
KR100964972B1 (ko) 무선 네트워크에서 요구기반의 이웃노드 발견 방법
JP5073587B2 (ja) 無線マルチホップ通信装置及びその通信制御方法
KR101607967B1 (ko) 선박 간의 네트워크 구성을 위한 전송 경로 설정 방법, 선박의 통신 경로 설정 방법 및 데이터 통신 방법
JP2008312059A (ja) アドホックネットワーク構成方法及びノード装置
JP2007181056A (ja) 経路選択方法
KR100733828B1 (ko) 애드혹 네트워크에서의 멀티캐스트 라우팅 방법 및 주소할당 방법
KR100505132B1 (ko) Ad-hoc망에서의 전력 구별 플래그를 사용하는 경로설정 메시지 및 경로 설정 방법
JP4564442B2 (ja) 経路探索装置
KR101505617B1 (ko) 6LoWPAN 기반 다중 라우팅 구축 방법 및 시스템
JPWO2006048936A1 (ja) アドホック・ネットワーク、移動端末、ゲートウェイノード及びゲートウェイノードの選択方法
KR100929436B1 (ko) Manet 식별자를 이용하는 애드혹 통신 방법, 애드혹단말 및 그 방법을 실행하는 프로그램이 기록된 기록매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee