CN109617812B - Greedy embedding-based RPL routing method and device and network topology - Google Patents

Greedy embedding-based RPL routing method and device and network topology Download PDF

Info

Publication number
CN109617812B
CN109617812B CN201910083664.1A CN201910083664A CN109617812B CN 109617812 B CN109617812 B CN 109617812B CN 201910083664 A CN201910083664 A CN 201910083664A CN 109617812 B CN109617812 B CN 109617812B
Authority
CN
China
Prior art keywords
node
neighbor
coordinates
message
coordinate
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201910083664.1A
Other languages
Chinese (zh)
Other versions
CN109617812A (en
Inventor
孙彦斌
田志宏
李默涵
苏申
崔翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou University
Original Assignee
Guangzhou University
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 Guangzhou University filed Critical Guangzhou University
Priority to CN201910083664.1A priority Critical patent/CN109617812B/en
Publication of CN109617812A publication Critical patent/CN109617812A/en
Application granted granted Critical
Publication of CN109617812B publication Critical patent/CN109617812B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Landscapes

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

Abstract

The invention discloses a greedy embedding-based RPL routing method, a greedy embedding-based RPL routing device and a network topology, wherein the method comprises the following steps: for each node c in the network topology: acquiring a data packet to be transmitted; wherein, the IPv6 extension header of the data packet stores the coordinate C of the target node dd(ii) a Analyzing the extended head, and extracting the coordinate C of the target node d from the extended headd(ii) a Sequentially acquiring coordinates C of neighbor nodes i from routing table of neighbor nodes ii(ii) a For each node, the routing table stores the coordinates of the neighbor nodes; according to the coordinates C of the node C itselfcAnd coordinates C of target node ddDistance d (C)c,Cd) And the coordinates C of each neighboring node iiCoordinate C to target node ddDistance d (C)i,Cd) Acquiring a neighbor node i nearest to the target node d; and transmitting the data packet to the nearest neighbor node i. The invention can improve the efficiency and expansibility of routing.

Description

