Вы находитесь на странице: 1из 29

Ad-Hoc On-Demand Distance Vector (AODV) Routing

Charles E. Perkins, Elizabeth M. Belding-Royer, and Samir Das, Proceedings of IEEE WMCSA'99,New Orleans, LA, February 1999

Presented by (Byungho Min) 17 April, 2006

Contents
Ad-Hoc Network Routing Constraints Ad-Hoc On-Demand Distance Vector (AODV) AODV Algorithm
Path Discovery Route Table Management Path Maintenance Local Connectivity Management

Simulation and Results Current Status and Future Work Conclusion


Ad-Hoc On-Demand Distance Vector 2

Ad-Hoc Network Routing Constraints


No Infrastructure Support Frequent Topology Change
Mobility No Specialized Routers (Physically) No Fixed Routers

Problems Due to Wireless Media


Bandwidth Range of Communication Collisions Due to Broadcasting Asymmetric One-Way Links

Ad-Hoc On-Demand Distance Vector

Ad-Hoc On-Demand Distance Vector (AODV)


A Source Initiated Routing Protocol Premise Features
Symmetric Links Pure On-Demand Acquisition Notion of Active Paths

Broadcast only when necessary No centralized topological knowledge Neighborhood detection Uses Hello to identify neighbors

Topological Maintenance

Ad-Hoc On-Demand Distance Vector

AODV Algorithm
Path Discovery
Reverse Path Setup Forward Path Setup

Route Table Management Path Maintenance Local Connectivity Management

Ad-Hoc On-Demand Distance Vector

Path Discovery
When?
No Information on Some Node to Which Communication Is Requested

Each Node Has Two Counters


node sequence number

Unique!

broadcast_id

Path Discovery Process


Source Node Broadcasts a Route Request (RREQ) Packet to Its Neighbors Neighbors Forward the Request to Their Neighbors, and so on until Either the Destination or an Intermediate Node with a Fresh Enough Route to the Destination Is Located
Ad-Hoc On-Demand Distance Vector 6

More on RREQ
broadcast_id Is Incremented for New RREQ RREQ from Same Node with Same broadcast_id Will
Not Be Broadcasted More than Once
A

B D C B wont rebroadcast this RREQ

Node A wants to contact node D,


Ad-Hoc On-Demand Distance Vector 7

Route Requests
Broadcast transmission Z S B A H
This example is taken from Wireless Internet Class Material

E F C G K I D N J M L

Represents transmission of RREQ


Ad-Hoc On-Demand Distance Vector 8

Route Requests (Contd)


Y Z S B A H I Represents links on Reverse Path C G K D N E F J M L

Ad-Hoc On-Demand Distance Vector

Reverse Path Setup


Y Z S B A H I C G K D N E F J M L

Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once
Ad-Hoc On-Demand Distance Vector 10

Reverse Path Setup (Contd)


Y Z S B A H I C G K D N E F J M L

Ad-Hoc On-Demand Distance Vector

11

Reverse Path Setup


Y Z S B A H I Node D does not forward RREQ, because node D is the intended target of the RREQ
Ad-Hoc On-Demand Distance Vector 12

E F C G K D N J M L

Route Reply
Y Z S B A H I Represents links on path taken by RREP
Ad-Hoc On-Demand Distance Vector 13

E F C G K D N J M L

Forward Path Setup


Y Z S B A H I C G K D N E F J M L

Forward links are setup when RREP travels along the reverse path Represents a link on the forward path
Ad-Hoc On-Demand Distance Vector 14

Data Delivery
Y Data Z S B A H I Routing table entries used to forward data packet. Route is not included in packet header.
Ad-Hoc On-Demand Distance Vector 15

E F C G K D N J M L

Path Discovery (Contd)


RREQ Generates Backward Path to Source RREP Generates Forward Path to Destination
3. B A RREQ A backward path RREQ re-broadcast 4. G RREQ seq# A backward path route RREP unicast

1. G 2. G route route 2. G route G RREQ broadcast

EQ RR EP RR

RREQ RREP

F E
6. A RREP G forward path unicast

