Chapter 1. Introduction
1.5 Organization
The rest of this thesis is organized as follows: Chapter 2 describes the related work about wireless routing protocols, including AODV[11] and AOMDV[10].
Chapter 3 introduces our proposed reliable routing protocol and an AODV-based routing protocol with reliability support. Performance evaluation and analysis is presented in chapter 4. The conclusion and future work are drawn in chapter 5.
Chapter 2.
Related Work
2.1 Ad hoc On-demand Distance Vector Routing
The Ad hoc On-demand Distance Vector (AODV) routing protocol [11] is a reactive routing protocol which can provide quick adaptation to dynamic link conditions, low processing and memory overhead, and low network utilization in wireless networks. Comparing to proactive routing protocol, reactive routing protocol is more suitable for wireless sensor networks because it consumes less network resources and maintains only useful routing information in each node. Since wireless sensor networks and ad hoc networks have many aspects in common, many proposed routing protocols in wireless sensor networks are based on the route discovery process discussed in AODV.
2.1.1 Message Formats and Routing Table Structure
There are four control message types defined by AODV, these control packets are used to find routes for the destination if a node is lack of the information to the destination or used to maintain the routing information. The message formats shows in Fig. 2-1~2-4, Fig. 2-5 shows the routing table structure. The detail explanation of each field in these control packets are presented in AODV [11].
(1) Route Request (RREQ) is a control message used to request a route. Each time a node does not have a route to a particular destination, the node broadcasts a RREQ packet.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Figure 2-1 RREQ Message Format of AODV
(2) Route Reply (RREP) is a control message used to reply the RREQ to the source. RREP is either sent from the destination node or the intermediate node which has fresh route to the destination.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Figure 2-2 RREP Message Format of AODV
(3) Route Error (RERR) is an error message used to notify other nodes that the route to the destination is no longer exist due to link breaks.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type=3 N Reserved DestCount
Unreachable Destination IP Address Unreachable Destination Sequence Number Additional Unreachable Destination IP Address Additional Unreachable Destination Sequence Number
Figure 2-3 RERR Message Format of AODV
(4) RREP-ACK is an optional control message for AODV used to acknowledge the RREP message.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 Type=4 Reserved
Figure 2-4 RREP-ACK Message Format of AODV
(5) Routing table records some useful information for routing packets such as hop count and next hop. Sequence number is used to determine the freshness of this information.
Destination Sequence Number Hop count Next Hop Expired Timeout Figure 2-5 Routing entry structure of AODV
2.1.2 AODV Routing Protocol Operation (1) Maintaining Sequence Number
AODV provides loop-freedom of all routes by maintaining most recently heard sequence number of the destination. It is updated whenever a node receives new information from RREP, RREQ, or RERR messages. A destination node increments its own sequence number before it initiates a route discovery process or before it sends a RREP in response to a RREQ.
(2) Generating, Processing, and Forwarding Route Requests
A node will generate a RREQ if it requires a route to the specific destination which is not available in its routing table. Each intermediate node receiving this RREQ could either send a RREP if it has a fresh enough route or re-forwarding this RREP message.
(3) Generating ,Receiving, and Forwarding Route Replies
the source if having fresh enough route to the destination; otherwise, the destination generate a RREP after receiving first RREQ message. All the nodes being involved in this route discovery process will update the routing table information of the source node and destination node.
(4) Route Maintenance
AODV uses RERR packets to inform all the neighbors about route failures after the local route repair being unsuccessful; a node will also generate a RERR if it does not have a route for the incoming data packet.
AODV maintains a neighbor-status table by sending hello message to all one-hop neighborhoods periodically to confirm the existence of each neighbor. Any hello replies would trigger the update process in the table.
AODV also supports local route repair mechanism to rebuild the route without involving the source nodes. Although this mechanism might increase the path length, it can reduce the frequency of network-wide route discovery process and thus lower the network traffic load.
(5) Data Forwarding
Each time a source node has a data packet to send, it will first check the routing table whether there is any route to the destination. The data packet will be forwarded to the next hop directly if there is a valid route; if not, the source node will start the route discovery process and wait for a reply. The packet will be dropped after RREQ_RETRIES which is defined as 3.
2.2 Ad hoc On-demand Multi-path Distance Vector Routing
The Ad hoc On-demand Multi-path Distance Vector (AOMDV) routing protocol is a multi-path extension to AODV. It greatly reduces the routing overhead incurred by AODV and increases the packet delivery rate by maintain multi-path information to a destination in each route discovery process.
2.2.1 AOMDV Routing Protocol Operation
AOMDV uses the same control messages as AODV does. The goal of AOMDV is to provide disjoint and loop-free multiple paths from each source and destination pair in each route discovery process. AOMDV also adopts the sequence number mechanism to avoid the occurrence of route loop. Once a control packet with a higher sequence number is received, all the paths with the same smaller destination sequence number should be removed. AOMDV accepts incoming paths if their destination sequence number is identical. It also maintains an “advertised hop count” instead of
“hop count” in AODV. Advertised hop count is the maximum hop count of all the paths in each route. For the situation receiving control packets with the same sequence number, it has two rules to follow:
(a) Route advertisement rule: Never advertise a route shorter than one already advertised.
(b) Route acceptance rule: Never accept a route longer than one already advertised.
By maintaining advertised hop count and following the two rules, AOMDV can permit more number of alternate paths to be maintained while ensuring loop freedom.
The detail proof of the loop freedom is available in [10].
0 ~ 31 32 ~ 63 64 ~ 79 80 ~ 95 96 ~ 127 128 ~ 159 160 ~ 223 Path list
Hop count1 Next hop1 Last hop1 Expiration timeout1 Hop count2 Next hop2 Last hop2 Expiration timeout2 Destination
Hop count1 Next hop1 Last hop1 Expiration timeout1 Destination
Figure 2-6 Routing Table Structure of AOMDV
The routing table of AOMDV is modified from AODV to accommodate more paths for each route, shown as Fig. 2-6. To maintain disjoint paths in each route, AOMDV adds extra field called “last hop” to each path. It has been proved that if each node maintains paths with different next hop and last hop, those paths are disjoint.
The route discovery process in AOMDV is very similar to AODV, but each intermediate node can send multiple RREPs to the source if it has multiple disjoint paths in the routing table; otherwise, it continues to forward the RREQ. If the destination receives the RREQ, it will update the destination sequence number and send RREPs back to the source. In AODV, the destination only replies the first received RREQ; however, AOMDV adopts a looser reply policy. The destination generates a RREP in response to every incoming RREQ if it has multiple loop-free reverse paths to the source. Such additional RREPs can increase the possibility of finding more alternate paths. Each node receiving the control packets can also update the path information. After one route discovery process, all involved node may maintain multiple paths to both the source and destination. Nodes will not initiate another route discovery process until all the paths to the destination are no loner available or have expired.
Every time a node has data packets to send, it will check the routing table for that destination. If the route is valid and has at least one unexpired path, AOMDV will choose the first path and forward the packet to the proper next hop; if no path is available, the node will initiate the route discovery process and wait for replies. Once the node generates RREQ for RREQ_RETRIES times and receives no reply, the packet will be dropped and declares as NO_ROUTE to the upper layer.
2.3 Discussion
Comparing to AODV, AOMDV performs well in end-to-end packet delay, packet delivery rate, and routing overhead. Since AOMDV maintains multiple paths to each destination, it always has alternate paths without re-generate RREQ message. This greatly reduces the frequency of global route discovery while providing fault tolerance to the network.
Consider the nature of WSNs, each sensor node has limited resources and will be deployed in an unstable environment. Design a reactive routing protocol with fault tolerance is necessary and, at the same time, consuming less resources of the networks and the sensor nodes. Obviously, AOMDV is more outstanding than AODV in all aspects if we want to develop a reliable routing protocol. Although AOMDV maintains multiple paths for each destination, it only uses single path to forward the packet. In other words, it provides fault tolerance to the node failure and link failure but not reliability to the data.
In the next chapter, we propose two reliable routing protocols for wireless sensor networks called SOMDV-R and AODV-R. The former is based on AOMDV which provides reliability to the data packets while achieves minimum routing overhead; the latter is modified from AODV in order to provide reliability to the data packet.
Chapter 3.
Reliable Routing Protocols in Wireless Sensor Networks
In this chapter, we propose two reliable routing protocols in wireless sensor networks called Sensor On-demand Multi-path Distance Vector Reliable Routing Protocol (SOMDV-R) and Ad hoc On-demand Distance Vector Reliable Routing Protocol (AODV-R). The former is discussed in Section 3.1; the latter is discussed in Section 3.2.
3.1 SOMDV-R
3.1.1 Protocol Overview
SOMDV-R is modified from AOMDV in order to provide reliability to the data forwarding. We define the reliability as “end-to-end successful transmission probability”. SOMDV-R shares several characteristics with AOMDV. They are both based on “on-demand and distance-vector” concept, hop-by-hop routing procedure, and multiple paths maintenance in routing table. The main difference lies in the estimation of reliable degree of each path and the data packet forwarding mechanism.
Link quality of each node is required for SOMDV-R to calculate the path reliability.
This information can obtain by hello drop rate in routing layer, beacon loss rate in MAC layer, or SNR ratio in physical layer…etc.
The goal is to design a protocol which is able to calculate the path reliability, and forward the packet according to the importance of each packet. Determine the importance of the generating data relies on the information-awareness technique; we skip this portion since it is out of the scope of this thesis. In order to maintain this
necessary information, using extra field in control packet header is needed. As we mentioned before, there is a trade-off between overhead and reliability; however, minimum overhead is also expected.
3.1.2 Routing Table Structure and Terminology
A. Routing Table Structure
The routing table structure is modified from AOMDV with only an extra field called “path estimation (PE)”. It is a reference value of the reliability of this path and plays an important role in data packet forwarding. Fig. 3-1 shows the content of the routing table. Each field in the routing table is described in the following subsection.
B. Terminology
This subsection defines some terminologies used in SOMDV-R:
(1) Sequence Number (Seqno): It is a monotonically increasing number related to each destination in routing table. Higher sequence number means the relatively fresher information. It is updated whenever it receives a fresher control packet or it decides to initiate a route discovery for the destination.
0~ 31 32~ 63 64~ 79 80~ 95 96 ~ 127 128~ 159 160~ 223 224~ 287
Figure 3-1 Routing table structure of SOMDV-R
(2) Advertised Hop Count (Adv. HC): It is the maximum hop count among all paths in each route, i.e. Adv. HC = MAX (HC1, HC2 …). It is used to determine the Route advertised rule and Route acceptance rule to avoid looping path as we discuss in Chapter 2.
(3) Reliability Demand of the source(RDs): This parameter indicates the demand for the data delivery rate of the source. It is a value between 0 and 1 which representing the importance of the data. Determining the RDs in each data packet is the technique about information-awareness which is out of the scope of this paper. We manually assign the RDs in each data packet. By setting this value in the data packet header, SOMDV-R would forward this data packet according to its demand.
(4) Reliability Demand of the intermediate nodes(RDi): Since RDs would be updated in each intermediate node. We define this updated value as RDi. (5) Link Quality (Qij): It is the link quality between node i and j. Link quality is
an essential information for estimating the path reliability. It is a value between 0 and 1 which is obtained by hello messages received from each neighbor in a time interval. Higher link quality means the link is better and more suitable for transmission. Link quality between node i and j can be calculated by: , where Hij is the number of hello messages node i has received from neighbor j and S ij = number of hello message node i should receive from neighbor j in a time interval.
Figure 3-2 Calculation of PE and HC in each hop
(6) Path Estimation (PE): PE represents the reliable degree of the path. It is an estimating value between 0 and 1. The path with higher PE value means that it has higher end-to-end successful transmission probability. It is updated in each intermediate node as shown in (2) and Fig. 3-2.
PE(A→D) = QAB × QBC × QCD (2)
3.1.3 Protocol Operations
SOMDV-R consists of three components, i.e., route discovery, route maintenance, and data packet forwarding. The following subsections describe the operations of each component.
A. Route Discovery
In AOMDV, route discovery process is initiated whenever a traffic source node having a data packet to send with no valid path available in its routing table.
SOMDV-R initiates a route discovery if the source node has no path in the routing table or has paths that can not satisfy the packet’s demand. The traffic source then broadcasts a RREQ destined to the sink with initial hop count equal to 0 and path estimation equal to 1. Any intermediate nodes receiving this RREQ will update the hop count and path estimation in the control packet header, i.e., increment the hop count by 1 and multiply the PE by the link quality with the upstream node as shown in Fig. 3-2. After that, the node will form a reverse path toward the source node with the PE copied from the control packet header. This PE value means the successful transmission probability from current node to the traffic source.
Figure 3-3 Sending Route Reply
As shown in Fig. 3-3, any intermediate nodes receiving the RREQ will send an RREP back to the source via the reverse path if it has one or more valid and unexpired paths to the sink node (such as node C has a valid path to the sink with hop count equal to 2, PE equal to 0.8, and next hop D as shown in Fig. 3-3), the RREP represents a forward path that was not used in any other RREPs for this RREQ;
otherwise, it simply re-broadcasts the RREQ if it has not previously forwarded any other copy of this RREQ(such as A, B, and D).
When the sink node receives a RREQ, it simply forms a reverse path as the intermediate nodes do and generates a RREP in response to every RREQ which arrives at the source via a loop-free and node-disjoint path. Any intermediate nodes receiving an RREP will update the packet header including hop count and PE value, update the routing table if necessary, and then forms forward path to the sink. After that, it will forward the RREP if there are any reverse paths that have not previously used for this route discovery; else, it simply discards the RREP.
After the route discovery process, the source node may receive multiple RREPs sent from disjoint paths. All the nodes involving in this route discovery process will also update the forward and reverse path information.
B. Route Update and Maintenance
SOMDV-R adopts the same route update and maintenance rules in AODMV.
Each path has an expiration timeout field for the default lifetime of a path. The path will be purged if the timer has expired and the route will be marked as “DOWN” once all the paths are expired. Route update is invoked when a node receives a fresher control packet (including RREP, RREQ, and RERR) or receives a control packet with a shorter hop count and better PE to the sink node(including RREQ and RREP). Once
will be marked as “valid/invalid”, depending on the content of the control packet.
The local connectivity can be maintained either by link layer mechanisms or by routing layer mechanisms. In link layer protocols such as IEEE 802.11, each time a node receiving a CTS or ACK from a neighbor is able to confirm the connectivity. In routing layer, by proactively sending Hello messages to all immediate neighbors, SOMDV-R is able to maintain the local connectivity with each neighbor. Once a node can not receive any Hello messages from a specific neighbor for (ALLOWED_HELLO_LOSS × HELLO_INTERVAL), it will purge the neighbor from the neighboring table and declare the link as “broken”.
Depending on the distance of the broken link to the sink, route maintenance has two mechanisms:
(1) Local route repair mechanism is invoked if the intermediate node with a broken link is closer to the destination than the source node as shown in Fig.
3-4. The intermediate node D will buffer all the packets destined to the destination F and initiate another route discovery process. After receiving RREPs, the intermediate node D first updates the path information and then forwards all the buffered packets.
Figure 3-4 Local Route Repair
F igure 3-5 Forwarding RERR
(2) In Fig. 3-5, when the last path to the sink node of node A breaks and A can not initiate local route repair mechanism, i.e., the broken link is closer to the source than the destination, it will purge the route and locally broadcast a RERR to all its one-hop neighborhood (node E, B, and source). Each of its neighbors receiving the RERR will also purge the route if the last path to the destination does no longer exist and continue to forward the RERR to its immediate neighbors (node E). All the nodes having purged the route have to initiate another route discovery process if still needing the route to the destination.
C. Data Packet Forwarding
In the previous subsection, SOMDV-R establishes the basic knowledge of each path by route discovery process. Comparing to AODMV, data packet forwarding is more complex since the goal of SOMDV-R is to achieve reliability. In AOMDV, data packets are simply forwarded if there is at least one path to the destination; in SOMDV-R, we have to make the forwarding decision according to the relationship between RD and PE before we forwards each data packet.
of channel error rate is calculated by:
of channel error rate is calculated by: