会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 信息时代 / 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간제어 방법

이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간제어 방법

申请号 KR1020030082705 申请日 2003-11-20 公开(公告)号 KR1020050048954A 公开(公告)日 2005-05-25
申请人 한국전자통신연구원; 发明人 김수창; 김응배; 남상우; 최태순; 석정봉;
摘要 본 발명은 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법에 관한 것이다.
이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법은, 중간 노드에서 주기적으로 헬로우(HELLO) 메시지를 수신하면 수명시간 동안에 입력되는 헬로우 메시지를 분석하여 적절히 수명시간을 주기적으로 증가시켜 RERR(Router Error) 패킷 간격을 넓히고, 불필요한 RREQ(Route Request) 패킷의 전송을 줄여 네트워크의 불필요한 오버헤드를 막을 수 있으며, 중간 노드에서 주기적으로 헬로우 메시지를 수신하지 못하면 수명 시간을 감소시켜 신속하게 RERR 패킷을 소스 노드로 전송할 수 있어 과도한 RREQ 및 RERR 패킷의 전송을 억제하여 라우팅 프로토콜의 전체적인 성능을 개선시킬 수 있다.
权利要求
  • 소스 노드, 중간 노드, 및 목적지 노드 사이에 통신 경로를 제공하는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법에 있어서,
    A) 상기 소스 노드가 상기 목적지 노드까지의 유효 경로를 설정하고 상기 목적지 노드로 데이터를 전송하는 단계;
    B) 상기 A) 단계에서 데이터를 전송하는 중에 상기 중간 노드가 수명시간 동안 주기적으로 헬로우(HELLO) 메시지의 수신 여부를 체크하는 단계; 및
    C) 상기 B) 단계에서 헬로우 메시지가 주기적으로 수신되는 경우에, 상기 수명 시간을 증가시키고, 상기 헬로우 메시지가 주기적으로 수신되지 않은 경우에 상기 소스 노드 쪽으로 경로 에러(ROUTER ERROR, RRER) 메시지를 전송하여 상기 수명 시간을 감소시키는 단계
    를 포함하는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 제1항에 있어서,
    상기 C) 단계는,
    아래 수학식에서 변수(a) 값을 증감시켜 상기 수명시간을 조절함;
    수명시간 = ALLOWED_HELLO_LOSS × HELLO_INTERVAL × a
    여기서, HELLO_INTERVAL은 헬로우 메시지 발생 주기, a는 변수 값임;
    을 특징으로 하는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 제2항에 있어서,
    상기 변수 값은,
    상기 수명 시간의 정해진 최대값 이상이 되는 것을 방지하기 위해 미리 최대값이 설정되는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 제2항에 있어서,
    상기 C) 단계는,
    상기 중간 노드가 주기적으로 헬로우 메시지를 수신하는 경우에, 상기 헬로우 메시지의 양을 체크하는 헬로우 메시지 체커(HELLO_Msg_Checker) 변수를 두어, 상기 헬로우 메시지 체커의 비율에 따라 상기 변수(a) 값을 증가시키는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 제4항에 있어서,
    상기 헬로우 메시지 체커는,
    상기 헬로우 메시지의 개수/시간 단위로 기록하는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 제4항에 있어서,
    상기 변수(a) 값은,
    상기 수명시간에 대한 증가량을 0보다 작은 실수로 설정하여 상기 변수 값에 증가량을 더한 후 상기 더한 값을 새로운 변수 값으로 하여 상기 수명 시간에 곱하도록 하는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 제4항에 있어서,
    상기 변수 값은,
    상기 수명시간이 정해진 최대값 이상이 되는 것을 방지하기 위해 미리 최대값을 설정하여, 상기 변수 값이 최대값 이하이면 수명시간을 유지하고, 상기 변수 값이 최대값 이상이면 상기 수명시간의 증가를 억제시키는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 제2항에 있어서,
    상기 C) 단계는,
    상기 중간 노드가 주기적으로 헬로우 메시지를 수신하지 못하는 경우에, 상기 수명시간을 감소시키기 위해 상기 변수 값을 최소값으로 설정하여 상기 수명 시간에 곱하는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 제8항에 있어서,
    상기 변수 값은,
    상기 수명시간에 대한 감소량은 0보다 작은 실수로 설정하여 현재 변수 값에 상기 최소값을 더한 후, 상기 더한 값을 수명시간에 곱하는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 제8항에 있어서,
    상기 변수 값은,
    상기 수명시간이 정해진 최소값 이하가 되는 것을 방지하기 위해 미리 최소값을 설정하여, 상기 변수 값이 최소값 이상이면 수명시간을 유지하고, 상기 변수 값이 최소값 이하이면 상기 수명시간의 감소를 억제시키는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법.
  • 说明书全文

    이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법{SYSTEM AND METHOD FOR CONTROLLING HELLO MESSAGE'S TIME TO LIVE OF Mobile Ad-hoc NETWORK}

    본 발명은 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법에 관한 것으로, 특히 라우팅 프로토콜에서 헬로우 메시지를 기다리는 수명시간을 상황에 맞게 증감시키기 위한 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법에 관한 것이다.

    이동 Ad-hoc 네트워크(Mobile Ad-hoc Network, MANET)의 대표적인 라우팅 프로토콜인 AODV(Ad-hoc On-Demand Distance Vector) 라우팅 프로토콜은 1999년에 노키아 리서치 센터의 C. Perkins에 의해 제안된 방안이다.

    이동 Ad-hoc 네트워크의 라우팅 프로토콜은 무선에서 컴퓨터들 사이의 통신 수단을 제공하기 위한 것으로서, DSDV(Dynamic Destination-Se quenced Distance Vector), DSR(Dynamic Source Routing), AODV(Ad-Hoc On Demand Distance Vector), TORA 등이 있다.

    AODV 라우팅 프로토콜은 기본적으로 테이블 구동 알고리즘 중 하나인 DSDV(Destination-Sequenced Distance-Vector)와 요구 구동 알고리즘의 DSR(Dynamic Source Routing)의 장점을 취합하고 문제점을 해결한 프로토콜이다.

    그런데, AODV 라우팅 프로토콜은 노드가 기다리는 수명시간이 최소값인 ALLOWED_HELLO_LOSS * HELLO_INTERVAL의 값이 3000ms를 갖는데, 이렇게 고정된 수명시간의 최소값은 단말기의 이동이 매우 빈번한 이동 Ad-hoc 네트워크의 여러 가지 토폴로지 변화에 대해 능동적으로 대처할 수 없고, 비효율적인 결과를 발생시킬 수 있는 문제점이 있다.

    본 발명이 이루고자 하는 기술적 과제는 각 노드 간에 자신의 존재를 알리는 헬로우(HELLO) 메시지를 기다리는 수명시간 값을 상황에 맞게 변경하여 RERR 패킷과 RREQ 패킷의 수를 감소시키기 위한 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법을 제공하는 것이다.

    이러한 과제를 해결하기 위해 본 발명은 라우팅 프로토콜에서 헬로우 메시지를 기다리는 수명시간을 상황에 맞게 증감시켜 RREQ 패킷과 RRER 패킷의 전송량을 조절하도록 한다.

    본 발명의 특징에 따른 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법은, 소스 노드, 중간 노드, 및 목적지 노드 사이에 통신 경로를 제공하는 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법에 있어서, A) 상기 소스 노드가 상기 목적지 노드까지의 유효 경로를 설정하고 상기 목적지 노드로 데이터를 전송하는 단계; B) 상기 A) 단계에서 데이터를 전송하는 중에 상기 중간 노드가 수명시간 동안 주기적으로 헬로우(HELLO) 메시지의 수신 여부를 체크하는 단계; 및 C) 상기 B) 단계에서 헬로우 메시지가 주기적으로 수신되는 경우에, 상기 수명 시간을 증가시키고, 상기 헬로우 메시지가 주기적으로 수신되지 않은 경우에 상기 소스 노드 쪽으로 경로 에러(ROUTER ERROR, RRER) 메시지를 전송하여 상기 수명 시간을 감소시키는 단계를 포함한다.

    상기 C) 단계는, 상기 중간 노드가 주기적으로 헬로우 메시지를 수신하는 경우에, 상기 헬로우 메시지의 양을 체크하는 헬로우 메시지 체커 (HELLO_Msg_Checker) 변수를 두어, 상기 헬로우 메시지 체커의 비율에 따라 상기 변수(a) 값을 증가시키는 것이 바람직하다.

    상기 C) 단계는, 상기 중간 노드가 주기적으로 헬로우 메시지를 수신하지 못하는 경우에, 상기 수명시간을 감소시키기 위해 상기 변수 값을 최소값으로 설정하여 상기 수명 시간에 곱하는 것이 바람직하다.

    아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다. 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다.

    먼저, 이동 Ad-hoc 네트워크의 AODV 라우팅 프로토콜에 대해 도 1 및 도 2를 참조하여 설명한다.

    도 1은 이동 Ad-hoc 네트워크의 AODV 라우팅 프로토콜의 RREQ 패킷의 생성 과정을 도시한 순서도이다.

    도 1에 도시된 바와 같이, AODV 라우팅 프로토콜은 전송할 데이터가 발생하면 자신이 보유하고 있는 라우팅 테이블에서 관리되는 경로 정보를 탐색한다.(S11)

    라우팅 테이블의 탐색 결과, 전송할 데이터가 해당 목적지 노드로의 경로가 존재하는 지를 확인한다.(S12)

    전송할 데이터에 대해 경로가 존재하면, 해당 데이터의 목적지 노드의 수명시간이 완료되었는지를 조사하여(S13), 수명시간이 완료되지 않은 경우에는 데이터의 경로 정보가 유효하다고 판단하고 경로 획득에 절차를 별도로 전개하지 않고 해당 경로를 통해서 데이터를 전송한다.(S14)

    그런데, 데이터에 대해 경로가 존재하지만 경로 정보의 수명시간이 완료된 경우에는 해당 목적지 노드의 경로 정보를 획득하는 절차를 별도로 수행해야 한다. 또한 해당 목적지 노드의 경로 정보가 없어도 새로운 경로 획득 절차를 수행해야 한다. (S15)

    즉, 출발지 노드가 RREQ(Route Request) 메시지를 생성하고 플로딩(Flooding)을 통해 주변 노드로 방송하기 전에 다음과 같은 절차를 수행한다.

    우선, 출발지 노드는 RREQ 패킷에 Type을 1로 선택하고 홉 카운트를 0으로 변경한다. 브로드캐스트 ID는 현재의 브로드캐스트 ID에 1을 증가시시킨다.

    목적지 IP 주소와 소스 IP 주소는 목적지 노드와 출발지 노드인 자신의 IP 주소로 한다. 목적지 시퀀스 넘버는 해당 목적지 노드의 최근 목적지 시퀀스 넘버인 현재 라우팅 테이블에 저장되어 있는 해당 목적지 노드의 목적지 시퀀스 넘버를 변경 없이 사용한다. 소스 시퀀스 넘버는 현재 출발지 노드가 마지막으로 사용한 소스 시퀀스 넘버에 1을 증가시켜 사용한다.(Source Sequence Number +1)

    이렇게 결정된 RREQ 패킷은 IP 헤더에 실고, 이 때 수명시간(Time To Live, TTL)과 전송 노드의 IP 주소도 IP 헤더에 실어 목적지 노드로 전송한다.(S16)

    AODV 라우팅 프로토콜에서는 기본적으로 라우팅 패킷을 UDP 패킷으로 관리한다. 라우팅 패킷은 별도의 회신을 필요로 하지 않고 RREP(Router Response)를 수신하여 회신으로 취급한다.

    라우팅 패킷이 별도의 회신패킷을 사용하지 않는 것은 제한된 자원을 사용하는 이동 Ad-hoc 네트워크가 별도의 회신 패킷을 사용시 성능에 심각한 영향을 미칠 수 있기 때문이다.

    위에서 RREQ 패킷을 수신한 수신 노드는 IP 헤더를 탐색한다. 수신 노드는 IP 헤더를 통해 RREQ 패킷을 전송 또는 중계한 노드가 어떤 노드인지를 알 수 있다.

    이때, IP 헤더에 실려 있는 TTL을 검색하여 RREQ의 전송 여부를 결정한다. 즉, TTL이 0이면 폐기하고, TTL이 0이 아니면 RREQ 패킷을 검색하여 소스 IP 주소와 브로드캐스트 ID를 통해서 패킷의 중복 패킷 여부를 판단한다.

    마지막 브로드캐스트 기록 시간(Broadcast_Record_Time) 동안에 소스 IP 주소와 브로드캐스트 ID 가 동일한 패킷을 수신한 경우에, 현재 수신한 RREQ 패킷은 동일한 패킷이므로 수신 노드는 현재 수신한 RREQ 패킷을 폐기한다.

    그러나 RREQ 패킷의 소스 IP 주소와 브로드캐스트 ID 중 하나라도 다르면, 수신 노드가 이전에 수신했던 RREQ 패킷과 상이한 것으로 판단한다.

    수신 노드는 다음 목적지 IP 주소 정보를 통해 자신이 해당 목적지 노드인지를 판단한 후, 자신이 해당 목적지 노드가 아니면 라우팅 테이블에 목적지 노드까지의 유효한 경로를 탐색한다.

    수신 노드에 유효 경로를 탐색한 결과, 해당 목적지까지 경로가 존재하지만, 경로의 목적지 시퀀스 넘버가 RREQ 패킷의 목적지 시퀀스 넘버보다 크면 해당 경로 정보는 유효한 경로 정보가 될 수 없다. 그러나 라우팅 테이블에 경로의 목적지 시퀀스 넘버가 RREQ 패킷의 목적지 시퀀스 넘버보다 크면, 라우팅 테이블의 경로정보는 유효한 경로 정보이다.

    이러한 경로 정보를 통해 RREQ 패킷의 해당 경로에 대한 유효 여부를 판단하여, 최종적으로 RREP 패킷의 발생 여부, 주변 노드로의 RREQ 패킷 중계 여부를 결정한다.

    위에서, 경로정보가 유효한 경우에 RREQ 패킷을 수신한 수신 노드는 더 이상 패킷을 중계하지 않고 RREP 패킷을 생성하여 출발지 노드로 전송한다. 그러나 경로 정보가 유효하지 않은 경우에, 수신 노드는 IP헤더에 자신의 IP 주소를 선택하여 TTL을 1 감소시키고, RREQ의 홉 카운트 에 값을 1 증가시킨 후 주변노드로 패킷을 전달한다.

    이때 RREQ 패킷의 소스 시퀀스 넘버와 라우팅 테이블에 유지되는 출발지 노드에 관한 경로정보의 목적지 시퀀스 넘버를 비교한다. RREQ의 소스 시퀀스 넘버가 라우팅 테이블에 목적지 시퀀스 넘버보다 크면 라우팅 테이블의 경로는 수신된 RREQ 패킷에 의해 생성된 경로에 비해 오래된 경로이므로, 라우팅 테이블에 출발지 노드의 경로정보 수정한다. RREQ 패킷의 소스 시퀀스 넘버가 라우팅 테이블에 출발지 노드의 목적지 시퀀스 넘버에 공간 복사되고, 과정 리스트도 수정되어야 한다.

    도 2는 이동 Ad-hoc 네트워크의 AODV 라우팅 프로토콜의 RREP 패킷의 생성 과정을 도시한 순서도이다.

    도 2에 도시된 바와 같이, RREP 패킷은 AODV 라우팅 프로토콜에서 아래 두 가지 조건에 의해 생성된다. 첫 번째는 RREQ 패킷의 목적지 IP 주소가 수신 노드의 IP 주소일 경우, 두 번째는 RREQ 패킷을 수신한 수신 노드의 라우팅 테이블에 목적지 IP 주소의 목적지 노드까지 충분한 유효 경로가 존재하는 경우에 RREP 패킷을 생성하여 출발지 노드로 전송한다.

    RREQ 패킷을 수신한 수신 노드는 동일한 RREQ 패킷의 수신 여부를 검사한 후에 자신이 목적지 노드인지를 검사한다.(S21)

    수신 노드가 목적지 노드이면 더 이상 RREQ 패킷을 중계하지 않고 RREP 생성하여 출발지 노드로 전송한다.(S22, S23, S24) 그런데, 수신 노드가 목적지 노드가 아니지만 라우팅 테이블에 목적지 노드까지의 유효한 경로가 존재하면(S25), 이 경로 정보를 이용하여 RREP 패킷을 생성하여 출발지 노드로 전송한다.(S26~S30)

    RREP 패킷의 생성 절차는 목적지 노드와 중간노드에서 약간의 차이가 있다. 목적지 노드에서는 노드가 유지하는 목적지 시퀀스 넘버 마지막 일련번호에 1을 증가시킨 값을 RREP 패킷에 목적지 시퀀스 넘버 공간에 저장한다. RREP 패킷의 수명시간 값은 각 노드가 유지하는 MY_ROUTE_TIMEOUT (=2*ACTIVE_ROUTE_TIMEOUT(3000ms)) 값으로 복사한다.

    목적지 노드까지의 유효 경로를 보유하고 있는 노드에서 RREP 패킷을 발생하는 절차는 다음과 같다.

    RREP 패킷에 목적지 시퀀스 넘버 공간에 해당 목적지의 목적지 시퀀스 넘버를 복사한다. RREP 패킷에 홉 카운트 값은 현재 노드에서 목적지 노드까지의 홉 수에 RREQ를 통해 얻어진 출발지 노드에서 현재 노드까지의 홉 수를 더한 값을 사용한다.

    수명시간 값은 라우팅 테이블의 목적지까지 경로의 수명시간(expiration)에 현재의 시간을 뺀 값으로 한다. 여기서 수명시간에 현재시간을 감소시키는 것은 라우팅 테이블에 수명시간 자체 저장의 경우에는 현재시간을 사용하므로 현재 시간을 감소시켜 사용된 시간을 삭제시킬 수 있다.

    중간노드에서 RREP 패킷을 생성시, TCP의 특성으로 인한 성능감소의 문제점을 해결하기위해 목적지 노드에 RREP 패킷의 생성 사실을 알린다. 이를 위해, RREP 패킷을 발생시킨 중간노드는 목적지 노드에게 Gratuitous RREP를 전달한다.

    RREQ 패킷에 "G" flag를 선택하고, 홉 카운트는 수신한 RREQ 패킷을 사용하며, 목적지 IP 주소는 RREQ 패킷을 생성시킨 IP 주소를 사용한다.

    목적지 시퀀스 넘버는 수신한 RREQ의 소스 시퀀스 넘버를 사용하여 작성하고, 소스 IP 주소는 목적지 노드의 IP 주소를 사용한다.

    이렇게 작성된 RREP(RREQ) 패킷은 목적지 노드에게 유니캐스트하게 전달된다.(S30) RREP 패킷을 전달받은 출발지 노드와 목적지 노드사이의 노드(혹은 중간노드까지)에서 RREP 패킷을 수신하면, 각 노드는 수집된 경로정보를 이용해 자신의 라우팅 테이블을 경로정보를 갱신한다.

    RREP 패킷을 수신한 수신 노드는 우선적으로 자신이 가지고 있는 목적지 노드의 목적지 시퀀스 넘버를 비교한다. RREP 패킷에 목적지 시퀀스 넘버가 크면 현재 보유하고 있는 경로정보보다 최신의 패킷이므로 경로정보를 수정한다.

    만약 목적지 시퀀스 넘버가 동일하면 경로정보가 유효하지 않을 수도 있고, 홉 카운트 값이 다르다면 새로운 경로 정보일 가능성이 크다. RREP 패킷을 전달할 때 홉 카운트 값은 1 증가시킨다.

    라우팅 테이블에 경로정보가 수정되면 수명시간은 현재시간에 RREP 패킷에 수명시간을 더한 값을 사용한다.

    RERR(Router Error) 패킷에 의한 경로관리를 살펴보면, AODV 라우팅 프로토콜에서는 네트워크에 처음 참가시, 주기적으로 헬로우 메시지를 이용하여 주변 노드에게 자신의 존재를 알린다.

    헬로우 메시지를 발생시키는 주기는 HELLO_INTERVAL(=1000ms)이다. 이 때, IP헤더에 TTL을 1로 하여 HELL0 메시지가 주변노드 이외에는 전달되지 않도록 한다.

    만약 ALLOWED_HELLO_LOSS*HELLO_ INTERVAL 동안 헬로우 메시지를 수신하지 못하다면 해당 노드와의 연결이 불가능한 것으로 판단한다.

    이에 해당하는 값은 ALLOWED_HELLO_LOSS의 값 3과 HELLO_INTERVAL의 값 1000ms를 곱한 값인 3000ms이다. 이 경우에, RERR 패킷을 생성하여 링크의 사용여부를 관련 노드에 전달한다.

    위와 같은 절차를 통해 경로를 관리하여 데이터를 전송할 노드는 불필요한 경로 획득절차를 반복하지 않아도 된다.

    본 발명의 실시예에서는 아래 수학식 1과 같이 기본적인 수명 시간 값인 ALLOWED_HELLO_LOSS에 HELLO_INTERVAL을 곱하고, 그 곱한 값에 변수 a를 곱해준다.

    수학식 1에서 변수 a의 값은 1로서 수명시간이 기본적인 최소값을 유지하게 하는 것이다.

    도 3은 본 발명의 실시예에 따른 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법의 순서도를 도시한 것이다.

    도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법은, AODV 라우팅 프로토콜로 통신하는 여러 노드가 동작하는 과정에서 소스 노드가 경로 탐색 프로세스를 통해 목적지 노드까지 경로를 설정한 후에 데이터를 목적지 노드로 전송한다.

    이때, 목적지 노드 및 중간 노드가 주변 노드의 통신 도달 범위를 벗어나거나 동작을 멈추는 상황에서, 중간 노드는 수명 시간 동안 주기적으로 헬로우 메시지의 수신 여부를 확인한다.(S101)

    수명시간 동안 헬로우 메시지를 수신한 경우에, 헬로우 메시지를 체크해주는 헬로우 메시지 체커(HELLO_Msg_checker)를 증가시켜주는데(S102), 헬로우 메시지 체커는 일정 시간 동안 몇 개의 헬로우 메시지가 입력되는지를 헬로우 메시지의 개수/시간 단위로 기록한다.

    이때, 헬로우 메시지 체커의 증가량의 크기는 새로 기록되는 값에 기존에 기록되어 있던 값의 차이가 된다.

    위의 수학식 1에서 변수 a 값을 증가시켜 수명시간 증가된 변수 값을 곱하여 수명 시간을 증가시킨다.(S103)

    이때, 변수 a 값이 일정 수준 이상이 되어 수명시간이 커지는 것을 방지하기 위해, 변수 a 값이 시뮬레이션을 통해 추출한 최대값(MAX) 이상으로 커지지 않도록 주기적으로 체크를 한다.

    수명시간이 지나치게 커지는 경우를 막기 위하여, 수명시간에 곱해줄 변수 값에 대한 증가량은 0보다 작은 실수로 설정하며, 수명시간에 곱해줄 변수 값은 최소값인 1에 증가량을 더한 값이 되며, 만약 기존 특정 값이 있다면 특정 값에 증가량을 더한 값이 된다. 이렇게 변수 값에 증가량을 더한 값을 수명시간에 곱해주어 수명시간 값을 증가시킨다.

    변수 a 값이 최대값 이하이면, 변수 a 값을 최대값으로 하여 수명 시간을 유지하고, 변수 a 값이 최대값 이상이면 수명 시간이 더 증가되지 않도록 수명 시간을 임의의 최대값으로 설정한다.(S104, S105)

    이 경우, 설정된 최대값보다 작은 수명 시간에 곱하는 변수 값은 오픈 소스의 구조를 갖는 임의의 네트워크 시뮬레이터의 AODV 모듈 소스에 대해, 최대값을 여러 가지로 설정하여 소스를 변경하여 재컴파일한 후 시뮬레이션 하여 얻을 수 있는 결과를 비교, 분석한 후 가장 적당한 값으로 판단되는 값으로 한다.

    주변 노드에서 수명시간 동안 헬로우 메시지를 수신하지 못한 경우에, 변수 a 값을 1로 하여 수명 시간을 원래의 최소 값으로 만들어 수명 시간을 감소시킨다.(S106)

    이때, 수명시간에 곱하는 변수 값에 대한 감소량은 0보다 작은 실수로 설정하며, 수명시간 값에 곱해줄 변수 값은 최소값인 1에 감소량을 더한 값이 되며, 만약 기존에 특정 값이 있으면 특정 값에 감소량을 더한 값이 된다.

    그 후, 변수 a 값을 감소하여 수명시간을 감소시키고(S107), 변수 a값이 최소값보다 크면 바로 RERR 패킷을 소스 노드 쪽으로 전송하고, 변수 a값이 최소값보다 크지 않으면 a를 최소값으로 하여 RERR 패킷을 소스 노드 쪽으로 전송한다.(S108, S109, S110)

    즉, 수명시간이 임의의 최소값보다 작거나 0이 되는 것을 방지하기 위해, 변수 값이 최소값 이상이면 수명시간을 유지하지만, 변수 값이 최소값 이하이면 수명시간을 더 감소되지 않도록 수명시간을 임의의 최소값으로 설정한다.

    이때, 설정된 최소값을 갖는 수명시간에 곱하는 변수 값은 오픈 소스의 구조를 갖는 임의의 네트워크 시뮬레이터의 AODV 모듈 소스에 대해, 최소값을 여러 가지로 설정하여 소스를 변경하여 재컴파일한 후 시뮬레이션 하여 얻을 수 있는 결과를 비교, 분석한 후에 가장 적당한 값으로 판단되는 값으로 설정한다.

    위의 동작을 주기적으로 반복하면 변수 a값이 계속 변하고, 그에 따라 수명시간을 상황에 맞게 바꿀 수 있게 된다.

    이와 같이, AODV 라우팅 프로토콜에서 헬로우 메시지를 기다리는 수명시간 값을 상황에 맞게 변경하여, 해당 목적지 노드까지의 경로가 없거나 유효하지 않을 경우에 경로를 획득하기 위해 사용하는 RREQ(Route Request) 패킷과 어떤 노드 간에 경로를 사용할 수 없게 되었을 경우나 이동 단말기의 이동이나 장비 고장으로 통신이 불가능하게 되어 해당 경로를 사용하지 못하도록 관련 이동 단말기에 경로 정보를 알리는 역할을 하는 RERR(Route Error) 패킷의 전송을 조절할 수 있다.

    이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명은 이에 한정되는 것은 아니며, 그 외의 다양한 변경이나 변형이 가능하다.

    이와 같이, 본 발명에 의한 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법은 주기적으로 헬로우 메시지를 수신하면, 수명시간 동안에 입력되는 헬로우 메시지를 분석하여 적절히 수명시간을 주기적으로 증가시켜 RERR 패킷 간격을 넓히고, 불필요한 RREQ 패킷의 전송을 줄여 네트워크의 불필요한 오버헤드를 막을 수 있으며, 네트워크 전체의 효율을 향상시킬 수 있는 효과가 있다.

    또한, 본 발명에 의한 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법은 주기적으로 헬로우 메시지를 수신하지 못하면, 수명 시간을 감소시켜 신속하게 RERR 패킷을 소스 노드로 전송할 수 있어 성능 개선뿐만 아니라 신뢰성까지 증가시킬 수 있는 효과가 있다.

    이렇게, 본 발명에 의한 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법은 과도한 RREQ 및 RERR 패킷을 전송을 억제하여 프로토콜의 전체적인 성능을 개선시킬 수 있는 효과가 있다.

    도 1은 이동 Ad-hoc 네트워크의 AODV 라우팅 프로토콜의 RREQ 패킷의 생성 과정을 도시한 순서도이다.

    도 2는 이동 Ad-hoc 네트워크의 AODV 라우팅 프로토콜의 RREP 패킷의 생성 과정을 도시한 순서도이다

    도 3은 본 발명의 실시예에 따른 이동 Ad-hoc 네트워크의 라우팅 메시지 수명시간 제어 방법의 순서도를 도시한 것이다.