KR20060087478A - 애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅 경로설정 장치 및 방법 - Google Patents

애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅 경로설정 장치 및 방법 Download PDF

Info

Publication number
KR20060087478A
KR20060087478A KR1020060056048A KR20060056048A KR20060087478A KR 20060087478 A KR20060087478 A KR 20060087478A KR 1020060056048 A KR1020060056048 A KR 1020060056048A KR 20060056048 A KR20060056048 A KR 20060056048A KR 20060087478 A KR20060087478 A KR 20060087478A
Authority
KR
South Korea
Prior art keywords
node
path
received
information
routing path
Prior art date
Application number
KR1020060056048A
Other languages
English (en)
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 KR1020060056048A priority Critical patent/KR20060087478A/ko
Publication of KR20060087478A publication Critical patent/KR20060087478A/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/36Backward learning
    • 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/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • 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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 목적지 노드와 적어도 하나의 중계 노드를 경유하여 상기 목적지 노드로 라우팅 경로 설정 요청 메시지를 전송하는 소스노드로 구성된 이동통신 시스템에서, 적어도 하나의 다른 노드들과 트리 구조로 연결되는 있는 상기 중계 노드에서 상기 라우팅 경로 설정 요청 메시지를 중계하고 최적의 경로를 설정하여 통신하는 방안을 제안한다. 이를 위해 라우팅 경로 설정 요청 메시지를 트리 경로가 아닌 경로를 통해 수신하였으면, 자신의 정보를 이용하여 제1 정보를 갱신한다. 중계 노드는 제1 정보가 갱신된 라우팅 경로 설정 요청 메시지를 다른 중계 노드로 전송한다.
트리 라우팅경로, 홉 수, 라우팅 테이블, RREQ, RREP

Description

