Download presentation
Presentation is loading. Please wait.
Published byRudolf Newman Modified over 8 years ago
1
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
2
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
3
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.
4
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: Voronoi view: The Voronoi view at node S at time t is:
5
Routing Table Structure NodeNode PositionNeighbor Node (Next) Time stamp Spos(S)STSTS Npos(N)NTNTN...……… S’pos(S’)N’T S’ ………… Each entry is a 4-tuple (S i,, pos(S i ), Next S (S i ), T Si )
6
The Algorithm //let for some If (S == D) // packet reached its destination else if (S i != S) next_node = Next S (Si); else //packet is stuck Initiate route_discovery(S, D); next_node = Next s (D);
7
Route Discovery Protocol route_discovery(S,D) finds an acyclic path Path(S,D) = from S to D, and it updates the routing table of node k i with an entry (D, p D, k i+1 ).
8
Example1
9
Example1 (Initial Routing Table) NodeRouting Table A {(A, (1.5, 1.5), --), (B, (2,2), B)} B {(B, (2,2), --), (A, (1.5, 1.5), A), (C, (3,1), C)} C {(C, (3,1), --), (B, (2,2), B), (D, (2.5, 0), D), (E, (4,0), E)} D {(D, (2.5, 0), --), (C, (3,1), C)} E {(E, (4,0), --), (C, (3,1), C)} A sends a packet to C: A B C A sends a packet to D: stuck
10
Example1 (Updated Routing Table) NodeRouting Table A {(A, (1.5, 1.5), --), (B, (2,2), B), (D, (2.5), B)} B {(B, (2,2), --), (A, (1.5, 1.5), A), (C, (3,1), C), (D, (2.5, 0), C)} C {(C, (3,1), --), (B, (2,2), B), (D, (2.5, 0), D), (E, (4,0), E)} D {(D, (2.5, 0), --), (C, (3,1), C)} E {(E, (4,0), --), (C, (3,1), C)} Assume: route-discovery(A, D)=
11
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
12
Convergence of Routing Tables Definition: The Voronoi view of node S is complete if V S (S) contains only node S If the routing table has enough information s.t. no packet becomes stuck, then the Voronoi views are complete.
13
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.
14
Multiple Route Discoveries Issue
15
Example S 1 sends RD 1 for the destination D at t 1 S 2 send RD 2 for the destination D at t 2 RD 1 : s 1 x 1 x 2 y 2 D RD 2 : s 2 x 2 x 1 y 1 D ACK 1 reaches x 2, then ACK 2 x 2 puts (D, --,y 2,--) first, then (D, --, x 1, --) And x1 puts, (D, --, y 1, --), then (D, --, x 2, --) Cycle in the routing tables
16
Mobility in Ad Hoc Networks The routing table might be inconsistent.
17
Improved Version of the Protocol 1. If S receives a “hello” message n i, it puts an entry (n i, pos(n i ), n i ) in its routing table 2. If S does not hear from a neighbor n i for a while, it removes all entries of the form (d i, p i, n i ) from its routing table 3. If Table(S) contains the entry (d i, p i, n i ) and S receives Table(n i ) which contains the entry (d i, p j, -), then S updates its entry to (d i, p j, n i,-) 4. If Table(S) contains the entry (d i, p i, n i ) and S receives Table(n i ) which does not contain an entry (d i,--, --), then S removes the entry (d i, p i, n i ) 5. After any change to its routing table, S broadcasts the new Table(S)
18
Average Number of Neighbors
19
Mean Routing Table Size
20
GRA protocol packets per node
21
Time to Converge (in seconds)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.