5. D RREP G forward path , A backward path RREP unicast

Ad-Hoc On-Demand Distance Vector

16

Route Request (RREQ) Message Format


0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type |J|R|G|D|U| Reserved | Hop Count |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RREQ ID (broadcast id) |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IP Address

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Sequence Number

Unique
|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator IP Address |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator Sequence Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Ad-Hoc On-Demand Distance Vector 17

Route Reply (RREP) Message Format


0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type |R|A| Reserved | Prefix Sz | Hop Count |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IP address |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Sequence Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator IP Address |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lifetime |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Ad-Hoc On-Demand Distance Vector

18

Route Table Management


Route Request Expiration Timer active_route_timeout Route Cache Timer
Purges Reverse Paths That Do Not Lie on Active Route Is Used to Determine If Neighboring Node Is Active i.e. Sends at Least One Packet in This Time Purges Inactive Routes

Ad-Hoc On-Demand Distance Vector

19

Route Table Management (Contd)


Each Route Table Entry Contains

Destination Next Hope Number of Hops Sequence Number for the Destination Active Neighbors for This Route Expiration Time for the Route Table Entry

Ad-Hoc On-Demand Distance Vector

20

Route Table Management (Contd)


When a Route Entry Is Used to Transmit Data from Source to Destination, Timeout for Each Entry Is Reset to Current Time + active_route_timeout When a New Route Is Available, Route Table Will Be Updated Only If New Route Has
Larger dest_sequence_# Or Same dest_sequence_# but with Smaller hop_cnt to the Destination

Ad-Hoc On-Demand Distance Vector

21

Path Management
If Source Node Moves during an Active Session It Can Redo Path Discovery If Destination or Intermediate Nodes Move A Special RREP Is Sent to Affected Source Nodes Source May Restart Route Discovery Process
On link breakage, affected node propagates an unsolicited RREP <dest_sequence_#+1, > to all active neighbors

Ad-Hoc On-Demand Distance Vector

22

If Link between C and D Is Broken, a Special RREP Will Be Sent to B and E by C Then B and E Will Send This RREP to Its Active Neighbors F and G At the End, All Active Source Nodes Are Notified When Source Finds Out a Link to Destination Is Broken, and It Likes to Rebuild the Path to Destination, Source Will Send a RREQ with Last dest_squence_# + 1 100 100 100 100
A G B F C E
23

Path Management Example

C Will Increase Its dest_sequence_# by 1 and Set hop_ count to )

Ad-Hoc On-Demand Distance Vector

Local Connectivity Management


Two Ways for a Node to Find Its Neighbors
Receiving Broadcast from Its Neighbors Send Its Neighbors Hello Messages Containing Its Identity and Sequence Number Sequence number is not changed for hello message Nodes can not rebroadcast hello messages (TTL=1) Receiving a Broadcast or a Hello from a New Node Failing to Receive allowed_hello_loss Consecutive Hello Message from a Node Previously in the Neighborhood It Ensures the Link Is Bidirectional

Local Connectivity Is Changed If

Neighbors Only Communicate When Heard Each Others Hello Message

Ad-Hoc On-Demand Distance Vector

24

Simulations and Results

Ad-Hoc On-Demand Distance Vector

25

Simulations and Results

Ad-Hoc On-Demand Distance Vector

26

Current Status and Future Work


Current Status
Multicast
RREQ, RREP, and Multicast validation message

Future Works
Intermediate Node Route Rebuilding
Try repair before link failure notification

Elimination of Hello Messages Locality of Association and QoS


Improve bandwidth utilization by varying route propagation without indiscriminate relays

Ad-Hoc On-Demand Distance Vector

27

Conclusion
Storing Only the Needed Routes Minimized Need for Broadcast Reduced Memory Requirements and Needless Duplications Quick Response to Link Breakage in Active Routes Loop-Free Routes Maintained by Use of Destination Sequence Numbers Scalable to Large Populations of Nodes

Ad-Hoc On-Demand Distance Vector

28

Thank you!
Ad-Hoc On-Demand Distance Vector 29

Вам также может понравиться