애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅 경로 설정 장치 및 방법{APPARATUS AND METHOD FOR SET UP OF OPTIMUM ROUTING PATH USING TREE-TOPOLOGY}
도 1은 트리 구조를 기반으로 한 애드 혹 네트워크에서 라우팅 경로를 설정하는 과정을 도시한 도면,
도 2는 트리 구조를 기반으로 한 애드 혹 네트워크에서 라우팅 경로를 설정하는 과정을 도시한 다른 도면,
도 3은 본 발명의 첫 번째 실시예에 따른 라우팅 경로를 설정하는 도면,
도 4는 첫 번째 실시예에 따른 라우팅 경로 설정 요청 메시지를 수신한 노드에서 수행되는 동작을 도시한 도면,
도 5는 첫 번째 실시예에 따른 라우팅 경로 설정 응답 메시지를 수신한 노드에서 수행되는 동작을 도시한 도면,
도 6은 첫 번째 실시예에 따른 데이터를 수신한 노드에서 수행되는 동작을 도시한 도면,
도 7은 첫 번째 실시예의 문제점을 도시한 도면,
도 8은 첫 번째 실시예의 문제점을 도시한 다른 도면,
도 9는 본 발명의 두 번째 실시예에 따른 라우팅 경로를 설정하는 도면,
도 10은 두 번째 실시예에 따른 라우팅 경로 설정 요청 메시지를 수신한 노드에서 수행되는 동작을 도시한 도면, 및
도 11은 두 번째 실시예에 따른 라우팅 경로 설정 응답 메시지를 수신한 노드에서 수행되는 동작을 도시한 도면.
본 발명은 개인 통신 무선 네트워크에 관한 것으로서 특히 트리구조 기반의 개인 무선통신 네트워크를 구성하고 있는 소스 노드가 목적지 노드로 라우팅 경로를 설정하는 방안에 관한 것이다.
일반적으로 이동통신 시스템은 이동단말(mobile element)과 기지국(base station)간의 데이터를 송수신한다. 즉. 상기 이동단말과 기지국은 다른 노드(node)들을 경유하지 않고 직접 데이터를 송수신한다. 이에 비해 개인통신 무선네트워크(wireless personal area network: WPAN)은 비교적 짧은 거리 내에서 비교적 적은 사용자간에 정보를 전달하기 위해 개발되었다. 즉, 상기 WPAN은 여러 개의 노드(node)들이 서로 통신할 수 있도록 하는 애드 혹(ad-hoc) 데이터 통신 시스템이다. 상기 애드 혹 네트워크를 구성하고 있는 노드는 다른 노드들을 이용하여 수신 노드로 데이터를 전송하기 위해 다른 노드들을 이용한다. 물론 상기 노드와 수신 노드가 인접하고 있다면 직접 전달할 수 있다. 이하 도 1을 이용하여 상기 애드 혹 네트워크를 구성하고 있는 노드들에서 기존의 알고리즘이 수행하는 동작에 대해 알아보기로 한다.
상기 도 1의 트리 기반의 무선 애드 혹 네트워크는 적어도 2개의 노드들로 구성된다. 상기 노드들은 라우팅 테이블을 저장하고 있는 노드와 라우팅 테이블을 저장하지 않는 노드로 구분된다. 이하 상기 라우팅 테이블을 저장하고 있는 노드를 "N+"라 하며, 상기 라우팅 테이블을 저장하지 않은 노드를 "N-"라 한다.
이하, "N+"와 "N-"로 구성된 애드 혹 네트워크에서 라우팅 경로를 설정하는 과정에 대해 알아본다. 노드 A을 소스 노드라 하며, 노드 I를 목적지 노드라 한다. 상기 소스 노드는 라우팅 경로 설정을 요청하는 노드이며, 상기 목적지 노드는 상기 소스 노드가 라우팅 경로를 설정하고자 하는 노드이다. 따라서, 상기 노드 A은 "N+"이기 때문에 라우팅 테이블에 목적지 노드인 I에 대한 경로 정보가 있는지 확인 후 저정된 경로 정보가 없다면 상기 노드 I로 라우팅 경로를 설정하기 위해 인접하고 있는 노드들을 대상으로 라우팅 경로 설정 요청(Route Request: RREQ) 메시지를 브로드캐스트 한다(S100). 상기 노드 B는 "N+"이므로 수신한 RREQ 메시지의 목적지 노드인 노드 I에 대한 경로 정보를 자신의 라우팅 테이블에서 검색한다. 만약 경로 정보가 있다면 노드 A에게 라우팅 경로 설정 응답(Route Reply: RREP) 메시지로 응답하고 경로 정보가 없다면 자신의 라우팅 테이블에 노드 I에 대한 경로 정보 field를 생성하고, 인접하고 있는 노드를 대상으로 RREQ 메시지를 브로드캐스트 한다(S102, S108). 상기 노드 C 역시 "N+"이므로 노드 B와 동일한 작업을 수행한다.(S104, S106).
상기 노드 B에서 브로드캐스트 된 RREQ 메시지를 수신한 상기 노드 G은 "N-" 이기 때문에 RREQ 메시지에 대한 응답인 RREP 메시지를 상기 노드 B로 전송한다(S128). 기존의 알고리즘에 의하면 애드 혹 네트워크를 구성하고 있는 "N-"는 수신한 RREQ 메시지에 대해 RREP 메시지를 전송한다. 즉, 상기 "N-"는 수신된 RREQ에서 요청하는 목적지 노드가 아니더라도 RREP 메시지를 전송한다. 그 이유는 트리 구조의 특성과 "N-"의 정의에 의해 라우팅 테이블을 갖지 않기 때문에 RREQ 메시지를 수신해도 경로 정보를 저장 및 검색할 수 없고, 단순히 트리 구조에 의해 상위 노드 혹은 하위 노드로만 메시지를 전달할 수 밖에 없기 때문에 더 이상 경로 탐색을 수행 할 수 없기 때문이다. 상기 노드 G이 전송한 RREP 메시지는 상기 노드 B를 거쳐 노드 A으로 전달된다(S120). 일반적으로 트리 구조를 생성하는 하는 단계에서 각 노드들은 일정한 거리(1홉) 이내에 있는 노드들에 대한 정보들을 주변노드 리스트(Neighbor List)로 저장하고 있다.
상기 노드 D 역시 "N-" 노드 이기 때문에 상기 노드 G이 수행한 동작과 동일한 동작을 수행한다. 따라서 상기 노드 D가 생성한 RREP 메시지는 노드 C와 노드 B를 거쳐 노드 A으로 전달된다(S124, S122, S120). 상기 노드 C로부터 RREQ 메시지를 수신한 노드 F은 "N+" 노드이기 때문에 브로드캐스트 할 수 있다.(S110, S112, S114). 상기 노드 E 역시 상기 노드 G이 수행한 동작과 동일한 동작을 수행한다. 상기 노드 H은 수신한 RREQ 메시지를 노드 I로 전달한다(S116). 상기 RREQ 메시지를 수신한 상기 노드 I는 상기 노드 A이 라우팅 경로를 설정하고자 하는 노드가 자신임을 인지하게 된다. 따라서 상기 노드 I는 상기 RREQ 메시지에 대한 응답인 RREP 메시지를 생성한다. 상기 생성된 RREP 메시지는 상기 RREQ 메시지가 전송된 경로를 통해 상기 노드 A으로 전달된다. 상기와 같은 과정들을 수행함으로서 상기 노드 A과 노드 I간의 라우팅 경로가 설정된다. 상기 설명에서 생략하였으나, 상기 라우팅 테이블을 저장하는 "N+"들은 수신한 RREQ 메시지 정보를 이용하여 목적지 노드에 대한 field를 라우팅 테이블에 생성한 인접 노드들로 전달한다. 일반적으로 상기 "N+"는 홉 카운터를 갱신한 후 인접 노드들로 전송한다. 상기 노드들에서 설정하는 라우팅 경로는 홉 카운터가 작은 경로로 이용한다. 차후 "N+" 노드들은 RREQ 메시지에 대한 응답인 RREP 메시지를 수신함으로써 해당 노드에 대해 생성해 놓은 라우팅 테이블의 field 값들을 채워서 라우팅 테이블을 관리하게 된다. 상술한 바와 같이 상기 노드 A은 하나의 RREQ 메시지에 대해 다수의 RREP 메시지를 수신하게 된다. 하지만 상기 "N-" 노드들이 전송한 RREP 메시지는 불필요한 메시지이다.
도 2는 애드 혹 네트워크를 구성하고 있는 노드들에서 라우팅 경로를 설정하는 다른 예를 도시하고 있다. 이 예에서는 기존의 알고리즘을 사용하는 경우 소스 노드에서 목적지 노드로의 순방향 경로와 목적지 노드에서 소스 노드로의 역방향 경로가 다르게 설정될 수 있음을 나타낸다.
노드 A는 노드 E와 라우팅 경로를 설정하고자 한다. 상기 노드 A는 저장하고 있는 라우팅 테이블을 검색하여 노드 E와 라우팅 경로가 설정되어 있는 지 여부를 판단한다. 상기 판단 결과 노드 E와 라우팅 경로가 설정되어 있지 않으므로 RREQ 메시지를 브로드캐스트 한다(S200). 상기 RREQ 메시지를 수신한 상기 노드 B 역시 저장하고 있는 라우팅 테이블을 검색하여 노드 E와 라우팅 경로가 설정되어 있는 지 여부를 판단한다. 상기 판단 결과 노드 E와 라우팅 경로가 설정되어 있지 않으므로 RREQ 메시지를 브로드캐스트 한다(S202).
상기 노드 C는 상기 노드 A가 라우팅 경로를 설정하고자 하는 노드가 자신인지 여부를 판단한다. 상기 노드 A가 라우팅 경로를 설정하고자 하는 노드가 자신이 아니므로 "N-"인 상기 노드 C는 트리 경로를 따라 노드 D로 RREQ 메시지를 전송한다(S204). 상기 노드 D 역시 노드 A가 라우팅 경로를 설정하고자 하는 노드가 자신인지 여부를 판단한다. 상기 노드 A가 라우팅 경로를 설정하고자 하는 노드가 자신이 아니므로 상기 노드 D는 노드 E로 RREQ 메시지를 전송한다(S206). 상기 노드 E는 상기 노드 A가 라우팅 경로를 설정하고자 노드가 자신임을 인지하게 된다.
상기 노드 E는 상기 RREQ 메시지에 대한 응답인 RREP 메시지를 생성한다. 상기 생성된 RREP 메시지는 노드 D로 전달된다(S210). 상기 노드 D는 전달받은 RREP 메시지를 노드 F로 전달한다(S212). 상기 노드 F는 트리를 따라 소스 노드 A에 전송된다. 이와 같이 순방향(Forward) 라우팅 경로와 역방향(Backward) 라우팅 경로가 달라진다는 문제점을 가지게 된다. 따라서 상술한 바와 같은 문제점들을 해결하기 위한 방안이 논의된다.
상기 문제점들을 해결하기 위한 본 발명의 목적은 트리 구조와 제한적인 기능을 갖는 노드(예들 들어 라우팅 테이블이 없어 온 디멘드(On-demand) 방식의 라우팅 설정기능이 없는 N- 노드)들이 혼재된 상태로 구성된 무선 네트워크에서 최적의 경로 설정이 가능하게 하는 장치 및 방법을 제안함에 있다.
본 발명의 목적은 RREQ 메시지에 대해 복수 개의 RREP 메시지가 수신되는 것을 방지하는 장치 및 방법을 제안함에 있다.
본 발명의 또 다른 목적은 순방향 라우팅 경로와 동일한 역방향 라우팅 경로를 설정할 수 있는 장치 및 방법을 제안함에 있다.
본 발명의 또 다른 목적은 하나의 목적지 노드에 대해 최소 링크 코스트(Link cost), 일반적으로 최소 홉 카운터를 갖는 최적의 라우팅 경로를 설정하는 장치 및 방법을 제안함에 있다.
상술한 본 발명의 목적들을 이루기 위해 목적지 노드와 적어도 하나의 중계 노드를 경유하여 상기 목적지 노드로 라우팅 경로 설정 요청 메시지를 전송하는 소스노드로 구성된 트리 구조의 무선 통신 시스템에서, 목적지 노드의 위치에 따라 트리 기반의 경로를 사용할지 온 디멘드(On-demand) 방식(테이블 드리븐(Table-driven) 방식)을 사용하여 라우팅 경로를 탐색 및 설정할지 판단하는 단계; 및 적어도 하나의 다른 노드들과 연결되는 있는 상기 중계 노드에서 상기 라우팅 경로 설정 요청 메시지를 중계하는 방법에 있어서, 상기 라우팅 경로 설정 요청 메시지를 상기 트리 경로가 아닌 경로를 통해 수신하였으면, 저장된 정보를 이용하여 역경로 탐색을 위한 제1 정보를 갱신하는 단계; 및, 상기 제1 정보가 갱신된 라우팅 경로 설정 요청 메시지를 전송하는 단계:로 구성됨을 특징으로 한다.
본 발명의 목적들을 이루기 위해 목적지 노드와 적어도 하나의 중계 노드들을 경유하여 상기 목적지 노드로 라우팅 경로 설정을 요청하는 소스노드로 구성된 트리 구조의 무선통신 시스템에서, 상기 소스 노드로부터 상기 목적지 노드로 상기 라우팅 경로를 설정하는 장치에 있어서, 목적지 노드의 위치에 따라 이미 구성된 트리 경로와 온 디멘드 방식에 의해 라우팅 경로 설정 요청 메시지의 브로드캐스트를 통한 새로운 라우팅 경로 탐색 방법 중 어떤 경로 설정방법을 사용할지 결정하고, 그 결정에 의해 라우팅 경로 설정을 요청하는 라우팅 경로 설정 요청 메시지를 생성하고, 상기 생성한 라우팅 경로 설정 요청 메시지를 전송하는 상기 소스 노드; 상기 라우팅 경로 설정 요청 메시지를 상기 트리 경로가 아닌 경로를 통해 수신하였으면, 저장된 정보를 이용하여 역경로 탐색을 위한 제1 정보를 갱신한 라우팅 경로 설정 요청 메시지를 전송하는 상기 적어도 하나의 중계 노드들; 및, 상기 목적지 노드;로 구성됨을 특징으로 한다.
이하 도면들을 이용하여 본 발명의 기술적 사상에 대해 상세하게 설명한다.
먼저 본 발명에서 사용하는 용어들에 대해 알아보기로 한다. 트리 경로는 RREQ와 RREP에 의한 온 디멘드 방식으로 경로를 설정하기 이전에 각 노드들간에 연결되어 있는 경로를 의미한다. 라우팅 경로는 소스 노드와 목적지 노드간 통신을 위해 중계 노드들을 이용하여 설정된 경로를 의미한다. 디센던트(descendant) 노드는 자신을 기준으로 트리 구조상에서 깊이(depth)가 큰, 즉 아래쪽에 위치하고 있는 노드를 의미한다. 엔세스터(ancestor) 노드는 자신을 기준으로 트리 구조상에서 깊이가 작은, 즉, 위쪽에 위치하고 있는 노드를 의미한다. 페어런트 노드는 자신을 기준으로 트리구조상에서 직접 연결되어 있는 엔세스터 노드를 의미하며, 차일드 노드는 자신을 기준으로 트리구조상에서 직접 연결되어 있는 디센던트 노드를 의미 한다.
본 발명은 소스 노드가 자신의 타입과("N+" 또는 "N-") 목적지 노드의 위치의 위치에 따라 라우팅 경로 설정방법을 결정한다. 목적지 노드의 위치에 따라 라우팅 경로 설정 방법을 결정하는 방법은 두 가지가 있다. 목적지 노드가 소스 노드와 같은 클러스터내의 엔세스터 노드인 경우, 디센던트 노드인 경우, 그리고 목적지 노드가 속한 클러스터가 소스 노드가 속한 클러스터 보다 깊이(depth)가 큰 경우에는 경로 설정을 위한 탐색 과정없이 기존에 형성된 트리 경로를 이용하여 패킷을 보내는 것이 최적 경로 및 방법이다. 상술한 경우가 아닌 경우에는 RREQ 메시지 브로드캐스트를 통해 온 디멘드 방식으로 경로를 찾는것이 트리 경로를 이용하는 것 보다 최적의 경로를 찾을 수 있다. 이하 소스 노드의 응용 프로그램에서 목적지 노드로 전송할 데이터가 발생한 경우 라우팅 경로를 설정하는 방안에 대해 알아본다. 상기 도 1을 이용하면, 노드 F를 소스 노드로 가정하고, 목적지 노드를 노드 A라고 가정하면, 디센던트 노드들은 노드 E, 노드 H, 노드 I이다. 엔세스터 노드들은 노드 C, 노드 B, 노드 A이다. 상기 소스 노드 F는 목적지 노드 A의 주소를 분석함으로서 트리상에서 목적지 노드와 소스 노드 자신의 상대적 위치 즉, 이 경우 목적지 노드 A는 소스 노드 F의 엔세스터 노드임을 파악할 수 있게 된다.
주소 체계를 이용하여 노드 A가 트리 경로상에서 엔세스터 노드임을 인지한 상기 노드 F에서 상기 노드 A로 데이터를 전송하는 과정에 대해 알아보기로 한다. 상기 노드 F는 노드 A가 트리 경로상에서 엔세스터 노드임을 인지한 정보를 라우팅 테이블에 저장하는 방안을 생각할 수 있다. 상기 정보를 라우팅 테이블에 저장하는 경우 상기 노드 F는 노드 A로 전송할 데이터가 새로 발생되면 주소 체계를 분석할 필요없이 라우팅 테이블에 저장되어 있는 정보를 이용하여 상기 노드 A로 데이터를 전송한다. 이와 같이 함으로서 상기 노드 F가 주소 체계를 분석하여 노드 A의 위치를 파악하는데 소요되는 시간을 감소시킬 수 있게 된다.
또한, 상기 노드 F는 상기 전달할 데이터에 소정의 정보를 부가할 수 있다. 상기 소정의 정보는 데이터에 부가되어 있는 목적지 노드의 어드레스와 데이터를 전달받은 노드 자신의 어드레스가 일치하지 않을 경우 상기 데이터를 트리 경로상에서 페어런트 노드로 전달함을 의미한다. 이와 같이 함으로서 상기 노드 C는 상기 노드 A의 주소체계를 이용하여 위치를 파악하지 않고 전달받은 데이터를 노드 B로 전달한다. 상기 노드 B 역시 전달받은 데이터를 노드 A로 전달한다.
상술한 바와 같이 상기 소스 노드가 트리 구조상에서 엔세스터에 위치하고 있는 목적지 노드로 경로 설정 절차 없이 목적지 노드의 주소 분석만을 통해 상대적 위치를 파악하고 바로 데이터를 전송함으로서 경로 설정 절차에 소요되는 시간을 줄임으로서 데이터 전송에 소요되는 전체 시간을 감소시킬 수 있게 된다. 즉, 소스 노드에서 단 한번만 주소 체계를 분석함으로서 복수 개의 데이터를 목적지 노드로 전달할 수 있게 된다.
-첫 번째 실시예-
이하, 본 발명에 따른 소스 노드가 목적지 노드로 라우팅 경로를 설정하는 첫 번째 실시예에 대해 알아보기로 한다. 먼저 트리 경로상에 위치하고 있는 노드가 "N-"인 경우에 대해 알아본 후 트리 경로상에 위치하고 있는 노드가 "N+"인 경 우에 대해 알아보기로 한다.
1. 트리 상에 위치하고 있는 노드가 "N-"인 경우
"N-"가 소스 노드이면, 상기 "N-"는 목적지 노드가 트리 경로상에서 디센던트 노드이거나, 엔세스터 노드인지 판단한다. 상기"N-"는 라우팅 테이블을 저장하고 있지 않지만 목적지 주소 분석을 통해 트리 경로상에서 디센던트 노드인지 엔세스터 노드인지 판단할 수 있고 그 결과에 따라 자신과 연결된 트리 경로를 이용하여 데이터 패킷을 전송한다. 이렇게 데이터 패킷을 전송함으로서 목적지 노드까지의 경로 중에 존재하는 "N+" 노드를 상기 "N-"인 소스 노드의 에이전트 노드로 이용하여 경로를 검색할 수 있다.
이하 "N-"가 중계 노드(Intermediate Node)인 경우에 대해 알아본다. 상기 "N-"는 전달받은 데이터에 대해서는 목적지 주소 분석을 통해 트리 경로상에서 페어런트 혹은 차일드 노드로 전달한다. 상기 "N-"는 RREQ 메시지를 수신한 경우 수신한 RREQ 메시지의 전달 형태(브로트캐스트 혹은 유니캐스트)에 따라 동작한다. 즉, 브로드캐스트 RREQ 메시지를 전달받았으면, 상기 "N-"는 전달받은 RREQ 메시지를 송신한 노드와 자신의 상대적 위치를 확인하여 자신의 차일드 노드로부터 수신된 RREQ 메시지이고 RREQ 메세지의 최종 목적지 노드가 자신의 디센던트 노드일 경우에만 자신의 트리 경로를 이용하여 수신한 RREQ 메시지를 전송(유니캐스트)한다. 그 외의 브로드캐스트 RREQ 메시지는 폐기한다.이와 같이 함으로서 불필요한 RREQ 메시지가 송수신되는 것을 방지할 수 있게 된다. 상기 "N-" 중계 노드가 유니캐스트 RREQ 메시지를 전달받았으면, 목적지 노드의 상대적 위치에 따라 적합한 트리 경로를 이용하여 전달받은 RREQ 메시지를 전송(유니캐스트)한다. 이하 상기 "N-"가 수신한 RREQ 메시지가 브로드캐스트된 메시지인지 유니캐스트된 메시지인지 구별하는 방법에 대해 알아보기로 한다. 일반적으로 RREQ 메시지를 전송하는 중계노드는 상기 RREQ 메시지를 브로드캐스트할 것인지 유니캐스트할 것인지 여부를 판단한다. 유니캐스트한다고 판단되면, 상기 중계노드는 상기 RREQ 메시지를 수신할 노드의 어드레스를 상기 RREQ 메시지의 수신 노드 주소 필드(Destination Address Field)에 포함시켜 전송한다. 브로드캐스트한다고 판단되면, 상기 중계노드는 시스템 설계 초기에 설정한 브로드캐스트 주소정보를 RREQ 메시지의 수신 노드 주소 필드(Destination Address Field)에 포함시켜 전송한다. RREQ 메시지를 수신한 노드는 상기 수신 노드 주소 필드(Destination Address Field) 값과 자신의 주소정보를 비교함으로서 상기 RREQ 메시지가 브로드캐스트된 것인지 자신에게 온 유니 캐스트 메시지인지 알수있다.
상기 "N-"가 목적지 노드인 경우에 대해 알아본다. 상기 "N-"는 트리 구조상의 RREQ 메시지의 소스 노드와 목적지 노드 사이에 위치한 디센던트 노드가 브로드캐스트한 RREQ 메시지를 수신하면 RREP 메시지를 생성하고, 상기 생성한 RREP 메시지를 수신한 RREQ 메시지에 포함된 경로 정보를 이용하여 전송한다. 또한, 상기 "N-"는 유니캐스트한 RREQ 메시지를 수신하면 RREP 메시지를 생성하고, 상기 생성한 RREP 메시지를 전송한다.
2. 트리상에 위치하고 있는 노드가 "N+"인 경우
상기 "N+"인 임의의 노드의 응용 프로그램에서 임의의 목적지 노드로 보낼 데이터가 발생되거나 주변 노드로부터 데이터 패킷을 전달받아 상기 "N+" 노드가 소스 노드가 되면 라우팅 테이블을 갖고 있는 "N+" 노드이기 때문에 상기 목적지 노드에 관한 정보가 이미 라우팅 테이블에 저장되어 있는지 검색하게 된다. 검색 결과 라우팅 정보가 이미 저장되어 있다면, 테이블에 저장된 다음 홉 주소로 데이터 패킷을 전송한다. 만약 저장되어 있지 않다면 소스 노드는 목적지 노드 주소 정보 분석을 통해 상대적 위치를 파악한다. 만약 목적지 노드가 소스 노드의 주변 노드이거나 디센던트 노드라면 소스 노드는 해당 트리 경로를 통해 데이터 패킷을 전송한다. 그 외의 경우 새로운 라우팅 경로 설정을 위해 RREQ 메시지 브로드캐스트를 통한 경로 탐색 과정을 실시한다. 이 경로 탐색 과정동안 이미 수신한 데이터 패킷은 탐색 과정이 완료될 때까지 전송을 보류할 수도 있다. 경로 탐색 과정의 결과로 수신하는 RREP 메시지 중 가장 작은 링크 코스트(일반적으로 홉 수)를 갖는 RREP 메시지를 선택하여 해당 정보를 라우팅 테이블에 저장하고 해당 경로로 데이터 패킷을 전송한다.
상기 "N+"가 중계노드일 때 데이터 패킷을 수신한 경우 "N+"가 소스 노드인 경우와 동일하고 동작한다. 또한 RREQ 메시지를 수신한 경우 라우팅 테이블을 검색하여 해당 정보가 존재한다면 RREP로 응답하고, 존재하지 않는다면 주소 분석을 실시한다. 만약 목적지 노드가 디센던트 노드라면 해당 트리 경로를 이용하여 목적지 노드로 수신한 데이터를 전송한다. 만약 디센던트 노드가 아니라면 수신한 RREQ 메시지를 주변 노드들에게 브로드캐스트 한다.
상기 "N+"가 목적지 노드이면 자신의 라우팅 테이블을 검색하여 해당 소스 노드로부터 RREQ를 수신한 적이 있는지 확인한다. 만약 처음으로 수신한 RREQ 메시지라면 라우팅 테이블에 해당 소스 노드에 대한 정보를 새로 기입하고 RREP 메시지로 응답한다. 만약 중복 수신한 RREQ 메시지라면 기존 저장되어 있는 링크 코스트 값과 수신한 RREQ 메시지의 링크 코스트 값을 비교하여 새로 수신한 RREQ가 더 작은 값을 갖는 경우 라우팅 테이블 정보를 업데이트하고 RREP 메시지로 응답한다. 이하 도 3을 이용하여 상기 첫 번째 실시 예에 대해 알아보기로 한다.
상기 도 3에서 소스 노드는 노드 E이며, 목적지 노드는 노드 I이다. 상기 소스 노드 E는 라우팅 테이블을 갖지 않는 "N-" 타입의 노드이기 때문에 S300단계에서 트리 경로상에서 페어런트 노드인 노드 B로 데이터를 전달한다. 이 경우 소스 노드 E는 트리 구조상 최종단에 위치한 노드이기 때문에 페어런트 노드와의 트리 연결 하나를 갖기 때문에 목적지 노드 주소 분석 과정없이 단순히 데이터 패킷을 전달함으로서 페어런트 노드 B를 에이전트 노드로 사용한다. 상기 노드B는 전달받은 데이터에 포함되어 있는 목적지 노드의 주소 정보를 추출하고, "N+" 타입 노드이기 때문에 라우팅 테이블에서 목적지 노드에 관한 경로 정보가 있는지 검색한다. 검색 결과가 존재하지 않는다면 추출된 주소 정보를 이용하여 목적지 노드의 위치를 분석한다. 도 3에서 목적지 노드 I는 노드 B의 디센던트 노드가 아니기 때문에 상기 노드 B는 전달받은 데이터를 저장하고, RREQ 메시지를 생성한다. 상기 생성한 메시지를 브로드캐스트한다(S302, S304, S306). 상기 노드 F는 수신한 RREQ 메시지를 폐기한다. 즉, 트리 경로상에서 엔세스터 노드로부터 수신한 RREQ 메시지가 브로드캐스트된 메시지이면 수신한 RREQ 메시지를 폐기한다.
상기 "N+"인 노드 C는 수신한 RREQ 메시지의 정보를 이용하여 자신의 라우팅 테이블의 목적지 노드에 관한 정보를 갱신한 후 브로드캐스트한다(S308, S310, S12, S314). 상기 노드 G와 노드 H는 수신한 RREQ 메시지를 폐기한다. 상기 노드 B와 노드 C로부터 RREQ 메시지를 수신한 노드 A가 만약 노드 I에 대한 라우팅 테이블을 저장하고 있으면, 상기 노드 I의 위치를 알 수 있게 된다. 따라서, 상기 노드 A는 수신한 RREQ 메시지에 대한 응답인 RREP 메시지를 전송한다. 이 경우 수신한 RREQ 메시지의 홉 수를 비교하고, 홉 수가 작은 RREQ에 대해서만 RREP를 전송한다. 즉, 도 3의 경우 상기 노드 A는 노드 B로만 RREP 메시지를 전송한다. 상기 노드 A가 상기 노드 I에 대한 라우팅 테이블을 저장하고 있지 않다면 목적지 노드가 자신의 디센던트 노드라는 것을 알 수 있기 때문에 상기 노드 D로 RREQ 메시지를 유니캐스팅한다. 이하 상기 노드 A에서 전송하는 RREQ 메시지에 대한 설명은 생략하기로 한다.
상기 노드 D는 노드 I로 갱신한 RREQ 메시지를 유니캐스트한다(S316). 상기 노드 I는 RREQ 메시지에 대한 응답인 RREP 메시지를 생성하고, 상기 생성한 RREP 메시지를 노드 D로 유니캐스트한다(S318). 상기 노드D는 RREQ 메시지 수신 시 라우팅 테이블에 저장했던 정보를 이용하여 상기 노드 C로, 상기 노드 C도 마찬가지 방식으로 상기 노드 B로 갱신된 RREP 메시지를 전송한다(S320, S322). 상술한 바와 같은 과정들을 수행함으로서 상기 노드 B로부터 노드 I로 데이터 전송을 위한 라우팅 경로가 설정된다. 상기 노드 B는 저장되어 있는 데이터를 설정된 라우팅 경로를 이용하여 노드 I까지 전달한다.
도 4는 본 발명에 따른 RREQ 메시지를 수신한 노드에서 수행되는 동작을 도시하고 있다. S400단계에서 상기 노드는 RREQ 메시지를 수신한다. S402단계에서 상기 노드는 수신된 메시지를 이용하여 자신이 목적지 노드인지 여부를 판단한다. 상기 판단 결과 목적지 노드이면 S416단계로 이동하고, 상기 판단 결과 목적지 노드가 아니면 S404단계로 이동한다. S404단계에서 상기 노드는 "N+"인지 여부를 판단한다. 상기 판단 결과 "N+"이면 S406단계로 이동하고, 상기 판단 결과 "N-"이면 S412단계로 이동한다.
상기 S406단계에서 상기 노드는 RREQ 메시지에 포함되어 있는 목적지 노드가 디센던트 노드인지 여부를 판단한다. 상기 판단 결과 상기 목적지 노드가 디센던트 노드가 아니면 S410단계로 이동하여 수신한 RREQ 메시지를 갱신한 후 재-브로드캐스트한다. 상기 판단 결과 상기 목적지 노드가 디센던트 노드이면 S408단계로 이동한 후 수신한 RREQ 메시지를 갱신한 후 유니캐스트한다. 상기 S412단계에서 상기 노드는 수신한 RREQ 메시지가 유니캐스트된 메시지 또는 디센던트 노드로부터 브로트캐스트된 메시지인지 여부를 판단한다. 상기 판단 결과 수신한 RREQ 메시지가 유니캐스트된 메시지 또는 디센던트 노드로부터 브로트캐스트된 메시지이면 S408단계로 이동한다. 상기 판단 결과 수신한 RREQ 메시지가 유니캐스트된 메시지 또는 디센던트 노드로부터 브로트캐스트된 메시지가 아니면 S414단계로 이동한 후 수신한 RREQ 메시지를 폐기한다.
S416단계에서 상기 노드는 "N+"인지 여부를 판단한다. 상기 판단 결과 "N+"이면 S418단계로 이동하고, 상기 판단 결과 "N-"이면 S422단계로 이동한다. S418단 계에서 수신한 RREQ 메시지와 라우팅 테이블에 저장된 링크 코스트를 비교한다. 상기 비교 결과 수신한 RREQ 메시지의 링크 코스트가 작다면 S420단계로 이동하여 수신한 RREQ 메시지의 정보를 라우팅 테이블에 업데이트한다. 상기 비교 결과 수신한 RREQ 메시지의 링크 코스트가 작지 않다면 S414단계로 이동한 후, 수신한 RREQ 메시지를 폐기한다. S422단계에서 상기 노드는 수신한 RREQ 메시지에 대한 응답인 RREP 메시지를 생성한다.
도 5는 본 발명에 따른 RREP 메시지를 수신한 노드에서 수행되는 동작을 도시하고 있다. S500단계에서 상기 노드는 RREP 메시지를 수신한다. S502단계에서 상기 노드는 자신이 소스 노드인지 여부를 판단한다. 상기 판단 결과 소소 노드이면 S504단계로 이동하고, 상기 판단 결과 소스 노드가 아니면 S518단계로 이동한다.상기 S504단계에서 노드는 "N+"인지 여부를 판단한다. 상기 판단 결과 "N+"이면 S508단계로 이동하고, 상기 판단 결과 "N-"이면 S506단계로 이동하여 RREP 메시지를 폐기한다. 상기 S508 단계에서 상기 노드는 수신한 RREP 메시지가 새로운 것인지 판단한다. 새로 수신한 RREP 메시지라면 S514 단계로 이동하여 해당 소스 노드에 관한 라우팅 테이블 정보를 새로 생성함으로서 라우팅 테이블을 갱신한다. 이전에 수신한 적이 있다면 S512 단계로 이동하여 저장된 링크 코스트와 비교한다. 비교 결과 수신한 RREP 메시지의 링크 코스트 값이 저장된 값보다 작다면 S514단계에서 해당 정보로 라우팅 테이블 값을 갱신한 후, S506단계에서 해당 RREP 메시지는 폐기한다.
상기 S518 단계에서 "N+"이면 S522단계로 이동하고 "N-"이면 S520단계로 이 동하여 해당 RREP 메시지를 유니캐스트 한다. 상기 S522 단계에서는 새로 수신한 RREP메시지인지 확인하고 새로 수신한 RREP메시지라면 S524 단계로 이동하여 해당 노드에 관한 라우팅 테이블 정보를 생성함으로서 라우팅 테이블을 갱신한 후, S526단계로 이동하여 RREP메시지를 전송한다. 만약 새로 수신한 RREP 메시지가 아니라면(라우팅 테이블에 해당 정보가 존재한다면) S528 단계로 이동하여 저장되어 있는 해당 정보의 링크 코스트를 비교한다. 상기 비교 결과 작은 값을 갖는다면 S524 단계에서 해당 소스 노드에 관한 라우팅 테이블 정보를 갱신하고 S526 단계로 이동한다. 만약 작은 값을 갖지 않는다면 S506 단계로 이동하여 해당 RREP 메시지를 폐기한다.
도 6은 본 발명에 따른 데이터를 수신한 노드에서 수행되는 동작을 도시한 도면이다. S600단계에서 상기 노드는 응용 프로그램(상위계층)으로부터 데이터를 수신한 경우이고, S602단계에선 주변 노드(하위계층)로부터 데이터를 수신한 경우이다. 상기 S602단계에서 상기 노드는 데이터를 수신하면 S614단계로 이동하여 상기 노드가 목적지 노드인지 확인한다. 상기 노드가 목적지 노드이면 S616단계로 이동하여 수신한 데이터를 상위 계층으로 전달하며, 목적지 노드가 아니라면 S604단계로 이동한다. 상기 S604단계에서 상기 노드는 "N+"인지 여부를 판단한다. 상기 판단 결과 "N+"이면 상기 노드는 S606단계로 이동하고, 상기 판단 결과 "N-"이면 S612단계로 이동한다. 상기 S606단계에서 라우팅 테이블에 목적지 노드에 대한 정보가 있는지 확인하고, 상기 확인 결과 라우팅 테이블에 목적지 노드에 대한 정보가 있다면 S608로 이동한다. 상기 S608단계에서 다음 홉에 위치하고 있는 노드로 데이터를 전송하고, S610단계에서 타이머를 설정한다. 상기 확인 결과 라우팅 테이블에 목적지 노드에 대한 정보가 없다면 S618단계로 이동하여 목적지 노드와의 상대적 위치를 파악한다. 만약 목적지 노드가 디센던트 노드 또는 위치 확인이 가능한 인접 노드라면 S612 단계에서 해당 트리 경로를 이용하여 전송한다. 만약 그렇지 않다면 S620단계로 이동하여 RREQ 브로드캐스트를 통한 경로 탐색 과정을 실시 한다. 상기 S604단계에서 상기 노드가 "N-" 노드라면 S612단계로 이동하여 트리 경로를 이용하여 데이터를 전송한다.
이하 도 7 내지 도 8을 이용하여 상기 첫 번째 실시 예에 대한 문제점을 설명하고, 상기 문제점을 해결할 수 있는 두 번째 실시예에 대해 알아보기로 한다.
도 7은 첫 번째 실시예에 따라 라우팅 경로를 설정할 경우 최적의 라우팅 경로를 설정할 수 없음을 도시하고 있다. 상기 도 7에서 노드 A가 소스 노드이며, 노드 I가 목적지 노드인 경우를 가정한다. 상기 노드A는 데이터를 노드 B로 전달하고(S700), 노드 B는 전달받은 데이터를 노드 C로 전달한다(S702). 상기 노드 C는 전달받은 데이터를 버퍼에 저장하고, RREQ 메시지를 생성한다. 상기 노드 C는 생성한 RREQ 메시지를 브로드캐스트한다(S704, S706). 이하, 상기 S704에 대한 설명은 생략하기로 한다. 상기 노드 F는 전달받은 RREQ 메시지를 갱신한 후 브로드 캐스트한다(S708). 상기 노드 G는 전달받은 RREQ 메시지에 포함되어 있는 목적지 노드에 관한 정보를 분석함으로서, 상기 수신한 RREQ 메시지를 갱신하여 상기 노드 I로 유니캐스트한다(S710). 상기 노드 I는 RREP 메시지를 상기 RREQ 메시지가 전송된 경로를 따라 전송하게 된다. 상술한 바와 같은 과정을 수행함으로서 상기 노드 A노드 B노드 C노드 F노드 G노드 I로의 라우팅 경로가 설정된다.
하지만 상기 경로는 최적의 라우팅 경로가 아니다. 즉, 상기 노드 A노드 H노드 I로의 경로가 최적의 라우팅 경로이다.
도 8은 첫 번째 실시예에 따라 라우팅 경로를 설정할 경우 순방향 라우팅 경로와 역방향 라우팅 경로가 다르게 설정되는 경우를 도시하고 있다. 상기 순방향 라우팅 경로는 소스 노드로부터 목적지 노드까지 라우팅 경로이며, 상기 역방향 라우팅 경로는 목적지 노드에서 소스 노드까지 라우팅 경로이다.
상기 도 8에서 소스 노드는 노드 A이며, 목적지 노드는 노드 M이다. 상기 노드 A는 노드 M으로 라우팅 경로를 설정하기 위해 RREQ 메시지를 브로드캐스트한다(S800). 상기 노드 I는 수신한 RREQ 메시지를 갱신하고, 상기 갱신한 RREQ 메시지를 브로드캐스트한다S802, S804). 상기 노드 K는 노드 I가 브로드캐스트한 RREQ 메시지를 수신하여 갱신한다. 상기 노드 K는 갱신한 RREQ 메시지를 브로드캐스트하고(S810, S816), 상기 노드 M은 상기 RREQ 메시지를 수신한다. S806, S808, S812, S814에 대한 상세한 설명은 생략하기로 한다. 상술한 바와 같은 과정들을 수행함으로서 노드 A모드 I노드 K노드 M의 순방향 라우팅 경로가 설정된다.
상기 RREQ 메시지를 수신한 노드 M은 "N-"이므로 RREP 메시지를 노드 L로 유니캐스트한다(S818). 상기 노드 L은 "N-"이므로 수신한 RREP 메시지를 갱신한 후 노드 G로 유니캐스트한다(S820). 상기 노드 G은 "N-"이므로 수신한 RREP 메시지를 갱신한 후 노드 F로 유니캐스트한다(S822). 상술한 바와 같이 상기 RREQ 메시지는 S824, S826, S828, S830, S832의 과정을 수행함으로서 상기 노드 A로 전달된다. 따 라서 상기 도 8에서 상기 역방향 라우팅 경로는 노드 M모드 L노드 G노드 F노드 E모드 D노드 C노드 B노드 A 가 된다.
이와 본원 발명의 첫 번째 실시예는 순방향 라우팅 경로와 역방향 라우팅 경로가 다르게 설정되는 단점을 가지고 있다. 따라서 본원 발명의 두 번째 실시예는 첫 번째 실시예의 문제점을 해결하기 위한 방안을 제안한다.
-두 번째 실시예-
상기 첫 번째 문제점을 해결하기 위해 본원 발명은 "N-"인 노드에 소정 크기의 라우팅 테이블을 부여하는 방안을 제안한다. 또한 본원 발명은 보더 노드(Border Node)의 개념을 제안한다.
1. 트리 상에 위치하고 있는 노드가 "N-"인 경우
"N-"가 소스 노드이면, 상기 "N-"는 전송할 데이터를 버퍼에 저장한다. 또한, 상기 "N-"는 주소 체계를 분석하여 목적지 노드의 위치를 판단한다. 목적지 노드가 트리 경로상의 디센던트 노드이면 라우팅 경로 탐색 과정을 수행하지 않고 트리 경로를 이용하여 데이터를 전송한다. 만약 목적지가 디센던트 노드가 아니라면 "N-" 노드일지라도 해당하는 목적지 노드에 대한 하나의 라우팅 테이블을 생성하고 RREQ 메시지를 브로드캐스트 한다.
"N-"가 중계 노드이면, 상기 "N-"는 유니캐스트한 RREQ 메시지를 수신하면, 상기 수신한 RREQ 메시지를 갱신한 후 트리 경로를 따라 전송한다. 상기 "N-"는 RREQ 메시지의 소스 노드가 자신의 디센던트 노드이고 자신의 차일드 노드가 브로드캐스트한 RREQ 메시지를 수신하면, 상기 수신한 RREQ 메시지를 갱신한 후 트리 경로를 따라 전송한다.
"N-"가 목적지 노드이면, 상기 "N-"는 수신한 RREQ 메시지에 대한 RREP 메시지를 생성하고, RREQ 메시지에 포함된 다음 보더 노드 정보를 저장하고 상기 생성한 RREP 메시지를 전송한다. 이때 "N-" 노드이더라도 해당하는 소스 노드에 대한 하나의 라우팅 테이블을 생성하고 관리한다.
2. 트리 상에 위치하고 있는 노드가 "N+"인 경우
상술한 첫 번째 실시예와 동일한 동작을 수행한다.
도 9는 본 발명에 따른 순방향 라우팅경로와 역방향 라우팅경로를 동일하게 설정되는 예를 도시하고 있다. 이하 도 9를 이용하여 본 발명에 따른 순방향 라우팅 경로와 순방향 라우팅 경로가 동일하게 설정할 수 있는 방안에 알아보기로 한다.
상기 도 9에서는 소스 노드는 노드 A이며, 목적지 노드는 노드 L이다. 상기 노드 A는 목적지 노드의 주소 체계를 분석한 결과 자신의 디센던트 노드가 아님을 알 수 있다. 상기 노드 A는 첫 번째 실시예와 달리 데이터를 노드 B로 전달하지 않고 라우팅 경로를 설정하기 위한 경로 탐색 과정을 수행한다. 따라서, 상기 노드 A는 RREQ 메시지를 생성하고, 상기 생성한 RREQ 메시지를 브로드캐스트한다(S900, S902). 상기 노드 A에서 노드 B로 전송되는 RREQ 메시지에 대한 설명은 생략하기로 한다. 상기 노드 K는 수신한 RREQ 메시지를 갱신한 후 브로드캐스트한다(S904). 상기 노드 K는 RRRQ 메시지를 트리 경로를 통해 수신하지 않았으므로 자신이 보더 노드 후보가 될 수 있다는 정보를 상기 RREQ 메시지에 포함시킨다. 상기 보더 노드는 RREQ 메시지를 트리 경로를 따라 수신하지 않고, 갱신한 RREQ 메시지를 트리 경로를 따라 전송하는 노드를 의미한다.
상기 노드 J는 상기 노드 K가 브로드캐스트한 RREQ 메시지를 수신한다. 상기 RREQ 메시지를 수신한 노드 J는 상기 노드 K가 보더 노드임을 인지하게 된다. 즉, 상기 RREQ 메시지를 트리 경로를 이용하여 수신하였으므로 상기 노드 J는 수신한 RREQ 메시지를 이용하여 상기 노드 K가 보더 노드임을 인지하게 된다.
상기 노드 J는 상기 RREQ 메시지에 상기 노드 K가 보더 노드라는 정보를 부가한다. 또한 상기 노드 J는 상기 노드 K가 보더 노드임을 저장한다. 상기 노드 J는 갱신한 RREQ 메시지를 노드 I로 유니캐스트한다(S906). 첫 번째 실시 예에서 설명한 바와 중계 노드인 "N-"가 RREQ 메시지를 차일드 노드로부터 수신하였으면, 상기 수신한 RREQ 메시지를 갱신한 후 유니캐스트한다. 상기 노드 I는 수신한 RREQ 메시지를 갱신한 후 브로드캐스트한다(S908, S910). 상기 노드 N은 수신한 RREQ 메시지를 브로드캐스트한다(S914). 물론 상기 노드 N은 자신이 보더 노드 후보가 될 수 있음을 상기 RREQ 메시지에 포함시켜 브로드캐스팅한다. 상기 노드 O는 상기 노드 N이 브로드캐스트한 RREQ 메시지를 수신하면, 상기 노드 N이 보더 노드임을 인지하게 된다. 따라서 상기 노드 O는 수신한 RREQ 메시지에 저장되어 있는 보더 노드에 관한 정보를 갱신한다. 상기 노드 O는 상기 노드 N이 보더 노드임을 저장한다. 상기 노드 O는 수신한 RREQ 메시지를 갱신한 후 노드 M으로 유니캐스트하고(S918), 상기 노드 M은 수신한 RREQ 메시지를 갱신한 후 노드 L으로 유니캐스트한다(S920).
상기 노드 H는 수신한 RREQ 메시지를 갱신한 후 브로드캐스트한다(S912). 상기 노드 D는 상기 노드 H가 브로드캐스트한 RREQ 메시지를 수신한 후 노드 O로 유니캐스트한다(S916). 상기 노드 O는 수신한 RREQ 메시지를 갱신한 후 노드 M으로 유니캐스트하고(S918), 상기 노드 M은 수신한 RREQ 메시지를 갱신한 후 노드 L으로 유니캐스트한다(S920). 상술한 바와 같은 동작들을 수행함으로서 상기 노드 L는 두 개 이상의 RREQ 메시지를 수신할 수 있다. 상기 노드 L은 수신한 RREQ 메시지들 중 링크 코스트가 작은 RREQ 메시지를 선택한다. 따라서, 노드 A모드 K노드 J노드 I노드 N모드 O노드 M노드 L의 순방향 라우팅 경로가 설정된다. 상기에서 설명하지 않았지만 상기 각 "N+"는 라우팅 테이블에 RREQ 메시지에 포함되어 있는 정보들을 저장한다. 이하 역방향 라우팅 경로를 설정하는 방안에 대해 알아보기로 한다.
상기 노드 L은 수신한 RREQ 메시지에 포함된 "다음 보더 노드" 정보를 저장하고 생성한 RREP 메시지에 해당 정보를 포함하여 노드 M으로 전달하고(S922), 상기 노드 M은 전달받은 RREP 메시지를 갱신한 후 노드 O로 전달한다(S914). 상기 노드 O는 상기 RREP 메시지에 포함되어 있는 보더 노드에 관한 정보를 이용함으로서 상기 RREP 메시지를 노드 N으로 전달한다(S926). 상기 노드 N은 수신한 RREP 메시지의 "다음 보더 노드" 정보를 자신이 저장하고 있는 보더 노드 정보(노드 K)로 갱신한 후 노드 I로 전달한다(S928). 상술한 바와 같이 S930, S932, S934단계를 수행함으로서 상기 RREP 메시지는 노드 A로 전달된다. 따라서, 상기 순방향 라우팅 경로와 동일한 역방향 라우팅 경로를 설정할 수 있게 된다.
도 10은 본 발명에 따른 RREQ 매시지를 수신한 노드에서 수행되는 동작을 도 시하고 있다.
S1000단계에서 상기 노드는 RREQ 메시지를 수신한다. S1002단계에서 상기 노드는 수신한 RREQ 메시지에 보더 노드 후보에 관한 정보와 차일드 노드로부터 RREQ를 수신하였는 지 여부를 판단한다. 상기 판단 결과 수신한 RREQ 메시지에 보더 노드 후보에 관한 정보가 포함되어 있고, 상기 RREQ를 차일드 노드로부터 수신하였으면 S1004단계로 이동한다. 상기의 경우가 아니라면 S1008단계로 이동한다.
S1004단계에서 상기 노드는 보더 노드 후보인 노드를 보더 노드로 라우팅 테이블에 저장한다. S1006단계에서 상기 노드는 수신한 RREQ 메시지의 보더 노드에 관한 정보를 갱신한다. S1008단계에서 상기 노드는 RREQ에 포함되어 있는 보더 노드에 관한 정보를 라우팅 테이블에 저장한다.
S1010단계에서 상기 노드는 자신이 "N+"인지 여부를 판단한다. 상기 판단 결과 "N+"이면 S1012단계로 이동하고, 상기 판단 결과 "N-"이면 S1014단계로 이동한다. 상기 S1012단계에서 상기 노드는 수신한 RREQ가 브로드캐스트한 RREQ인지 여부를 판단한다. 상기 판단 결과 수신한 RREQ가 브로드캐스트한 RREQ이면 S1016단계로 이동하고, 상기 판단 결과 수신한 RREQ가 브로드캐스트한 RREQ가 아니라면 S1020단계로 이동한다. 상기 S1016단계에서 상기 노드는 RREQ 메시지에 포함되는 보더 노드 후보에 자신의 정보를 이용하여 갱신한다.
S1020단계에서 상기 노드는 목적지 노드가 디센던트인지 여부를 판단한다. 상기 판단 결과 디센던트이면 S1024단계로 이동하여 트리 경로를 이용하여 갱신한 RREQ 메시지를 유니캐스트한다. 상기 판단 결과 디센던트가 아니면 S1026단계에서 저장했던 RREQ 보더 노드 후보 정보를 삭제하고, S1028단계에서 갱신한 RREQ 메시지를 S1026단계에서 브로드캐스트한다.
S1014단계에서 상기 노드는 수신한 RREQ가 브로드캐스트한 RREQ인지 여부를 판단한다. 상기 판단 결과 수신한 RREQ가 브로드캐스트한 RREQ이면 S1018단계로 이동하고, 상기 판단 결과 수신한 RREQ가 브로드캐스트한 RREQ가 아니라면 S1024단계로 이동한다. 상기 1018단계에서 상기 노드는 목적지 노드가 디센던트인지 여부를 판단한다. 상기 판단 결과 상기 목적지 노드가 디센던트이면 갱신한 RREQ 메시지를 트리 경로를 따라 유니캐스트한다. 상기 판단 결과 상기 목적지 노드가 디센던트 노드가 아니면 수신한 RREQ 메시지를 폐기한다.
도 11은 본 발명에 따른 RREP 메시지를 수신한 노드에서 수행되는 동작을 도시하고 있다. 이하 상기 도 11을 이용하여 본 발명에 따른 RREP 메시지를 수신한 노드에서 수행되는 동작에 대해 상세하게 알아보기로 한다.
S1110단계에서 상기 노느는 RREP 메시지를 수신한다. S1102단계에서 상기 노드는 자신이 "N+"인지 여부를 판단한다. 상기 판단 결과 "N+"이면 S1104단계로 이동하고, 상기 판단 결과 "N-"이면 S1106단계로 이동한다. 상기 S1106단계에서 상기 노드는 트리 경로와 라우팅 테이블을 이용하여 수신한 RREP 메시지를 보더 노드로 전달한다. 상기 S1104단계에서 상기 노드는 소스 노드에 대한 정보를 라우팅 테이블에 저장하고 있는지 여부를 판단한다. 상기 판단결과 소스 노드에 대한 정보를 라우팅 테이블에 저장하고 있으면 S1108단계로 이동하고, 상기 판단 결과 소스 노드에 대한 정보를 라우팅 테이블에 저장하고 있지 않으면 S1114단계로 이동한다. 상기 S1114단계에서 상기 노드는 트리 경로를 따라 RREP를 전송한다.
S1108단계에서 상기 노드는 자신이 보더 노드인지 여부를 판단한다. 상기 판단 결과 보더 노드이면 S1110단계로 이동하고, 상기 판단 결과 보더 노드가 아니면 S1112단계로 이동한다. 상기 S1110단계에서 상기 노드는 RREP에 저장되어 있는 보더 노드에 관한 정보를 갱신한다. 즉, 자신이 저장하고 있는 보더 노드에 관한 정보를 이용하여 상기 RREP를 갱신한다. S1112단계에서 상기 노드는 라우팅 테이블을 이용하여 수신한 RREP 메시지를 갱신하고, 상기 갱신한 RREP 메시지를 전송한다.
상기한 바와 같이 본원 발명은 "N-"이 최소한 정보를 저장하고, 상기 저장된 정보를 이용하여 라우팅 경로를 설정함으로서 순방향 라우팅 경로와 동일한 역방향 라우팅 경로를 설정할 수 있게 된다. 또한, "N-"이 최소한 정보를 저장하고, 상기 저장된 정보를 이용하여 라우팅 경로를 설정함으로서 최적의 라우팅 경로를 설정할 수 있다.

