Title: Project Building a Zigbee Multihop Wireless Network with AODV routing protocol
1Project -Building a Zigbee Multi-hop Wireless
Network with AODV routing protocol
- ??4
- ??
- 9317508 ???
- 9317542 ???
- 9317550 ???
- 9317553 ???
2AODV - Ad hoc On-demand Distance Vector
- Reactive (eg. AODV, DSR Dynamic Source Routing)
vs. Proactive (eg. DSDV Destination-Sequenced
Distance-Vector Routing) - On-demand driven Nodes that are not on the
selected path do not maintain routing information - Distance Vector vs. Source Routing
- AODV Algorithm
- Routing Discovery
- Route Request
- Route Reply
- Route Maintenance
3Route Request
Source node
Is there any destination path info. In Routing
Table
yes
Sent data packet to the next node
no
- RREQ packet
- iddest_addr dest_sequence hop_cnt
- The pair uniquely
identies a RREQ. broadcast id is incremented
whenever the source issues a new RREQ.
Broadcast RREQ control packet by the way of
Flooding
Set up Timer for waiting RREP packet
4Route RequestObjective build a Reverse Path
5Route Reply
Intermediate node
- RREP is sent by the way of Unicast, and then the
Forward path would be build. - hop_cnt lifetime
Receive a RREQ
yes
Check if the RREQ is redundant
Drop
no
Check if the destination is itself
yes
no
Look up the routing table for Des. Node info.
no
yes
hop_cnt1 Broadcast RREQ
Response RREP packet
6Route Reply and build the Forward path
7Route Maintenance
- Routing table Aging
- Path broken
- RERR (Route Error) Return RERR to the source
node, and clear the path info when it passes the
nodes. After RRER return to the source node,
source node restarts a route discovery. - Local Repair If the broken link is near the
destination node, the node can sent RREQ to
rebuild the remain path.
8AODV-BR (Backup Route)
- Save the time of rebuilding route.
- Satisfy some real-time application
- Need not any more control signal
- Route Request process is the same as AODVs algo.
- Eavesdrop the RREP packets from its neighbors and
keep to its Alternative Route table
9Overhead RREP of AODV-BR
10AODV-BR
the node before broken link
Eg. Acknowledgements Hello message
A node detects link failures
Neighbor nodes
Is source id the next node in the alternative
table?
One hop data broadcast (Look for neighbors to
transfer data with alternative path)
no
Sent RERR to the source node to rebuild a new path
Does destination entry match?
- Issue
- Only one hop
- Still use rebuilding
yes
Send the data packet to the next node
11Implement a simplified version
- RREP messages are only generated by the
destination. - Routes never expire.
- Only the hop count metric is used.
- No messages are generated to keep routes active
because routes never expire. - Route errors are generated when a data message
can no longer be sent over the path. This is
detected using the TinyOS link level
acknowledgements.
12Schedule
- Before
- Learn how to write a program on TinyOS. (Analyze
nesC the TinyOS language.) - Make up the AODV protocol specification by the
reference papers. - Programming
- Write a nesC program to implement AODV routing
protocol. - (Optional) Implement AODV-BR, AOMDV..etc. routing
protocol. - After
- Test the program by simulation tools.
- Download the program to the MicaZ and use some
tools to do the evaluation. (CrossBow provides
lots of tools, link Surge-View, on their
website.) - Write the final report for this project
13RELATED WORK
- Reference papers
- E. Perkins and E. M. Royer. Ad Hoc On-Demand
Distance Vector Routing. In Proceedings of
IEEEWorkshop on Mobile Computing Systems and
Applications (WMCSA), pages 90100, 1999. - C. E. Perkins, E. Belding-Royer, and S. R. Das.
Ad hoc On-Demand Distance Vector (AODV) Routing. - http//www.ietf.org/rfc/rfc3561.txt, July 2003.
RFC 3561. - M. K. Marina and S. R. Das. On-demand Multipath
Distance Vector Routing in Ad Hoc Networks. In
Proceedings of the International Conference for
Network Protocols (ICNP), pages 14-23, 2001. - Sinem Coleri Ergen. ZigBee/IEEE 802.15.4 Summary.
- Related projects
- The AODV_at_IETF project.
- http//moment.cs.ucsb.edu/aodv-ietf/index.html
- TinyAODV
- http//cvs.sourceforge.net/viewcvs.py/tinyos/tinyo
s-1.x/contrib/hsn/