Abstract: By analyzing the advantages and disadvantages of the Cluster-Tree and AODVjr algorithms in the ZigBee protocol, an optimized routing algorithm based on Cluster-Tree + AODVjr is proposed. The algorithm uses the neighbor table in the ZigBee protocol to define the range of the destination node by defining partitions, thereby controlling the hop count of broadcast RREQ packets and preventing invalid RREQ flooding. This optimization algorithm can effectively reduce the number of routing hops, shorten the transmission delay, reduce the number of dead nodes in the network, and improve the success rate of data transmission.
Keywords: ZigBee; routing algorithm; Cluster-Ttee + AODVjr; neighbor table; grouping
introduction
The rapid development of wireless communication and embedded microsensor technology has promoted the rise of wireless sensor networks. The ZigBee protocol is based on the IEEE 802.15.4 wireless standard, including the application layer, network layer, security layer, etc., which realizes the self-organization and self-maintenance functions of the network. In a wireless sensor network, the energy of a node is limited. If the node dies at the end because of its own energy consumption, it will have a great impact on the transmission performance of the entire network. Therefore, in practical applications, the routing protocol that best meets the application needs is selected according to different network conditions, so that the routing protocol selects the appropriate path according to the network topology, distributes the transmission energy of the nodes evenly, and reduces the power consumption of the network. The task under consideration.
1 Research on ZigBee routing algorithm
According to the capabilities of the devices, the devices in the ZigBee network can be divided into full-function devices (Full FuncTIon Device, FFD) and semi-function devices (Reduced FuncTIon Device, RFD). FFD can forward data frames from other devices, but RFD cannot. When FFD joins a network, it can act as a coordinator. The coordinator periodically broadcasts data frames, and surrounding RFDs can discover and join the network to form a star topology network. In a star topology, the coordinator is responsible for controlling the entire network, and all terminal devices communicate directly with the coordinator and are maintained by it.
The ZigBee network layer also supports tree and mesh networks. A tree network uses a hierarchical routing strategy to transmit data and control information in the network, while a mesh network can carry out point-to-point communication. In a tree network, the root node (coordinator node) and all internal nodes (router nodes) are FFDs, while RFD can only be used as leaf nodes (terminal nodes). When a coordinator or router joins the network, it must be assigned a unique network address.
1.1 Network address allocation
The ZigBee protocol specification uses a distributed address scheme to allocate network addresses, which is designed to provide each potential parent node with a limited network address sub-block. When a device successfully joins the network, its parent node automatically assigns a unique network address to the node.
1.2 ZigBee routing algorithm
The network layer supports a variety of routing algorithms such as Cluster-Tree, AODVjr, and Cluster-Tree + AODVjr algorithm (hereinafter referred to as C + A algorithm). Therefore, the routing protocol of ZigBee network has the characteristics of tree network and mesh network.
1.2.1 Cluster-Tree algorithm
The tree routing mechanism implements routing based on the network address and the parent-child relationship between nodes. If the destination address device is not a descendant of the router, it will directly forward the data frame to the router's parent node, and its parent node will follow the same steps for routing.
1.2.2 AODVjr algorithm
AODVjr is a simplified improvement of the AODV algorithm. When the source node wants to find the path to the destination node, it first multicasts RREQ packets to its neighbor nodes. If the neighbor node that received the packet has routing capabilities, it will establish a reverse route reply to the source node while continuing to multicast the RREQ packet to its neighbor node. If it does not have routing capabilities, the cluster-tree routing algorithm is used to forward the packet to its descendants or parent nodes for forwarding. When the destination node receives this RREQ packet, it replies to the source node with a RREP packet through unicast. At the same time, all nodes that receive this RREP packet will update and record their neighbor table, and the route is successfully established. Experiments show that the AODVjr algorithm maintains the original function of AODV, the control overhead is smaller than the AODV algorithm, so it is more energy-efficient.
1.2.3 Cluster-Tree + AODVjr algorithm
In this algorithm, the nodes in the network are divided into 4 categories: Coordinator, RN +, RN- and RFD. Among them, RN + has enough storage space and capacity to conduct AODVjr protocol; while RN- is unable to conduct AODVjr protocol due to limited storage space. The Coordinator, RN +, and RN- all have routing functions. During communication, if the destination node is not a neighbor node, RN + will start AODVjr to actively find the best path to the destination node; RN-nodes can only be found through the tree routing algorithm. One-hop node. The simulation proves that the routing protocol using the combination of Cluster-Tree and AODVjr has lower control overhead and average delay than using one of the routing protocols alone while ensuring the packet delivery rate.
2 Optimize ZigBee routing algorithm
2.1 ZigBee routing algorithm
The Cluster-Tree algorithm must be addressed according to the cluster tree structure address allocation method, the routing efficiency is low, and the transmission path from the source node to the destination node has too many hops, which will affect the network delay.
In the process of route discovery, the AODVjr algorithm will generate a large number of packet flooding problems. For example, when the destination node is a child node of the source node, if AODVjr is used to send RREQ packets to neighbor nodes, it is unnecessary to send RREQ packets to nodes above its parent node; if the destination node is not a child node of the source node, use It is superfluous for AODVjr to send RREQ packets to its child nodes. Assuming that the maximum depth of the network is 1, the longest path that a data frame may be forwarded is 21, so when the hop count is greater than 21, the continued broadcast of RREQ packets should be stopped and discarded; assuming from the source node to the destination node The minimum hop count is M. When the number of times the RREQ packet is forwarded is greater than M, it is unnecessary to continue forwarding. Since each AODVjr route will generate a large amount of RREQ flooding, it will make the node energy consumption serious.
In view of the above problems, this paper proposes an optimized routing algorithm based on C + A algorithm to solve the inefficiency of Cluster-Tree routing and the serious flooding and energy consumption of AODVjr routing.
2.2 The idea of ​​optimizing routing algorithm
In a sensor network, the sensor node can only communicate directly with the nodes adjacent to it and within its RF transmission range. The neighbor table of each node in the tree network contains relevant information of each neighbor node within its radio frequency coverage. In the optimized routing algorithm, the effective information recorded in the neighbor table can be used to enable the data frame sent by the source node to the destination node to arrive after one hop.
In the process of AODVjr route discovery, in order to avoid the non-selective flooding of RREQ packets, according to different situations in the optimized routing algorithm, a restriction condition on the number of broadcast hops of RREQ packets is added, so that excess routes that are greater than the restriction condition cannot be enabled. This can effectively reduce the number of RREQ packet flooding, narrow the RREQ broadcast range, and limit the direction of RREQ packet propagation, thereby reducing the energy consumption of the network.
2.3 Optimized routing algorithm design
The specific steps to optimize the routing algorithm are as follows:
①Partition the tree network and set the initial value of auxiliary variable number to 1 (number value represents the number of partitions). The zoning principle is as follows: take the coordinator as the root node, treat each subtree of the root node as a region, and number it. Record the maximum address Amax and the minimum address Amin in each area. It can be drawn from the tree address allocation mechanism that the node addresses An in the same area all satisfy Amin≤An≤Amax, that is, the address range of this area is [Amin, Amax], and the address ranges of each area are disjoint Relationship, that is, a certain address exists in only one area.
â‘¡ Determine the type of source node. If it is RFD, it directly forwards the data frame to its parent node; if it is FFD, it determines whether the destination node is a child node of the source node. If yes, the AODVjr route is initiated to forward the data frame, and the maximum broadcast hop number of the RREQ packet is limited to | Dd-Ds | (Ds is the network depth of the source node, Dd is the network depth of the destination node). ; If not, proceed to the first step.
â‘¢ The source node sends RREQ packets to the neighbor node, and the neighbor node judges whether its own address is equal to the destination address. If they are equal, it will be transmitted to the upper layer, the upper layer will parse the data frame, and limit the maximum broadcast hops of the RREQ packet to 1, and discard it if it exceeds the range. If not, go to step â‘£.
④ Determine which area the destination address is in. If the destination node and the source node are in the same area, go to step ⑥; if they are not in the same area, go to step ⑤.
⑤ Determine whether there is a node in the same area as the destination node among the neighbor nodes of the source node. If so, forward the data frame to the node and proceed to step ⑥; if not, proceed to step ⑦.
⑥ Number value is increased by 1. The area where the destination node is located is regarded as a tree network, the smallest address node is regarded as the root node of the tree, and it is partitioned according to the partition principle of step ①. Determine whether the destination node and the current node are in the same area. If yes, repeat step ⑥; if not, proceed to step ⑦.
⑦ Forward the data frame to the root node of the number-th packet via tree routing, and then start AODVjr routing, whereby the root node broadcasts the RREQ packet to the corresponding packet of the destination node, finds the destination node, and the maximum broadcast hop of the RREQ packet The number is limited to | Dd-number + 1 |, and it is discarded if it exceeds the range.
Electric Pole, Electric Light Pole, Electric Power Pole
YIXING FUTAO METAL STRUCTURAL UNIT CO.,LTD( YIXING HONGSHENGYUAN ELECTRIC POWER FACILITIES CO.,LTD.) , https://www.chinasteelpole.com