Claims (22)

  1. 목적지 노드와 적어도 하나의 중계 노드를 경유하여 상기 목적지 노드로 라우팅 경로 설정 요청 메시지를 전송하는 소스노드로 구성된 트리 구조의 무선 통신 시스템에서, 적어도 하나의 다른 노드들과 트리 경로에 의해 연결되는 있는 상기 중계 노드에서 상기 라우팅 경로 설정 요청 메시지를 중계하는 방법에 있어서,
    상기 라우팅 경로 설정 요청 메시지를 상기 트리 경로가 아닌 경로를 통해 수신하였으면, 저장되어 있는 정보를 이용하여 역경로 탐색을 위한 제1 정보를 갱신하는 단계; 및,
    상기 제1 정보가 갱신된 라우팅 경로 설정 요청 메시지를 전송하는 단계:로 구성됨을 특징으로 하는 상기 방법.
  2. 제 1항에 있어서, 트리 경로가 아닌 경로를 통해 수신한 상기 라우팅 경로 설정 요청 메시지를 디센던트 노드로부터 수신한 경우에만 상기 수신한 라우팅 경로 설정 요청 메시지를 갱신하여 전송함을 특징으로 하는 상기 방법.
  3. 제 1항에 있어서,
    상기 제1 정보가 포함된 라우팅 경로 설정 요청 메시지를 트리 경로를 통해 수신하였으면, 저장된 정보를 이용하여 역경로 탐색을 위한 제2 정보를 갱신하는 단계:를 부가함을 특징으로 하는 상기 방법.
  4. 제 3항에 있어서,
    상기 갱신한 제2 정보를 라우팅 테이블에 저장함을 특징으로 하는 상기 방법.
  5. 제 3항에 있어서, 상기 라우팅 경로 설정 요청 메시지에 포함되어 있는 목적지 노드가 디센던트 노드이면, 상기 갱신한 라우팅 경로 설정 요청 메시지를 유니 캐스트함을 특징으로 하는 상기 방법.
  6. 제 3항에 있어서, 목적지 노드는 수신한 라우팅 경로 설정 요청 메시지에 포함되어 있는 제 2정보를 생성한 라우팅 경로 설정 응답 메시지에 포함시킴을 특징으로 하는 상기 방법.
  7. 제 6항에 있어서, 수신한 라우팅 경로 설정 응답 메시지를 제2정보에 대응되는 노드로 전달함을 특징으로 하는 상기 방법.
  8. 제 7항에 있어서, 상기 제2 정보에 대응되는 노드는 상기 라우팅 테이블에 저장되어 있는 제 2 정보를 이용하여 상기 수신한 라우팅 경로 설정 응답 메시지를 갱신함을 특징으로 하는 상기 방법.
  9. 제 1항에 있어서, 상기 소스 노드는 목적지 노드가 트리 경로상에서 페어런트 노드이거나, 디센던트 노드이면 상기 라우팅 경로 설정 요청 메시지를 생성하지 않음을 특징으로 하는 상기 방법.
  10. 제 9항에 있어서, 상기 소스 노드는 트리 경로의 주소 체계를 분석하여 상기 목적지 노드의 위치를 파악하고, 상기 파악한 위치로 데이터를 전달함을 특징으로 하는 상기 방법.
  11. 제 10항에 있어서, 상기 중계 노드는 자신의 주소와 목적지 노드의 주소를 비교하고, 사기 비교 결과 주소가 일치하지 않으면 상기 데이터를 트리 경로를 따라 전달함을 특징으로 하는 상기 방법.
  12. 목적지 노드와 적어도 하나의 중계 노드들을 경유하여 상기 목적지 노드로 라우팅 경로 설정을 요청하는 소스노드로 구성된 트리 구조의 무선통신 시스템에서, 상기 소스 노드로부터 상기 목적지 노드로 상기 라우팅 경로를 설정하는 장치에 있어서,
    라우팅 경로 설정을 요청하는 라우팅 경로 설정 요청 메시지를 생성하고, 상기 생성한 라우팅 경로 설정 요청 메시지를 전송하는 상기 소스 노드;
    상기 라우팅 경로 설정 요청 메시지를 상기 트리 경로가 아닌 경로를 통해 수신하였으면, 저장된 정보를 이용하여 역경로 탐색을 제1 정보를 갱신한 라우팅 경로 설정 요청 메시지를 전송하는 상기 적어도 하나의 중계 노드들; 및
    상기 목적지 노드;로 구성됨을 특징으로 하는 상기 장치.
  13. 제 12항에 있어서, 상기 중계 노드는,
    트리 경로가 아닌 경로를 통해 수신한 상기 라우팅 경로 설정 요청 메시지를 디센던트 노드로부터 수신한 경우에만 상기 수신한 라우팅 경로 설정 요청 메시지를 갱신하여 전송함을 특징으로 하는 상기 장치.
  14. 제 12항에 있어서, 상기 중계 노드는,
    상기 제1 정보가 포함된 라우팅 경로 설정 요청 메시지를 트리 경로를 통해 수신하였으면, 저장된 정보를 이용하여 역경로 탐색을 위한 제2 정보를 갱신함을 특징으로 하는 상기 장치.
  15. 제 14항에 있어서, 상기 중계 노드는,
    상기 갱신한 제2 정보를 라우팅 테이블에 저장함을 특징으로 하는 상기 장치.
  16. 제 14항에 있어서, 상기 중계 노드는,
    상기 라우팅 경로 설정 요청 메시지에 포함되어 있는 목적지 노드가 디센던트 노드이면, 상기 갱신한 라우팅 경로 설정 요청 메시지를 유니캐스트함을 특징으로 하는 상기 장치.
  17. 제 14항에 있어서, 상기 목적지 노드는,
    수신한 라우팅 경로 설정 요청 메시지에 포함되어 있는 제 2정보를 생성한라우팅 경로 설정 응답 메시지에 포함시킴을 특징으로 하는 상기 장치.
  18. 제 17항에 있어서, 상기 중계 노드는,
    수신한 라우팅 경로 설정 응답 메시지를 제2정보에 대응되는 노드로 전달함을 특징 으로 하는 상기 장치.
  19. 제 18항에 있어서, 상기 중계 노드는, 상기 라우팅 테이블에 저장되어 있는 제 2 정보를 이용하여 상기 수신한 라우팅 경로 설정 응답 메시지를 갱신함을 특징으로 하는 상기 장치.
  20. 제 12항에 있어서, 상기 소스 노드는,
    목적지 노드가 트리 경로상에서 페어런트 노드이거나, 디센던트 노드이면 상기 라우팅 경로 설정 요청 메시지를 생성하지 않음을 특징으로 하는 상기 장치.
  21. 제 20항에 있어서, 상기 소스 노드는,
    트리 경로의 주소 체계를 분석하여 상기 목적지 노드의 위치를 파악하고, 상기 파악한 위치로 데이터를 전달함을 특징으로 하는 상기 장치.
  22. 제 21항에 있어서, 상기 중계 노드는,
    자신의 주소와 목적지 노드의 주소를 비교하고, 사기 비교 결과 주소가 일치하지 않으면 상기 데이터를 트리 경로를 따라 전달함을 특징으로 하는 상기 장치.