Greedy embedding-based RPL routing method and device and network topology
Technical Field
The invention relates to the technical field of networks, in particular to a greedy embedding-based RPL routing method, a greedy embedding-based RPL routing device and a network topology.
Background
RPL (IPv6Routing Protocol for Low-Power and Low-loss Networks) works on an IP layer, is a standardized Routing Protocol specially designed for 6LoWPAN (IPv6-based Low Power Wireless personal area Networks) Protocol by a ROLL (Routing over Low-Power and Low-loss Networks) working group, and is suitable for Network environments with Low Power consumption, easy loss and limited storage and processing capacities. The 6LoWPAN protocol is positioned between a link layer protocol IEEE802.15.4 and a network layer IPv6, data conversion between the link layer protocol and the network layer protocol is completed, and interconnection and intercommunication between the wireless sensor network and a next generation network IPv6 are realized. The RPL protocol is a standard solution proposed for the problems of low power consumption and data loss in the 6LoWPAN, and is still in a draft stage at present, but is widely applied to multiple fields such as wireless personal area networks and internet of things.
RPL is a distance vector routing protocol, belonging to active routing. The network topology may be divided into a plurality of RPL instances (instances), each of which may contain one or more DODAGs (Destination-Oriented direct cyclic Graph), each of which has an ID, and each of which uniquely represents one DODAG. RPL routing takes DODAG as the basic unit of routing. The DODAG is a directed acyclic graph constructed with an objective function as a metric, and its root node is usually a boundary route, called lbr (lln Border router). Each non-root node of the DODAG has at least one directed edge pointing to a parent node of the DODAG, and some nodes may have a plurality of directed edges respectively pointing to nodes on a plurality of DODAGs, but only one of the nodes is selected as the parent node during routing. Essentially the DODAG can be viewed as a tree topology when routed.
RPL supports three ways of communication:
multipoint-to-point: communication from all nodes in a device subnet in the LLN network to a central node;
point-to-multipoint: a central node in the LLN communicates with all nodes of a device subnet;
point-to-point: node-to-node communication within a network.
In order to realize the communication of the three modes, two routing modes of an uplink route and a downlink route are adopted. DODAG construction and route establishment is achieved by three control messages (DIS, DIO, DAO) based on ICMPv 6.
The specific process is as follows:
the upstream route is automatically established when the DODAG is constructed. First, the root node broadcasts Information of the DODAG through a DIO (DODAG Information object) message, which includes the root node Rank. Secondly, after receiving the DIO, the neighbor nodes OF the root node calculate their Rank according to the Objective Function (OF) and decide whether to join the DODAG. Thirdly, if the neighbor node determines to join the DODAG, there are two cases: (1) if the neighbor node is a non-leaf node, the DIO message is continuously broadcast to the neighbor node; (2) and if the neighbor node is a leaf node, not broadcasting the DIO message. And finally, the neighbor nodes receiving the DIO messages repeat the steps until all the nodes receiving the DIO messages are leaf nodes. Through the steps, each node naturally establishes a path to the root node, and supports multipoint-to-point communication.
The downlink route needs to be specially constructed. After a node determines to join a DODAG, it first sends a dao (DODAG Destination Advertisement) message containing information such as its routing prefix, prefix validity period, etc. to its parent node. After receiving the DAO message, the father node discusses three conditions according to different storage modes: (1) in the storage mode, the father node stores the routing information and continuously sends the DAO message to the father node until reaching the root node, so that each ancestor node stores a piece of routing information to the node; (2) in the non-storage mode, the father node does not store the routing information and directly forwards the routing information to the root node, and the root node stores a path to the node after receiving the DAO message. (3) And a hybrid storage mode, which is a combination of the two modes, wherein on the path from the node to the root node, not all nodes have storage capacity, so that only part of nodes are selected to store path information, and the source route is adopted in a segmentation mode. Through the steps, each node can find a path to the downlink node directly or through the root node. According to different situations, the downlink routing realizes the point-to-multipoint communication in a hop-by-hop forwarding mode, a source routing mode or a mixed mode of the hop-by-hop forwarding mode and the source routing mode.
The upstream and downstream routes in combination support point-to-point communication. Under a non-storage mode, the nodes are connected through a root node; in the storage mode, the nodes are connected through a common ancestor node.
In order to optimize the RPL routing scheme, a plurality of improvement methods are successively provided. Aiming at point-to-point communication and aiming at reducing storage pressure and improving routing efficiency, a passive routing scheme is provided by P2P-RPL, nodes do not preselect and store routing information, but find a destination node on an original node in a mode similar to DODAG construction according to needs, and the destination node returns a response data packet and records the path. GeoRank provides an improved scheme for routing based on GPS coordinates, and the GPS coordinates are used for greedy routing to improve routing efficiency and expandability. To support point-to-multipoint broadcast communications, MPL sends data and control messages via flooding in a multicast domain and adjusts delay and propagation efficiency via trickle algorithm (tricoclealgorithm).
The existing RPL routing protocol and the improvement scheme thereof mainly have three defects:
(1) routing inefficiency
The DODAG is the core of the RPL route, and the packet is forwarded along the DODAG. Since DODAG is essentially a tree structure, the routing path is the path on the tree, which is much larger than the shortest routing path of the entire topology. Especially in the non-storage mode, only the root node stores the downlink routing information, and all point-to-point communications need to pass through the root node, which further deteriorates routing efficiency.
(2) Insufficient route scalability
RPL scalability is mainly reflected in routing table size. Although the average routing table size is greatly reduced compared with the traditional distance vector routing protocol, a part of nodes still need to store a large amount of routing information. For the non-storage mode, the root node needs to store the source routing information of all nodes, namely the whole path information; for the storage mode, the upper node needs to store the routing information of all nodes of the subtree where the upper node is located; for the mixed mode, the upper node stores the routing information of all nodes of the subtree in which the upper node is positioned in the form of source routing.
(3) The improvement method is imperfect
RPL improvement methods often trade off performance on the one hand for performance enhancement on the other. Although the P2P-RPL improves the routing efficiency and reduces the routing storage, the routing process itself is a time-consuming process, and meanwhile, the construction of the temporary DODAG may cause a large number of nodes to participate, resulting in a large number of communication packets, which on one hand consumes node energy and on the other hand creates a new extensible problem. GeoRank adopts GPS coordinates and greedy routing, and is lack of specific implementation, the routing table scale is effectively reduced, but the routing success rate of 100% cannot be guaranteed, and the GPS coordinates lack of effective action in environments such as buildings and mountainous regions. The MPL increases the broadcast support and improves the routing efficiency, but improper parameter selection of the Trickle algorithm directly affects the propagation delay and the node energy consumption.
The main reasons for the above disadvantages include two aspects: (1) RPL routing is based on DODAG routing, DODAG is essentially tree-structured topology during routing, data packets are only forwarded along the tree-structured topology, and edges on non-DODAG topology are difficult to use during routing, so that the routing efficiency is low; (2) the RPL route belongs to a distance vector routing protocol, each node in the distance vector routing protocol stores routing information to other nodes, and although the RPL tree topology already contains routing information of an uplink route, for a downlink route, an upper node still needs to store routing information of all lower nodes, resulting in insufficient route expandability.
Disclosure of Invention
In view of the above, the present invention provides a greedy embedding-based RPL routing method, apparatus and network topology, which can improve routing efficiency and scalability.
The embodiment of the invention provides an RPL routing method based on greedy embedding, which comprises the following steps:
for each node c in the network topology:
acquiring a data packet to be transmitted; wherein, the IPv6 extension header of the data packet stores the coordinate C of the target node dd
Parsing the extended header to extract the extension header therefromCoordinate C of target node dd
Sequentially acquiring coordinates C of neighbor nodes i from routing table of neighbor nodes ii(ii) a For each node, the routing table stores the coordinates of the neighbor nodes;
according to the distance d (C) from the node C to the target node dc,Cd) And the distance d (C) of each neighbor node i to the target node di,Cd) Acquiring a neighbor node i nearest to the target node d; and
transmitting the data packet to the nearest neighbor node i.
Preferably, the method further comprises the following steps:
embedding the network topology into a metric space through greedy embedding to allocate coordinates in the metric space for each node in the network topology; after the topology greedy is embedded into the measurement space, the routing table of each node only stores the coordinates of the neighbor nodes.
Preferably, for each node in the network topology, a bit string is allocated to each node through the prefix tree, and the coordinates of the node are hierarchical bit strings constructed by the bit strings from the root node to all nodes on the path of the node according to the hierarchical relationship.
Preferably, the routing table of each node is obtained by:
repeating the following steps until each node in the network topology is traversed:
after acquiring the coordinates of the current node, the current node sends a message with the type of DIO to the neighbor node; wherein, the initial coordinate of the root node is initially distributed by the root node; the message comprises a Flags field; after receiving the message of the current node, the neighbor node judges whether the current node is selected as a father node; if the neighbor node does not select the current node as the father node, the following operations are carried out according to the Flags field of the message: if the Flags field is 0, indicating that the coordinate of the current node is not changed, performing no processing, and directly returning a DIO-ACK message in a first state to inform the current node that the message is received; if the Flags field is 1, indicating that the current node coordinate is changed, returning a DIO-ACK message in a second state, requesting the current node to send an updated coordinate, and storing the updated coordinate in a self routing table; if the neighbor node selects the current node as a father node, responding to a DIO-ACK message in a third state;
if the current node receives a DIO-ACK message in a first state sent by a neighbor node, no processing is carried out; if receiving a DIO-ACK message in a second state sent by the neighbor node, packaging the coordinate of the DIO-ACK message into the DEM, setting Flag to be 0, and returning the DEM to the neighbor node; if receiving a DIO-ACK message of a third state sent by a neighbor node, generating a bit string for the neighbor node according to a prefix embedding scheme, packaging the coordinates of the node and the bit string into a DEM message, setting Flag to be 1, and returning the DEM message to the neighbor node; the neighbor node receives the DEM message and checks a Flag field of the DEM message; if the Flag is 0, directly storing or updating the node coordinates in the routing table; and if the Flag is 1, obtaining the own coordinates of the neighbor nodes according to the node coordinates and the bit strings.
Preferably, the distance d (C) from the node C to the target node dc,Cd) And the distance d (C) of each neighbor node i to the target node di,Cd) Acquiring the neighbor node i nearest to the target node d specifically includes:
respectively calculating the coordinates C of the current node CcCoordinate C to target node ddDistance d (C)c,Cd) And coordinates C of neighbor node iiCoordinate C to target node ddDistance d (C)i,Cd) And calculating the difference D between the twoi=d(Cc,Cd)-d(Ci,Cd);
Traversing all neighbor nodes i of the current node c to obtain a difference value corresponding to each neighbor node i;
and taking the neighbor node i corresponding to the maximum difference value as the next hop node of the current node c.
Preferably, the structure of the extension header contains the following fields: a next header field, an extended header length, source node coordinates, a source coordinate mask, target node coordinates, a target coordinate mask;
then the target node C is extracted from the extended header by parsing the extended headerdBefore, further comprising:
it is checked whether the type of the next header field of the extension header is a predetermined type.
Preferably, the first state is represented as 0x00, the second state is represented as 0x01, and the third state is represented as 0x 02.
Preferably, the neighbor node judges whether to select the current node as a parent node according to a predetermined standard; the predetermined criteria are determined by the objective function, DAG properties, and locally customized policies.
The embodiment of the invention also provides an RPL routing device based on greedy embedding, which comprises:
the data packet acquisition unit is used for acquiring a data packet to be transmitted; wherein, the IPv6 extension header of the data packet stores the coordinate C of the target node dd
An analysis unit for analyzing the extended header and extracting the coordinate C of the target node d from the extended headerd
A neighbor node acquiring unit for sequentially acquiring the coordinate C of the neighbor node i from the routing table thereofi(ii) a For each node, the routing table stores the coordinates of the neighbor nodes;
a nearest neighbor node obtaining unit for obtaining a distance d (C) from the node C to the target node dc,Cd) And the distance d (C) of each neighbor node i to the target node di,Cd) Acquiring a neighbor node i nearest to the target node d; and
and the data packet transmission unit is used for transmitting the data packet to the nearest neighbor node i.
The embodiment of the present invention further provides a network topology, which includes a plurality of nodes, where each node includes a memory and a processor, and a computer program and a routing table are stored in the memory, and the computer program can be executed by the processor, so as to implement the above greedy embedding-based RPL routing method.
The method optimizes the RPL route based on greedy embedding and greedy routing, naturally fuses a greedy embedding process and a DODAG construction process of the RPL route, and is low in fusion cost; meanwhile, the greedy routing process of the RPL is designed and realized based on the IPv6 protocol, the routing table of each node only needs to store the coordinates of the neighbor nodes, the non-tree edges can be fully utilized in the greedy routing process, and the routing expandability and efficiency are effectively improved.
Drawings
In order to more clearly illustrate the technical solution of the present invention, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flow chart of an RPL routing method based on greedy embedding according to a first embodiment of the present invention.
Fig. 2 is another schematic flow chart of the greedy embedding-based RPL routing method according to the first embodiment of the present invention.
Fig. 3 is a data structure diagram of the DEM control packet.
FIG. 4 is a flow diagram of DODAG construction and greedy embedding.
Fig. 5 is a schematic flowchart of an RPL routing apparatus based on greedy embedding according to a second embodiment of the present invention.
Fig. 6 is a schematic diagram of a network topology according to a second embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1 and fig. 2, a first embodiment of the present invention provides a greedy embedding-based RPL routing method, which includes the following steps:
for each node c in the network topology:
s101, acquiring a data packet to be transmitted; wherein, the IPv6 extension header of the data packet stores the coordinate C of the target node dd
Specifically, in this embodiment, if the current node c is a source node, the data packet may be uploaded by a user and generated by the source node through a certain operation. If the current node c is not the source node, the data packet is typically transmitted by the previous hop node.
In this embodiment, according to the message format of the IPv6 protocol, it can be known that the extended Header information of the IPv6 can be added through the Next Header (Next Header) field. Therefore, the present embodiment adds a predetermined type of next header field (e.g., 0x8f) to save the source node and destination node coordinates via the IPv6 extended header. The extension header structure contains fields including: next header field (8bits), extended header length (8bits), source node coordinates (32bits, which may be variable length), source coordinate mask (32bits), target node coordinates (32bits), and target coordinate mask (32 bits).
It should be noted that, in the above embodiments, the number of bits of each field may be set according to actual needs, and is not limited thereto.
In this embodiment, after receiving the data packet, the node c checks the next header field type, and if the type is a predetermined type (e.g., 0x8f), the step S102 is performed, otherwise, the processing is performed according to other routing protocols.
S102, analyzing the extension head, and extracting the coordinate C of the target node d from the extension headd
S103, sequentially acquiring the coordinate C of the neighbor node i from the routing table of the neighbor node ii(ii) a Wherein, for each node, its routing table stores the coordinates of its neighbor nodes.
In this embodiment, the coordinates of each node are first generated. The embodiment embeds the network topology into the metric space through greedy embedding, and allocates one coordinate in the metric space for each node in the network topology. After the topology greedy is embedded into the measurement space, each node only needs to store the coordinates of the neighbor nodes as routing table entries. And during routing, the current node greedily selects the next hop node closest to the target node according to the coordinate distance, and a greedy path reaching the target node can be found by repeating the process. The greedy embedding property can ensure that a greedy next-hop node can be always found when a data packet reaches any non-destination node. Therefore, the routing scheme based on greedy embedding can ensure 100% routing success rate, effectively reduce the scale of the routing table, and simultaneously, greedy paths can also ensure efficient routing.
Specifically, the greedy embedding process can be divided into two steps: (1) extracting a spanning tree from the topology; (2) the spanning tree is greedy embedded into the metric space. The step (1) is similar to the DODAG construction process of the RPL routing, and therefore, the method can be fused with the DODAG construction process. The scheme of the step (2) takes a prefix tree as a measurement space, adopts prefix embedding as a specific greedy embedding method, has clear coordinate structure of the prefix embedding and expandable length, and has been proved by the prior literature that the coordinate length is O (log) under the topology of power law of 2-32(n)) bits and the experimental effect is far better than the theoretical value.
When prefix embedding is carried out, a bit string is distributed for each node, and the coordinates of the nodes are hierarchical bit strings constructed by the bit strings of all the nodes on a path from a root node to the node according to the hierarchical relationship. If the bit string from the root node to a node is 0, 01, 110, respectively, the node coordinate is/0/01/110. If there is a side weight, then the side weight is added to the bit string, such as/(2) 0/(1)01/(3) 110. The prefix embedding of the spanning tree can be regarded as a process of constructing the prefix tree based on the spanning tree, and can be completed only by one-time tree traversal from top to bottom, so that the greedy embedding process can be naturally integrated into the construction of the DODAG.
It should be noted that the configuration mode of the bit string may be configured according to actual needs, and the present invention is not limited specifically.
In this embodiment, the DODAG construction and the greedy embedding are both implemented by the RPL control packet. The RPL control message is an information message of ICMPv6 with the Type value of 155, different types of control messages are distinguished by Code fields, and specific control messages are stored in a Base field. Because the spanning tree extraction and EMbedding processes of the invention are integrated with the DODAG construction process, the invention deletes unnecessary DAO and DAO-ACK messages, improves DIO messages and provides two new message types of DIO-ACK, DEM (DODAG EMbedding) and DCD (DODAG CoorDinate). The DIO message uses a reserved field Flags to indicate the coordinates of the node and the change of the previous DIO message. 0 indicates that the node coordinates are unchanged, and 1 indicates that the node coordinates are changed. When each node sends the first DIO message to another node, the initial Flags is set to 1.
The DIO-ACK message is a response message to the DIO message, following the DAO-ACK message format. The DIO-ACK message Type follows the RPL original value of 155 and the message Code is set to 0x 04. The DIO-ACK is similar in structure to the Base field of the DAO-ACK message, but the DIO-ACK message need not contain node prefix information. Meanwhile, the Status fields of the two types are different in meaning, and the Status field of the DIO-ACK includes three types:
0x00 indicates that a DIO message has been received, but no processing is done;
0x01 represents that a DIO message has been received, waiting for receiving a DEM message to obtain information required to generate node coordinates;
0x02 indicates that a DIO message has been received, waiting for receipt of a DEM message to obtain neighbor coordinates.
And the DEM returns the messages with different contents according to the message types of the DIO-ACK. The Code field of the DEM message is set to 0x 05. The detailed structure of the Base field of the DEM is shown in FIG. 3. Wherein, RPLInstanceID, VersionNumber and DODADAID have the same function as the existing RPL control message. Flag length is 2bits, which can be discussed in two cases: when the DIO-ACK message state is 0x02, the DEM message Flag is 00, and the Bitstring field is meaningless, namely only the coordinates are returned; when the DIO-ACK message state is 0x01, the DEM message Flag is 01, the Bitstring field has significance, the Coordinate is the coordinates of the packet-sending node, and the Mask is the Coordinate Mask and is used for dividing the hierarchy of the coordinates.
As shown in fig. 4, fig. 4 illustrates a flow of DODAG construction and greedy embedding. Wherein,
1. for each current node C, it is obtaining its own coordinates CcAnd then, sending a DIO message with the type of DIO to the neighbor node i. For the root node, it needs to initialize its own coordinates.
2. After receiving the DIO message of the current node c, the neighbor node i judges whether to replace the father node according to a certain standard, wherein the specific standard can be determined by a target function, DAG (direct current) attributes and some local self-defined strategies;
3-1, if the neighbor node i chooses not to replace the father node, two choices are available according to the Flags field of the DIO message:
a. if the Flags field is 0, the coordinate of the current node c is not changed, no processing is performed, and a DIO-ACK message with the state of 0x00 is directly returned to inform that the current node c has received the DIO message;
b. if the Flags field is 1, which indicates that the coordinate of the current node C is changed, the DIO-ACK message with the state of 0x01 is returned, the other side is requested to send the updated coordinate, and the coordinate C of the neighbor node i is storediAs a routing table entry.
3-2, if the neighbor node i selects to replace the current node c as a father node, responding to a DIO-ACK message with the state of 0x 02;
4-1.a. if the current node c receives the DIO-ACK message in the 0x00 state sent by the neighbor node i, no processing is carried out;
b. and if the root node receives the DIO-ACK message of 0x01 state sent by the neighbor, the coordinates are encapsulated into the DEM message, the Flag is set to be 0, and the DEM message is returned to the neighbor node.
4-2. when the current node C receives the DIO-ACK message of 0x02 state sent by the neighbor node i, it generates a bit string for the neighbor node i according to the prefix embedding scheme mentioned above, the bit string is different from the bit strings of other neighbor nodes i, and the coordinate C of the current node C is usedcEncapsulating into DEM message along with bit string, Flag is set to 1, and DEM message is returnedTo the neighbor node i.
5. The neighbor node i receives the DEM message, checks Flag information of the DEM message, and processes the DEM message in two conditions: a. if Flag is 0, directly using the coordinate C of the current node CcSaving or updating in the routing table; b. if Flag is 1, according to the coordinate C of the current node CcThe bit string and the edge weights (if any) obtain the node's own coordinates Ci
In this embodiment, after the nodes in the entire network topology perform the above steps, the DODAG construction and greedy embedding may be implemented, so that each node obtains its own coordinates and stores the coordinates of its neighboring nodes.
S104, according to the distance d (C) from the node C to the target node dc,Cd) And the distance d (C) of each neighbor node i to the target node di,Cd) And acquiring the nearest neighbor node i of the target node d.
Specifically, the method comprises the following steps:
firstly, respectively calculating the coordinates C of the current node CcCoordinate C to target node ddDistance d (C)c,Cd) And coordinates C of neighbor node iiCoordinate C to target node ddDistance d (C)i,Cd) And calculating the difference D between the twoi=d(Cc,Cd)-d(Ci,Cd)。
And then traversing all the neighbor nodes i of the current node c to obtain a difference value corresponding to each neighbor node i.
And finally, taking the neighbor node i corresponding to the maximum difference value as the next hop node of the current node c.
Obviously, the maximum difference value indicates that the neighbor node i is closest to the target node d, so that the neighbor node i is taken as a next-hop node, and the routing efficiency can be improved.
In addition, it should be noted that, if the current node c determines that the target node d is in its routing table, the target node d may be directly used as a next-hop node.
S105, transmitting the data packet to the nearest neighbor node.
The embodiment has the following beneficial effects:
1. the prefix embedding is selected for RPL routing optimization, the format and the function of the existing RPL control message are improved, a new RPL control message is designed, the natural fusion of the greedy embedding and the DODAG construction process is realized, the fusion cost is low, and the communication complexity is equal to that of the DODAG;
2. the RPL greedy routing based on coordinates is realized on the basis of an IPv6 protocol, each node only needs to store local routing information and fully utilizes tree edges and non-tree edges for routing, the success rate of the greedy routing is 100%, and meanwhile, the high efficiency and the expandability of the routing are guaranteed.
Referring to fig. 5, a second embodiment of the present invention further provides an RPL routing apparatus based on greedy embedding, including:
a data packet obtaining unit 210, configured to obtain a data packet to be transmitted; wherein, the IPv6 extension header of the data packet stores the coordinate C of the target node dd
A parsing unit 220, configured to parse the extension header to extract a coordinate C of the target node d therefromd
A neighbor node obtaining unit 230, configured to sequentially obtain coordinates C of neighbor nodes i from its own routing tablei(ii) a For each node, the routing table stores the coordinates of the neighbor nodes;
a nearest neighbor node obtaining unit 240 for obtaining a distance d (C) from the node C to the target node dc,Cd) And the distance d (C) of each neighbor node i to the target node di,Cd) Acquiring a neighbor node i nearest to the target node d; and
a data packet transmission unit 250, configured to transmit the data packet to the nearest neighbor node i.
Referring to fig. 6, a third embodiment of the present invention further provides a network topology, including a plurality of nodes, where each node includes a memory and a processor, and the memory stores a computer program and a routing table, and the computer program can be executed by the processor to implement the above RPL routing method based on greedy embedding.
As shown in fig. 6, by implementing the above-described greedy embedding-based RPL routing method, greedy routing from node a to node B can be implemented.
Illustratively, the computer program may be divided into one or more units, which are stored in the memory and executed by the processor to accomplish the invention. The unit or units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution of the computer program in the node.
The nodes may include, but are not limited to, processors, memory. It will be appreciated by those skilled in the art that the schematic diagram is merely an example of a node and does not constitute a limitation of a node, and may include more or fewer components than shown, or some components in combination, or different components, e.g., the node may also include input output devices, network access devices, buses, etc.
The Processor may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable gate array (FPGA) or other Programmable logic device, discrete gate or transistor logic device, discrete hardware component, or the like. The general purpose processor may be a microprocessor or the processor may be any conventional processor or the like, the control center of the node connecting the various parts of the overall node using various interfaces and lines.
The memory may be used to store the computer programs and/or modules, and the processor may implement the various functions of the node by running or executing the computer programs and/or modules stored in the memory, as well as by invoking data stored in the memory. The memory may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the cellular phone, and the like. In addition, the memory may include high speed random access memory, and may also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), at least one magnetic disk storage device, a Flash memory device, or other volatile solid state storage device.
Wherein the node-integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on such understanding, all or part of the flow of the method according to the embodiments of the present invention may also be implemented by a computer program, which may be stored in a computer-readable storage medium, and when the computer program is executed by a processor, the steps of the method embodiments may be implemented. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media does not include electrical carrier signals and telecommunications signals as is required by legislation and patent practice.
It should be noted that the above-described device embodiments are merely illustrative, where the units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. In addition, in the drawings of the embodiment of the apparatus provided by the present invention, the connection relationship between the modules indicates that there is a communication connection between them, and may be specifically implemented as one or more communication buses or signal lines. One of ordinary skill in the art can understand and implement it without inventive effort.
While the foregoing is directed to the preferred embodiment of the present invention, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention.

Claims (5)

1.A RPL routing method based on greedy embedding is characterized by comprising the following steps:
embedding the network topology into a metric space through greedy embedding to allocate coordinates in the metric space for each node in the network topology; after the topology greedy is embedded into the measurement space, the routing table of each node only stores the coordinates of the neighbor nodes of the node;
for each node in the network topology, allocating a bit string for each node through a prefix tree, wherein the coordinates of the node are hierarchical bit strings constructed by the bit strings from the root node to all nodes on the path of the node according to the hierarchical relationship;
repeating steps S1-S2 until each node in the network topology is traversed:
s1, after acquiring the coordinates of the current node, the current node sends a message with the type of DIO to the neighbor nodes; wherein, the initial coordinate of the root node is initially distributed by the root node; the message comprises a Flags field; after receiving the message of the current node, the neighbor node judges whether the current node is selected as a father node; if the neighbor node does not select the current node as the father node, the following operations are carried out according to the Flags field of the message: if the Flags field is 0, indicating that the coordinate of the current node is not changed, performing no processing, and directly returning a DIO-ACK message in a first state to inform the current node that the message is received; if the Flags field is 1, indicating that the current node coordinate is changed, returning a DIO-ACK message in a second state, requesting the current node to send an updated coordinate, and storing the updated coordinate in a self routing table; if the neighbor node selects the current node as a father node, responding to a DIO-ACK message in a third state;
s2, if the current node receives the DIO-ACK message of the first state sent by the neighbor node, no processing is carried out; if receiving a DIO-ACK message in a second state sent by the neighbor node, packaging the coordinate of the DIO-ACK message into the DEM, setting Flag to be 0, and returning the DEM to the neighbor node; if receiving a DIO-ACK message of a third state sent by a neighbor node, generating a bit string for the neighbor node according to a prefix embedding scheme, packaging the coordinates of the node and the bit string into a DEM message, setting Flag to be 1, and returning the DEM message to the neighbor node; the neighbor node receives the DEM message and checks a Flag field of the DEM message; if the Flag is 0, directly storing or updating the node coordinates in the routing table; if the Flag is 1, obtaining or updating own coordinates of the neighbor nodes according to the node coordinates and the bit strings;
for each node c in the network topology:
acquiring a data packet to be transmitted; wherein, the IPv6 extension header of the data packet stores the coordinate C of the target node dd
Analyzing the extended head, and extracting the coordinate C of the target node d from the extended headd
Sequentially acquiring coordinates C of neighbor nodes i from routing table of neighbor nodes ii(ii) a For each node, the routing table stores the coordinates of the neighbor nodes;
respectively calculating the coordinates C of the current node CcCoordinate C to target node ddDistance d (C)c,Cd) And coordinates C of neighbor node iiCoordinate C to target node ddDistance d (C)i,Cd) And calculating the difference D between the twoi=d(Cc,Cd)-d(Ci,Cd);
Traversing all neighbor nodes i of the current node c to obtain a difference value corresponding to each neighbor node i;
taking the neighbor node i corresponding to the maximum difference value as a next hop node of the current node c; and
and transmitting the data packet to a neighbor node i corresponding to the maximum difference value.
2. The greedy embedding-based RPL routing method of claim 1, wherein the structure of said extended header comprises the following fields: a next header field, an extended header length, source node coordinates, a source coordinate mask, target node coordinates, a target coordinate mask;
before parsing the extension header, extracting coordinates of the target node d from the extension header, the method further includes:
it is checked whether the type of the next header field of the extension header is a predetermined type.
3. The greedy embedding-based RPL routing method of claim 1, wherein the first state is represented as 0x00, the second state is represented as 0x01, and the third state is represented as 0x 02.
4. The RPL routing method based on greedy embedding of claim 1, wherein the neighbor node determines whether to select the current node as a parent node according to a predetermined criterion; the predetermined criteria are determined by the objective function, DAG properties, and locally customized policies.
5. A network topology system, comprising a plurality of nodes, wherein each node comprises a memory and a processor, the memory storing a computer program and a routing table, the computer program being executable by the processor to implement the greedy embedding based RPL routing method according to any of claims 1 to 4.
CN201910083664.1A 2019-01-29 2019-01-29 Greedy embedding-based RPL routing method and device and network topology Active CN109617812B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910083664.1A CN109617812B (en) 2019-01-29 2019-01-29 Greedy embedding-based RPL routing method and device and network topology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910083664.1A CN109617812B (en) 2019-01-29 2019-01-29 Greedy embedding-based RPL routing method and device and network topology

