260 likes | 374 Views
A Framework for Reliable Routing in Mobile Ad Hoc Networks. Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi. Reliable Routing. Routing for nodes communications Nodes are vulnerable to failure Battery drain Compromise One solution - multipath routing Edge-disjoint path
E N D
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi
Reliable Routing • Routing for nodes communications • Nodes are vulnerable to failure • Battery drain • Compromise • One solution - multipath routing • Edge-disjoint path • Node-disjoint path
Outline • AODV • AODVM • A Framework For Reliable Routing
Ad Hoc Distance Vector Routing Protocol (AODV) • Source node floods RREQ message - if needs a route to a destination • Sends back RREP back to the source along the path by: • Destination, or • Intermediate node that knows a route to the destination • Intermediate node re-broadcast the RREQ only if • It does not know a route to the dest., and • It has not forwarded this RREQ
AODV (2) • Once a link fails, a RERR is sent to the src by the node that detects the link failure • Problem: some Possible node-disjoint paths to the dest may not be traced during query. • Reason: discarding duplicate RREQ
AODV-Multipath (AODVM) • An intermediate node keeps a RREQ table • Source • Destination • Neighbor who transmitted the RREQ • Hops to source • Expiration timer
AODVM – Destination Node • When dest. Receives the 1st RREQ • Update its sequence number • Generate an RREP which contains an additional field –‘last_hop_ID’ • Send back RREP along the same path but in the reverse direction. • Same for duplicate copies of RREQ
AODVM - Intermediate Node • When an intermediate node receives an RREP • Delete the entry of this neighbor from RREQ table • Add a routing entry to its routing table • Forward the RREP to a neighbor • which is in its RREQ table • whose path to the source is the shortest • Delete the entry of this neighbor from RREQ table • Other nodes delete the entry of this node from their RREQ tables
AODVM - Intermediate Node (2) • Sends back a RDER to its neighbor when its RREQ table is empty ( cannot forward a RREP) • The node who receives a RDER will try to forward RREP to another neighbor
AODVM – RRCM by Source • Source will send a RRCM in the first data packet sent on the corresponding route • An RRCM contains information of the route • Hop count • First hop relay • Last hop realy
AODVM – Loop Prevention • Sequence numbers: seq(i, j) - Node i’s latest sequence number known to node j • When source node initiates an RREQ, it increases seq(src, src) and seq(dst, src) by 1. • RREQ contains these two numbers denoted by seq(src, RREQ) and seq(dst, RREQ). • Destination will compute a new seq number when receives a RREQ: seq(dst, dst) = MAX{ seq(dst, RREQ), seq(dst, dst) } + 1 • Destination generates an RREQ that contains seq(dst, RREP) = seq(dst, dst)
AODVM – 2 Lemmas • Using AODVM, if a route is found , there is no loop in this route. • Using AODVM, if two routes are discovered, these two routes are node-disjoint.
AODVM – 2 Observations • The number of node-disjoint paths from a source to a destination is dependent on the node density in the ad hoc network. • As the distance between a source and its destination is increased, one could find no more than a very limited number of paths between them, even at moderate node densities (average node degree is 6.7). • Reason: sparse regions in the network act as bottlenecks.
Reliable Path • Reliable node • Power capable • Secure (e.g. in a tank) • Expensive to be deployed • Reliable segment • the number of node-disjoint paths that can be found between the end nodes of the segment is at least equal in number to k, or, • the segment entirety consists of reliable nodes. • Reliable path - consists of reliable segments
Objective • Identify positions for the R-nodes such that the probability of the existence of a reliable path (given a value of k) between any two given nodes is high. • Achieved by modified min-cut algorithm
Min-cut Problem • Let G(V,E) be an undirected weighted graph which is connected. A cut in G is a partition of the vertices V into two nonempty sets S and ~S. • The value of a cut is the sum of the weights of the edges crossing the cut. • The min-cut is the cut(s) with the minimum cut value of all the possible cuts.
Contraction Algorithm • randomly choose an edge (x, y) in G and replace vertices x and y by a new vertex z; • for each v that is not in {x, y}, the weight of the new edge (v, z) is the sum of the weights of edge (v, x) and edge (v, y); the rest of the graph remains unchanged. • The contraction procedure is repeated until there are only two nodes and one edge left. • The cut value is then the weight of the edge that connects these two nodes. • If repeat the contraction algorithm O(n^2logn) times, the min-cut can be found with a reasonable probability.
Modified Min-cut Algorithm • Assume each node can obtain a partial topology view of the network (within k hops from itself). • Compute the min-cut of the partial graph of each node. • Remove the node and the edges incident on itself from the partial graph • Run the min-cut algorithm with modification: • The outermost links are contracted first, and the links that are closest to the node are contracted last.
The Distributed R-node Deployment Strategy • Each node periodically broadcasts a HELLO message to its neighbors within k hops. • In a HELLO message of a R-node, a flag indicates its motion status: • Static: position has been determined • Dynamic: in the process of determining where to move • Each normal node constructs 2 local topology graphs: with and without static R-nodes.
The Distributed R-node Deployment Strategy (cont’) • the weight of a direct link between two static reliable nodes is set to k. All the other links have weight of one. • A node periodically calculates it min-cut value and size of min-cut set and sends them out by HELLO. • A R-node moves to the proximity of the normal node that has the minimum min-cut value in its k-hop neighborhood. • If the min-cut values of two nodes are the same, R-node will move to the proximity of the node with a larger min-cut set.
Modifications to AODVM • A reliability flag is included in RREP • The flag is set to RELIABLE only this RREP passes through a R-node, otherwise, it is set to NORMAL. • If an intermediate R-node cannot find a next hop R-node to forward this RREP • it will split the RREP packet into multiple RREP packets equal in count to the number of neighbors specified in its RREQ table. • All of these RREP packets are marked NORMAL and then forwarded to the different neighbors.