KR1020060056048A 2006-06-21 2006-06-21 애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅 경로설정 장치 및 방법 KR20060087478A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060056048A KR20060087478A (ko) 2006-06-21 2006-06-21 애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅 경로설정 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060056048A KR20060087478A (ko) 2006-06-21 2006-06-21 애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅 경로설정 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020040023158A Division KR100611125B1 (ko) 2003-05-09 2004-04-03 애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅경로 설정 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20060087478A true KR20060087478A (ko) 2006-08-02

Family

ID=37176309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060056048A KR20060087478A (ko) 2006-06-21 2006-06-21 애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅 경로설정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20060087478A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7751332B2 (en) 2006-10-25 2010-07-06 Samsung Electronics Co., Ltd. Data routing method and apparatus
KR101065063B1 (ko) * 2008-12-12 2011-09-19 한국전자통신연구원 애드혹 네트워크의 속성기반 경로설정 장치 및 방법
KR101972696B1 (ko) * 2018-02-23 2019-04-25 건국대학교 산학협력단 Sdn 환경에서 애드-혹 센서 네트워크 내의 패킷 전송 방법 및 장치
KR102163670B1 (ko) * 2019-08-01 2020-10-08 (주)누리텔레콤 트리 구조 네트워크에서의 라우팅 방법 및 장치
CN117042078A (zh) * 2023-10-08 2023-11-10 国网信息通信产业集团有限公司 一种基于无线路由策略的通信链路配置方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7751332B2 (en) 2006-10-25 2010-07-06 Samsung Electronics Co., Ltd. Data routing method and apparatus
KR101065063B1 (ko) * 2008-12-12 2011-09-19 한국전자통신연구원 애드혹 네트워크의 속성기반 경로설정 장치 및 방법
KR101972696B1 (ko) * 2018-02-23 2019-04-25 건국대학교 산학협력단 Sdn 환경에서 애드-혹 센서 네트워크 내의 패킷 전송 방법 및 장치
KR102163670B1 (ko) * 2019-08-01 2020-10-08 (주)누리텔레콤 트리 구조 네트워크에서의 라우팅 방법 및 장치
WO2021020649A1 (ko) * 2019-08-01 2021-02-04 (주)누리텔레콤 트리 구조 네트워크에서의 라우팅 방법 및 장치
CN117042078A (zh) * 2023-10-08 2023-11-10 国网信息通信产业集团有限公司 一种基于无线路由策略的通信链路配置方法及系统
CN117042078B (zh) * 2023-10-08 2024-01-09 国网信息通信产业集团有限公司 一种基于无线路由策略的通信链路配置方法及系统

