An Improved Flooding Routing Protocol for Wireless Sensor Networks Based on Network-Coding

A central question in wireless sensor network research is how to reduce the consumption of the energy of the sensor nodes. Theoretically, the network coding technology proposed by Ahlswede et al (2000) can improve the network reliability and network throughput, increase the robustness and save energy. Based on the classic flooding routing protocol, the present study proposes a new flooding control protocol, i.e. NC-Flooding for wireless sensor networks. NC-Flooding protocol introduces five mechanisms to enhance the efficiency of wireless sensor networks. As shown by MATLAB simulation results, NC-Flooding protocol reduces the number of broadcasts of wireless sensor networks, increases the throughput of the network and increases the bandwidth utilization. We conclude that NC-Flooding protocol reduces data forwarding cost and node energy consumption and extends nodes’ life cycle, thus increasing network utilization.


Introduction
In recent years, wireless sensor network research has been focusing on the problem of how to improve the node's energy consumption. Because the energy of the sensor node is limited, the key technology to extend the node's survival time lies in reducing the energy consumption of the node. Ahlswede et al proposed that the network coding (NC) technology has the potential to reduce the packet forwarding frequency of the node [1]. Since the energy of the node used for encoding computation is far less than the energy of the node sending packets, theoretically, the NC technology can reduce the node's energy loss. Thus, it is possible to enhance the routing protocol by applying network coding technology to the wireless sensor network.
It is generally agreed that the flooding protocol plays an important role in balancing the traffic distribution of the system [2]. Although the network coding technology brings a lot of research on wireless sensor networks [3], most of the research has focused on the LEACH, PEGASIS and DD protocols [4,5,6,7], and the research on flooding protocol is very rare. However, the flooding protocol is the basis of many routing protocols, since many parts of the above mentioned protocols are in the form of flooding protocols. *Corresponding author: tangchuran@163.com Therefore, the study of network coding for flooding protocols is of great significance to understanding protocols for the wireless sensor networks. The purpose of this study is to investigate whether the flooding protocol, when combined with NC, can reduce the number of packet forwarding and the energy loss of the sensor nodes, and whether it can increase the throughput of the network and thus extend the lifecycle of network nodes.

NC-flooding protocol flow chart
We propose the following procedure for the working of NC-Flooding protocol. (1) active XOR coding mechanism In order to increase the chances of network coding, a coding mechanism is used that makes active XOR encodes: when the intermediate node receives a packet, it does not broadcast the packet immediately, but waits for a period of time to actively seek coding chances until the output pool is full.
(2) preferentially broadcast the data packets generated by the local nodes. This can take advantage of the short-term contact between nodes for packet transmission to improve transmission efficiency, and shorten the delay as much as possible.
(3) Each node stores the transmitted encoding packet for decoding When the node needs to broadcast a packet out, the packet is removed from the output pool, but it is not immediately removed from the node cache. The node continues to store it in the buffer queue for decoding, so that in future the data package a ⊕ b can be decoded through a ⊕ (a ⊕ b) packet.
(4) discard duplicate packets After the forwarding node receives a packet, the packet is judged as to whether it is a new packet. If it is not new, the node discards it and does not forward it. This, to some extent, eliminated the implosion phenomenon.
(5) nodes set up two kinds of storage space Each node has two kinds of space for storage: output pool and buffer queue. The buffer queue follows the first-in first-out principle. If the buffer queue is full, the first packet is deleted and used for decoding.

Simulation Experiments and Performance Evaluations
The performances of the flooding protocol and NC-Flooding protocol in wireless sensor network communication are simulated by MATLAB platforms. The comparison between the two protocols is based on the remaining energy and the number of transmitted packets.  Figure 2 shows the comparison of the remaining energy of 201 nodes using NC-Flooding and Flooding protocols. It can be seen that the residual energy of the NC-Flooding protocol is about 1.7 units, and the remaining energy of the Flooding protocol is about 1.55 units. The conclusion is that NC-Flooding protocol is more energy efficient than Flooding protocol, so that the lifetime of wireless sensor nodes in the network is extended in the case of NC-Flooding protocol.

Factors that affect network coding
The following three figures show the residual energy curves when the parameters vary.  As can be seen from Figure 4, NC-Flooding saves about 0.1 measure more energy than the Flooding protocol when the number of nodes is 201 and the transmission radius is 45. Again as can be seen from Figure 5, when the number of nodes =201, transmission radius = 50, NC-Flooding routing protocol is 0.15 measure more efficient than the Flooding routing protocol.
From the simulation results obtained we find that in terms of energy consumption, NC-Flooding protocol is better than the Flooding protocol. We also find that factors that affect network coding include the average density and transmission radius of wireless sensor nodes. The higher the average density and transmission radius of nodes in wireless sensor networks, the more opportunities for network coding, and the more advantages of network coding in saving network energy.

Discussions and conclusions
The key issue for wireless sensor network to solve is how to increase the network node's life cycle. In order to reduce the energy consumption of the nodes and prolong the service life of the nodes, we propose the NC-Flooding protocol and have made MATLAB simulations using NC-Flooding protocol to reduce the number of packets forwarded by nodes in the wireless sensor network. The simulations suggest that the network's communication efficiency is increased by the NC-Flooding protocol.
Thus, the NC-Flooding protocol, which is the combination of the network coding and the flooding protocol, has the potential to apply to various situations of wireless sensor networks. More efficient versions of the NC-Flooding protocol can be designed by considering the effects of relevant factors, including the specific flow of data structures and protocols used to cache packets, node information and residual energy at each node. It is believed that this approach to network coding will bring actual benefits to the research in wireless sensor networks.
The simulations we performed also show that there are some factors that affect the network coding. The main factors are the average density of wireless sensor nodes and transmission radius. The higher the average density and transmission radius of nodes in wireless sensor networks, the more opportunities for network coding, and the more advantages in saving network energy In conclusion, this study has deepened the insight of the role of network coding in the routing protocols of wireless sensor networks. The originality of this study is that we apply the network coding technology to a common basic routing protocol: the Flooding routing protocol, and Ihas found the actual role of network coding in improving the performance of wireless sensor networks. The significance of the NC-Flooding protocol is that the flooding protocol is the basis of many planar routing protocols such as DD, SPIN and GEAR. Since the NC-Flooding protocol can reduce the amount of data sent over the network through network coding, other wireless sensor network routing protocols that contain the Flooding protocols can also improve the performance of the individual networks through network coding. The NC-Flooding protocol based on network coding can also be applied to these protocols.