210 likes | 326 Views
SGPS A Hybrid of Topology and Location Based Protocol for Ad hoc Networks. Jingyi Yu Computer Graphics Group. Topology-Oriented Distance Vector DSDV AODV TORA DSR Hierarchical HSR Landmark. Location Oriented Flooding LAR DREAM Hierarchical GLS SGPS.
E N D
SGPSA Hybrid of Topology and Location Based Protocol for Ad hoc Networks Jingyi Yu Computer Graphics Group
Topology-Oriented Distance Vector DSDV AODV TORA DSR Hierarchical HSR Landmark Location Oriented Flooding LAR DREAM Hierarchical GLS SGPS Existing Routing Protocols for MANET
Analysis of Topology Based Protocol • AODV (Ad hoc On-demand DV) • Combination of DSDV and DSR • Route Discovery from DSR • Sequence number from DSDV • Reverse Route and Forward Route (avoid source routing) • DSDV (Destination-Sequenced DV) • Modified Distance Vector • Use sequence numbers to differentiate freshness(even and odd) • Loop free • Fail to converge as node mobility increases • DSR (Dynamic Source Routing) • Aggressive caching • Reduce routing overhead when flooding • Packets are forwarded according to “source route” • TORA (Temporally-order Routing Algorithm) • Link reversal(Query/Update) • Flow of traffic, network tube • Need routing update delivered by “temporal order”
Performance Analysis of Topology Oriented Protocols • DSDV • Converge slowly • DSR • High delivery rate • TORA • Implemented on IMEP • AODV • High delivery rate This simulation is done for 50 nodes, 1500m x 300m Each node remains stationary for pause time seconds before sending packets.
Performance Analysis of Topology Oriented Protocols (cont.) • DSDV • Almost constant overhead • DSR • Low routing overhead • TORA • Huge routing overhead • Why? Reliable IMEP • AODV • Large routing overhead
Flooding Based LAR Route discovery by flooding Request zone, cache previous position/speed DREAM Periodical flood location update The further, the less frequent update Hierarchical GLS Geographical hierarchy Geographical forwarding Location servers Forward pointer SGPS Handle problems when GPS fails How to choose more location servers Location Oriented Routing
Establish a space hierarchy Recruiting location servers Route discovery: Location query Location response Get Dest’s location Route packets to Dest using Geographic forwarding GLS Routing Pipeline • Why location servers? • If every node knows any other node’s position, it can just send packets through geographic forwarding. Problem: Too much location update flooding through the network Solution: Hierarchical approach, keep a limited amount of location servers • If we have stationary leaders, those “unfortunate” will be the bottleneck and die out faster Solution: Each node is some other nodes’ location server
0000 0010 00 01 0001 0011 10 11 Geographical Hierarchy • Global Partitioning • 4 order-n squares form an order-(n+1) square • Each node easily maps its ID to HID • Can extend to module M space partition • ID Space • Each node has a • unique ID (IP to ID, etc) • Positive integer • “Closer” relation
Recruiting Location Servers (Location Update) • “Closer” Relation A node Y is closer to X than a node Z to X if and only if one of the following is satisfied: • Yid < Zid < Xid • Yid > Xid and Zid < Xid • Z id > Yid >Xid • Recruiting Location Servers • For each level of grid, a node chooses three nodes closest to its ID as its location servers. • Keep a table of location servers’ HID • How to choose? Implicit recruiting, i.e., sending location update to each level
Packets Routing between Two Nodes • Location Query • A sends a request to the least node greater than or equal to B for which A has location information and so on until the request reaches B • B responds to A using geographic forwarding • At most N steps if A and B share some order-N square • Bootstrapping • How does A recruit its location servers? • A sends its location updates to an order-n square • The first node L picks up the update and begins a location query for A • Assumption: before a location update reaches an order-n square, all nodes have recruited their location servers of order-(n-1) square • Geographical forwarding • A simple two hop distance vector protocol • Each node periodically broadcasts a list of all neighbors it can reach in one hop • Each entry of neighbor expires in a fixed time and is no longer broadcasted as neighbors, but can still be used. Why? (think of 802.11) • HELLO messages are not unusual to get lost • Unicast is acknowledged, i.e., invalid entry will be removed due a forwarding packet failure
Proof of Correctness and Efficiency (by induction) Claim: In n or fewer location query steps, a query reaches the node with the lowest ID closest to the destination in the order-n square containing the source. Suppose the destination is ID 0 and the query starts at X and the node with lowest ID (closest to 0) in order-n square is Y. Base case:order-1 square. If X = Y, then with 0 step, query reaches Y1. If X != Y, then Y is the lowest node X can route. Otherwise if X can route some other node Y1 lower than Y outside its order-1 square, Y1 would have chosen Y rather than X as its location server. Inductive step: order-(n+1) square. We want to show if the query is at node X with the lowest ID in its order-n square, then X will route the query to the node Y with the lowest ID in its order-(n+1) square in zero or one step. If X has the lowest node ID in order-(n+1) square, then the claim is trivially true. If X has not, then X will know Y’s location and will not know any node whose ID is lower than Y. i)X will know Y’s location, since X has the lowest node ID in order-n square, Y must have selected X as its location server at X’s order-n square. ii) X will not know the location of any node lower than Y outside of its order-(n+1) square since any such node would have chosen Y as its location server in X’s order-(n+1) square. Thus the lowest node X can location is Y and the query can be forwarded there in one location query step.
Flooding vs. Location Servers Flooding: Efficient routing Too much routing overhead Location Server: Fixed amount of location updates Scale well when nodes are uniformed distributed Not adaptive to node density Solution: Balancing between flooding and location update Adaptive sub-division Recruit more than one location servers in each sibling grid Correct? What if location query fails Forwarding pointer On leaving an order-1 grid, each node leaves a forwarding pointer in it indicating that it has moved to another grid What if GPS fails A node can no longer know its position and hence cannot send location update. Solution: Tunneling through its neighbors Problems with GLS
Dynamic Hierarchy for GLS • Problems of naïve solution to recruit more location servers • Increase routing overhead • Will not improve performance, since each query will still pick the smallest ID node • Dynamic Hierarchy • Dynamic space partition • Difficulty: hard to synchronize the network An example of a 3x3 grid
Bottleneck Loc_update Sub_div An Example of Dynamic Hierarchy • Each node estimates the number of nodes in its order-1 square • If one detects the square is overwhelmed, it broadcasts to its neighbors SUB_DIVIDE • The next location update will use the new sub-division level to recruit location servers • It also indicates the subdivision level to all its location servers to keep the location • servers updated. HID should be sub-division compatible
1. GPS_FAIL 2. ACK_OK 3. Grant 4. Forward new location and ID SGPS and Tunneling • Tunneling • Three-way handshaking protocol • On detecting its GPS failure, each node broadcasts “recruiting tunnel server” • Those 1 ring neighbors who have GPS then reply ACK_OK • The GPS-failure node then chooses one of them as its tunnel server • It then update its location as the tunnel server location to its location servers Broadcast to all neighbors A B
Location Query Failure Broken links Congestion Simulation Results • Simulation Scenario • 802.11 radio bandwidth 2Mbps • Distance threshold 200M • No node is a source in more than one connection • No node is a destination in more than 3 connections • Each connection sends 4 128byte packets per second for 20 seconds • Moving speed 10m/s
Path Length Analysis • 300 nodes with speed 10m/s • Query travels about 6 hops more than the geographic forwarding • A tradeoff between routing efficiency and routing overhead
Congestion Not much increase, since almost half of the protocol packets are HELLO Routing Overhead Analysis • DSR • route request • route reply • cached reply • GLS • HELLO • Location Update • Location Query • Location Response
Conclusion and Future work • Compare Topology-oriented and Location-oriented MANET routing • DSR is the best of non-hierarchical topology routing • Unfair hierarchical routing is not desirable • Flooding based GPS routing incurs large routing overhead • Location server based routing maintains the fairness and avoid location flooding. But GLS does not support adaptive hierarchy and does not know how to handle GPS failure • SUB_DIVISION scheme to solve adaptive hierarchy • Implementation of GLS with 2x2 and 3x3 partition shows promising result • Need a consistent hierarchy ID for fine and coarse grid • Need aggregation-behavior scenario • TUNNELING to solve GPS failure • Acknowledgement: Special thanks to Jingyang, Robert and Hari.