Publications (2)

Publication Number Publication Date
CN109617812A CN109617812A (en) 2019-04-12
CN109617812B true CN109617812B (en) 2021-04-23

Family

ID=66020939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910083664.1A Active CN109617812B (en) 2019-01-29 2019-01-29 Greedy embedding-based RPL routing method and device and network topology

Country Status (1)

Country Link
CN (1) CN109617812B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112153670B (en) * 2019-06-28 2023-05-05 北方工业大学 Energy-saving data aggregation method for wireless sensor network
CN111654445A (en) * 2020-07-10 2020-09-11 清华大学 Data packet transmission method, information processing method, node device and medium
CN116016336B (en) * 2022-12-30 2024-04-23 郑州中科集成电路与系统应用研究院 HRPL-based efficient inter-node communication method
CN116501691B (en) * 2023-06-27 2023-09-22 北京燧原智能科技有限公司 Automatic layout method and device of interconnection system, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103619045A (en) * 2013-11-21 2014-03-05 中国科学院信息工程研究所 Route establishing method and system of low-consumption lossy network
CN107612743A (en) * 2017-10-11 2018-01-19 深圳天珑无线科技有限公司 Network topology information acquisition method and method for repairing route
CN108768736A (en) * 2018-06-05 2018-11-06 中国人民解放军国防科技大学 Optimization method of hybrid service function chain embedding cost
CN108965128A (en) * 2018-07-11 2018-12-07 常州工程职业技术学院 A kind of DODAG building optimization algorithm based on RPL agreement

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8761285B2 (en) * 2012-02-22 2014-06-24 Cisco Technology, Inc. Application-aware dynamic bit-level error protection for modulation-based communication
US9112805B2 (en) * 2012-09-28 2015-08-18 Cisco Technology, Inc. Routing messages in a computer network using deterministic and probabilistic source routes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103619045A (en) * 2013-11-21 2014-03-05 中国科学院信息工程研究所 Route establishing method and system of low-consumption lossy network
CN107612743A (en) * 2017-10-11 2018-01-19 深圳天珑无线科技有限公司 Network topology information acquisition method and method for repairing route
CN108768736A (en) * 2018-06-05 2018-11-06 中国人民解放军国防科技大学 Optimization method of hybrid service function chain embedding cost
CN108965128A (en) * 2018-07-11 2018-12-07 常州工程职业技术学院 A kind of DODAG building optimization algorithm based on RPL agreement

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Greedy Embedding Strategy for Dynamic Graphs Based on Spanning Tree";Yanbin Sun,et. al;《ICCCS 2018:Cloud Computing and Security》;20181101;第525-530页 *
"基于贪心嵌入的几何路由可扩展问题研究";孙彦斌,等;《智能计算机与应用》;20170228;第31-34页 *
"面向ICN的可扩展名字路由机理研究";孙彦斌;《中国博士学位论文全文数据库信息科技辑》;20171215;I139-6 *