Similar Documents

Publication Publication Date Title
KR100611125B1 (ko) 애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅경로 설정 장치 및 방법
JP4519829B2 (ja) メッセージ処理方法
KR100621369B1 (ko) 센서 네트워크에서 라우팅 경로 설정 장치 및 방법
KR101256687B1 (ko) 다중 경로 설정 장치 및 방법
JP4800067B2 (ja) 通信ノード及びルーティング方法
CN101595684B (zh) 无线通信系统、无线通信装置、无线通信方法及程序
JP2001268127A (ja) パケットネットワークで使用されるルーティング方法
CA2329548A1 (en) Location based routing for mobile ad-hoc networks
KR100645428B1 (ko) 개인 통신무선 네트워크에서 라우팅 경로 설정 장치 및 방법
JP2001268128A (ja) パケットネットワークのソースノードのローカルトポロジーを形成する方法
US20200084689A1 (en) Detecting Critical Links in Bluetooth Mesh Networks
KR20060098891A (ko) 이동 네트워크 간 라우팅 방법 및 그 장치
JP2006314147A (ja) 個人通信無線ネットワークにおけるルーティング経路設定システムおよびその方法
JP2006211375A (ja) 無線アドホックネットワークにおける負荷分散方法
KR20060087478A (ko) 애드 혹 네트워크에서 트리구조를 이용한 최적 라우팅 경로설정 장치 및 방법
EP1499075A1 (en) Route update protocol for a wireless sensor network
US7336614B2 (en) Method and device for controlling route and computer program therefor
KR100718097B1 (ko) 개인영역 무선네트워크에서의 주소 관리 방법 및 경로 설정방법
KR101071366B1 (ko) 다중 경로 라우팅 시스템 및 방법
US20100208739A1 (en) Method for selecting relay in wireless broadcast ad hoc networks
JP2007181056A (ja) 経路選択方法
JP2000341323A (ja) 無線アドホック端末
KR102148981B1 (ko) 인지 무선 애드혹 네트워크에서의 라우팅 오버헤드 감소를 위한 무선 접속 방법
JP2001274801A (ja) 無線アドホックネットワークのトラヒック分散方法および端末装置
JP4660668B2 (ja) 視覚的特徴に基づく相手方通信装置を特定する方法及び通信装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application