210 likes | 314 Views
Geographical Routing Using Partial Information for Wireless Ad Hoc Networks. Rahul Jain, Anuj Puri, and Raja Sengupta Department of EECS University of California, Berkeley IEEE Personal Communications, February, 2001. Problem Statement.
E N D
Geographical Routing Using Partial Information for Wireless Ad Hoc Networks Rahul Jain, Anuj Puri, and Raja Sengupta Department of EECS University of California, Berkeley IEEE Personal Communications, February, 2001
Problem Statement Goal: Solve the routing problem in wireless ad hoc network using the position information. How: When S want to send a packet to a node D, it takes the pos(D) and find one of its neighbors which geographically is closet to D; then it forwards the packet to D. Problem: What if S is the closer to D than its neighbors? Solution: Use Route Discovery Protocol
Assumptions • Each node has fixed power for trans-receivers, i.e. the neighbors of each node is fixed. We model the network with a graph • is a undirected connected graph. • Initially each nodes knows the geographical positions of itself and its neighbors. • When Sending (forwarding) a message, we know the geographical position of the destination.
Definitions Let be the set of nodes whose locations are known to node S at time t. Call these nodes centers. • Voronoi cell: Let be any set of points in A Voronoi cell with center is defined as follows: • Voronoi view: The Voronoi view at node S at time t is:
Routing Table Structure Each entry is a 4-tuple (Si, , pos(Si), NextS(Si), TSi)
The Algorithm //let for some If (S == D) // packet reached its destination else if (Si != S) next_node = NextS(Si); else //packet is stuck Initiate route_discovery(S, D); next_node = Nexts(D);
Route Discovery Protocol route_discovery(S,D) finds an acyclic path Path(S,D) = <k0, k1, …, kl> from S to D, and it updates the routing table of node ki with an entry (D, pD, ki+1).
Example1 (Initial Routing Table) A sends a packet to C: ABC A sends a packet to D: stuck
Example1 (Updated Routing Table) Assume: route-discovery(A, D)= <A, B, C, D>
Path-Finding Phase The route can be discovered right up to destination node D (Full route discovery), or it can be discovered up to a node Y which has node D as a cell center (partial route discovery). The following algorithm can be used to find an acyclic path to the destination: Breath First Search Depth First Search
Convergence of Routing Tables Definition: The Voronoi view of node S is complete if VS(S) contains only node S If the routing table has enough information s.t. no packet becomes stuck, then the Voronoi views are complete.
Size of Routing Table Claim: The average routing table size in a n-node network G when all the nodes have complete Voronoi views is , where L is the mean route discovery path length.
Example • S1 sends RD1 for the destination D at t1 • S2 send RD2 for the destination D at t2 RD1:s1x1x2y2 D RD2: s2x2x1y1 D ACK1 reaches x2, then ACK2 x2 puts (D, --,y2,--) first, then (D, --, x1, --) And x1 puts, (D, --, y1, --), then (D, --, x2, --) Cycle in the routing tables
Mobility in Ad Hoc Networks The routing table might be inconsistent .
Improved Version of the Protocol • If S receives a “hello” message ni, it puts an entry (ni, pos(ni), ni) in its routing table • If S does not hear from a neighbor ni for a while, it removes all entries of the form (di, pi, ni) from its routing table • If Table(S) contains the entry (di, pi, ni) and S receives Table(ni) which contains the entry (di, pj, -), then S updates its entry to (di, pj, ni ,-) • If Table(S) contains the entry (di, pi, ni ) and S receives Table(ni) which does not contain an entry (di,--, --), then S removes the entry (di, pi, ni ) • After any change to its routing table, S broadcasts the new Table(S)