Also Published As

Publication number Publication date
CN109617812A (en) 2019-04-12

Similar Documents

Publication Publication Date Title
CN109617812B (en) Greedy embedding-based RPL routing method and device and network topology
US20220224633A1 (en) Bier forwarding entry construction method, apparatus, and system
US7668119B2 (en) Ad hoc network formation and management based on aggregation of ad hoc nodes according to an aggregation hierarchy
US11050657B2 (en) Method, device and node for message transmission, and computer storage medium
WO2018032961A1 (en) Information management method, apparatus and system
WO2018032962A1 (en) Method, device and system for information synchronization
CN101507206B (en) Method and network node for routing data packets in communication networks
WO2016188502A1 (en) Method and device for providing notification of traffic engineering information in bier network
CN114095305A (en) BIER message forwarding method, equipment and system
CN102769885B (en) Method for realizing routing in sensor network and sensor network
CN114465920B (en) Method, device and system for determining corresponding relation
CN101453413A (en) Method and apparatus for automatic topology discovery and resource management in PBB network
Rojas et al. Outperforming RPL with scalable routing based on meaningful MAC addressing
Mu An improved AODV routing for the zigbee heterogeneous networks in 5G environment
US20190199633A1 (en) Method and apparatus for forwarding in information centric networking
CN105208661A (en) Wireless network channel distribution method and system
CN107567065B (en) Transparent data transmission method and system based on wireless self-organizing network
CN115277720B (en) Multicast group management method, device, equipment and storage medium
CN109699060A (en) A kind of means of communication and device of wireless sensor network
Canourgues et al. A scalable adaptation of the OLSR protocol for large clustered mobile ad hoc networks
CN109995649A (en) It is a kind of for obtaining the method and device of cross-domain link
CN114143249B (en) Method and device for determining routing information, electronic equipment and storage medium
Ahn et al. MAC-aware concentrated multi-point relay selection algorithm in ad hoc networks
CN117793841B (en) Deep coverage communication method, device and system based on power equipment body area network
CN107659503B (en) Service protection method and system for resource-limited network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant