KR101208400B1 - Node apparatus for mixed mode routing in rpl routing protocol and method thereof - Google Patents
Node apparatus for mixed mode routing in rpl routing protocol and method thereof Download PDFInfo
- Publication number
- KR101208400B1 KR101208400B1 KR1020110111561A KR20110111561A KR101208400B1 KR 101208400 B1 KR101208400 B1 KR 101208400B1 KR 1020110111561 A KR1020110111561 A KR 1020110111561A KR 20110111561 A KR20110111561 A KR 20110111561A KR 101208400 B1 KR101208400 B1 KR 101208400B1
- Authority
- KR
- South Korea
- Prior art keywords
- routing
- mode
- node
- address
- message
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 저전력 고손실 네트워크를 위한 RPL(IPv6 Routing Protocol for Low power and Lossy Networks) 라우팅 프로토콜에서 저장 모드(storing mode) 및 비저장 모드(non-storing mode)를 동시에 사용하기 위한 기술과 관련된다.
The present invention relates to a technique for simultaneously using a storage mode and a non-storing mode in an IPv6 Routing Protocol for Low Power and Lossy Networks (RPL) routing protocol for low power, high loss networks.
국제 표준화 기구 IETF(Internet Engineering Task Force)의 워킹 그룹(working group) 중 하나인 ROLL(Routing Over Low power and Lossy networks)에서는 저전력 고손실 네트워크(LLN; Low power and Lossy Network) 영역에서의 라우팅 알고리즘에 대해 연구하고, 표준화를 진행하고 있다.Routing Over Low Power and Lossy networks (ROLLs), one of the working groups of the International Organization for Standardization Internet Engineering Task Force (IETF), are involved in routing algorithms in the area of low power and lossy networks (LLNs). Research and standardization.
LLN 영역은 다수의 노드들로 구성되고 있으며, 이 노드들은 제한된 프로세스 파워, 메모리 용량 및 배터리로 운용되는 특성을 지니고 있다. 그래서 노드간의 연결(link)은 불안정하고, 낮은 대역폭을 갖는다(IEEE 802.15.4 참고). 또한 노드에 TCP/IP 스택(stack)이 올라가고, IPv6 주소체계를 도입함에 따라(IETF 6lowpan working group, RFC-4919, RFC 4944참고), IPv6 주소체계로 이루어진 LLN 노드를 위한 새로운 라우팅 프로토콜이 필요하게 되었다. 이에 ROLL 워킹 그룹에서는 저전력 고손실 네트워크를 위한 IPv6 라우팅 프로토콜인 RPL(IPv6 Routing Protocol for Low power and Lossy Networks)을 제안하였으며, 이에 대한 표준화를 진행 중이다.The LLN region consists of multiple nodes, which have limited process power, memory capacity, and battery operation. Thus the link between nodes is unstable and has low bandwidth (see IEEE 802.15.4). In addition, as the TCP / IP stack rises on nodes and the introduction of IPv6 addressing (see IETF 6lowpan working group, RFC-4919, RFC 4944), new routing protocols for LLN nodes with IPv6 addressing are needed. It became. The ROLL Working Group has proposed IPv6 Routing Protocol for Low Power and Lossy Networks (RPL), an IPv6 routing protocol for low power, high loss networks.
RPL은 ICMPv6 RPL 콘트롤 메시지(Control Message)를 이용하여 LLN 영역에 있는 노드들로 DODAG(Destination Oriented Directed Acyclic Graph)를 형성한다. DODAG 내부에서는 DODAG 루트(root)를 기준으로 상향 경로(Upward route) 및 하향 경로(Downward route)가 생성/갱신되며 목적지 주소(destination address)까지의 원활한 라우팅 경로(routing path)를 제공해준다. (ICMPv6 RPL 콘트롤 메시지에는 DODAG Information Object(DIO), DODAG Information Solicitation(DIS), Destination Advertisement Object(DAO), Destination Advertisement Object Acknowledgement(DAO-ACK)이 있다.)RPL uses the ICMPv6 RPL Control Message to form the Destination Oriented Directed Acyclic Graph (DODAG) with nodes in the LLN region. Inside DODAG, up and down routes are created / updated based on the DODAG root and provide a smooth routing path to the destination address. (ICMPv6 RPL control messages include DODAG Information Object (DIO), DODAG Information Solicitation (DIS), Destination Advertisement Object (DAO), and Destination Advertisement Object Acknowledgement (DAO-ACK).)
Downward route를 생성/갱신하는 방법에는 저장 모드(storing mode)와 비저장 모드(non-storing mode)가 있다. 저장 모드는 리프 노드를 제외한 모든 노드들이 라우팅 테이블을 지니고 있는 형태로, LLN 안의 일부 노드가 메모리 용량이 적고 프로세싱 파워가 약할 경우, 배터리의 조기소진 및 메모리 문제 등을 야기할 수 있다. 비저장 모드는 DODAG 루트만 라우팅 테이블을 지니고 있고, 하향 데이터 패킷(downward data packet)을 전송할때는 목적지 주소(destination address)까지 이르는 모든 경로를 헤더에 추가/삽입한다. 이 경우 최종목적지까지 이르는 멀티홉 수에 비례하여 패킷의 길이가 증가한다는 문제가 있다. 예를 들면, 목적지까지의 거리가 20홉이라면, 중간에 경유해야 하는 19개의 주소를 헤더에 입력해야 하기 때문에 패킷의 낭비가 심하다. There are two methods for creating / updating a downstream route: storage mode and non-storing mode. The storage mode is a form in which all nodes except the leaf node have a routing table. When some nodes in the LLN have low memory capacity and low processing power, it may cause early battery drain and memory problems. In the non-storage mode, only the DODAG route has a routing table. When transmitting a downlink data packet, all paths up to the destination address are added / inserted into the header. In this case, there is a problem that the length of the packet increases in proportion to the number of multihops leading up to the final destination. For example, if the distance to the destination is 20 hops, the packet is wasted because 19 addresses must be entered in the header.
따라서, 이를 해결하기 위해 하나의 LLN 내에서 필요에 따라 storing mode와 non-storing mode를 적절히 혼합하여 사용하기 위한 혼합 모드(mixed mode)가 필요하게 되었다.
Therefore, in order to solve this problem, a mixed mode for properly mixing and using a storage mode and a non-storing mode in one LLN is required.
본 발명은 저장 모드와 비저장 모드를 하나의 네트워크 내에서 혼합하여 사용함으로써 주위 환경에 따라 유연하고 효율적인 네트워크를 구성하는 데 그 목적이 있다.
An object of the present invention is to configure a flexible and efficient network according to the surrounding environment by using a mixed storage mode and non-storage mode in one network.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 저전력 고손실 네트워크를 위한 라우팅 프로토콜인 RPL 라우팅 프로토콜에서의 혼합 모드 라우팅 노드는, DIO 메시지를 수신하고, 수신된 상기 DIO 메시지에 포함된 하향 라우팅 모드 설정 정보 및 기 설정된 라우팅 모드 변경 조건에 따라 상기 라우팅 노드의 하향 라우팅 모드를 설정하거나 기 설정된 하향 라우팅 모드를 변경하는 DIO 메시지 처리부; DAO 메시지를 수신하고, 수신된 상기 DAO 메시지의 RPL 타겟 옵션(RPL Target Option)의 타겟 프리픽스(target prefix), 상기 DAO 메시지를 송신한 송신 주소 및 상기 라우팅 노드의 하향 라우팅 모드에 따라 상기 DAO 메시지의 트랜짓 인포메이션 옵션(Transit Information Option)의 페어런트 어드레스(parent address)를 변경하거나 라우팅 테이블을 업데이트하는 DAO 메시지 처리부; 및 데이터 패킷을 수신하고, 상기 데이터 패킷에 포함된 소스 라우트 헤더(SRH)로부터 상기 데이터 패킷을 송신할 다음 노드 주소(next address)를 획득하며, 상기 다음 노드 주소를 이웃 테이블 또는 라우팅 테이블에서 검색한 결과에 따라 상기 데이터 패킷을 송신하는 데이터 패킷 처리부를 포함한다.
The mixed mode routing node in the RPL routing protocol, which is a routing protocol for a low power high loss network, according to an embodiment of the present invention for solving the above problems, receives a DIO message, and routes the downlink included in the received DIO message. A DIO message processor configured to set a down routing mode of the routing node or change a preset down routing mode according to mode setting information and a preset routing mode change condition; Receive a DAO message, and according to the target prefix of the RPL target option (RPL Target Option) of the received DAO message, the transmission address that transmitted the DAO message and the downlink routing mode of the routing node of the DAO message A DAO message processing unit for changing a parent address of a Transit Information Option or updating a routing table; And receiving a data packet, obtaining a next address to transmit the data packet from a source route header (SRH) included in the data packet, and searching for the next node address in a neighbor table or a routing table. And a data packet processor for transmitting the data packet according to the result.
한편, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 RPL 라우팅 프로토콜에서의 혼합 모드 라우팅 방법은, DIO 메시지를 수신하고, 수신된 상기 DIO 메시지에 포함된 하향 라우팅 모드 설정 정보 및 기 설정된 라우팅 모드 변경 조건에 따라 상기 라우팅 노드의 하향 라우팅 모드를 설정하거나 기 설정된 하향 라우팅 모드를 변경하는 제1단계; DAO 메시지를 수신하고, 수신된 상기 DAO 메시지의 RPL 타겟 옵션(RPL Target Option)의 타겟 프리픽스(target prefix), 상기 DAO 메시지를 송신한 송신 주소 및 상기 라우팅 노드의 하향 라우팅 모드에 따라 상기 DAO 메시지의 트랜짓 인포메이션 옵션(Transit Information Option)의 페어런트 어드레스(parent address)를 변경하거나 라우팅 테이블을 업데이트하는 제2단계; 및 데이터 패킷을 수신하고, 상기 데이터 패킷에 포함된 소스 라우트 헤더(SRH, An IPv6 Routing Header for Source Routes with RPL)로부터 상기 데이터 패킷을 송신할 다음 노드 주소(next address)를 획득하며, 상기 다음 노드 주소를 이웃 테이블 또는 라우팅 테이블에서 검색한 결과에 따라 상기 데이터 패킷을 다음 노드로 송신하는 제3단계를 포함한다.
On the other hand, the mixed mode routing method in the RPL routing protocol according to an embodiment of the present invention for solving the above problems, receiving a DIO message, downlink routing mode configuration information included in the received DIO message and the predetermined routing Setting a downlink routing mode of the routing node or changing a preset downlink routing mode according to a mode change condition; Receive a DAO message, and according to the target prefix of the RPL target option (RPL Target Option) of the received DAO message, the transmission address that transmitted the DAO message and the downlink routing mode of the routing node of the DAO message A second step of changing a parent address of a Transit Information Option or updating a routing table; And receiving a data packet, obtaining a next address to transmit the data packet from an IPv6 Routing Header for Source Routes with RPL included in the data packet, and receiving the next node. And transmitting the data packet to a next node according to a result of retrieving an address from a neighbor table or a routing table.
본 발명의 실시예들에 따를 경우, 저장 모드와 비저장 모드를 하나의 네트워크 내에서 혼합한 혼합 모드를 구현함으로써 주위 환경에 따라 유연하고 효율적인 네트워크를 구성할 수 있다.
According to embodiments of the present invention, by implementing a mixed mode in which the storage mode and the non-storage mode are mixed in one network, a flexible and efficient network may be configured according to the surrounding environment.
도 1은 본 발명의 일 실시예에 따른 혼합 모드 라우팅 노드의 구성을 설명하기 위한 블록도이다.
도 2는 RPL에서 사용되는 DIO 메시지의 구조를 나타낸 도면이다.
도 3은 RPL에서 사용되는 DAO 메시지의 구조를 나타낸 도면이다.
도 4는 DAO 메시지의 옵션 필드에 부가되는 RPL Target Option의 구조를 나타낸 도면이다.
도 5는 DAO 메시지의 옵션 필드에 부가되는 Transit Information Option의 구조를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 혼합 모드 라우팅 방법 중, DODAG 루트에서의 DIO 메시지 생성 및 송신 과정을 도시한 순서도이다.
도 7은 본 발명의 일 실시예에 따른 혼합 모드 라우팅 방법 중 DIO 메시지 처리 방법을 도시한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 혼합 모드 라우팅 방법 중 DAO 메시지 처리 방법을 도시한 순서도이다.
도 9는 본 발명의 일 실시예에 따른 혼합 모드 라우팅 방법 중 하향 데이터 패킷 처리 방법을 도시한 순서도이다.
도 10은 DODAG 및 상향 라우트 경로를 설정하는 일례를 설명하기 위한 예시도이다.
도 11은 도 10에 설정된 DODAG에서, 하향 라우팅 모드가 저장 모드일 경우, DODAG 루트 및 2번 노드의 하향 라우팅 테이블의 형성예를 나타낸 도면이다.
도 12는 도 10에 설정된 DODAG에서, 하향 라우팅 모드가 비저장 모드 일 경우, 하향 라우트 경로를 설정하기 위한 DAO 메시지의 흐름(점선)을 표현한 도면이다.
도 13은 도 10에 설정된 DODAG에서, 하향 라우팅 모드가 비저장 모드일 경우, DODAG 루트의 하향 라우팅 테이블의 형성예를 나타낸 도면이다.
도 14는 하향 라우팅 모드가 혼합 모드로 구성된 DODAG 및 상향 라우팅 경로(실선)와 하향 라우팅 경로를 설정하기 위한 DAO 메시지의 흐름(점선)을 표현한 도면이다.
도 15는 도 14에 도시된 혼합 모드의 DODAG에서 DODAG 루트 및 10번 노드의 하향 라우팅 테이블의 형성예를 나타낸 도면이다.1 is a block diagram illustrating a configuration of a mixed mode routing node according to an embodiment of the present invention.
2 is a diagram illustrating a structure of a DIO message used in an RPL.
3 is a diagram illustrating a structure of a DAO message used in an RPL.
4 is a diagram illustrating a structure of an RPL Target Option added to an option field of a DAO message.
5 is a diagram illustrating the structure of a Transit Information Option added to an option field of a DAO message.
6 is a flowchart illustrating a process of generating and transmitting a DIO message in a DODAG route in a mixed mode routing method according to an embodiment of the present invention.
7 is a flowchart illustrating a method of processing a DIO message in a mixed mode routing method according to an embodiment of the present invention.
8 is a flowchart illustrating a DAO message processing method in a mixed mode routing method according to an embodiment of the present invention.
9 is a flowchart illustrating a downlink data packet processing method in a mixed mode routing method according to an embodiment of the present invention.
10 is an exemplary diagram for explaining an example of setting a DODAG and an upstream route path.
FIG. 11 is a diagram illustrating an example of forming a down routing table of a DODAG route and
FIG. 12 is a diagram illustrating the flow (dotted line) of a DAO message for establishing a downlink route path when the downlink routing mode is a non-storage mode in the DODAG set in FIG. 10.
FIG. 13 is a diagram illustrating an example of forming a down routing table of a DODAG route when the down routing mode is a non-storage mode in the DODAG set in FIG. 10.
FIG. 14 is a diagram illustrating a DODAG configured with a mixed down mode in a mixed mode, an uplink path (solid line), and a flow of DAO messages (dashed lines) for establishing a downlink path.
FIG. 15 is a diagram illustrating an example of forming a down routing table of a DODAG route and
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is merely an example and the present invention is not limited thereto.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely a means for effectively explaining the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.
본 발명을 설명하기에 앞서, RPL에서 upward route 및 downward route를 구성하는 과정을 간단히 설명한다.Prior to describing the present invention, a process of configuring an upward route and a downward route in RPL will be briefly described.
먼저, RPL에서 upward route는 DIO 메시지가 다른 노드로 전파되면서, DIO 메시지안의 랭크(RANK)값을 통해 만들어진다. RANK는 일종의 노드간의 링크 퀄리티(link quality)로서, 그 측정 매트릭스는 홉(hop)수, ETX(the Expected transmission count)등이 될 수 있다. 노드 간 RANK값 계산방법, 측정치, 부모 노드 선정기준 등은 오브젝트 함수(Object Function)에서 결정하며, 이에 대해서는 ietf-roll-of0에 상세히 기술되어 있다. DIO 메시지를 수신한 노드는 DIO 메시지 안의 RANK 필드 값으로 자기 노드의 부모 노드(parent)를 선정하고(일반적으로 최하위 RANK값이 담긴 DIO 메시지를 송신한 노드를 parent로 선정), RANK값을 누적 계산하며, 계산된 RANK 결과값을 업데이트하여 DIO 메시지를 주위 노드들에게 재송신한다. 이를 통해 DODAG 루트를 최상위로 하는 일종의 트리구조로 된 LLN 토폴로지가 형성되며, upward route가 만들어진다. 또한 DODAG 루트는 타이머를 통해 주기적으로 DIO 메시지를 재송신함으로서, 노드의 추가/삭제/변경 등에 따른 토폴로지/라우팅 정보 변경에 유연하게 대처한다.First, in RPL, an upward route is created through the rank value in the DIO message as the DIO message is propagated to other nodes. RANK is a kind of link quality between nodes, and the measurement matrix may be the number of hops, the Expected transmission count (ETX), or the like. The method of calculating the RANK value between nodes, measurement values, and parent node selection criteria are determined by an object function, which is described in detail in ietf-roll-of0. The node receiving the DIO message selects the parent node of its own node as the RANK field value in the DIO message (generally, selects the node that sent the DIO message containing the lowest RANK value as the parent) and accumulates the RANK value. The DIO message is resent to neighboring nodes by updating the calculated RANK result. This creates a tree-structured LLN topology with the DODAG route at the top, creating an upward route. The DODAG route also resends the DIO message periodically through a timer, which flexibly copes with topology / routing information changes due to node addition, deletion, and change.
다음으로, downward route를 생성/업데이트 하는 방법에는 크게 저장 모드(Storing mode)와 비저장 모드(Non-storing mode)가 있으며, 각각의 모드는 DIO 메시지의 MOP(mode of operation)필드에 기재된 값에 따라 결정된다. 즉, DIO 메시지의 전파 시 포함된 MOP값에 따라, 노드들의 하향 라우팅 모드가 결정된다. 모드에 따라 DAO 메시지의 송신대상이 달라지고, 하향 라우팅 정보는 수신한 DAO 메시지로부터 수집된다.Next, there are two methods of creating / updating a downward route, a storage mode and a non-storing mode, each of which is based on a value described in a mode of operation (MOP) field of a DIO message. Is determined accordingly. That is, the down routing mode of the nodes is determined according to the MOP value included in the propagation of the DIO message. The transmission destination of the DAO message varies depending on the mode, and the downlink routing information is collected from the received DAO message.
저장 모드의 경우, 리프 노드를 제외한 모든 노드들이 개별적으로 자신의 하위 노드들에 대한 라우팅 테이블(routing table)을 생성/유지한다. 각각의 노드에서는 DAO 메시지가 생성되어 자신의 부모 노드로 송신된다. 이때, DAO 메시지의 RPL Target Option의 Target Prefix는 DAO를 최초 생성하는 노드의 주소가 입력되고, Transit Information Option의 parent address는 생략된다. 이렇게 생성된 DAO 메시지는 자신의 parent로 전송/재전송된다. DAO 메시지를 수신받은 노드들은 DAO 메시지를 송신한 노드의 주소와 RPL Target Option의 Target prefix에 기록된 최초 DAO 생성 노드의 주소를 이용하여 라우팅 테이블을 생성/업데이트 한다. 라우팅 테이블에는 목적지 주소(destination address)와 목적지 주소에 도착하기 위해 전송해야 하는 다음 주소(next address) 항목 등이 있다(자세한 항목은 ietf-roll-rpl참조).In storage mode, all nodes except the leaf node individually create / maintain a routing table for their subnodes. At each node, a DAO message is generated and sent to its parent node. In this case, as the target prefix of the RPL Target Option of the DAO message, the address of the node that first generates the DAO is input, and the parent address of the Transit Information Option is omitted. The generated DAO message is sent / retransmitted to its parent. Nodes receiving the DAO message create / update the routing table using the address of the node that sent the DAO message and the address of the first DAO generating node recorded in the Target prefix of the RPL Target Option. The routing table contains a destination address and a next address entry that must be sent to arrive at the destination address (see ietf-roll-rpl for details).
한편, 비저장 모드의 경우 DODAG 루트만 DODAG안의 노드들에 대한 라우팅 테이블을 생성/유지한다. 비저장 모드 의 각 노드들은 DAO 메시지를 다음과 같이 생성한다. RPL Target Option의 Target Prefix는 DAO를 최초 생성하는 노드의 주소가 입력되고, Transit Information Option의 parent address에는 자신의 최적의 부모 노드(best parent)의 주소가 입력된다. 이때 best parent는 전술한 오브젝트 함수에 의하여 결정될 수 있으며, 예를 들어 상향 경로를 통한 메시지 전달 홉(hop) 수가 최소가 되도록 best parent를 결정할 수 있다. 생성된 DAO 메시지는 DODAG 루트를 목적지로 하여 전송된다. DAO 메시지를 수신 받은 DODOA 루트는 DAO 메시지의 RPL Target Option의 Target prefix에 담겨진 최초 DAO 생성 노드의 주소 및 부모 노드 주소가 담겨진 Transit Information Option의 parent address를 이용하여 라우팅 테이블을 생성/업데이트한다.On the other hand, in non-storage mode, only the DODAG root creates / maintains the routing table for the nodes in the DODAG. Each node in non-storage mode generates DAO message as follows. In the Target Prefix of the RPL Target Option, the address of the node that first generates the DAO is input. In the parent address of the Transit Information Option, the address of its best parent is input. In this case, the best parent may be determined by the above-described object function. For example, the best parent may be determined such that the number of message transfer hops through the uplink is minimized. The generated DAO message is sent with the DODAG route as the destination. The DODOA route receiving the DAO message creates / updates a routing table using the parent address of the Transit Information Option containing the address of the first DAO creation node and the parent node address contained in the target prefix of the RPL Target Option of the DAO message.
하향 패킷 전송시, DODAG 루트는 위와 같이 생성된 라우팅 테이블에서 destination address까지 이르는 소스 라우팅 경로(source routing path)를 검색하여, SRH(source route header, ietf-6man-rpl-routing-header참조)를 생성한다. SRH는 하향 패킷에 삽입되고, SRH가 포함된 하향데이터 패킷을 수신한 노드들은 SRH를 처리하여, 해당 패킷을 전송할 타겟 주소를 얻은 뒤 얻어진 타겟으로 패킷을 전송한다. 이러한 SRH 처리를 통해서 해당 패킷은 source route path를 따라 최종 목적지까지 전송된다.
When transmitting a downlink packet, the DODAG route searches the source routing path from the routing table created above to the destination address and generates a source route header (see ietf-6man-rpl-routing-header). do. The SRH is inserted into the downlink packet, and the nodes receiving the downlink data packet including the SRH process the SRH, obtain a target address to transmit the packet, and transmit the packet to the obtained target. Through such SRH processing, the packet is transmitted to the final destination along the source route path.
도 1은 본 발명의 일 실시예에 따른 혼합 모드 라우팅 노드(100)의 구성을 설명하기 위한 블록도이다. 본 발명에서 혼합 모드 라우팅 노드(100)는 저전력 고손실 네트워크(Low power and lossy network)를 구성하는 장치로서, 복수 개의 혼합 모드 라우팅 노드(100)가 RPL을 이용하여 트리 구조의 네트워크를 구성하도록 구성된다.1 is a block diagram illustrating a configuration of a mixed
도시된 바와 같이, 본 발명의 일 실시예에 따른 혼합 모드 라우팅 노드(100)는 설정부(102), 패킷 생성부(104), 패킷 송수신부(106), DIO 메시지 처리부(108), DAO 메시지 처리부(110) 및 데이터 패킷 처리부(112)를 포함한다.As shown, the mixed
설정부(102)는 혼합 모드 라우팅 노드(100)의 초기 하향 라우팅 모드(downward routing mode), 혼합 모드(mixed mode) 활성화 여부, 혼합 모드 활성화 시 하향 라우팅 모드의 변경 조건 등을 설정한다. 상술한 설정값들은 예를 들어 네트워크의 관리자 등에 의하여 설정부(102)에 입력될 수 있으며, 이를 위하여 설정부(102)는 적절한 입력 인터페이스를 포함할 수 있다.The
전술한 바와 같이, 하향 라우팅 모드는 저장 모드(Storing mode)와 비저장 모드(Non-storing mode)로 구별되며, 상기 초기 하향 라우팅 모드는 최초 실행시 혼합 모드 라우팅 노드(100)가 어떤 모드로 실행될 지의 여부에 대한 설정값이다. 혼합 모드 활성화 여부 값은 혼합 모드 라우팅 노드(100)가 필요에 따라 하향 라우팅 모드를 변경하는 혼합 모드로 동작할 것인지의 여부를 결정하기 위한 값으로서, 예를 들어 1일 경우 혼합 모드로 동작하고, 0일 경우 기존 RPL모드인 저장 모드 또는 비저장 모드 중 어느 하나로 동작하도록 구성될 수 있다. 하향 라우팅 모드의 변경 조건은 혼합 모드에서 하향 라우팅 모드를 변경하기 위한 조건에 대한 정보로서, 예를 들어 LLN에 속한 노드들이 DODAG 루트 노드부터 특정 홉 마다, 또는 특정 랭크에 도달할 때 마다, 일정 배터리 이하, 또는 특정 노드의 주소일 경우 하향 라우팅 모드를 변경하도록 구성될 수 있다. 다만 이는 하나의 예시일 뿐이며, 관리자 등은 이 외에도 필요에 따라 적절한 변경 조건을 설정할 수 있으며, 각 혼합 모드 라우팅 노드(100)는 설정된 변경 조건에 따라 하향 라우팅 모드를 저장 모드에서 비저장 모드로, 또는 비저장 모드에서 저장 모드로 변경할 수 있다.As described above, the down routing mode is divided into a storage mode and a non-storing mode, and the initial down routing mode is executed in a mode in which the mixed
패킷 생성부(104)는 ICMPv6 RPL 콘트롤 메시지(DIO, DIS, DAO, DAO-ACK)와 소스 라우트 헤더(Source Routes Header, 이하 SRH로 표현)를 생성한다. 도 2는 DIO 메시지의 구조를 나타낸 도면이다. 도시된 상기 DIO 메시지의 각 필드 중 MOP(Mode of operation) 필드의 값은 설정부(102)에서 설정한 초기 하향 라우팅 모드를 참조하여 설정된다. 또한, 혼합 모드 플래그(Mixed mode flag)는 DIO의 미사용 Flag 또는 Reserved 필드 중에서 1bit를 선정하여 기록하며, 상기 값은 설정부(102)의 혼합 모드 활성화 여부 설정값을 참고한다.The
도 3은 DAO 메시지의 구조를 나타낸 도면이다. DAO 메시지의 경우 RPL 타겟(RPL target), 트랜짓 인포메이션(Transit Information) 등 여러 옵션 헤더(Option header)를 추가할 수 있다.3 is a diagram illustrating the structure of a DAO message. In the case of a DAO message, various option headers, such as an RPL target and a Transit Information, may be added.
도 4는 DAO 메시지의 옵션 필드에 부가되는 RPL Target Option의 구조를 나타낸 도면이다. RPL Target Option의 Target Prefix에는 DAO 메시지를 최초 생성하는 노드(라우팅 노드)의 주소가 입력된다. 또한 도 5는 DAO 메시지의 옵션 필드에 부가되는 Transit Information Option의 구조를 나타낸 도면으로서, Transit Information Option의 Parent Address 필드에는 Non-storing mode의 경우 자신의 부모 노드의 주소를 입력하고, storing mode의 경우 생략한다.4 is a diagram illustrating a structure of an RPL Target Option added to an option field of a DAO message. In the Target Prefix of the RPL Target Option, the address of the node (routing node) that initially generates the DAO message is entered. FIG. 5 is a diagram illustrating the structure of a Transit Information Option added to an option field of a DAO message. In the Parent Address field of the Transit Information Option, an address of a parent node of a non-storing mode is input. Omit.
SRH는 non-storing mode일 때, 하향 패킷(downward packet)이 목적지 주소(destination address)까지 원활히 전송될 수 있도록 경로 정보가 포함된다. 기존 RPL 규약에서는 non-storing mode일 경우에 한하여 데이터 패킷 헤더에 SRH가 추가되도록 구성된다. 그러나 본 발명의 경우 하나의 DODAG안에 storing/non-storing mode가 혼재되어 있으므로, mode에 관계없이 데이터 패킷 헤더에 SRH가 추가된다. 이때 SRH 생성 알고리즘은 종래의 알고리즘(ietf-6man-rpl-routing-header, An IPv6 Routing Header for Source Routes with RPL)을 따른다. When the SRH is in the non-storing mode, path information is included so that a downlink packet can be smoothly transmitted to a destination address. In the existing RPL protocol, SRH is added to the data packet header only in the non-storing mode. However, in the present invention, since the storing / non-storing mode is mixed in one DODAG, SRH is added to the data packet header regardless of the mode. In this case, the SRH generation algorithm follows a conventional algorithm (ietf-6man-rpl-routing-header, An IPv6 Routing Header for Source Routes with RPL).
또한, 상기 DIO 메시지, DAO 메시지 및 SRH에 있어 본 명세서에서 특별히 언급되지 않은 부분들도 기존의 알고리즘을 그대로 따름을 유의한다.In addition, it is noted that parts not specifically mentioned in the DIO message, the DAO message, and the SRH follow the existing algorithm as it is.
패킷 송수신부(106)는 패킷을 송신하고, 수신하는 역할을 수행한다. 이 때 송신 시기는 타이머(미도시)에 의해 결정된다. 타이머 운용방법은 RPL에서 사용중인 트리클(Trickle) 알고리즘(자세한 사항은 RFC 6206 참조)을 그대로 따른다.The
DIO 메시지 처리부(108)는 DIO 메시지를 수신하고, 수신된 상기 DIO메시지의 정보를 이용하여 자신의 DODAG정보(MOP-하향 라우팅 모드, DODAG ID 등)를 생성/갱신한다. 또한, 수신된 상기 DIO 메시지에 포함된 하향 라우팅 모드 설정 정보 및 기 설정된 라우팅 모드 변경 조건에 따라 기 설정된 하향 라우팅 모드를 변경한다.The
구체적으로, DIO 메시지 처리부(108)는 수신된 상기 DIO 메시지의 MOP가 하향 라우트를 지원하는 모드로 설정되고 (예를 들어 MOP의 값이 0일 경우 RPL에서 downward route는 지원하지 않음), 혼합 모드 플래그가 활성화되어 있는지의 여부를 판단한다. 수신된 상기 DIO 메시지의 하향 라우팅 모드 설정 여부는 상기 DIO 메시지의 MOP 필드에 기록된 값으로부터 판단될 수 있으며, 또한 수신된 상기 DIO 메시지의 혼합 모드 플래그 활성화 여부는, 상기 DIO 메시지의 미사용 플래그 또는 리저브드 필드(Reserved Field) 중 패킷 생성부(104)에 의하여 혼합 모드 플래그로 설정된 비트로부터 알 수 있다.Specifically, the DIO
만약 하향 라우팅 모드가 설정되고, 혼합 모드 플래그가 활성화되어 있는 경우, DIO 메시지 처리부(108)는 설정부(102)에 설정된 설정된 하향 라우팅 모드 변경 조건을 만족하는지의 여부를 판단하고, 변경 조건을 만족하는 경우 기 설정된 하향 라우팅 모드를 변경한다. 즉, 기 설정된 하향 라우팅 모드가 저장 모드(storing mode)인 경우 비저장 모드(non-storing mode)로 변경하고, 기 설정된 하향 라우팅 모드가 비저장 모드인 경우 저장 모드로 변경한다. 이로써 본 발명에 따를 경우 DIO 메시지의 설정값 및 변경 조건에 따라 종래와는 달리 하나의 DODAG안에 non-storing mode와 storing mode가 혼재된 상태가 된다.If the down routing mode is set and the mixed mode flag is activated, the DIO
DAO 메시지 처리부(110)는 DAO 메시지를 수신하고, 수신된 상기 DAO 메시지의 타겟 프리픽스(target prefix), 상기 DAO 메시지를 송신한 송신 주소 및 상기 라우팅 노드의 하향 라우팅 모드에 따라 상기 DAO 메시지의 Transit Information Option의 Parent Address를 변경하거나 라우팅 테이블을 업데이트한다.The DAO
구체적으로, DAO 메시지 처리부(110)는 DAO 메시지 수신 시 자신이 DODAG 루트 노드인지의 여부를 판단한다. 이때, 상기 DAO 메시지를 수신한 노드(라우팅 노드)가 DODAG 루트인 경우, DAO 메시지 처리부(110)는 수신한 DAO 메시지의 Transit Information Option(TIO)의 parent address가 비어 있는지의 여부를 판단한다. 만약 상기 parent address가 비어 있는 경우, DAO 메시지 처리부(110)는 Storing 모드일 때의 라우팅 테이블을 생성하거나 또는 기 존재하는 라우팅 테이블을 업데이트하는 방법으로 라우팅 테이블을 생성/업데이트 한다. (라우팅 테이블의 구체적인 사항에 대해서는 draft-ietf-roll-rpl 참고) 즉, 상기 라우팅 테이블의 next address에는 상기 DAO 메시지를 송신한 송신 노드의 주소가 기록되고, destination address에는 RPL Target Option의 Target Prefix에 기록된 주소가 기록된다. 이와 달리 상기 parent address가 비어 있지 않은 경우, DAO 메시지 처리부(110)는 Non-storing 모드일 때의 라우팅 테이블을 생성하거나 또는 기 존재하는 라우팅 테이블을 업데이트하는 방법으로 라우팅 테이블을 생성/업데이트 한다. 즉 상기 라우팅 테이블의 next address에는 Transit Information Option의 parent address가 저장되며, destination address에는 RPL Target Option의 Target Prefix에 기록된 주소가 기록된다.In detail, the
만약, DAO 메시지 수신한 노드가 DODAG 루트 노드가 아닌 경우에는 다음과 같이 처리된다. 먼저, 상기 DAO 메시지를 수신한 노드의 하향 라우팅 모드가 비저장 모드이고, 상기 DAO 메시지의 RPL Target Option의 Target Prefix 주소와 상기 DAO 메시지를 송신한 송신 노드의 주소가 일치하는 경우, DAO 메시지 처리부(110)는 상기 DAO 메시지의 TIO의 Parent Address에 자신의(즉, 상기 DAO 수신 노드의) 주소를 입력하고, 입력된 상기 DAO 메시지를 DODAG 루트로 송신한다.If the node receiving the DAO message is not the DODAG root node, it is processed as follows. First, when the down routing mode of the node that receives the DAO message is the non-storage mode, and the target prefix address of the RPL Target Option of the DAO message and the address of the transmitting node that transmits the DAO message match, the DAO message processing unit ( 110 inputs its own address (ie, the DAO receiving node) to the Parent Address of the TIO of the DAO message, and transmits the input DAO message to the DODAG root.
이와 달리, 상기 DAO 메시지의 RPL Target Option의 Target Prefix 주소와 상기 DAO 메시지를 송신한 송신 노드의 주소가 일치하지 않는 경우, DAO 메시지 처리부(110)는 DAO 메시지의 Transit Information Option의 Parent Address에 상기 DAO 메시지를 송신한 송신 노드의 주소를 입력하고, 입력된 상기 DAO 메시지를 DODAG 루트로 송신한다.On the contrary, when the target prefix address of the RPL Target Option of the DAO message and the address of the transmitting node that transmits the DAO message do not match, the DAO
한편, 상기 DAO 메시지를 수신한 라우팅 노드(100)의 하향 라우팅 모드가 저장 모드(storing)인 경우, DAO 메시지 처리부(110)는 수신된 상기 DAO 메시지의 RPL Target Option 및 상기 DAO 송신 노드의 주소 정보를 이용하여 상기 라우팅 노드의 라우팅 테이블을 업데이트하고, 수신된 상기 DAO 메시지를 상위 노드로 송신한다. 이때 상기 라우팅 테이블의 next address에는 상기 DAO 메시지를 송신한 송신 노드의 주소가, destination address에는 RPL Target Option에 저장된 노드의 주소가 각각 기록된다.On the other hand, when the downlink routing mode of the
데이터 패킷 처리부(112)는 데이터 패킷을 수신하고, 상기 데이터 패킷에 포함된 소스 라우트 헤더(SRH)로부터 상기 데이터 패킷을 송신할 다음 노드 주소(next address)를 획득하며, 상기 라우팅 노드의 하향 라우팅 모드에 따라 이웃 테이블 또는 라우팅 테이블에서 상기 다음 노드 주소에 대응하는 라우팅 정보를 획득하고, 획득된 상기 라우팅 정보에 따라 상기 데이터 패킷을 다음 노드로 송신한다.The data
데이터 패킷이 수신되면, 데이터 패킷 처리부(112)는 먼저 수신된 상기 데이터 패킷의 SRH로부터 상기 데이터 패킷을 송신할 다음 노드 주소(next address)를 획득한다(SRH로부터 next address를 획득하는 과정에 대해서는 ietf-6man-rpl-routing-header 참고). 종래의 non-storing 모드의 경우 SRH에 포함된 source route path는 최종 목적지까지의 경로의 주소가 모두 표현되어 있으므로, 해당 정보만으로 패킷 전달이 가능하다. 하지만 mixed mode의 경우 non-storing mode와 storing mode가 혼재되어 있어 SRH의 source route path만 따라가서는 최종목적지까지 도달하지 못하게 되므로, 다음과 같은 과정을 거쳐 라우팅을 수행하게 된다.When the data packet is received, the data
먼저, 데이터 패킷 처리부(112)는 SRH로부터 획득된 상기 다음 노드 주소를 이웃 테이블(neighbor table)에서 검색하여 상기 다음 노드 주소가 1-홉 주변에 존재하는지를 판단한다. 상기 이웃 테이블은 패킷을 수신한 라우팅 노드(100)에서 1-홉에 도달할 수 있는 주변 노드들의 정보를 기록한 테이블이다. 만약 상기 이웃 테이블에 상기 다음 노드 주소가 존재하는 경우, 데이터 패킷 처리부(112)는 상기 데이터 패킷을 다음 노드로 송신한다.First, the data
만약 상기 다음 노드 주소가 상기 이웃 테이블에 존재하지 않는 경우, 데이터 패킷 처리부(112)는 다음으로 상기 다음 노드 주소를 자신의 라우팅 테이블에서 검색한다. 만약 상기 다음 노드 주소에 대응하는 라우팅 정보가 라우팅 테이블에 저장되어 있는 경우, 데이터 패킷 처리부(112)는 라우팅 테이블로부터 획득된 상기 라우팅 정보에 따라 상기 데이터 패킷을 송신한다.If the next node address does not exist in the neighbor table, the data
그러나 만약 상기 다음 노드 주소가 상기 라우팅 테이블에도 존재하지 않거나 또는 상기 라우팅 테이블 자체가 존재하지 않는 경우(해당 노드가 non-storing 모드인 경우), 데이터 패킷 처리부(112)는 수신된 상기 데이터 패킷을 폐기(drop)하고 다음 패킷의 수신을 대기한다.
However, if the next node address does not exist in the routing table or the routing table itself does not exist (if the node is in a non-storing mode), the
도 6은 본 발명의 일 실시예에 따른 혼합 모드 라우팅 방법 중, DODAG 루트에서의 DIO 메시지 생성 및 송신 과정(600)을 도시한 순서도이다.6 is a flowchart illustrating a process of generating and transmitting a DIO message at a
먼저, DODAG 루트 노드의 설정부(102)는, 혼합 모드 라우팅 노드(100)의 초기 하향 라우팅 모드(downward routing mode), 혼합 모드(mixed mode) 활성화 여부 및 혼합 모드 활성화 시 하향 라우팅 모드의 변경 조건을 설정한다(S602), 이후, 패킷 생성부(104)는 설정부(102)의 설정값을 참조하여 DIO 메시지를 생성한다(S604). 마지막으로 패킷 송수신부(106)는 패킷 생성부(104)에서 생성된 DIO 메시지를 주위 노드들로 송신한다(S606).
First, the
도 7은 본 발명의 일 실시예에 따른 일 실시예에 따른 혼합 모드 라우팅 방법 중 DIO 메시지 처리 방법을 도시한 순서도이다.7 is a flowchart illustrating a method of processing a DIO message in a mixed mode routing method according to an embodiment of the present invention.
라우팅 노드(100)에서 DIO 메시지를 수신하면(S702), 라우팅 노드(100)는 먼저 수신된 DIO 메시지의 버전 번호와 자신이 보유한 버전 번호를 비교한다(S704). 만약 상기 S704 단계의 비교 결과 수신한 DIO 메시지의 버전 번호가 자신이 보유한 버전 번호보다 작을 경우에는 해당 메시지를 버리고, 다른 DIO 메시지 수신을 기다린다(S706).When the
만약 상기 S704 단계의 비교 결과 수신한 DIO 메시지의 버전 번호가 자신이 보유한 버전 번호보다 클 경우에는 수신된 DIO 메시지를 이용하여 자신의 DODAG 정보(MOP, DODAG ID, RPL InstanceID 등)를 생성 및 갱신하고(자세한 항목은 ietf-roll-rpl 참조), 오브젝트 함수를 이용하여 노드 간 랭크 값을 계산하며, 계산된 랭크 값을 기준으로 자신의 best parent를 결정한다(S708).If the version number of the received DIO message is greater than the owned version number as a result of the comparison of step S704, the DODAG information (MOP, DODAG ID, RPL InstanceID, etc.) is generated and updated by using the received DIO message. (For more information, refer to ietf-roll-rpl.) The rank value between nodes is calculated using an object function, and its best parent is determined based on the calculated rank value (S708).
이후, 라우팅 노드(100)는 수신된 DIO 메시지의 하향 라우팅 모드(downward routing mode)가 저장 모드 또는 비저장 모드로 설정되고(즉, MOP 값이 0이 아니고), 혼합 모드(mixed mode) 플래그가 활성화되어 있는지의 여부를 판단한다(S710).Thereafter, the
만약 상기 S710 단계의 판단 결과 하향 라우팅 모드가 저장 모드 또는 비저장 모드로 설정되고, 혼합 모드 플래그가 활성화되어 있는 경우에는 다음으로 자신의 기 설정된 하향 라우팅 모드 변경 조건을 만족하는지 여부를 판단하고(S712), 라우팅 모드 변경 조건을 만족하는 경우, 기 설정된 하향 라우팅 모드를 변경한다(S714). 구체적으로 수신된 상기 DIO 메시지의 MOP 필드에 의하여 설정된 하향 라우팅 모드가 저장 모드(storing mode)인 경우 비저장 모드(non-storing mode)로 변경하고, 비저장 모드인 경우 저장 모드로 변경하게 된다. 다만, 본 단계에서 하향 라우팅 모드가 변경되더라도, 수신된 상기 DIO 메시지의 MOP 필드에 기록된 하향 라우팅 모드가 변경되는 것은 아님에 유의한다. 즉, 후술할 S718 단계에서 송신되는 DIO 메시지는 애초에 기록된 MOP를 그대로 유지하며, 랭크 값이 업데이트되어 송신된다.If it is determined in step S710 that the downlink routing mode is set to a storage mode or a non-save mode, and the mixed mode flag is activated, it is next determined whether a preset downlink routing mode change condition is satisfied (S712). If the routing mode change condition is satisfied, the preset downlink routing mode is changed (S714). In more detail, when the downlink routing mode set by the received MOP field of the DIO message is a storage mode, it is changed to a non-storing mode, and when the non-storage mode is a storage mode. However, it is noted that even if the down routing mode is changed in this step, the down routing mode recorded in the MOP field of the received DIO message is not changed. That is, the DIO message transmitted in step S718 to be described later maintains the MOP originally recorded, and the rank value is updated and transmitted.
이후, 라우팅 노드(100)는 수신된 상기 DIO 메시지의 랭크 값을 업데이트하고(S716). 상기 DIO 메시지를 주위 노드로 송신한다(S718).
Thereafter, the
도 8은 본 발명의 일 실시예에 따른 일 실시예에 따른 혼합 모드 라우팅 방법 중 DAO 메시지 처리 방법을 도시한 순서도이다.8 is a flowchart illustrating a DAO message processing method in a mixed mode routing method according to an embodiment of the present invention.
전술한 바와 같이, DAO 메시지는 각 노드의 패킷 생성부에서 생성된다. 생성되는 DAO의 RPL Target Option의 Target Prefix는 DAO 메시지를 최초 생성하는 노드의 주소가 입력된다. 그리고 만약 상기 DAO 메시지를 생성하는 노드가 Non-storing mode인 경우, 생성되는 DAO의 Transit Information Option에는 DODAG parent address가 삽입되며, storing mode의 경우, DAO의 Transit Information Option의 parent address는 생략된다.As described above, the DAO message is generated in the packet generator of each node. The target prefix of the RPL Target Option of the generated DAO is inputted with the address of the node that first generates the DAO message. If the node generating the DAO message is in the non-storing mode, the DODAG parent address is inserted into the generated Transit Information Option of the DAO. In the storing mode, the parent address of the Transit Information Option of the DAO is omitted.
상기와 같이 생성된 DAO 메시지가 수신되면(S802) 라우팅 노드(100)는 먼저 자신이 DODAG 루트 노드인지의 여부를 판단한다(S804). 만약 상기 판단 결과 자신이 DODAG 루트가 아닌 경우, 다음으로 자신의 하향 라우팅 모드를 판별한다(S806).When the DAO message generated as described above is received (S802), the
만약 상기 S806 단계의 판별 결과 자신의 하향 라우팅 모드가 non-storing 모드인 경우, 다음으로 상기 DAO 메시지의 RPL Target Option의 Target Prefix 주소와 상기 DAO 메시지를 송신한 송신 노드의 주소가 일치하는지의 여부를 판단한다(S808).If it is determined in step S806 that the downlink routing mode is a non-storing mode, next, whether the target prefix address of the RPL Target Option of the DAO message and the address of the transmitting node that transmitted the DAO message match; It is determined (S808).
만약 상기 S808 단계의 판단 결과 상기 DAO 메시지의 RPL Target Option의 Target Prefix 주소와 상기 DAO 메시지를 송신한 송신 노드의 주소가 일치하는 경우, 라우팅 노드(100)는 상기 DAO 메시지의 Transit Information Option의 Parent Address에 상기 라우팅 노드의 주소를 입력하고(S810), 상기 DAO 메시지를 DODAG 루트로 송신한다(S812).If it is determined in step S808 that the Target Prefix address of the RPL Target Option of the DAO message and the address of the transmitting node that has transmitted the DAO message match, the
만약 상기 S808 단계의 판단 결과 상기 DAO 메시지의 RPL Target Option의 Target Prefix 주소와 상기 DAO 메시지를 송신한 송신 노드의 주소가 일치하지 않는 경우에는, 상기 DAO 메시지의 Transit Information Option의 Parent Address에 상기 DAO 메시지를 송신한 송신 노드의 주소를 입력하고(S814), 상기 DAO 메시지를 DODAG 루트로 송신한다(S812).If it is determined in step S808 that the target prefix address of the RPL Target Option of the DAO message and the address of the transmitting node that has transmitted the DAO message do not match, the DAO message is set to the Parent Address of the Transit Information Option of the DAO message. Input the address of the transmitting node that has transmitted the data (S814), and transmit the DAO message to the DODAG route (S812).
한편, 만약 상기 S806 단계의 판별 결과 상기 라우팅 노드의 하향 라우팅 모드가 storing mode인 경우에는, 수신된 상기 DAO 메시지의 RPL Target Option 및 상기 송신 노드의 주소 정보를 이용하여 상기 라우팅 노드의 라우팅 테이블을 업데이트한다(S816). 즉, 상기 라우팅 테이블의 next address에는 상기 DAO 메시지를 송신한 송신 노드의 주소가 기록되고, destination address에는 RPL Target Option의 Target Prefix에 기록된 주소가 기록된다. 그 후 상기 DAO 메시지를 자신의 DAO parent로 송신한다(S812). DAO parent는 일반적으로 자신의 parent를 의미한다.On the other hand, if it is determined in step S806 that the downlink routing mode of the routing node is storing mode, the routing table of the routing node is updated using the RPL Target Option of the received DAO message and the address information of the transmitting node. (S816). That is, the address of the transmitting node that has transmitted the DAO message is recorded in the next address of the routing table, and the address recorded in the Target Prefix of the RPL Target Option is recorded in the destination address. Thereafter, the DAO message is transmitted to its DAO parent (S812). A DAO parent generally means its parent.
한편, 상기 S804 단계의 판단 결과 자신이 DODAG 루트인 경우에는, 상기 DAO 메시지의 Transit Information Option의 값이 비어 있는지의 여부를 판단한다(S818). 만약 상기 값이 비어 있는 경우에는 수신된 상기 DAO 메시지의 RPL Target Option 및 상기 DAO 송신 노드의 주소 정보를 이용하여 storing mode 일 때의 라우팅 테이블을 생성 또는 업데이트 방법으로 라우팅 테이블을 생성/업데이트한다(S820). 즉, 상기 라우팅 테이블의 next address에는 상기 DAO 메시지를 송신한 송신 노드의 주소가 기록되고, destination address에는 RPL Target Option의 Target Prefix에 기록된 주소가 기록된다. 그렇지 않은 경우에는 수신한 DAO 메시지의 RPL Target Option의 target prefix와 Transit Information Option의 parent address를 이용하여 non-storing mode 일 때의 방법으로 라우팅 테이블을 생성 또는 수정한다(S822). 즉 상기 라우팅 테이블의 next address에는 TIO의 parent address가 저장되며, destination address에는 RPL Target Option의 Target Prefix에 기록된 주소가 기록된다.
On the other hand, when the determination result of step S804, if the root of the DODAG itself, it is determined whether the value of the Transit Information Option of the DAO message is empty (S818). If the value is empty, a routing table is generated / updated by a method of generating or updating a routing table in a storing mode using the RPL Target Option of the received DAO message and address information of the DAO transmitting node (S820). ). That is, the address of the transmitting node that has transmitted the DAO message is recorded in the next address of the routing table, and the address recorded in the Target Prefix of the RPL Target Option is recorded in the destination address. Otherwise, the routing table is created or modified in the non-storing mode using the target prefix of the RPL Target Option and the parent address of the Transit Information Option of the received DAO message (S822). That is, the parent address of the TIO is stored in the next address of the routing table, and the address recorded in the Target Prefix of the RPL Target Option is recorded in the destination address.
도 9는 본 발명의 일 실시예에 따른 혼합 모드 라우팅 방법 중 하향 데이터 패킷 처리 방법을 도시한 순서도이다.9 is a flowchart illustrating a downlink data packet processing method in a mixed mode routing method according to an embodiment of the present invention.
RPL border router(주로 DODAG 루트)가 LLN 내/외부에서 하향 패킷(downward packet)을 수신하면, DODAG 루트는 최종 목적지까지 이르는 경로 정보를 SRH(source router header)에 삽입하고 이 경로를 따라 데이터 패킷을 전송한다. 하지만, 본 발명에 따른 혼합 모드의 경우 storing mode와 non-storing mode가 혼재된 상태로, 일부 storing mode인 노드들에 대한 경로 정보는 SRH에 담겨있지 않다. 따라서 이를 해결하기 위하여 다음과 같은 방법을 따르게 된다.When an RPL border router (usually a DODAG route) receives a downlink packet inside / outside the LLN, the DODAG route inserts route information to the source router header (SRH) leading to the final destination and sends data packets along this route. send. However, in the mixed mode according to the present invention, the storing mode and the non-storing mode are mixed, and the path information about the nodes in some storing modes is not contained in the SRH. Therefore, to solve this problem, the following method is followed.
도시된 바와 같이, 상기 하향 데이터 패킷 처리 방법은 패킷을 수신한 라우팅 노드(100)가 DODAG 루트(RPL border router)인지의 여부에 따라 달라진다.As shown, the downlink data packet processing method depends on whether the
먼저, DODAG 루트로 데이터 패킷이 수신된 경우(S902, S904, 즉 LLN 내/외부로부터 하향 패킷을 수신한 경우), 라우팅 노드(100)는 최종 목적지까지 이르는 경로 정보를 SRH(source router header)에 삽입하고(S906), 상기 SRH를 프로세싱하여 데이터 패킷을 송신할 다음 노드(next address)를 계산한다(S908).First, when a data packet is received through the DODAG route (S902, S904, i.e., when a downlink packet is received from inside / outside the LLN), the
만약 패킷을 수신한 노드가 DODAG 루트가 아닌 경우, 라우팅 노드(100)는 먼저 수신된 데이터 패킷의 목적지 주소로부터 해당 데이터 패킷이 자신을 최종 목적지로 하는지의 여부를 판단한다(S910). 만약 자신이 수신된 데이터 패킷의 최종 목적지일 경우에는 데이터 패킷이 원하는 최종 목적지에 정상적으로 도착을 완료한 경우이므로 알고리즘은 종료된다. 만약 자신이 데이터 패킷의 최종 목적지가 아닐 경우에는, 다음으로 데이터 패킷의 next address와 자신의 주소가 일치하는 지의 여부를 판단한다(S912). 판단 결과 만약 데이터 패킷의 next address와 자신의 주소가 일치하는 경우에는 최종 목적지에 도달할 수 있는 새로운 next address가 필요하므로 상기 데이터 패킷 헤더의 SRH를 프로세싱하여 새로운 next address를 계산한다(S908). 처리하는 방법은 기존 방법(An IPv6 Routing Header for Source Routes with RPL)과 동일하므로, 이에 대해서는 상세한 설명을 생략하기로 한다.If the node receiving the packet is not the DODAG route, the
다음으로, 라우팅 노드(100)는 자신의 이웃 테이블을 검색하여 next address가 1 홉 기준 주위에 존재하는지 확인한다(S914). 만약 상기 S914 단계의 판단 결과, 상기 next address가 상기 이웃 테이블에 존재하는 경우에는, 자신의 주변에 next address가 존재하므로, 상기 데이터 패킷을 next address로 송신한다(S920). Next, the
만약 상기 S914 단계의 판단 결과, 상기 next address가 상기 이웃 테이블에 존재하지 않는 경우에는, 다음으로 혼합 모드가 활성화되어 있는지의 여부를 판단하고(S916), 혼합 모드가 활성화된 경우에는 다음으로 상기 next address가 라우팅 테이블에 존재하는지 여부를 판단한다(S918).If it is determined in step S914 that the next address does not exist in the neighbor table, it is determined whether a mixed mode is activated next (S916). It is determined whether the address exists in the routing table (S918).
상기 S918 단계의 판단 결과, 상기 next address가 상기 라우팅 테이블에 존재하는 경우에는, 상기 라우팅 테이블에서 상기 next address에 대응하는 라우팅 정보를 획득하고, 상기 데이터 패킷을 획득한 상기 라우팅 정보에 따른 노드로 송신한다(S920).As a result of the determination in step S918, when the next address exists in the routing table, routing information corresponding to the next address is obtained from the routing table, and the data packet is transmitted to a node according to the obtained routing information. (S920).
한편, 상기 S912 단계의 판단 결과 혼합 모드가 활성화되어 있지 않거나, 또는 상기 S914 단계의 판단 결과, 상기 다음 노드 주소가 상기 라우팅 테이블에 존재하지 않거나 또는 상기 라우팅 테이블 자체가 존재하지 않는 경우에는, 수신된 상기 데이터 패킷을 폐기(drop)하고 처음으로 돌아가 다음 데이터 패킷을 수신 대기한다.
On the other hand, if the mixed mode is not activated as a result of the determination in step S912, or if the next node address does not exist in the routing table or the routing table itself does not exist, as a result of the determination in step S914, Drop the data packet and return to the beginning waiting for the next data packet.
도 10 내지 15는 본 발명에 따른 저장 모드, 비저장 모드 및 혼합 모드의 하향 라우팅 방법의 차이를 설명하기 위한 예시도이다. 각각의 도면에서 각 노드의 주소는 원래 IPv6 주소 체계를 가지나, 여기서는 설명의 편의를 위하여 각 노드에 부여된 번호로 각 노드의 주소를 대신함을 유의한다. 또한 각각의 도면에서 DODAG 루트는 1번 노드이며, 노드 간 화살표(실선)는 DIO에 의하여 형성된 상향 라우트 경로를 나타낸다.10 to 15 are exemplary diagrams for explaining the difference between the down routing method of the storage mode, non-storage mode and mixed mode according to the present invention. In each of the drawings, the address of each node originally has an IPv6 addressing system, but for convenience of description, it is noted that the address assigned to each node replaces the address of each node. Also, in each figure, the DODAG route is
먼저, 도 10은 저장/비저장 모드에서 하향 라우팅 방법의 차이를 설명하기 위한, DODAG 및 상향 라우트 경로가 설정된 일례의 예시도이다. First, FIG. 10 is an exemplary diagram illustrating an example in which a DODAG and an upstream route path are set to explain a difference in a downlink routing method in a storage / non-storage mode.
도 11은 도10에 설정된 DODAG에서 하향 라우팅모드가 저장모드의 경우, DODAG 루트 및 2번 노드의 하향 라우팅 테이블의 형성예를 나타낸 도면이다. 하향 저장 모드의 경우 각 노드에서 형성된 DAO 메시지는 자신의 부모 노드를 타겟으로 하여 송신된다. 또한, 라우팅 테이블은 리프 노드를 제외한 모든 노드들이 가지게 되며, 본 예에서는 3, 4, 8, 14를 제외한 모든 노드에 라우팅 테이블이 형성된다. 이 중 DODAG 루트 및 2번 노드의 라우팅 테이블의 형성예를 도 11에 도시하였다. RPL border router(주로 DODAG 루트)가 LLN 내/외부에서 하향 패킷(downward packet)을 수신하면 각 노드의 라우팅 테이블을 참조하여 최종 목적지까지 도달하게 된다.FIG. 11 is a diagram illustrating an example of forming a down routing table of a DODAG route and
도 12는 도 10에 설정된 DODAG에서 하향 라우팅 모드가 비저장 모드일경우, 하향 라우트 경로를 설정하기 위한 DAO메시지의 흐름(점선)을 표현한 도면이다. 비저장 모드의 경우 각 노드에서 형성된 DAO 메시지는 모두 DODAG 루트를 타겟으로 하여 송신된다. 이에 따라 라우팅 테이블은 DODAG 루트에서만 생성되며, 이를 도 13에 나타내었다. 이때, 만약 DODAG 루트에서 노드 13으로 패킷을 전송할 경우, SRH에 포함되는 경로는 다음과 같다.
FIG. 12 is a diagram illustrating a flow (dotted line) of a DAO message for establishing a downlink route path when the downlink routing mode is a non-storage mode in the DODAG set in FIG. 10. In the non-storage mode, all DAO messages formed at each node are sent with the target of the DODAG route. Accordingly, the routing table is generated only in the DODAG root, which is shown in FIG. At this time, if a packet is transmitted from the DODAG root to the
2->5->6->7->9->10->11->12->13
2->5->6->7->9->10->11->12-> 13
RPL border router(주로 DODAG 루트)가 LLN 내/외부에서 하향 패킷(downward packet)을 수신하면 SRH에 포함된 경로를 따라 최종 목적지까지 도달하게 된다.When an RPL border router (usually a DODAG route) receives a downlink packet inside / outside the LLN, it reaches the final destination along the path included in the SRH.
도 14는 하향 라우팅 모드가 혼합 모드로 구성된 DODAG 및 상향 라우팅 경로(실선)와 하향 라우팅 경로를 설정하기 위한 DAO 메시지의 흐름(점선)을 표현한 예시도로서, 최초 하향 라우팅 모드가 저장 모드이고, (RANK/3) mode 2의 결과가 1일 때(RANK=홉수라 가정)마다, 혹은 node의 주소가 6,7,8,9,13,14 일 경우 하향 라우팅 모드를 변경하도록 변경 조건을 설정한 경우를 나타낸 것이다. 이에 따라 도면에서 저장 모드 노드는 1, 2, 3, 4, 5, 10, 11, 12가 되며, 비저장 모드 노드는 6, 7, 8, 9, 13, 14가 된다. 이 때, 하향 라우팅 테이블을 지닌 노드는 1,2,10,11이다. 이에 따라 점선 화살표로 도시된 바와 같이 저장 모드의 노드는 자신의 부모 노드로 DAO 메시지를 전송하고, 비저장 모드의 노드는 DODAG 루트 노드로 DAO 메시지를 전송한다.FIG. 14 is an exemplary diagram representing a DODAG configured with a mixed down mode in a mixed mode, an uplink path (solid line), and a flow of a DAO message (dashed line) for establishing the downlink path, wherein the initial down routing mode is a storage mode, and FIG. RANK / 3) A change condition is set to change the down-routing mode whenever the result of
전술한 바와 같이, DAO 메시지의 경우 RPL Target Option의 Target Prefix에는 DAO 메시지를 최초 생성하는 노드의 주소가 입력되며, Transit Information Option의 Parent Address 필드에는 비저장 모드의 경우 자신의 부모 노드의 주소를 입력하고, 저장 모드의 경우 생략한다.As described above, in the case of the DAO message, the address of the node that first generates the DAO message is input in the Target Prefix of the RPL Target Option, and in the Parent Address field of the Transit Information Option, the address of its parent node is input in the non-storage mode. The storage mode is omitted.
예를 들어 노드 14의 경우 비저장 모드이므로, 다음과 같이 입력된다.
For example, since
RPL Target Option의 Target prefix = 14Target prefix of RPL Target Option = 14
TIO의 Parent Address = 13
Parent Address of TIO = 13
노드 12의 경우 저장 모드이므로 최초 DAO 메시지는 다음과 같이 생성된다.
Since
RPL Target Option의 Target prefix = 12Target prefix of RPL Target Option = 12
TIO의 Parent Address = NULL
Parent Address of TIO = NULL
상기 노드 12에서 생성된 DAO 메시지가 노드 9에 도달한 경우, 노드 9는 자신이 비저장 모드이고, DAO 메시지를 송신한 노드(노드 10)와 RPL Target Option의 Target Prefix(노드 12)가 일치하지 않으므로, Transit Information Option의 Parent Address에 상기 DAO 메시지를 송신한 노드의 주소를 입력한다. 즉, 다음과 같다.
When the DAO message generated at the
RPL Target Option의 Target prefix = 12Target prefix of RPL Target Option = 12
TIO의 Parent Address = NULL -> 10
Parent Address of TIO = NULL-> 10
한편, 노드 10의 경우 저장 모드이므로 최초 DAO 메시지는 다음과 같이 생성된다.
Meanwhile, in the case of
RPL Target Option의 Target prefix = 10Target prefix of RPL Target Option = 10
TIO의 Parent Address = NULL
Parent Address of TIO = NULL
상기 노드 10에서 생성된 DAO 메시지가 노드 9에 도달한 경우, 노드 9는 자신이 비저장 모드이고, DAO 메시지를 송신한 노드(노드 10)와 RPL Target Option의 Target Prefix(노드 10)가 일치하므로, Transit Information Option의 Parent Address에 자신의 주소를 입력한다. 즉, 다음과 같다.
When the DAO message generated at the
RPL Target Option의 Target prefix = 12Target prefix of RPL Target Option = 12
TIO의 Parent Address = NULL -> 9
Parent Address of TIO = NULL-> 9
이와 동일한 과정으로, 도 8에 도시한 알고리즘을 통하여 각각의 노드로부터 DAO 메시지가 송신되면, 이를 바탕으로 라우팅 테이블이 생성된다. 도 14에 도시된 예에서, 라우팅 테이블은 DODAG 루트인 1번 노드와, 저장 모드 노드 중 리프 노드가 아닌 2, 10, 11번 노드에 생성된다. 즉, 혼합 모드의 경우 저장 모드에 비해 라우팅 테이블 보유 노드의 개수가 감소하는 것을 알 수 있다. 이 중 DODAG 루트와 10번 노드에 생성되는 라우팅 테이블의 예를 도 15에 도시하였다.In the same process, when a DAO message is transmitted from each node through the algorithm shown in FIG. 8, a routing table is generated based on this. In the example shown in FIG. 14, a routing table is created at
한편, 이 경우 DODAG 루트에서 노드 13으로 데이터 패킷을 송신할 경우의 SRH 경로는 다음과 같다.
On the other hand, in this case, the SRH path when transmitting a data packet from the DODAG root to the
2->5->6->7->9->10->12->13
2->5->6->7->9->10->12-> 13
즉, 혼합 모드의 경우 비저장 모드에 비해 SRH의 크기가 감소하는 것을 알 수 있다. 또한 저장 모드에 비해 라우팅 테이블을 지닌 노드의 개수가 줄어들게 된다.
That is, it can be seen that the size of the SRH is reduced in the mixed mode compared to the non-storage mode. In addition, the number of nodes with routing tables is reduced compared to the storage mode.
다음으로, 도 14와 같이 혼합 모드로 형성된 DODAG일 경우, DODAG 루트에서 수신된 패킷을 SRH에 따라 노드 13으로 전송하는 과정을 설명한다.Next, in the case of the DODAG formed in the mixed mode as shown in FIG. 14, a process of transmitting a packet received at the DODAG root to the
먼저, 데이터 패킷을 수신한 DODAG 루트(노드 1)는 노드 13을 목적지로 하는 SRH를 생성하고, 상기 SRH에서 next address(노드 2)를 추출한다. 상기 노드 2는 노드 1의 이웃 테이블에 저장되어 있으므로, 노드 1은 상기 데이터 패킷을 노드 2로 전송한다.First, the DODAG route (node 1) receiving the data packet generates an SRH destined for
노드 2는 수신된 패킷의 SRH로부터 새로운 next address(노드 5)를 추출하고, 이웃 노드 테이블을 참조하여 상기 데이터 패킷을 노드 5로 송신한다.
노드 5는 수신된 패킷의 SRH로부터 새로운 next address(노드 6)를 추출하고, 이웃 노드 테이블을 참조하여 상기 데이터 패킷을 노드 6으로 송신한다.
노드 6은 수신된 패킷의 SRH로부터 새로운 next address(노드 7)를 추출하고, 이웃 노드 테이블을 참조하여 상기 데이터 패킷을 노드 7로 송신한다.
노드 7은 수신된 패킷의 SRH로부터 새로운 next address(노드 9)를 추출하고, 이웃 노드 테이블을 참조하여 상기 데이터 패킷을 노드 9로 송신한다.
노드 9는 수신된 패킷의 SRH로부터 새로운 next address(노드 10)를 추출하고, 이웃 노드 테이블을 참조하여 상기 데이터 패킷을 노드 10으로 송신한다.
노드 10은 수신된 패킷의 SRH로부터 새로운 next address(노드 12)를 추출한다. 그리고 상기 데이터 패킷을 송신하기 위하여 먼저 이웃 테이블을 참조하나, 노드 12는 노드 10의 이웃 테이블에 존재하지 않으므로 다음으로 자신의 라우팅 테이블을 참조한다. 도 15에 도시된 바와 같이, 노드 10의 라우팅 테이블에서 노드 12로 패킷을 송신하기 위한 next address는 노드 11이므로, 노드 10은 상기 데이터 패킷을 노드 11로 송신한다.
노드 11은 수신된 패킷의 next address가 노드 12이므로(즉, 자신이 목적지가 아니므로 SRH에서 새로운 next address를 추출하지 않고), 이웃 테이블을 검색하고, 상기 이웃 테이블에 노드 12의 정보가 포함되어 있으므로, 상기 패킷을 노드 12로 송신한다.
노드 12는 수신된 패킷의 SRH로부터 새로운 next address(노드 13)을 추출하고, 이웃 노드 테이블을 참조하여 상기 데이터 패킷을 노드 13으로 송신한다. 노드 13은 상기 데이터 패킷의 최종 목적지 주소이므로, 상기 데이터 패킷의 전송 과정은 종료된다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
On the other hand, an embodiment of the present invention may include a computer-readable recording medium including a program for performing the methods described herein on a computer. The computer-readable recording medium may include a program command, a local data file, a local data structure, or the like, alone or in combination. The media may be those specially designed and constructed for the present invention or may be known and available to those of ordinary skill in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and magnetic media such as ROMs, And hardware devices specifically configured to store and execute program instructions. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the present invention. I will understand.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.
100: 혼합 모드 라우팅 노드
102: 설정부
104: 패킷 생성부
106: 패킷 송수신부
108: DIO 메시지 처리부
110: DAO 메시지 처리부
112: 데이터 패킷 처리부100: mixed-mode routing node
102: setting unit
104: packet generator
106: packet transceiver
108: DIO message processing unit
110: DAO message processing unit
112: data packet processing unit
Claims (13)
DAO 메시지를 수신하고, 수신된 상기 DAO 메시지의 RPL 타겟 옵션(RPL Target Option)의 타겟 프리픽스(target prefix), 상기 DAO 메시지를 송신한 송신 주소 및 상기 라우팅 노드의 하향 라우팅 모드에 따라 상기 DAO 메시지의 트랜짓 인포메이션 옵션(Transit Information Option)의 페어런트 어드레스(parent address)를 변경하거나 라우팅 테이블을 업데이트하는 DAO 메시지 처리부; 및
데이터 패킷을 수신하고, 상기 데이터 패킷에 포함된 소스 라우트 헤더(SRH)로부터 상기 데이터 패킷을 송신할 다음 노드 주소(next address)를 획득하며, 상기 다음 노드 주소를 이웃 테이블 또는 라우팅 테이블에서 검색한 결과에 따라 상기 데이터 패킷을 송신하는 데이터 패킷 처리부를 포함하는 RPL 라우팅 프로토콜에서의 혼합 모드 라우팅 노드.
A DIO message processing unit for receiving a DIO message and setting the down routing mode of the routing node or changing the preset down routing mode according to the down routing mode setting information included in the received DIO message and a preset down routing mode change condition. ;
Receive a DAO message, and according to the target prefix of the RPL target option (RPL Target Option) of the received DAO message, the transmission address that transmitted the DAO message and the downlink routing mode of the routing node of the DAO message A DAO message processing unit for changing a parent address of a Transit Information Option or updating a routing table; And
Receiving a data packet, obtaining a next address to transmit the data packet from a source route header (SRH) included in the data packet, and searching for the next node address in a neighbor table or a routing table And a data packet processor for transmitting the data packet according to the RPL routing protocol.
상기 DIO 메시지 처리부는, 수신된 상기 DIO 메시지의 하향 라우팅 모드 및 혼합 모드 플래그가 설정되어 있는 경우, 상기 하향 라우팅 모드 변경 조건을 만족하는지 여부를 판단하여 만족하는 경우 기 설정된 하향 라우팅 모드를 변경하는, 혼합 모드 라우팅 노드.
The method according to claim 1,
The DIO message processing unit, when the down-routing mode and mixed mode flag of the received DIO message is set, determines whether the down-routing mode change condition is satisfied, and if it is satisfied to change the preset down-routing mode, Mixed mode routing node.
상기 혼합 모드 플래그는, 수신된 상기 DIO 메시지의 미사용 플래그 또는 리저브드 필드(Reserved Field) 중 기 설정된 비트로부터 획득되는, 혼합 모드 라우팅 노드.
The method according to claim 2,
The mixed mode flag is obtained from a predetermined bit of an unused flag or a reserved field of the received DIO message.
상기 DAO 메시지 처리부는, 상기 라우팅 노드의 하향 라우팅 모드가 비저장 모드이고, 상기 DAO 메시지의 RPL 타겟 옵션(RPL Target Option)의 타겟 프리픽스(Target Prefix) 주소와 상기 DAO 메시지를 송신한 송신 노드의 주소가 일치하는 경우, 상기 DAO 메시지의 Transit Information Option의 parent address 필드에 상기 라우팅 노드의 주소를 입력하고 입력된 상기 DAO 메시지를 송신하는, 혼합 모드 라우팅 노드.
The method according to claim 1,
The DAO message processing unit, wherein the downlink routing mode of the routing node is a non-storage mode, a target prefix address of an RPL target option of the DAO message, and an address of a transmitting node that has transmitted the DAO message. Matches, enters the address of the routing node in the parent address field of the Transit Information Option of the DAO message and transmits the input DAO message.
상기 DAO 메시지 처리부는, 상기 DAO 메시지의 RPL 타겟 옵션(RPL Target Option)의 타겟 프리픽스(Target Prefix) 주소와 상기 DAO 메시지를 송신한 송신 노드의 주소가 일치하지 않는 경우, 상기 DAO 메시지의 Transit Information Option의 parent address 필드에 상기 DAO 송신 노드의 주소를 입력하고, 입력된 상기 DAO 메시지를 송신하는 혼합 모드 라우팅 노드.
The method of claim 4,
The DAO message processing unit, when the target prefix address of the RPL Target Option of the DAO message and the address of the transmitting node that sent the DAO message does not match, Transit Information Option of the DAO message Mixed mode routing node for inputting the address of the DAO transmitting node in the parent address field of the, and transmitting the input DAO message.
상기 데이터 패킷 처리부는, 상기 다음 노드 주소가 상기 이웃 테이블에 존재하는 경우 상기 데이터 패킷을 상기 다음 노드로 송신하며,
상기 이웃 테이블에 존재하지 않는 경우 획득된 상기 다음 노드 주소를 라우팅 테이블에서 검색하여 상기 다음 노드 주소에 대응하는 라우팅 정보를 획득하고, 획득된 상기 라우팅 정보에 따라 상기 데이터 패킷을 송신하는, 혼합 모드 라우팅 노드.
The method according to claim 1,
The data packet processing unit transmits the data packet to the next node when the next node address exists in the neighbor table.
Mixed mode routing in which the next node address obtained when not present in the neighbor table is searched in a routing table to obtain routing information corresponding to the next node address, and the data packet is transmitted according to the obtained routing information. Node.
DIO 메시지를 수신하고, 수신된 상기 DIO 메시지에 포함된 하향 라우팅 모드 설정 정보 및 기 설정된 하향 라우팅 모드 변경 조건에 따라 상기 라우팅 노드의 하향 라우팅 모드를 설정하거나 기 설정된 하향 라우팅 모드를 변경하는 제1단계;
DAO 메시지를 수신하고, 수신된 상기 DAO 메시지의 RPL 타겟 옵션(RPL Target Option)의 타겟 프리픽스(target prefix), 상기 DAO 메시지를 송신한 송신 주소 및 상기 라우팅 노드의 하향 라우팅 모드에 따라 상기 DAO 메시지의 트랜짓 인포메이션 옵션(Transit Information Option)의 페어런트 어드레스(parent address)를 변경하거나 라우팅 테이블을 업데이트하는 제2단계; 및
데이터 패킷을 수신하고, 상기 데이터 패킷에 포함된 소스 라우트 헤더(SRH)로부터 상기 데이터 패킷을 송신할 다음 노드 주소(next address)를 획득하며, 상기 다음 노드 주소를 이웃 테이블 또는 라우팅 테이블에서 검색한 결과에 따라 상기 데이터 패킷을 다음 노드로 송신하는 제3단계를 포함하는 RPL IPv6 라우팅 프로토콜에서의 혼합 모드 라우팅 방법.
A mixed mode routing method in an RPL routing protocol performed in a mixed mode routing node,
A first step of receiving a DIO message and setting the down routing mode of the routing node or changing the preset down routing mode according to the down routing mode setting information included in the received DIO message and a preset down routing mode change condition; ;
Receive a DAO message, and according to the target prefix of the RPL target option (RPL Target Option) of the received DAO message, the transmission address that transmitted the DAO message and the downlink routing mode of the routing node of the DAO message A second step of changing a parent address of a Transit Information Option or updating a routing table; And
Receiving a data packet, obtaining a next address to transmit the data packet from a source route header (SRH) included in the data packet, and searching for the next node address in a neighbor table or a routing table And a third step of transmitting the data packet to a next node according to the RPL IPv6 routing protocol.
상기 제1단계는, 수신된 상기 DIO 메시지의 하향 라우팅 모드(downward routing mode)가 설정되고, 혼합 모드(mixed mode) 플래그가 활성화되어 있는지의 여부를 판단하는 제1-1단계;
상기 제1-1단계의 판단 결과 하향 라우팅 모드가 설정되고, 혼합 모드 플래그가 활성화되어 있는 경우, 기 설정된 하향 라우팅 모드 변경 조건을 만족하는지 여부를 판단하는 제1-2단계; 및
상기 제1-2단계의 판단 결과 하향 라우팅 모드 변경 조건을 만족하는 경우, 기 설정된 하향 라우팅 모드가 저장 모드(storing mode)인 경우 비저장 모드(non-storing mode)로 변경하고, 기 설정된 하향 라우팅 모드가 비저장 모드인 경우 저장 모드로 변경하는 제1-3단계를 더 포함하는 혼합 모드 라우팅 방법.
The method of claim 7,
The first step may include: a first-first step of determining whether a downward routing mode of the received DIO message is set and a mixed mode flag is activated;
Determining whether the downlink routing mode change condition is satisfied when the downlink routing mode is set and the mixed mode flag is activated; And
When the downlink routing mode change condition is satisfied as a result of the determination in step 1-2, when the preset downlink routing mode is the storage mode, the mode is changed to a non-storing mode, and the preset downlink routing is performed. If the mode is a non-save mode, mixed mode routing method further comprises steps 1-3.
수신된 상기 DIO 메시지의 혼합 모드 플래그는, 상기 DIO 메시지의 미사용 플래그 또는 리저브드 필드(Reserved Field) 중 기 설정된 비트로부터 획득되는, 혼합 모드 라우팅 방법.
The method according to claim 8,
The mixed mode flag of the received DIO message is obtained from a predetermined bit among an unused flag or a reserved field of the DIO message.
상기 제2단계는, 상기 라우팅 노드의 하향 라우팅 모드를 판별하는 제2-1단계;
상기 제2-1단계의 판별 결과 상기 라우팅 노드의 하향 라우팅 모드가 비저장 모드인 경우, 상기 DAO 메시지의 RPL 타겟 옵션(RPL Target Option)의 타겟 프리픽스(Target Prefix) 주소와 상기 DAO 메시지를 송신한 송신 노드의 주소가 일치하는지의 여부를 판단하는 제2-2단계;
상기 제2-2단계의 판단 결과 일치하는 경우, 상기 DAO 메시지의 Transit Information Option의 parent address 필드에 상기 라우팅 노드의 주소를 입력하는 제2-3단계; 및
상기 DAO 메시지를 송신하는 제2-4단계를 더 포함하는 혼합 모드 라우팅 방법.
The method of claim 7,
The second step may include a step 2-1 of determining a downlink routing mode of the routing node;
As a result of the determination in step 2-1, when the downlink routing mode of the routing node is the non-storage mode, a target prefix address of the RPL target option of the DAO message and the DAO message are transmitted. Step 2-2 of determining whether the addresses of the transmitting nodes match;
A second to third step of inputting an address of the routing node in a parent address field of a Transit Information Option of the DAO message when the determination result of the step 2-2 is matched; And
Mixed mode routing method further comprising the step 2-4 of transmitting the DAO message.
상기 제2-3단계는, 상기 제2-2단계의 판단 결과 일치하지 않는 경우 상기 DAO 메시지의 Transit Information Option의 parent address 필드에 상기 DAO 송신 노드의 주소를 입력하는 단계를 더 포함하는, 혼합 모드 라우팅 방법.
The method of claim 10,
Step 2-3 further includes the step of inputting the address of the DAO transmitting node in the parent address field of the Transit Information Option of the DAO message if the determination of step 2-2 does not match. Routing method.
상기 제3단계는, 수신된 상기 데이터 패킷의 소스 라우트 헤더로부터 상기 데이터 패킷을 송신할 다음 노드 주소(next address)를 획득하는 제3-1단계;
상기 제3-1단계에서 획득된 상기 다음 노드 주소가 이웃 테이블(neighbor table)에 존재하는지 여부를 판단하는 제3-2단계;
상기 제3-2단계의 판단 결과, 상기 다음 노드 주소가 상기 이웃 테이블에 존재하는 경우 상기 데이터 패킷을 상기 다음 노드로 송신하고, 상기 이웃 테이블에 존재하지 않는 경우 상기 다음 노드 주소를 상기 라우팅 테이블에서 검색하여 상기 다음 노드 주소에 대응하는 라우팅 정보를 획득하고, 획득된 상기 라우팅 정보에 따라 상기 데이터 패킷을 다음 노드로 송신하는 제3-3단계를 더 포함하는, 혼합 모드 라우팅 방법.
The method of claim 11,
The third step includes: obtaining a next address (next address) to transmit the data packet from the received source route header of the data packet;
Step 3-2 of determining whether the next node address obtained in step 3-1 exists in a neighbor table;
As a result of the determination in step 3-2, if the next node address exists in the neighbor table, the data packet is transmitted to the next node. If the next node address does not exist in the neighbor table, the next node address is transmitted in the routing table. And searching for and obtaining routing information corresponding to the next node address, and transmitting the data packet to a next node according to the obtained routing information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110111561A KR101208400B1 (en) | 2011-10-28 | 2011-10-28 | Node apparatus for mixed mode routing in rpl routing protocol and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110111561A KR101208400B1 (en) | 2011-10-28 | 2011-10-28 | Node apparatus for mixed mode routing in rpl routing protocol and method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101208400B1 true KR101208400B1 (en) | 2012-12-05 |
Family
ID=47906915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110111561A KR101208400B1 (en) | 2011-10-28 | 2011-10-28 | Node apparatus for mixed mode routing in rpl routing protocol and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101208400B1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338493A (en) * | 2013-05-31 | 2013-10-02 | 同济大学 | Adaptive multi-path route method based on RPL |
KR101678954B1 (en) | 2015-09-21 | 2016-11-23 | 부산대학교 산학협력단 | Routing Apparatus for Considering Bottleneck Node Lifetime and Route Link Quality in RPL-based IoT Wireless Network and Method of the Same |
KR101755596B1 (en) | 2016-05-09 | 2017-07-07 | 부산대학교 산학협력단 | Apparatus for reducing sub tree routing overhead and recovering method in RPL based IoT Wireless Network |
KR20170103248A (en) * | 2016-03-03 | 2017-09-13 | 한국전자통신연구원 | Network device and communication method of the same |
KR20180045590A (en) | 2016-10-26 | 2018-05-04 | 부산대학교 산학협력단 | System and Method for scheduling in TSCH and RPL based Industrial IoT Networks |
KR20180066386A (en) * | 2016-12-08 | 2018-06-19 | 전북대학교산학협력단 | Backpressure Routing Method and Apparatus Usng DODAG Structure |
KR20200004580A (en) | 2018-07-04 | 2020-01-14 | 부산대학교 산학협력단 | System and Method for Supporting Improved Mobility for Downward Traffic in RPL |
KR20210103628A (en) | 2020-02-13 | 2021-08-24 | 대구대학교 산학협력단 | Routing Method for Improving Energy Efficiency and Packet Transmission / Reception in RPL-based Wireless Networks |
JP2022022277A (en) * | 2015-08-28 | 2022-02-03 | テキサス インスツルメンツ インコーポレイテッド | Network address assignment and reclamation for hierarchical based rpl networks |
US11265796B2 (en) | 2019-08-08 | 2022-03-01 | Cisco Technology, Inc. | Overlapping subdags in a RPL network |
KR20220094058A (en) | 2020-12-28 | 2022-07-05 | 부산대학교 산학협력단 | System and Method for Increasing the Reliability of Downstream Traffic to Mobile Devices in an RPL Environment |
CN116016336A (en) * | 2022-12-30 | 2023-04-25 | 郑州中科集成电路与系统应用研究院 | HRPL-based high-efficiency inter-node communication method |
-
2011
- 2011-10-28 KR KR1020110111561A patent/KR101208400B1/en not_active IP Right Cessation
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338493A (en) * | 2013-05-31 | 2013-10-02 | 同济大学 | Adaptive multi-path route method based on RPL |
CN103338493B (en) * | 2013-05-31 | 2016-07-13 | 同济大学 | Adaptive multi-path method for routing based on RPL |
JP7249720B2 (en) | 2015-08-28 | 2023-03-31 | テキサス インスツルメンツ インコーポレイテッド | Allocation and Reuse of Network Addresses for Hierarchy-Based RPL Networks |
JP2022022277A (en) * | 2015-08-28 | 2022-02-03 | テキサス インスツルメンツ インコーポレイテッド | Network address assignment and reclamation for hierarchical based rpl networks |
KR101678954B1 (en) | 2015-09-21 | 2016-11-23 | 부산대학교 산학협력단 | Routing Apparatus for Considering Bottleneck Node Lifetime and Route Link Quality in RPL-based IoT Wireless Network and Method of the Same |
KR101940753B1 (en) | 2016-03-03 | 2019-01-22 | 한국전자통신연구원 | Network device and communication method of the same |
KR20170103248A (en) * | 2016-03-03 | 2017-09-13 | 한국전자통신연구원 | Network device and communication method of the same |
KR101755596B1 (en) | 2016-05-09 | 2017-07-07 | 부산대학교 산학협력단 | Apparatus for reducing sub tree routing overhead and recovering method in RPL based IoT Wireless Network |
KR20180045590A (en) | 2016-10-26 | 2018-05-04 | 부산대학교 산학협력단 | System and Method for scheduling in TSCH and RPL based Industrial IoT Networks |
KR101892262B1 (en) * | 2016-12-08 | 2018-08-29 | 서울대학교산학협력단 | Backpressure Routing Method and Apparatus Usng DODAG Structure |
KR20180066386A (en) * | 2016-12-08 | 2018-06-19 | 전북대학교산학협력단 | Backpressure Routing Method and Apparatus Usng DODAG Structure |
KR20200004580A (en) | 2018-07-04 | 2020-01-14 | 부산대학교 산학협력단 | System and Method for Supporting Improved Mobility for Downward Traffic in RPL |
US11265796B2 (en) | 2019-08-08 | 2022-03-01 | Cisco Technology, Inc. | Overlapping subdags in a RPL network |
US11622312B2 (en) | 2019-08-08 | 2023-04-04 | Cisco Technology, Inc. | Overlapping subdags in a RPL network |
KR20210103628A (en) | 2020-02-13 | 2021-08-24 | 대구대학교 산학협력단 | Routing Method for Improving Energy Efficiency and Packet Transmission / Reception in RPL-based Wireless Networks |
KR20220094058A (en) | 2020-12-28 | 2022-07-05 | 부산대학교 산학협력단 | System and Method for Increasing the Reliability of Downstream Traffic to Mobile Devices in an RPL Environment |
US11431622B2 (en) | 2020-12-28 | 2022-08-30 | Pusan National University Industry-University Cooperation Foundation | Device and method for increasing reliability of downlink traffic to mobile devices in RPL environment |
CN116016336A (en) * | 2022-12-30 | 2023-04-25 | 郑州中科集成电路与系统应用研究院 | HRPL-based high-efficiency inter-node communication method |
CN116016336B (en) * | 2022-12-30 | 2024-04-23 | 郑州中科集成电路与系统应用研究院 | HRPL-based efficient inter-node communication method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101208400B1 (en) | Node apparatus for mixed mode routing in rpl routing protocol and method thereof | |
US7366111B2 (en) | Arrangement for providing optimized connections between peer routers in a tree-based ad hoc mobile network | |
US7860025B2 (en) | Directed acyclic graph discovery and network prefix information distribution relative to a clusterhead in an ad hoc mobile network | |
EP1966961B1 (en) | Method and system for improving a wireless communication route | |
US9154407B2 (en) | Maintained message delivery during routing domain migration | |
KR101986929B1 (en) | A method for routing packets, a multi-hop wireless network, and a node that routes packets | |
EP2381722A2 (en) | Arrangement for providing network prefix information from attached mobile routers to a clusterhead in a tree-based ad hoc mobile network | |
JP5800019B2 (en) | Communication path control system, path control device, communication path control method, and path control program | |
US20030142679A1 (en) | Packet switching system, packet switching method, routing apparatus, structure of packet, and packet generating method | |
US20090196227A1 (en) | Method and network node for routing data packets in communication networks | |
JP2007142612A (en) | Wireless multi-hop network, communication terminal and resource reservation communication method for use therein | |
US10938707B2 (en) | Peer-to-peer optimization in existing tree-based topology based on generating locally-optimized tree using confined advertisements | |
Clausen et al. | Rfc7181: The optimized link state routing protocol version 2 | |
JP4927658B2 (en) | Routing method and node device | |
Hussein et al. | Proactive algorithm dynamic mobile structure of Routing protocols of ad hoc networks | |
US20140376409A1 (en) | Routing method and apparatus | |
CN110881006B (en) | Method for sending message, network equipment and computer storage medium | |
CN108965122B (en) | Routing method, device and computer readable storage medium | |
Dash et al. | Flooding control in named data networking | |
JP4124099B2 (en) | Communication terminal and communication network | |
KR101022532B1 (en) | Method for routing paket in wireless communication system | |
KR100943638B1 (en) | Method and device for reactive routing in low power sensor network | |
JP4687292B2 (en) | Communication device and method for disconnecting unnecessary wireless link in network | |
Sakthi Ganesh et al. | Demand on temporary parallel route recovery for frequent link failure in VANET | |
CN115242703A (en) | Routing communication method and system suitable for private network |
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: 20150930 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |