KR20060000077A - 공유 매체를 이용한 통신 시스템에서 노드간의 상대거리에 기반한 스마트 라우팅 방법 - Google Patents

공유 매체를 이용한 통신 시스템에서 노드간의 상대거리에 기반한 스마트 라우팅 방법 Download PDF

Info

Publication number
KR20060000077A
KR20060000077A KR20040048946A KR20040048946A KR20060000077A KR 20060000077 A KR20060000077 A KR 20060000077A KR 20040048946 A KR20040048946 A KR 20040048946A KR 20040048946 A KR20040048946 A KR 20040048946A KR 20060000077 A KR20060000077 A KR 20060000077A
Authority
KR
South Korea
Prior art keywords
node
path
routing
information packet
nodes
Prior art date
Application number
KR20040048946A
Other languages
English (en)
Other versions
KR100607139B1 (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 KR20040048946A priority Critical patent/KR100607139B1/ko
Priority to JP2005188723A priority patent/JP2006014346A/ja
Publication of KR20060000077A publication Critical patent/KR20060000077A/ko
Application granted granted Critical
Publication of KR100607139B1 publication Critical patent/KR100607139B1/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/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 공유 매체상의 모든 노드가 자동 라우터로 동작하여 직접 통신이 불가능한 노드간에도 다른 노드를 경유하여 안정적으로 통신을 행할 수 있도록 한 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법에 관한 것으로, 공유 매체를 이용한 통신 시스템에 있어서, 다수의 통신영역에 분산되어 상기 공유 매체를 이용하여 통신을 하고자 하는 각각의 노드가 도달거리와 목적지 노드 아이디가 포함된 경로 정보 패킷을, 이웃하는 노드들과 소정시간마다 교환하여 자신의 노드에 저장된 라우팅 경로 테이블을 완성하는 제 1과정; 및 상기 각각의 노드의 라우팅 경로 테이블이 완성된 다음에도 각각의 노드가 소정시간마다 상기 경로 정보 패킷의 브로드캐스팅을 수행하고, 각각의 노드에서는 수신된 경로 정보 패킷에 근거하여 기완성된 라우팅 경로 테이블을 갱신하는 제 2과정을 구비한다.
최단 경로, 공유 매체, 스마트 라우팅, 라우팅 경로 테이블

Description

공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법{Smart routing method based a relative distance between nodes in communication system using the shared medium}
도 1은 본 발명의 방법이 적용되는 통신 채널의 가상 구성도,
도 2는 도 1에 도시된 각 노드에서 전송하는 경로 정보 패킷의 구조도,
도 3은 도 1에 도시된 각 노드의 라우팅 경로 테이블의 초기 상태를 나타낸 구조도,
도 4는 도 1에 도시된 각 노드의 라우팅 경로 테이블의 완성 상태를 나타낸 구조도,
도 5는 도 1에 도시된 노드가 경로 정보 패킷을 수신하였을 경우의 처리 수순을 설명하는 플로우차트,
도 6은 도 2의 경로 정보 패킷의 구조를 변형시킨 예를 나타낸 도면,
도 7은 도 3의 라우팅 경로 테이블을 변형시킨 예를 나타낸 도면,
도 8은 비대칭 경로 상황을 예시적으로 나타낸 도면이다.
* 도면의 주요부분에 대한 부호의 설명
10 : 통신 채널 12, 22 : 노드 A
14, 24 : 노드 B 16, 26 : 노드 C
18 : 노드 D 20 : 노드 E
a1, a2, a3 : 통신 영역
본 발명은 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법에 관한 것으로, 보다 상세하게는 전력선 또는 무선 매체 등을 이용하여 통신을 행하는 시스템에서 여러 가지의 통신 방해 요소 및 신호 감쇄 등의 원인에 의한 통신 불가능에 대비할 수 있도록 한 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법에 관한 것이다.
특정 매체(전력선, 전용선, 공기 등)를 이용하여 통신을 하고자 하는 경우에 매체의 거리에 따른 신호의 감쇄 및 외부에서 인입되는 노이즈 등의 영향에 의해 각 노드간의 통신이 원활하게 되지 못한다. 또한, 각 통신하고자 하는 노드에서 발생하는 노이즈 등의 예상치 못한 원인에 의해 통신하고자 하는 각 노드간에 통신이 원활히 되지 않는 경우가 상당수 발생된다.
특히, 각 노드간의 임피이던스 부정합 등에 의해서도 통신에 필요한 최소 신호의 레벨조차도 확보하지 못한 상태에서 결국은 통신 품질의 열화 등으로 원하는 통신이 불가능하게 되는 경우가 발생된다.
기존에 제시되었던 라우팅 알고리즘은 랜덤 브로드캐스팅(Flooding)에 의존하거나 미리 작성된 라우팅 테이블에 의존한 방식이 대부분이었다. 기존에 제시된 자동 설정 라우팅 방법에는 비대칭 경로 및 불안정 경로에 대한 대비책이 전 무하거나 부족하다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 공유 매체상의 모든 노드가 자동 라우터로 동작하여 직접 통신이 불가능한 노드간에도 다른 노드를 경유하여 안정적으로 통신을 행할 수 있도록 한 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시예에 따른 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법은, 공유 매체를 이용한 통신 시스템에 있어서,
다수의 통신영역에 분산되어 상기 공유 매체를 이용하여 통신을 하고자 하는 각각의 노드가 도달거리와 목적지 노드 아이디가 포함된 경로 정보 패킷을, 이웃하는 노드들과 소정시간마다 교환하여 자신의 노드에 저장된 라우팅 경로 테이블을 완성하는 제 1과정; 및 상기 각각의 노드의 라우팅 경로 테이블이 완성된 다음에도 각각의 노드가 소정시간마다 상기 경로 정보 패킷의 브로드캐스팅을 수행하고, 각각의 노드에서는 수신된 경로 정보 패킷에 근거하여 기완성된 라우팅 경로 테이블을 갱신하는 제 2과정을 구비하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법에 대하여 설명하면 다음과 같다.
도 1은 본 발명의 방법이 적용되는 통신 채널의 가상 구성도이다. 통신 영역(a1, a2, a3)은 서로 양방향 통신이 가능한 범위를 의미한다. 전력선이나 무선 등의 공유 매체를 사용하게 되면 노이즈나 신호 감쇄에 의해 통신 가능 범위가 좁아지므로 통신 채널(10)상의 모든 노드(12, 14, 16, 18, 20)가 직접 통신이 가능한 것은 아니다.
각 노드(12, 14, 16, 18, 20)는 자신과 인접한 몇 개의 노드와 양방향 통신이 가능하며 직접 통신이 가능한 노드끼리는 같은 통신 영역에 속하게 된다. 즉, 노드 A(12)와 노드 B(14)는 동일한 통신 영역(a1)에 속하므로 상호간의 직접 통신이 가능하고, 노드 B(14)와 노드 C(16) 및 노드 D(18)는 동일한 통신 영역(a2)에 속하므로 상호간의 직접 통신이 가능하며, 노드 D(18)와 노드 E(20)는 동일한 통신 영역(a3)에 속하므로 상호간의 직접 통신이 가능하다. 그러나, 노드 A(12)와 노드 C(16)와 같이 통신 영역이 상이한 경우에는 상호간의 직접 통신이 불가능하다.
스마트 라우팅 기능을 위해 모든 노드(12, 14, 16, 18, 20)는 라우팅 경로 테이블을 노드 내부에 생성하는데, 초기 설치시에는 각각의 노드(12, 14, 16, 18, 20)에 저장된 라우팅 경로 테이블이 모두 비어 있는 상태이다. 라우팅 경로 테이블을 완성하기 위해 각각의 노드(12, 14, 16, 18, 20)는 주기적으로 자신이 파악하고 있는 라우팅 경로 정보를 패킷화하여 주변의 통신 가능한 노드들에게 브로드캐스팅한다. 본 발명에서는, 모든 노드(12, 14, 16, 18, 20)가 주기적으로 전송하는 라우팅 정보 패킷을 경로 정보 패킷이라고 한다.
상기 경로 정보 패킷은 도 2에 도시된 바와 같이, 상기 경로 정보 패킷을 전송한 노드를 표시하는 1바이트의 패킷 전송 노드 아이디 영역, 포함하고 있는 경로 정보 유니트의 개수를 표시하는 1바이트의 경로 정보 유니트 개수 영역, 및 각각 2바이트로 된 다수의 경로 정보 유니트 영역을 구비한다. 상기 각각의 경로 정보 유니트 영역은 목적지 노드까지의 상대적 거리를 표시하는 1바이트의 도달거리 영역 및 목적지 노드를 표시하는 1바이트의 목적지 노드 아이디 영역으로 세분화된다.
각 노드(12, 14, 16, 18, 20)는 주위의 노드가 주기적으로 전송하는 경로 정보 패킷을 수집하여 자신이 저장하고 있는 라우팅 경로 테이블을 갱신해 나간다.
각 노드(12, 14, 16, 18, 20)의 라우팅 경로 테이블은, 목적지 노드, 상기 목적지 노드까지의 상대적 거리를 표시하는 도달거리, 및 상기 목적지 노드까지의 패킷 중계가 가능한 노드를 표시하는 중계 노드에 대한 영역으로 구획된다. 그 중계 노드는 경로 정보 패킷을 중계할 때 사용되는 노드가 아니라 일반 패킷을 중계할 때 사용되는 노드이고, 그 경로 정보 패킷은 중계되는 것이 아니라 통신 영역 내부에서만 브로드캐스팅된다.
각 노드(12, 14, 16, 18, 20)의 초기 라우팅 경로 테이블은 도 3에 예시된 바와 같이 비어 있다. 도 3에서 도달거리가 0xFF인 것은 아직 경로 파악이 안 되어 있음을 의미한다. 각 노드(12, 14, 16, 18, 20)가 주기적으로 전송하는 라우팅 경로 정보 패킷을 여러 번 수신하여, 라우팅 경로 테이블을 완성하는 것이 본 발명에서의 우선 과제이다.
도 1에서와 같은 통신 채널 환경에 따라 최종 완성된 각 노드(12, 14, 16, 18, 20)의 라우팅 경로 테이블은 도 4에 예시된 바와 같은 형태가 된다. 동일 통신영역내에 존재하여 직접 통신이 가능한 노드와 노드 사이의 도달거리는 1이 된다. 본 발명에서는 직접 통신이 가능한 노드와 노드 사이의 상대적 거리는 일괄적으로 1로 설정되기 때문에 한번의 리피트를 필요로 하는 노드까지의 상대적 거리는 2가 되고, 두번의 리피트를 필요로 하는 노드까지의 상대적 거리는 3이 된다. 도달거리가 1보다 커서 직접 통신이 불가능한 노드와 통신을 시도할 경우에는 목적지 노드를 명시한 상태로 중계 노드에게 패킷을 전송한다. 그 패킷을 전달 받은 중계 노드 역시 자신의 라우팅 경로 테이블을 검색한 후에 목적지 노드와 직접 통신이 가능하면 목적지 노드로 직접 전송하고, 또 다시 중계노드가 필요하다면 중계 노드로 패킷을 전송한다. 예를 들어, 노드 B(14)의 입장에서 노드 B(14)와 노드 C(16)간의 물리적 거리와 노드 B(14)와 노드 D(18)간의 물리적 거리는 상호 차이나지만, 상기 노드 B(14)와 노드 C(16)간의 상대적 거리와 노드 B(14)와 노드 D(18)간의 상대적 거리는 상호 동일한 1이다. 본 발명에서는 상대적 거리와 도달거리가 동일한 의미 가 된다. 그리고, 노드 A(12)의 입장에서 노드 A(12)와 노드 C(16)간의 상대적 거리와 노드 A(12)와 노드 D(18)간의 상대적 거리는 상호 동일한 2이며, 노드 B(14)에서 한번의 리피트가 행해진다.
도 4의 완성된 라우팅 경로 테이블에 대해 노드 A(12)에 저장된 라우팅 경로 테이블을 예로 들어 설명한다. 즉, 라우팅 경로 테이블이 완성된 이후에 일반 패킷을 주고받는 상항에 대한 설명이다. 노드 A(12)에 저장된 완성된 라우팅 경로 테이블에서 목적지 노드가 B인 경우에는 도달거리가 1이고 중계 노드가 B로 설정되어 있다. 이 경우에는 노드 A(12)가 노드 B(14)와 통신을 시도할 때 직접 통신이 가능하다는 것을 의미한다. 반면에, 목적지 노드가 E인 경우에는 도달거리가 3이고 중계 노드가 B로 설정되어 있다. 이것은 노드 A(12)가 노드 E(20)와 통신을 하고자 할 때는 직접 통신이 불가능하므로 노드 B(14)를 거쳐야 하며 이때 중간에 두번의 리피트 과정을 필요로 한다는 의미가 된다. 따라서, 노드 A(12)가 노드 E(20)와 통신을 시도할 때는 중계 노드인 노드 B(14)에게 패킷을 전송한다. 이 패킷을 수신한 노드 B(14) 역시 목적지 노드인 노드 E(20)에 대한 도달거리와 중계노드를 검색한다. 노드 B(14)에 저장된 라우팅 경로 테이블을 보면 노드 E(20)에 대한 정보에 도달거리가 2이고 중계 노드가 D로 설정되어 있으므로 노드 B(14)는 노드 D(18)에게 패킷을 전송한다. 노드 D(18)는 노드 E(20)와 직접 통신이 가능하므로 노드 E(20)에게로 패킷을 전송해 주면 마침내 노드 A(12)가 생성한 패킷이 원하는 목적지 노드인 E(20)에 전달된다.
지금부터는, 각 노드에 저장되는 라우팅 경로 테이블을 갱신하는 동작에 대하여 도 5의 플로우차트를 참조하여 설명한다. 상술한 바와 같이 각 노드들(12, 14, 16, 18, 20)은 경로 정보 패킷을 주기적으로 브로드캐스팅하고, 그 경로 정보 패킷을 수신한 노드들은 수신한 경로 정보 패킷에 근거하여 자신의 라우팅 경로 테이블을 갱신한다.
도 1의 통신 채널에서, 노드 B(14)가 아래의 표 1과 같은 경로 정보 패킷을 전송하였다고 가정한다.
(표 1) 노드 B가 전송한 경로 정보 패킷
패킷전송 노드 ID 경로정보 유니트 개수 도달거리 #1 목적지 노드 ID #1 도달거리 #2 목적지 노드 ID #2 도달거리 #3 목적지 노드 ID #3
B 3 1 A 1 D 2 E
그리고, 라우팅 경로 테이블이 하기의 표 2와 같은 상태에 있는 노드 C(16)가 상기 표 1의 경로 정보 패킷을 수신하였다고 가정한다(단계 S10).
(표 2) 노드 C에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 0xFF
B 0xFF
D 1 D
E 3 F
경로 정보 패킷을 수신한 노드 C(16)는, 일단 어떤 노드가 경로 정보 패킷을 발생했는지 확인하기 위해 첫 바이트로부터 패킷 전송 노드 아이디를 파악한다(단계 S12). 위의 예에서는 노드 B(14)가 경로 정보 패킷을 발생시켰으므로 패킷 전송 노드 아이디는 B가 된다. 그러면 노드 C(16) 입장에서, 노드 B(14)는 직접 통신 가 능한 노드가 되므로 도달거리를 1로 설정하고, 중계 노드는 B로 설정하여 자신의 라우팅 경로 테이블을 검색한다(단계 S14). 그 검색결과, 상기 1로 설정된 도달거리가 현재 라우팅 경로 테이블에 저장되어 있는 노드 B(14)에 대한 도달거리(초기값인 0xFF)보다 작기 때문에(단계 S16에서 "N") 그 1로 설정된 도달거리가 그 노드 B(14)에 대한 도달거리 즉, 최단거리가 된다. 그에 따라, 목적지 노드인 노드 B(14)에 대한 라우팅 경로는 아래의 표 3과 같이 수정된다(단계 S18).
(표 3) 갱신된 노드 C의 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 0xFF
B 1 B
D 1 D
E 3 F
다음으로, 그 노드 C(16)는 수신한 경로 정보 패킷에 포함된 경로 정보 유니트 개수를 파악하게 된다. 그 경로 정보 유니트 개수가 0보다 크면(단계 S20에서 "Y") 그 경로 정보 유니트 개수만큼 상술한 동작을 반복하게 된다. 상기 표 1을 보면, 첫번째 경로 정보 유니트에 포함된 정보가 도달거리는 1이고 목적지 노드 아이디는 A라고 되어 있다. 여기서, 일단 도달거리에 1을 더해야 하는데 이는 노드 B(14)를 중계 노드로 사용할 경우 도달거리가 노드 B(14)로부터의 상대 거리에서 1만큼 추가되기 때문이다. 따라서 목적지 노드 아이디 A에 대한 실제 도달거리는 2가 된다(단계 S22, 단계 S24). 그리고, 상술한 단계 S14로 복귀하여 그 단계에서부터의 동작을 반복하게 되는데, 그 노드 C(16)는 자신의 라우팅 경로 테이블에서 목적지 노드 아이디 A에 대한 도달거리를 검색하면 0xFF로 되어 있어 2보다 크므로, 목적지 노드 아이디 A에 대한 도달거리를 2로 하여 아래의 표 4와 같이 노드 C(16) 의 라우팅 경로 테이블이 갱신된다. 즉, 이후에는 목적지 노드 아이디 A에 대한 도달거리는 2가 되고 이때의 중계 노드는 B가 된다.
(표 4) 갱신된 노드 C의 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 2 B
B 1 B
D 1 D
E 3 F
후속하는 경로 정보 유니트를 보면 도달거리가 1이고 목적지 노드 아이디가 D라고 되어 있다. 이때도 마찬가지로 도달거리에 1을 더해야 되므로 실제 도달거리는 2가 된다. 노드 C(16)의 라우팅 경로 테이블을 검색하면 목적지 노드 D에 대하여 도달거리는 1이므로 상기 계산된 도달거리보다 작은 값이다(단계 S16에서 "Y"). 즉, 노드 B(14)를 중계해서 통신할 경우 최단거리가 아니므로 단계 S26으로 진행하여 노드 C(16)는 자신의 라우팅 경로 테이블을 갱신하지 않는다.
마지막 경로 정보 유니트를 보면 도달거리가 2이고 목적지 노드 아이디는 E로 되어 있다. 도달거리에 1을 더해 3으로 만든 후에 목적지 노드 E에 대한 자신의 라우팅 경로 테이블을 검색해 보면 도달거리가 똑같이 3으로 되어 있다. 이것은 노드 C(16)에서 노드 E(20)로 통신할 경우, 노드 F를 중계해서 갈 때나 노드 B(14)를 중계해서 갈 때 모두 도달거리가 3으로 같다는 것을 의미한다. 이러한 경우에는 가장 최근에 받은 정보가 더 믿을 만한 정보이므로 중계 노드를 B로 갱신해 주어야 한다. 결국 노드 C(16)의 라우팅 경로 테이블에 대하여 갱신된 결과는 아래의 표 5와 같아진다.
(표 5) 갱신된 노드 C의 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 2 B
B 1 B
D 1 D
E 3 B
이것으로, 노드 C(16)는 새로운 라우팅 경로 테이블을 갖게 된다. 이를 바탕으로 노드 C(16)가 주기적으로 경로 정보 패킷을 전송할 때는 아래의 표 6과 같은 형태의 경로 정보 패킷을 전송하게 된다.
(표 6) 노드 C가 전송하는 경로 정보 패킷
패킷전송 노드 ID 경로정보 유니트 개수 도달거리 #1 목적지 노드 ID #1 도달거리 #2 목적지 노드 ID #2 도달거리 #3 목적지 노드 ID #3 도달거리 #4 목적지 노드 ID #4
C 4 2 A 1 B 1 D 3 E
이번에는, 모든 노드의 라우팅 경로 테이블이 비어 있는 초기 상태에서 라우팅 경로 테이블이 완전히 구축되는 최종 상태까지의 과정에 대하여 설명한다.
도 1의 통신 채널상에 존재하는 모든 노드(12, 14, 16, 18, 20)에 저장된 라우팅 경로 테이블은 초기에는 모두 비어 있는 상태이다. 각 노드가 경로 정보 패킷을 주기적으로 발생시키기 때문에 경로 정보 패킷을 전송하는 노드의 순서는 일정하지 않다고 할 수 있다. 하지만, 순서에 상관없이 일정시간이 지나면 항상 라우팅 경로 테이블이 완성되므로, 이후의 설명에서는 편의상 임의의 순서대로 경로 정보 패킷이 전송된다고 가정한다.
모든 노드(12, 14, 16, 18, 20)의 라우팅 경로 테이블이 비어 있는 상태에서 가장 먼저 노드 C(16)가 경로 정보 패킷을 발생하였다고 가정하면, 이 경우 노드 C(16)가 발생한 경로 정보 패킷은 아래의 표 7에 예시한 바와 같은 형태가 된다.
(표 7) 노드 C가 생성한 경로 정보 패킷
패킷 전송 노드 ID 경로 정보 유니트 개수
C 0
노드 C(16)가 전송한 경로 정보 패킷은 도 1에서, 같은 통신 영역에 속하게 되는 노드 B(14)와 노드 D(18)까지만 전달이 되고, 노드 A, E(12, 20)는 경로 정보 패킷을 전달받지 못한다. 이때 노드 C(16)가 전송한 경로 정보 패킷을 수신한 노드 B(14)와 노드 D(18)에서는 상술한 경로 정보 패킷 수신 후의 처리과정(도 5 참조)에 따라 아래의 표 8과 같이 라우팅 경로 테이블이 갱신된다. 즉 목적지 노드가 C인 경우에는 직접 통신이 가능하다는 것을 파악한 것이다.
(표 8) 각 노드에 저장된 라우팅 경로 테이블
노드 A에 저장된 라우팅 경로 테이블 노드 B에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
B 0xFF A 0xFF
C 0xFF C 1 C
D 0xFF D 0xFF
E 0xFF E 0xFF
노드 C에 저장된 라우팅 경로 테이블 노드 D에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
A 0xFF A 0xFF
B 0xFF B 0xFF
D 0xFF C 1 C
E 0xFF E 0xFF
노드 E에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 0xFF
B 0xFF
C 0xFF
D 0xFF
그 다음으로, 노드 B(14)가 경로 정보 패킷을 브로드캐스팅한다고 가정하면, 노드 B(14)는 자신이 저장하고 있는 라우팅 경로 테이블을 검색하여 경로 정보 패킷을 만든다. 노드 B(14)의 라우팅 경로 테이블에는 목적지 노드 C에 대하여 경로 가 알려져 있으므로, 목적지 노드 C에 대한 도달거리를 라우팅 경로 테이블에 나타나는 대로 설정하여 경로 정보 패킷에 경로 정보 유니트 형태로 아래의 표 9와 같이 포함시킨다.
(표 9) 노드 B가 생성한 경로 정보 패킷
패킷 전송 노드 ID 경로 정보 유니트 개수 도달거리 #1 목적지 노드 ID #1
B 1 1 C
이 경우에는 노드 B(14)와 같은 통신 영역에 속하는 노드 A, C, D(12, 16, 18)가 경로 정보 패킷을 수신하여 자신의 라우팅 경로 테이블을 갱신하게 된다. 각각의 노드에서 경로 정보 패킷을 수신한 이후 갱신한 라우팅 경로 테이블은 아래의 표 10과 같다.
(표 10) 각 노드에 저장된 라우팅 경로 테이블
노드 A에 저장된 라우팅 경로 테이블 노드 B에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
B 1 B A 0xFF
C 2 B C 1 C
D 0xFF D 0xFF
E 0xFF E 0xFF
노드 C에 저장된 라우팅 경로 테이블 노드 D에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
A 0xFF A 0xFF
B 1 B B 1 B
D 0xFF C 1 C
E 0xFF E 0xFF
노드 E에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 0xFF
B 0xFF
C 0xFF
D 0xFF
그 다음으로, 노드 E(20)가 경로 정보 패킷을 브로드캐스팅한다고 가정하면, 노드 E(20)의 라우팅 경로 테이블은 비어 있으므로, 노드 E(20)가 생성한 경로 정 보 패킷은 아래의 표 11과 같다.
(표 11) 노드 E가 생성한 경로 정보 패킷
패킷 전송 노드 ID 경로 정보 유니트 개수
E 0
상기 노드 E(20)가 전송한 경로 정보 패킷은 노드 D(18)에서만 수신할 수 있으므로 아래의 표 12에서와 같이 라우팅 경로 테이블이 갱신된다.
(표 12) 각 노드에 저장된 라우팅 경로 테이블
노드 A에 저장된 라우팅 경로 테이블 노드 B에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
B 1 B A 0xFF
C 2 B C 1 C
D 0xFF D 0xFF
E 0xFF E 0xFF
노드 C에 저장된 라우팅 경로 테이블 노드 D에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
A 0xFF A 0xFF
B 1 B B 1 B
D 0xFF C 1 C
E 0xFF E 1 E
노드 E에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 0xFF
B 0xFF
C 0xFF
D 0xFF
그 다음으로, 노드 D(18)가 다시 한번 경로 정보 패킷을 브로드캐스팅한다고 가정하면, 노드 D(18)의 라우팅 경로 테이블에는 목적지 노드 B, C, E에 대한 경로가 알려져 있으므로, 각 목적지 노드들에 대한 도달거리를 라우팅 경로 테이블에 나타나는 대로 설정하여 경로 정보 패킷에 아래의 표 13과 같이 포함시킨다.
(표 13) 노드 D가 생성한 경로 정보 패킷
패킷전송 노드 ID 경로정보 유니트 개수 도달거리 #1 목적지 노드 ID #1 도달거리 #2 목적지 노드 ID #2 도달거리 #3 목적지 노드 ID #3
D 3 1 B 1 C 1 E
상기 노드 D(18)가 생성한 경로 정보 패킷은 노드 B, C, E가 수신하여 아래의 표 14와 같은 형태로 라우팅 경로 테이블이 갱신된다.
(표 14) 각 노드에 저장된 라우팅 경로 테이블
노드 A에 저장된 라우팅 경로 테이블 노드 B에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
B 1 B A 0xFF
C 2 B C 1 C
D 0xFF D 1 D
E 0xFF E 2 D
노드 C에 저장된 라우팅 경로 테이블 노드 D에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
A 0xFF A 0xFF
B 1 B B 1 B
D 1 D C 1 C
E 2 D E 1 E
노드 E에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 0xFF
B 2 D
C 2 D
D 1 D
다음으로, 노드 A(12)가 경로 정보 패킷을 발생시킨다고 가정하면, 앞서 설명했던 것과 동일한 과정을 거쳐 아래의 표 15와 같은 형태로 경로 정보 패킷이 생성되고, 그 노드 A(12)에서 전송한 노드 B(14)에서만 수신할 수 있으므로 해당 노드의 라우팅 경로 테이블이 표 16에서와 같이 갱신된다.
(표 15) 노드 A가 생성한 경로 정보 패킷
패킷전송 노드 ID 경로정보 유니트 개수 도달거리 #1 목적지 노드 ID #1 도달거리 #2 목적지 노드 ID #2
A 2 1 B 1 C
(표 16) 각 노드에 저장된 라우팅 경로 테이블
노드 A에 저장된 라우팅 경로 테이블 노드 B에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
B 1 B A 1 A
C 2 B C 1 C
D 0xFF D 1 D
E 0xFF E 2 D
노드 C에 저장된 라우팅 경로 테이블 노드 D에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
A 0xFF A 0xFF
B 1 B B 1 B
D 1 D C 1 C
E 2 D E 1 E
노드 E에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 0xFF
B 2 D
C 2 D
D 1 D
다음으로, 노드 B(14)가 경로 정보 패킷을 발생시킨다고 가정하면, 앞서 설명했던 것과 동일한 과정을 거쳐 아래의 표 17과 같은 경로 정보 패킷이 생성되고, 해당 노드의 라우팅 경로 테이블은 표 18과 같이 갱신된다.
(표 17) 노드 B가 생성한 경로 정보 패킷
패킷전송 노드 ID 경로정보 유니트 개수 도달거리 #1 목적지 노드 ID #1 도달거리 #2 목적지 노드 ID #2 도달거리 #3 목적지 노드 ID #3 도달거리 #4 목적지 노드 ID #4
B 4 1 A 1 C 1 D 2 E
(표 18) 각 노드에 저장된 라우팅 경로 테이블
노드 A에 저장된 라우팅 경로 테이블 노드 B에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
B 1 B A 1 A
C 2 B C 1 C
D 2 B D 1 D
E 3 B E 2 D
노드 C에 저장된 라우팅 경로 테이블 노드 D에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
A 2 B A 2 B
B 1 B B 1 B
D 1 D C 1 C
E 2 D E 1 E
노드 E에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 0xFF
B 2 D
C 2 D
D 1 D
다음으로, 노드 D(18)가 경로 정보 패킷을 발생시킨다고 가정하면, 앞서 설명했던 것과 동일한 과정을 거쳐 아래의 표 19와 같이 경로 정보 패킷이 생성되고, 해당 노드의 라우팅 경로 테이블이 아래의 표 20과 같이 갱신된다.
(표 19) 노드 D가 생성한 경로 정보 패킷
패킷전송 노드 ID 경로정보 유니트 개수 도달거리 #1 목적지 노드 ID #1 도달거리 #2 목적지 노드 ID #2 도달거리 #3 목적지 노드 ID #3 도달거리 #4 목적지 노드 ID #4
D 4 2 A 1 B 1 C 1 E
(표 20) 각 노드에 저장된 라우팅 경로 테이블
노드 A에 저장된 라우팅 경로 테이블 노드 B에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
B 1 B A 1 A
C 2 B C 1 C
D 2 B D 1 D
E 3 B E 2 D
노드 C에 저장된 라우팅 경로 테이블 노드 D에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 목적지 노드 도달거리 중계 노드
A 2 B A 2 B
B 1 B B 1 B
D 1 D C 1 C
E 2 D E 1 E
노드 E에 저장된 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드
A 3 D
B 2 D
C 2 D
D 1 D
이상의 과정을 통해 모든 노드의 라우팅 경로 테이블이 목적대로 완성되었다. 이러한 과정에 의해 생성된 라우팅 경로는 목적지 노드와 통신을 하기 위한 최단거리가 된다. 이러한 라우팅 경로 테이블에 입각하여 통신을 시도할 경우, 동일한 매체상에 있는 모든 노드가 비록 직접 통신이 불가능하다 할지라도 몇 번의 리피트 과정을 통해 성공적으로 통신이 이루어지게 된다. 모든 노드의 라우팅 경로 테이블이 완성이 된 다음에도 각 노드는 주기적으로 경로 정보 패킷 전송을 계속하게 된다. 이때 도달거리가 라우팅 경로 테이블에 저장된 값과 같은 경우에도 라우팅 경로 테이블의 갱신이 이루어지므로 항상 최근의 라우팅 경로를 유지할 수 있게 된다.
상술한 바와 같은 라우팅 경로 테이블 구축 과정에 추가하여, 보다 신뢰성 있는 라우팅 경로 테이블 유지를 위해 다음의 방법이 추가되기도 한다.
먼저, 타임 스탬프 항목을 추가하여도 된다. 이것은 최근 라우팅 경로를 갱 신한 시각을 기록하여 일정 시간이 지나도록 라우팅 정보가 갱신되지 않을 경우 해당 라우팅 경로를 신뢰성 없는 것으로 간주하여 Flooding 등의 방식으로 전환하기 위해 사용된다. 정상적인 환경에서는 도달거리가 같은 라우팅 경로가 인식될 때 마다 라우팅 경로 테이블이 갱신되므로, 타임 스탬프 역시 일정 시간마다 갱신된다. 하지만, 최단 경로상의 노드에 이상이 생기면 도달거리가 최단 거리보다 큰 경로 정보만 수신되게 된다. 이 경우, 지속적으로 타임 스탬프가 갱신이 되지 않게 되므로 일정 시간 후에 최단 경로가 손상되었음을 파악할 수 있게 된다.
그리고, 비대칭 경로 및 불안정 경로를 파악하기 위한 방법으로 모멘텀 정보를 추가하기도 한다. 모멘텀 정보는 시퀀스 넘버에 기반하여 갱신되는 별개의 정보이므로 기존의 경로 정보 패킷과 라우팅 경로 테이블에 새로운 항목으로서 추가 관리되어야 한다. 먼저, 각 노드가 생성하는 경로 정보 패킷의 앞단에 시퀀스 넘버가 추가되어야 하며, 경로 정보 유니트에도 각 목적지 노드에 해당하는 모멘텀 값이 추가되어야 한다. 그리고, 라우팅 경로 테이블에도 역시 각 노드별로 가장 최근의 시퀀스 넘버와 모멘텀 값이 저장되어 있어야 한다.
그에 따라, 각 노드에서 전송하는 경로 정보 패킷은 도 6에서와 같이, 1바이트의 시퀀스 넘버 영역, 상기 경로 정보 패킷을 전송한 노드를 표시하는 1바이트의 패킷 전송 노드 아이디 영역, 포함하고 있는 경로 정보 유니트의 개수를 표시하는 1바이트의 경로 정보 유니트 개수 영역, 및 각각 2바이트로 된 다수의 경로 정보 유니트 영역을 구비한다. 상기 각각의 경로 정보 유니트 영역은 4비트의 모멘텀 영역과 목적지 노드까지의 상대적 거리를 표시하는 4비트의 도달거리 영역 및 목적지 노드를 표시하는 1바이트의 목적지 노드 아이디 영역으로 세분화된다.
그리고, 각 노드에 저장된 라우팅 경로 테이블은 도 7과 같이, 목적지 노드, 상기 목적지 노드까지의 상대적 거리를 표시하는 도달거리, 상기 목적지 노드까지 패킷의 중계가 가능한 노드를 표시하는 중계 노드, 각 목적지 노드별로 가장 최근의 시퀀스 넘버와 모멘텀 값, 및 각 목적지 노드별로 최근 라우팅 경로의 갱신 시각을 나타내는 타임 스탬프에 대한 영역으로 구획된다.
지금부터, 모멘텀 정보를 활용하는 방법에 대해 설명한다. 도 1의 통신 채널상에서 노드 A(12)가 경로 정보 패킷을 발생시키고 이 패킷의 시퀀스 넘버가 100이라고 가정한다. 그리고, 이 경로 정보 패킷을 노드 B(14)에서 수신하였고, 그 노드 B(14)에 저장되어 있는 라우팅 경로 테이블이 아래의 표 21과 같다고 가정한다.
(표 21) 노드 B의 라우팅 경로 테이블의 일부
목적지 노드 도달거리 중계 노드 최근 시퀀스 넘버 모멘텀 타임 스탬프
A 99 3
C 34 2
이때, 노드 A(12)가 전송한 경로 정보 패킷에 따라 라우팅 경로 테이블을 갱신하기 이전에 반드시 시퀀스 넘버부터 확인한다. 수신한 경로 정보 패킷의 시퀀스 넘버가 100이고 노드 B(14)의 라우팅 경로 테이블에 나타난 목적지 노드 A에 해당하는 최근 시퀀스 넘버가 99이므로 시퀀스 넘버가 연속되었다고 할 수 있다. 이처럼, 시퀀스 넘버가 연속될 경우에는 목적지 노드 A의 모멘텀을 1 증가시킨다. 그러면, 모멘텀이 3에서 4로 1만큼 증가하게 된다. 모멘텀이 4가 되었다는 것은 적어도 네 번 연속으로 시퀀스 넘버가 순차적인 패킷을 노드 A(12)로부터 수신했다는 것을 의미한다. 모멘텀 값이 충분히 클 때에는 노드 A(12)와 안정적인 통신이 가능하다고 신뢰할 수 있으므로 노드 A(12)가 전송한 경로 정보 패킷에 따라 노드 B(14)는 자신의 라우팅 경로 테이블을 갱신한다. 그리고 나서 목적지 노드 A에 해당하는 최근 시퀀스 넘버를 100으로 갱신해 준다.
이번에는, 노드 C(16)가 시퀀스 넘버가 36인 경로 정보 패킷을 전송했다고 가정하면, 노드 B(14)가 이를 수신한 뒤에 라우팅 경로 테이블을 검색해 보면 목적지 노드 C의 최근 시퀀스 넘버가 34로 되어 있어서 시퀀스 넘버가 연속하지 않는다. 이때는 모멘텀 값을 1 빼주는데, 그러면 노드 C(16)에 해당하는 모멘텀 값이 2에서 1로 줄어든다. 모멘텀이 1에 불과하다는 것은 그만큼 노드 B(14)와 노드 C(16)사이의 통신이 안정적이지 못하다는 것을 의미한다. 이럴 경우에는 노드 C(16)를 중계 노드로 활용할 수 없으므로 노드 C(16)가 전송한 경로 정보 패킷을 처리하지 않고 그대로 버린다. 하지만 이 경우에도 노드 C(16)에 대한 최근 시퀀스 넘버를 34에서 36으로 변경시켜 준다.
단, 모멘텀 값에 1을 더하거나 뺄 경우에 일정한 범위를 정하여 최대값보다 크지 않고 0보다는 작지 않은 값을 유지하도록 한다. 일정 임계치보다 작은 모멘텀 값을 가지는 경우에 해당 노드가 불안정 경로에 있다고 파악하게 되는데, 이때의 임계치가 클수록 정확한 불안정 경로 파악이 가능해지는 반면 안정적인 경로 파악에도 오랜 시간이 소요되게 된다.
위와 같은 시퀀스 넘버와 모멘텀 정보를 활용하여 불안정한 경로를 파악할 수 있게 된다. 하지만, 비대칭 경로를 파악하기 위해서는 도 6의 개선된 경로 정보 유니트 구조에서 알 수 있는 바와 같이 경로 정보 패킷에 추가로 포함되어 있는 모멘텀 정보까지 분석해야 한다.
본 발명의 실시예 설명에서 언급되는 비대칭 경로에 대하여 설명하면 다음과 같다. 도 8에서, 만약 노드 A(22)에서 송신한 패킷을 노드 B(24)에서 수신할 수는 있으나, 노드 B(24)에서 송신한 패킷을 노드 A(22)에서 수신할 수 없다면 노드 A(22)와 노드 B(24)사이의 경로는 비대칭 경로라 할 수 있다. 이와 같은 비대칭 경로에서 노드 A(22)와 노드 B(24)간의 통신을 위해서는 항상 노드 C(26)를 거치는 편이 유리하다.
위와 같은 비대칭 경로 상황에서 노드 A(22)가 생성한 경로 정보 패킷이 아래의 표 22와 같고, 노드 B(24)에 저장된 라우팅 경로 테이블은 아래의 표 23과 같다고 가정하자.
(표 22) 노드 A가 전송한 경로 정보 패킷
시퀀스 넘버 패킷 전송 노드 ID 경로정보 유니트 개수 모멘텀 #1 도달거리 #1 목적지 노드 ID #1 모멘텀 #2 도달거리 #2 목적지 노드 ID #2
0∼0xFF A 2 0 2 B 10 1 C
(표 23) 노드 B의 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 최근 시퀀스 넘버 모멘텀 타임 스탬프
A 10
C 10
이때, 노드 A(22)에서 생성한 경로 정보 패킷을 노드 B(24)에서 수신하면 먼 저 시퀀스 넘버를 확인한다. 노드 A(22)에서 노드 B(24)로의 통신은 원활한 상태이므로 시퀀스 넘버는 연속적일 것이고, 노드 A(22)에 해당하는 모멘텀 값 역시 10으로 충분히 크다는 것을 알 수 있다.
그리고, 노드 B(24)는 노드 A(22)가 전송한 경로 정보 패킷을 검색하여 자기 자신 즉, 노드 B(24)에 대한 모멘텀이 얼마로 설정되어 있는지 확인한다. 노드 A(22)가 전송한 경로 정보 패킷을 보면 목적지 노드 B에 대한 모멘텀 값이 0으로 설정되어 있음을 알 수 있다. 이것은 노드 B(24)로부터 노드 A(22)로 향하는 통신 경로가 매우 불안정하여 노드 B(24)가 보낸 패킷을 노드 A(22)가 수신할 수 없었기 때문인다. 이러한 경우에 노드 A, B(22, 24) 사이의 경로가 비대칭 경로임을 파악할 수 있게 된다. 따라서, 노드 B(24)는 노드 A(22)를 중계 노드로 활용할 수 없다고 판단하여, 노드 A(22)가 전송한 경로 정보 패킷을 해독하지 않고 그대로 버리게 된다.
이와는 별개로 만약 채널상에 노드 C(26)가 존재하지 않는다면 노드 A(22)가 발생시킨 경로 정보 패킷에는 노드 B(24)에 대한 경로 정보 유니트가 아예 포함되어 있지 않게 된다. 이러한 경우에도 노드 B(24)에서는 노드 A(22)가 전송한 경로 정보 패킷을 분석하여 자신에 해당하는 경로 정보 유니트가 없다는 것을 파악하고 노드 A(22)가 비대칭 경로 상에 있음을 판정할 수 있게 된다. 이 경우에도 마찬가지로 노드 B(24)는 노드 A(22)가 전송한 경로 정보 패킷을 해독하지 않고 그대로 버리게 된다.
채널 상황에 따라서는 일정 시간 동안 노드 B(24)에서 전송한 패킷이 성공적 으로 노드 A(22)에 도달하다가, 시간 흐름에 따라 노드 B(24)에서 전송한 패킷을 노드 A(22)에서 더 이상 수신하지 못하는 상황으로 변화할 수도 있다. 이 경우, 통신이 원활하던 시간에 노드 A(22)에 저장된 노드 B(24)에 대한 모멘텀 정보는 임계치보다 크게 된다. 하지만 더 이상 패킷을 수신하지 못하게 된다면 노드 A(22)에 저장된 노드 B(24)에 대한 모멘텀 정보는 현재의 값을 유지하게 된다. 이때 타임 스탬프를 주기적으로 확인하여 일정시간이 지나도록 그 타임 스탬프가 갱신되지 않았다면 노드 A(22)에서는 노드 B(24)에 대한 모멘텀 값을 0으로 초기화시킨다.
위의 비대칭 경로 상황에서 노드 C(26)는 노드 A, B(22, 24)와 모두 대칭적 경로를 이루고 있으므로 노드 C(26)가 전송한 경로 정보 패킷은 노드 A, B(22, 24)에서 모두 정상적으로 해독하여 라우팅 경로 테이블 갱신에 사용한다.
결국 위와 같은 비대칭 경로 상황에서 완성된 라우팅 경로 테이블은 아래의 표 24, 표 25, 표 26과 같아진다.
(표 24) 노드 A의 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 최근 시퀀스 넘버 모멘텀 타임 스탬프
B 2 C 0
C 1 C 10
(표 25) 노드 B의 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 최근 시퀀스 넘버 모멘텀 타임 스탬프
A 2 C 10
C 1 C 10
(표 26) 노드 C의 라우팅 경로 테이블
목적지 노드 도달거리 중계 노드 최근 시퀀스 넘버 모멘텀 타임 스탬프
A 1 A 10
B 1 A 10
이상의 과정에서 설명한 바와 같이, 시퀀스 넘버와 모멘텀 값을 활용하면 불 안정 경로 및 비대칭 경로를 비교적 쉽게 파악할 수 있으며, 우회 경로를 설정하는데에도 문제없이 적용될 수 있다.
한편, 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있고, 그러한 수정 및 변형이 가해진 기술사상 역시 이하의 특허청구범위에 속하는 것으로 보아야 한다.
이상 상세히 설명한 바와 같이 본 발명에 따르면, 직접 통신이 불가능한 노드에 통신 신호를 전달하기 위해 통신 채널상의 각 노드가 라우터로 자동동작하고 한번의 리피트가 필요할 때마다 상대거리를 1씩 증가하여 최소한의 리피트만으로 목적지까지 도달할 수 있도록 하는 최단거리 알고리즘을 사용함으로써, 부가적인 장치를 사용하지 않으면서도 종래의 문제점으로 대두되었던 신호의 감쇄 및 노이즈의 영향 등으로 인한 통신 품질의 열화를 방지할 수 있게 된다.
즉, 스마트 라우팅 기능을 탑재한 노드는 자동으로 라우팅 경로를 파악한 뒤 최단 경로상의 리피터로 동작하게 되므로 부가적인 하드웨어 리피터 설치를 필요로 하지 않는다.
뿐만 아니라, 기존의 고정된 라우팅 테이블에 의존하는 라우팅 방식과는 달리 본 발명에서는 간단한 알고리즘을 통해 자동으로 라우팅 테이블을 생성하고 유지할 수 있어서, 전력선과 RF에서와 같이 급변하는 환경에 적응이 용이하다.
전력선과 RF 등의 매체를 사용할 때 빈번하게 발생하는 불안정 경로와 비대칭 경로에 대해서도 본 발명이 제시하는 대비책을 활용할 경우 손쉽게 대응이 가능해진다.


Claims (25)

  1. 공유 매체를 이용한 통신 시스템에 있어서,
    다수의 통신영역에 분산되어 상기 공유 매체를 이용하여 통신을 하고자 하는 각각의 노드가 도달거리와 목적지 노드 아이디가 포함된 경로 정보 패킷을, 이웃하는 노드들과 소정시간마다 교환하여 자신의 노드에 저장된 라우팅 경로 테이블을 완성하는 제 1과정; 및
    상기 각각의 노드의 라우팅 경로 테이블이 완성된 다음에도 각각의 노드가 소정시간마다 상기 경로 정보 패킷의 브로드캐스팅을 수행하고, 각각의 노드에서는 수신된 경로 정보 패킷에 근거하여 기완성된 라우팅 경로 테이블을 갱신하는 제 2과정을 구비하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법
  2. 제 1항에 있어서,
    상기 경로 정보 패킷은, 상기 경로 정보 패킷을 전송한 노드를 표시하는 패킷 전송 노드 아이디 영역, 포함하고 있는 경로 정보 유니트의 개수를 표시하는 경로 정보 유니트 개수 영역, 및 다수의 경로 정보 유니트 영역을 구비하고, 상기 각각의 경로 정보 유니트 영역은 목적지 노드까지의 상대적 거리를 표시하는 도달거리 영역 및 목적지 노드를 표시하는 목적지 노드 아이디 영역으로 세분화된 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  3. 제 2항에 있어서,
    상기 패킷 전송 노드 아이디 영역 및 경로 정보 유니트 개수 영역은 1바이트이고, 상기 각각의 경로 정보 유니트 영역은 2바이트이며, 상기 도달거리 영역은 1바이트이고, 상기 목적지 노드 아이디 영역은 1바이트인 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  4. 제 2항에 있어서,
    상기 각각의 노드에 저장된 라우팅 경로 테이블은, 목적지 노드, 상기 목적지 노드까지의 상대적 거리를 표시하는 도달거리, 및 상기 목적지 노드까지의 패킷 중계가 가능한 노드를 표시하는 중계 노드에 대한 영역으로 구획된 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  5. 제 2항 내지 제 4항중 어느 한 항에 있어서,
    동일 통신영역내에 존재하여 직접 통신이 가능한 노드와 노드 사이의 도달거리는 1로 설정하고, 한번의 리피트를 필요로 하는 노드까지의 도달거리는 2로 하며, 두 번의 리피트를 필요로 하는 노드까지의 도달거리는 3으로 하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  6. 제 5항에 있어서,
    상기 도달 거리가 1보다 커서 직접 통신이 불가능한 노드와 통신을 시도할 경우에는 목적지 노드를 기록한 상태로 중계 노드에게 패킷을 전송하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  7. 제 6항에 있어서,
    상기 패킷을 전송받은 중계 노드는, 자신의 라우팅 경로 테이블을 검색하여 목적지 노드와 직접 통신이 가능하면 수신한 패킷을 해당 목적지 노드로 직접 전송하고, 직접 통신이 불가능하면 자신의 라우팅 경로 테이블에 기록된 중계 노드에게로 상기 수신한 패킷을 전송하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  8. 제 2항에 있어서,
    상기 경로 정보 패킷의 최선단에 시퀀스 넘버 영역을 추가하고, 상기 각각의 경로 정보 유니트 영역내에 각 목적지 노드에 대한 모멘텀 값이 표시되는 모멘텀 영역을 추가하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  9. 제 8항에 있어서,
    상기 각각의 노드에 저장된 라우팅 경로 테이블에는, 각 목적지 노드별로 가장 최근의 시퀀스 넘버와 모멘텀 값 및 각 목적지 노드별로 최근 라우팅 경로의 갱신 시각을 나타내는 타임 스탬프에 대한 영역이 추가로 구획되는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  10. 제 9항에 있어서,
    상기 각각의 노드는, 임의의 노드로부터 전송되어 온 경로 정보 패킷의 시퀀스 넘버가 연속적일 경우에는 자신의 라우팅 경로 테이블내에 기록된 상기 임의의 노드에 해당하는 목적지 노드에 대한 모멘텀 값을 증가시키고, 연속하지 않으면 상기 임의의 노드에 해당하는 목적지 노드에 대한 모멘텀 값을 감소시키며, 상기 가감되는 모멘텀 값이 일정 수준 이상이면 상기 임의의 노드가 전송한 경로 정보 패킷에 따라 자신의 라우팅 경로 테이블을 갱신하고, 상기 가감되는 모멘텀 값이 일정 수준 이하이면 상기 경로 정보 패킷을 전송한 노드와의 통신 경로가 불안정한 것으로 파악하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  11. 제 9항에 있어서,
    임의의 노드로부터 전송되는 최근 시퀀스 넘버 및 모멘텀 값이 포함된 경로 정보 패킷을 수신한 노드에서는, 자신의 라우팅 경로 테이블내의 상기 임의의 노드에 해당하는 최근 시퀀스 넘버를 확인하여 연속적이면 상기 수신된 경로 정보 패킷에서 자신에 대한 모멘텀 값을 확인하고, 확인된 모멘텀 값이 일정 수준 이하이면 상기 임의의 노드와 자신의 노드 사이의 경로가 비대칭 경로인 것으로 판단하여 상기 임의의 노드로부터 전송되어 온 경로 정보 패킷을 그대로 버리는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  12. 제 9항에 있어서,
    임의의 노드로부터 전송되는 최근 시퀀스 넘버 및 모멘텀 값이 포함된 경로 정보 패킷을 수신한 노드에서는, 수신된 경로 정보 패킷내에 자신의 노드에 해당하는 경로 정보가 존재하지 않으면 상기 임의의 노드가 비대칭 경로상에 있는 것으로 판단하여 상기 임의의 노드로부터 전송되어 온 경로 정보 패킷을 그대로 버리는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  13. 제 9항에 있어서,
    임의의 송신 노드로부터의 경로 정보 패킷을 수신한 노드에서는, 일정시간이 지나도록 내부의 라우팅 경로 테이블의 상기 임의의 송신 노드에 대한 타임 스탬프 에 변화가 없을 경우 상기 임의의 송신 노드를 손상된 경로로 판단하여 내부의 라우팅 경로 테이블내에 저장된 상기 임의의 송신 노드에 대한 모멘텀 값을 초기화시키는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  14. 공유 매체를 이용한 통신 시스템에 있어서,
    다수의 통신 영역으로 나누어진 통신 채널상에 존재하는 각각의 노드가, 임의의 노드로부터 전송되는 경로 정보 패킷을 수신하는 제 1과정;
    상기 경로 정보 패킷을 수신한 노드는, 상기 수신된 경로 정보 패킷에 따라 자신의 노드에 저장된 라우팅 경로 테이블을 갱신하되, 상기 라우팅 경로 테이블에 기저장된 목적지 노드에 연계되어 있는 도달거리를 최단거리로 갱신하고 중계 노드를 갱신하는 제 2과정; 및
    상기 자신의 라우팅 경로 테이블을 갱신한 노드는 자신의 라우팅 경로 테이블내의 정보를 이용하여 경로 정보 패킷을 만들어 상기 통신 채널상에 존재하는 다른 노드들에게로 브로드캐스팅하는 제 3과정을 구비하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  15. 제 14항에 있어서,
    상기 경로 정보 패킷은, 상기 경로 정보 패킷을 전송한 노드를 표시하는 패킷 전송 노드 아이디 영역, 포함하고 있는 경로 정보 유니트의 개수를 표시하는 경 로 정보 유니트 개수 영역, 및 다수의 경로 정보 유니트 영역을 구비하고, 상기 각각의 경로 정보 유니트 영역은 목적지 노드까지의 상대적 거리를 표시하는 도달거리 영역 및 목적지 노드를 표시하는 목적지 노드 아이디 영역으로 세분화된 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  16. 제 15항에 있어서,
    상기 각각의 노드에 저장된 라우팅 경로 테이블은, 목적지 노드, 상기 목적지 노드까지의 상대적 거리를 표시하는 도달거리, 및 상기 목적지 노드까지의 패킷 중계가 가능한 노드를 표시하는 중계 노드에 대한 영역으로 구획된 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  17. 제 15항 또는 제 16항에 있어서,
    상기 제 2과정은, 상기 경로 정보 패킷을 수신한 노드는 상기 수신한 경로 정보 패킷내의 정보에 근거하여 패킷 전송 노드를 파악하여 그 패킷 전송 노드를 목적지 노드로 하고, 그 목적지 노드에 대한 도달거리 및 중계 노드를 설정하는 제 1단계;
    상기 경로 정보 패킷을 수신한 노드는 자신의 라우팅 경로 테이블내에 기저장된 상기 목적지 노드에 대한 도달거리와 상기 제 1단계에서 설정된 상기 목적지 노드에 대한 도달거리를 상호 비교하여 상기 목적지 노드에 대한 라우팅 경로를 갱신하는 제 2단계;
    상기 경로 정보 패킷을 수신한 노드는 상기 수신된 경로 정보 패킷에 포함된 경로 정보 유니트 개수를 파악하고 상기 파악된 각각의 경로 정보 유니트의 정보에 근거하여 자신의 라우팅 경로 테이블내에 기저장된 해당 목적지 노드에 대한 라우팅 경로를 갱신하는 제 3단계를 구비하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  18. 제 17항에 있어서,
    상기 제 2단계에서, 상기 설정한 도달거리가 자신의 라우팅 경로 테이블내에 기저장되어 있는 상기 목적지 노드에 대한 도달거리보다 작으면 상기 기저장되어 있는 상기 목적지 노드에 대한 도달거리는 상기 설정한 도달거리로 갱신되는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  19. 제 17항에 있어서,
    상기 제 3단계에서, 상기 파악된 경로 정보 유니트내의 목적지 노드에 대한 도달거리에 일정 수를 가산한 결과값이 상기 경로 정보 패킷을 수신한 노드의 라우팅 경로 테이블에 기저장되어 있는 상기 목적지 노드에 대한 도달거리보다 작으면 상기 기저장되어 있는 상기 목적지 노드에 대한 도달거리는 상기 결과값으로 갱신 되고, 상기 결과값이 상기 경로 정보 패킷을 수신한 노드의 라우팅 경로 테이블에 기저장되어 있는 상기 목적지 노드에 대한 도달거리보다 크면 상기 기저장되어 있는 상기 목적지 노드에 대한 도달거리는 그대로 유지되며, 상호 동일하면 상기 목적지 노드에 대한 중계 노드는 상기 경로 정보 패킷을 전송한 노드로 갱신되는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  20. 제 15항에 있어서,
    상기 경로 정보 패킷의 최선단에 시퀀스 넘버 영역을 추가하고, 상기 각각의 경로 정보 유니트 영역내에 각 목적지 노드에 대한 모멘텀 값이 표시되는 모멘텀 영역을 추가하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  21. 제 20항에 있어서,
    상기 각각의 노드에 저장된 라우팅 경로 테이블에는, 각 목적지 노드별로 가장 최근의 시퀀스 넘버와 모멘텀 값 및 각 목적지 노드별로 최근 라우팅 경로의 갱신 시각을 나타내는 타임 스탬프에 대한 영역이 추가로 구획되는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  22. 제 21항에 있어서,
    상기 각각의 노드는, 임의의 노드로부터 전송되어 온 경로 정보 패킷의 시퀀스 넘버가 연속적일 경우에는 자신의 라우팅 경로 테이블내에 기록된 상기 임의의 노드에 해당하는 목적지 노드에 대한 모멘텀 값을 증가시키고, 연속하지 않으면 상기 임의의 노드에 해당하는 목적지 노드에 대한 모멘텀 값을 감소시키며, 상기 가감되는 모멘텀 값이 일정 수준 이상이면 상기 임의의 노드가 전송한 경로 정보 패킷에 따라 자신의 라우팅 경로 테이블을 갱신하고, 상기 가감되는 모멘텀 값이 일정 수준 이하이면 상기 경로 정보 패킷을 전송한 노드와의 통신 경로가 불안정한 것으로 파악하는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  23. 제 21항에 있어서,
    임의의 노드로부터 전송되는 최근 시퀀스 넘버 및 모멘텀 값이 포함된 경로 정보 패킷을 수신한 노드에서는, 자신의 라우팅 경로 테이블내의 상기 임의의 노드에 해당하는 최근 시퀀스 넘버를 확인하여 연속적이면 상기 수신된 경로 정보 패킷에서 자신에 대한 모멘텀 값을 확인하고, 확인된 모멘텀 값이 일정 수준 이하이면 상기 임의의 노드와 자신의 노드 사이의 경로가 비대칭 경로인 것으로 판단하여 상기 임의의 노드로부터 전송되어 온 경로 정보 패킷을 그대로 버리는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  24. 제 21항에 있어서,
    임의의 노드로부터 전송되는 최근 시퀀스 넘버 및 모멘텀 값이 포함된 경로 정보 패킷을 수신한 노드에서는, 수신된 경로 정보 패킷내에 자신의 노드에 해당하는 경로 정보가 존재하지 않으면 상기 임의의 노드가 비대칭 경로상에 있는 것으로 판단하여 상기 임의의 노드로부터 전송되어 온 경로 정보 패킷을 그대로 버리는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
  25. 제 21항에 있어서,
    임의의 송신 노드로부터의 경로 정보 패킷을 수신한 노드에서는, 일정시간이 지나도록 내부의 라우팅 경로 테이블의 상기 임의의 송신 노드에 대한 타임 스탬프에 변화가 없을 경우 상기 임의의 송신 노드를 손상된 경로로 판단하여 내부의 라우팅 경로 테이블내에 저장된 상기 임의의 송신 노드에 대한 모멘텀 값을 초기화시키는 것을 특징으로 하는 공유 매체를 이용한 통신 시스템에서 노드간의 상대 거리에 기반한 스마트 라우팅 방법.
KR20040048946A 2004-06-28 2004-06-28 공유 매체를 이용한 통신 시스템에서 노드간의 상대거리에 기반한 스마트 라우팅 방법 KR100607139B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20040048946A KR100607139B1 (ko) 2004-06-28 2004-06-28 공유 매체를 이용한 통신 시스템에서 노드간의 상대거리에 기반한 스마트 라우팅 방법
JP2005188723A JP2006014346A (ja) 2004-06-28 2005-06-28 共有媒体を利用した通信システムでノード間の相対距離に基づいたスマートルーティング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20040048946A KR100607139B1 (ko) 2004-06-28 2004-06-28 공유 매체를 이용한 통신 시스템에서 노드간의 상대거리에 기반한 스마트 라우팅 방법

Publications (2)

Publication Number Publication Date
KR20060000077A true KR20060000077A (ko) 2006-01-06
KR100607139B1 KR100607139B1 (ko) 2006-08-02

Family

ID=35780920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20040048946A KR100607139B1 (ko) 2004-06-28 2004-06-28 공유 매체를 이용한 통신 시스템에서 노드간의 상대거리에 기반한 스마트 라우팅 방법

Country Status (2)

Country Link
JP (1) JP2006014346A (ko)
KR (1) KR100607139B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160132337A (ko) 2015-04-13 2016-11-18 감상록 스탑 워치 기능을 갖는 스탠드 조명 장치
KR20200058273A (ko) * 2018-11-19 2020-05-27 서강대학교산학협력단 블록체인 샤딩 환경에서 노드 간 메시지 전달 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629839A (zh) * 2022-04-24 2022-06-14 中国人民解放军61175部队 基于网络势能合作博弈模型的求最优路径的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6130881A (en) * 1998-04-20 2000-10-10 Sarnoff Corporation Traffic routing in small wireless data networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160132337A (ko) 2015-04-13 2016-11-18 감상록 스탑 워치 기능을 갖는 스탠드 조명 장치
KR20200058273A (ko) * 2018-11-19 2020-05-27 서강대학교산학협력단 블록체인 샤딩 환경에서 노드 간 메시지 전달 방법

Also Published As

Publication number Publication date
JP2006014346A (ja) 2006-01-12
KR100607139B1 (ko) 2006-08-02

Similar Documents

Publication Publication Date Title
US6028857A (en) Self-organizing network
US6671819B1 (en) System and methods routing packets on alterate paths
US6836463B2 (en) System for communicating labeled routing trees to establish preferred paths and source routes with local identifiers in wireless computer networks
US7382731B1 (en) Method and apparatus for updating probabilistic network routing information
US6977937B1 (en) Radio network routing apparatus
US5557745A (en) Method for supporting foreign protocols across backbone network by combining and transmitting list of destinations that support second protocol in first and second areas to the third area
US7391741B2 (en) Link state synchronization method and apparatus on ad-hoc network, and data structure therefor
KR20010042878A (ko) 소형 무선 데이터 네트워크에서의 트래픽 라우팅
KR20000068661A (ko) 무선 네트워크 메시지 라우팅
US7787424B2 (en) System and method of routing in a router in a communication system
US8238317B2 (en) Method and apparatus for routing packet
JPH04233844A (ja) マルチプラットホーム及び装置の通信システムにおけるメッセージルーチングの適合管理方法
US20180212863A1 (en) Island topologies and routing in hybrid mesh networks
EP0782802B1 (en) A method and apparatus for routing messages in a network of nodes
Sharony An architecture for mobile radio networks with dynamically changing topology using virtual subnets
WO2010120396A1 (en) Cross layer routing (xrp) protocol
US20040233847A1 (en) Routing system for establishing optimal route in wireless personal area network (WPAN) and method thereof
CN110809305B (zh) 一种多节点低开销的无线路由方法
EP1568179B1 (en) Method and apparatus to integrate routing between administrator operated networks and self-organizing networks
WO2013081628A1 (en) Wireless communication system and its method, and device and program used for same
KR100607139B1 (ko) 공유 매체를 이용한 통신 시스템에서 노드간의 상대거리에 기반한 스마트 라우팅 방법
JP5851020B2 (ja) 通信システム、及び通信方法
US20100208739A1 (en) Method for selecting relay in wireless broadcast ad hoc networks
US20070071442A1 (en) Ring map discovery and validation method and system for optical network applications
US6240092B1 (en) Decentralized radiocommunications system and radio station therefor

Legal Events

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

Payment date: 20110705

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee