430 likes | 530 Views
OGPR Or Improved Geographic Routing in 4(+1) messages. ORIGIONAL AUTHORS: Venkata C. Giruka, Mukesh Singhal PRESENTED BY: Brandon Hetman. Outline. Previous work in the field OGPR Adaptive HELLO beacons Grid based position encoding Protocol PREQ PREP PUPD & Path Healing PERR
E N D
OGPROrImproved Geographic Routing in 4(+1) messages ORIGIONAL AUTHORS: Venkata C. Giruka, Mukesh Singhal PRESENTED BY: Brandon Hetman
Outline • Previous work in the field • OGPR • Adaptive HELLO beacons • Grid based position encoding • Protocol • PREQ • PREP • PUPD & Path Healing • PERR • Performance Comparisons • Questions
Topology Based Protocols • Actively maintains routes to the Destination • May be done through a pro-active, reactive, or combination method • Establishing and maintaining these routes increases protocol overhead • Impacts performance • Limits scalability • Especially in networks with rapidly changing topology or fast moving nodes
Position Based Protocols • Don't rely on topology information • Use localized algorithms • Don't establish or maintain routes • Are more scalable • Require a location service • Require a means to recover from dead ends • Greedy forwarding and dead end recovery may lead to sub-optimal and circular paths
Enter ogpr On-Demand Geographic Path Routing Protocol • A hybrid of position based and topology based protocols • A position protocol that: • Is loop free and can reliably route to the destination • Handles unreachable routes like topology protocols • Does not depend on a location service • Has low control overhead • Has average path length similar to topology protocols • Scalable and can deal with unidirectional links
Enter OGPR Continued • Nodes establish geographic paths on-demand • Uses greedy forwarding along geographic paths • Location services are implicit and on-demand • Geographic paths avoid dead ends on sufficiently populated paths • Employs source routing and a path healing mechanism to mitigate path breaks • An adaptive hello protocol and grid based position encoding minimize control overhead • Extensible to networks with unidirectional links
Adaptive hello beacons • Enable nodes to maintain one-hop neighbor tables • Nodes send HELLO beacons x meters • Or at Minimum Beacon Interval (MINBI) • Fast nodes can send no more frequently than the rate of MINBI • Or at Maximum Beacon Interval (MAXBI) • Slow nodes send at least as often as the rate of MAXBI • Faster nodes ⇒ More HELLO beacons • Slower nodes ⇒ Fewer HELLO beacons
Adaptive Hello Beacon Continued • ID • Velocity (Speed & Direction) • This information is inserted directly into the one-hop neighbor table • Nodes can use the velocity information from the beacon and their own velocity to add timeout information to the one-hop neighbor table
Grid based position encoding • Nodes are assigned grid (logical quadratic tree) based addresses • Network area is divided into unit square regions with length d. This is called an order-1 grid • Four adjacent order-1 grids make an order 2 grid. • And so on...
Grid based position encoding • Within an order, each order-i grid is assigned a number from 0 to 3 in a counter clockwise manner • Addresses are a k-bit number • each pair of bits represent an order-N grid • 2(N-1) bits are needed to address a grid • Grid covers an area of (2^(N-1))*d^2
Path request (PREQ) Used to find a path to the destination • Flooded throughout the network • initiated on-demand • Intermediate nodes insert their grid address into the request to form a path Contents: • Source ID • Destination ID • Sequence number (monotonically increasing) • TTL (in hops) • Geographic path (initialized to source address
path reply (Prep) • Destination response to PREQContains the geographic path from the PREQ • intermediate nodes greedy forward along this path in reverse • Contains:Source ID • Destination ID • Geographic path Note that the geograpic path here does not contain node IDs. Any node along the path can forward the PREP
Path update (PUPD) & path healing • Path healing helps mitigate path breaks in sparse networksEach data packet contains the geographic path it followed • This may differ from the PREQ/PERP path • So... When the destination receives a packet along a new path it uses a PUPD to inform the source of this new path. • Reduces the need for path re-establishment • Greatly improves performance Contains: • The contents of the last PREP • New path
Path error (PERR) • If an intermediate node detects a path break it sends a PERR to the source • The source then restarts the PREQ process.
When source wants to send • If dest is in one-hop table • packet is unicast to dest • else if src knows route to dest • route to dest using geographic path • else • buffer data and initiate PREQ • start PREP_WAIT timeout if PREP_WAIT expires PREQ is re-initiated for up to MAX-RETRY times
When an intermediate node receives a preq • if PREQ is not in the PREQSeen cache • insert PREQ into PREQSeen cache • append grid address to the PREQ path • decrement the PREQ TTL • if PREQ TTL > 0 • broadcast packet • else • drop packet • else • drop packet
When destination receives preq • append address to PREQ path • insert path into OGPRGeoPath • route PREP to source using greedy forwarding along the reverse path
When The source receives prep • insert PREP path into OGPRGeoPath cache • remove packets from buffer and add path to the packets • forward packet
When a node forwards packets • if a node closest to the path can be found • unicast packet to the node • else • drop packet • generate PERR • send PERR along the reverse path to the source
When source receives perr • buffer packets • remove path from OGPRGeoPath cache • initiate PREQ
when destination receives data • append grid address to NewGeoPath • if NewGeoPath != SrcGeoPath • send PUPD along reverse NewGeoPath
When source receives pupd • remove destination path from OGPRGeoPath cache • insert NewGeoPath for destination into the cache
limitations • 3D • Initial position discovery • Efficiency • Security