FAMU-FSU COLLEGE OF ENGINEERING Department of Electrical and Computer Engineering Students: Hung Khong – Derek Vollmer Instructor: Dr Ming Yu 04-2008 Computer.

Slides:



Advertisements
Similar presentations
DSR The Dynamic Source Routing Protocol Students: Mirko Gilioli Mohammed El Allali.
Advertisements

Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols By Josh Broch, David A. Maltz, David B. Johnson, Yih- Chun Hu, Jorjeta.
An Analysis of the Optimum Node Density for Ad hoc Mobile Networks Elizabeth M. Royer, P. Michael Melliar-Smith and Louise E. Moser Presented by Aki Happonen.
Effects of Applying Mobility Localization on Source Routing Algorithms for Mobile Ad Hoc Network Hridesh Rajan presented by Metin Tekkalmaz.
1 Routing in Mobile Ad Hoc Networks most slides taken with permission from presentation of Nitin H. Vaidya University of Illinois at Urbana-Champaign.
ITIS 6010/8010 Wireless Network Security Dr. Weichao Wang.
CS541 Advanced Networking 1 Mobile Ad Hoc Networks (MANETs) Neil Tang 02/02/2009.
Milano, 4-5 Ottobre 2004 IS-MANET The Virtual Routing Protocol for Ad Hoc Networks ISTI – CNR S. Chessa.
Mobile Ad-hoc Networks -- Overview and a case study Yinzhe Yu Oct. 8, 2003.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Ad-hoc On-Demand Distance Vector Routing (AODV) Sirisha R. Medidi.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
8/7/2015 Mobile Ad hoc Networks COE 549 Routing Protocols II Tarek Sheltami KFUPM CCSE COE 1.
Introduction to Network Simulator NS-2 Part II
Ad Hoc Wireless Routing COS 461: Computer Networks
Routing Two papers: Location-Aided Routing (LAR) in mobile ad hoc networks (2000) Ad-hoc On-Demand Distance Vector Routing (1999)
Introduction to wireless ad-hoc network routing protocols Speaker: 張簡稜剛 碩二專 N 成醫資訊室 應用系統 A 組 程式設計師.
Itrat Rasool Quadri ST ID COE-543 Wireless and Mobile Networks
Mobile Routing protocols MANET
Mobile Adhoc Network: Routing Protocol:AODV
Ad hoc On-demand Distance Vector (AODV) Routing Protocol ECE 695 Spring 2006.
Ad-hoc On-Demand Distance Vector Routing (AODV) and simulation in network simulator.
Ad-Hoc Networks. References r Elizabeth Royer and Chai-Keong Toh, " A Review of Current Routing Protocols for Ad Hoc Wireless Mobile Networks, " IEE Personal.
Ad Hoc Routing: The AODV and DSR Protocols Jonathan Sevy Geometric and Intelligent Computing Lab Drexel University
RFC 3561 AODV Routing Protocol Mobile Ad Hoc Networking Working Group Charles E. Perkins INTERNET DRAFT Nokia Research Center 19 June 2002 Elizabeth M.
Routing Protocols of On- Demand Dynamic Source Routing (DSR) Ad-Hoc On-Demand Distance Vector (AODV)
Dynamic Source Routing in ad hoc wireless networks Alexander Stojanovic IST Lisabon 1.
Ad Hoc Routing: The AODV and DSR Protocols Speaker : Wilson Lai “Performance Comparison of Two On-Demand Routing Protocols for Ad Hoc Networks”, C. Perkins.
Routing Protocols for Mobile Ad-Hoc Networks By : Neha Durwas For: Professor U.T. Nguyen COSC 6590.
1 Dynamic Source Routing in Ad Hoc Wireless Networks David B. Johnson and David A. Maltz published in the book “Mobile Computing” 1996.
Cache Management of Dynamic Source Routing for Fault Tolerance in Mobile Ad Hoc Networks.
Dynamic Source Routing (DSR) Sandeep Gupta M.Tech - WCC.
Fault-Tolerant Papers Broadband Network & Mobile Communication Lab Course: Computer Fault-Tolerant Speaker: 邱朝螢 Date: 2004/4/20.
Routing in Mobile Ad Hoc Networks (from Ad Hoc Networking by Charles Perkins) Thanks to Prof. Yu at Cleveland State Univ.
1 Ad Hoc On-Demand Distance Vector Routing (AODV) Dr. R. B. Patel.
AODV: Introduction Reference: C. E. Perkins, E. M. Royer, and S. R. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing,” Internet Draft, draft-ietf-manet-aodv-08.txt,
S Master’s thesis seminar 8th August 2006 QUALITY OF SERVICE AWARE ROUTING PROTOCOLS IN MOBILE AD HOC NETWORKS Thesis Author: Shan Gong Supervisor:Sven-Gustav.
DSR: Introduction Reference: D. B. Johnson, D. A. Maltz, Y.-C. Hu, and J. G. Jetcheva, “The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks,”
SRL: A Bidirectional Abstraction for Unidirectional Ad Hoc Networks. Venugopalan Ramasubramanian Ranveer Chandra Daniel Mosse.
KAIS T High-throughput multicast routing metrics in wireless mesh networks Sabyasachi Roy, Dimitrios Koutsonikolas, Saumitra Das, and Y. Charlie Hu ICDCS.
On-Demand Routing Protocols Routes are established “on demand” as requested by the source Only the active routes are maintained by each node Channel/Memory.
Traditional Routing A routing protocol sets up a routing table in routers A node makes a local choice depending on global topology.
Understanding IPv6 Slide: 1 Lesson 12 IPv6 Mobility.
Ad-hoc On Demand Distance Vector Protocol Hassan Gobjuka.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
CSR: Cooperative Source Routing Using Virtual MISO in Wireless Ad hoc Networks IEEE WCNC 2011 Yang Guan, Yao Xiao, Chien-Chung Shen and Leonard Cimini.
SHORT: Self-Healing and Optimizing Routing Techniques for Mobile Ad Hoc Networks Presenter: Sheng-Shih Wang October 30, 2003 Chao Gui and Prasant Mohapatra.
Dynamic Source Routing in Ad Hoc Wireless Networks
Video Streaming Transmission Over Multi-channel Multi-path Wireless Mesh Networks Speaker : 吳靖緯 MA0G WiCOM '08. 4th International.
6LoWPAN Ad Hoc On-Demand Distance Vector Routing Introduction Speaker: Wang Song-Ferng Advisor: Dr. Ho-Ting Wu Date: 2014/03/31.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Improving Fault Tolerance in AODV Matthew J. Miller Jungmin So.
DETECTION AND IGNORING BLACK HOLE ATTACK IN VANET NETWORKS BASED LATENCY TIME CH. BENSAID S.BOUKLI HACENE M.K.FAROUAN 1.
Fundamentals of Computer Networks ECE 478/578
Speaker: Ju-Mei Li Virtual Paths Routing: A Highly Dynamic Routing Protocol for Ad Hoc Wireless Networks Abdulrahman H. Altalhi and Golden G. Richard Computer.
A Cluster-based Routing Protocol for Mobile Ad hoc Networks
Author:Zarei.M.;Faez.K. ;Nya.J.M.
Mobicom ‘99 Per Johansson, Tony Larsson, Nicklas Hedman
A comparison of Ad-Hoc Routing Protocols
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
Mobile and Wireless Networking
A Probabilistic Routing Protocol for Mobile Ad Hoc Networks
ITIS 6010/8010 Wireless Network Security
A Probabilistic Routing Protocol for Mobile Ad Hoc Networks
Routing.
Vinay Singh Graduate school of Software Dongseo University
Routing in Mobile Wireless Networks Neil Tang 11/14/2008
Presentation transcript:

FAMU-FSU COLLEGE OF ENGINEERING Department of Electrical and Computer Engineering Students: Hung Khong – Derek Vollmer Instructor: Dr Ming Yu Computer Network Project The Dynamic Source Routing Protocol for Ad Hoc Networks

Description of DSR routing protocols Simulation Result Simulation Summary & Implementation Content Lessons Learned & Conclusion

DSR Definition: –A send packets to E, the router to E is embedded in A’s header. Intermediate node uses this source route to determine to whom the packet should be forwarded. –Different packets may have different routers. All nodes are willing to forward packets for other nodes in the network The diameter of a network will not be too large The node’s speed is moderate and nodes may move at any time without notice All nodes are overhearing (promiscuous)  increase power consumption. Description of DSR routing protocols 1- Introduction to DSR

Every RREQ packet contains (initiator & target address, route record, request ID)‏ Each node maintains a list of (initial add. & request id)‏ When an intermediate node X receives a RREQ: Discard RREQ if RREQ’s (initial add. & request id) is in node’s list Returns a route reply packet which contains a route from initiator to target If X is the target node If X has an entry in its route cache for the route to target Appends itself address to the route record in RREQ and re-broadcast RREQ Uses exponential back-off algorithm to limit the rate of RREQ to reduce the overhead Description of DSR routing protocols 2- Route Discovery (RREQ & RREP)‏

E on receiving the first RREQ, sends a Route Reply (RREP) including the route from A to E RREP packet is sent to A by: –Route Reply can be sent by reversing the route in RREQ If links are bi-directional –If unidirectional (asymmetric) links are allowed, then a route to A is needed Local route cache has a route to A Piggybacking Route Reply in Route Request packet for A –Perform its own RREQ for target node A If IEEE MAC is used, then links have to be bi-directional Route Caching : each node caches a new route it learns by all means Description of DSR routing protocols 3- Route Discovery (RREQ & RREP)‏

E sends a route error to A along route E-D-B-A when it finds link [E-F] broken Nodes hearing RERR update their route cache to remove all invalid routes related with link E-F How to find link [E-F] is down: –MAC level ack –Passive acknowledge (overhearing neighbor node transmission)‏ –Insert a bit in packet’s header to request a DSR specific ack returned by next hop. How to send RRER packet to A: –Use reverse route –Use intermediate node ‘s route cache to get to node A –Piggybacking RRER packet in route discovery packet A Description of DSR routing protocols 4- Route Maintenance

Simulation Topology: Ad-hoc network of 50 mobile nodes moving randomly within flat rectangular 1500x300m Simulation time: 900 seconds Data traffic : CBR UDP traffic source with 20 sources Data rate: byte packets/s Radio channel: Lucent WaveLAN Node movement velocity: 1 m/s and 20 m/s Node Pause time: 0:100:900 (s)‏ Simulation Summary & Implementation 1- Simulation Summary

Traffic models Random traffic connections of TCP or CBR can be setup between mobile nodes using a traffic-scenario generator script. ns cbrgen.tcl [-type cbr|tcp] [-nn nodes] [-seed seed] [-mc connections][-rate rate] Mobility models The node-movement generator is available under ~ns/indep-utils/cmu-scen- gen/setdest directory and consists of setdest{.cc,.h} and Makefile../setdest [-n num_of_nodes] [-p pausetime] [-M maxspeed] [-t simtime] [-x maxx] [-y maxy] > [outdir/movement-file] Simulation trace files s _39_ RTR DSR 44 [13a a ] ----[39:255 8: ] 2 [0 0] [ >0] [ >10] Simulation Summary & Implementation 2- Simulation Implementation

# TESTCBR1.TCL set randNum [expr 1000*rand()] set nodes 50 set connections 20 set bytesPerSecond 4.0 set pause 0 set speed 20.0 set x 1500 set y 300 set runTime 900 set version 2 for {set pause 0} {$pause <= 900} {incr pause 50} { set handle1 [open dsrRatio$version.txt a+] set handle2 [open dsrOver$version.txt a+] puts $handle1 "pause = $pause" puts $handle2 "pause = $pause" close $handle1 close $handle2 for {set i 0} { $i<10} {incr i} { exec./ns indep-utils/cmu-scen-gen/cbrgen.tcl -type cbr -nn $nodes -seed $randNum -mc $connections -rate$bytesPerSecond > tcl/mobility/scene/cbr- $nodes-$connections-$bytesPerSecond-2 exec indep-utils/cmu-scen-gen/setdest/setdest -n $nodes -p $pause -M $speed -x $x -y $y -t $runTime > tcl/mobility/scene/scen-$x-$y-$nodes-$connections- $speed if {[catch {exec./ns run.tcl -x $x -y $y -sc tcl/mobility/scene/scen-$x-$y-$nodes- $connections-$speed -cp tcl/mobility/scene/cbr-$nodes-$connections- $bytesPerSecond-2 >> runOut.txt} result]} { #exec./ns run.tcl -x $x -y $y -sc tcl/mobility/scene/scen-$x-$y-$nodes- $connections-$speed -cp tcl/mobility/scene/cbr-$nodes-$connections- $bytesPerSecond exec awk -f awkcode1.awk runOut1.tr >> dsrRatio$version.txt exec awk -f macoverhead.awk runOut1.tr >>dsrOver$version.txt } # AWK file to count the received packet/sent packet BEGIN {counter1 = 0; counter2 = 0;} $1~/s/ && /AGT/ { counter1 ++ } $1~/r/ && /AGT/ { counter2 ++ } END { print ( counter1, counter2) } # # MACOVERHEAD File to find the overhead BEGIN {dsrpktno = 0; dsrbyte = 0; cbrpktno = 0; cbrbyte = 0; } $1~/s/ && /DSR/ && /MAC/ { dsrpktno ++ ; dsrbyte+=$8 ;} $1~/s/ && /cbr/ && /MAC/ { cbrpktno ++ ; cbrbyte+=$8; } END { print ( dsrpktno, dsrbyte, cbrpktno, cbrbyte) } # Simulation Summary & Implementation 3- Simulation Code

def dsrPacketRatio(testNum, speed): speed = str(speed) testNum = str(testNum) fileRead = 'c:/dsrRatio%s.txt'%testNum fileWrite = 'c:/dsrRatioAvg%s.m'%testNum fileHandle = open(fileRead, 'r'); file2 = open(fileWrite, 'w'); pauseTimes = []; avgRatio = []; ratio = []; while 1: line = fileHandle.readline(); if not line: break; line = line[:-1]; items = line.split(' ') if items[0] == "pause": pauseTimes.append(int(items[2])); else: percentRatio = int(items[1])/float(items[0]); ratio.append(percentRatio); if len(ratio) == 10: sum = 0; for item in ratio: sum = sum+item; average = sum/10; ratio = []; avgRatio.append(average); file2.write('avgRatio = %s;\n' % str(avgRatio)); file2.write('pauseTimes = %s;\n' %str(pauseTimes)) file2.write("plot(pauseTimes, avgRatio)\ntitle('Packet Delivert Ratio (%sm/s)')\nxlabel('Pause Time (secs)')\nylabel('#data packets received/ #data packets sent')\n"%speed) file2.write('axis([ ])\n'); fileHandle.close() file2.close() def routingOverhead(testNum, speed): testNum = str(testNum); speed = str(speed) fileRead = 'c:/dsrOver%s.txt' % testNum; fileWrite = 'c:/dsrOverHead%s.m'%testNum; fileHandle = open(fileRead, 'r'); file2 = open(fileWrite, 'w'); pauseTimes = []; avgOverhead = []; overhead = []; totalPackets = [] while 1: line = fileHandle.readline(); if not line: break; line = line[:-1]; items = line.split(' ') if items[0] == "pause": pauseTimes.append(int(items[2])); else: overhead.append(int(items[0])); packets = int(items[0])+int(items[2]); totalPackets.append(packets); if len(overhead) == 10: sum = 0; for item in overhead: sum = sum+item; average = sum/10; overhead = []; avgOverhead.append(average); sum = 0; for item in totalPackets: sum = sum+item; packetAvg = sum/len(totalPackets); file2.write('avgOverhead = %s;\n' % str(avgOverhead)); file2.write('pauseTimes = %s;\n' %str(pauseTimes)) file2.write("plot(pauseTimes, avgOverhead)\ntitle('Routing Overhead (%sm/s)')\nxlabel('Pause Time (secs)')\nylabel('Routing Overhead (Packets)')\n"% speed) file2.write('axis([ %s])\n'%str(packetAvg)); fileHandle.close() file2.close() Simulation Summary & Implementation 3- Simulation Code (cont)

Simulation Result Scenario- 1500x300, 50 nodes, 20 sources, 1m/s, byte packets/s. Scenario- 1500x300, 50 nodes, 20 sources, 1m/s, byte packets/s.

Simulation Result Scenario- 1500x300, 50 nodes, 20 sources, 1m/s, byte packet/s. Scenario- 1500x300, 50 nodes, 20 sources, 1m/s, byte packet/s.

Simulation Result Desperate Measures Tried changing the CMUPriQueue length from 50 to No effect. Changed the send_buffer size from 64 to 512 to No effect Changed the ARP_buffer from 64 to No effect. Modified the cbrgen.tcl file to only allow one node to communicate to one other node. No effect. Modified the packet size in cbrgen.tcl to generate 256 byte packets then 128 byte packets. This helped. Lowering the packet/s rate also helped.

Simulation Result Scenario- 1500x300, 50 nodes, 20 sources,20 m/s, byte packet/s. Scenario- 1500x300, 50 nodes, 20 sources,20 m/s, byte packet/s.

Simulation Result Scenario- 1500x300, 50 nodes, 20 sources,20 m/s, byte packet/s. Scenario- 1500x300, 50 nodes, 20 sources,20 m/s, byte packet/s.

Simulation Result Scenario- 1500x300, 50 nodes, 20 sources,1 m/s, byte packet/s. Scenario- 1500x300, 50 nodes, 20 sources,1 m/s, byte packet/s.

17 Conclusion Given a certain packet size, the protocol performs as expected. DSR on-demand protocol has low routing-overhead. Conduct further investigation of packet size influencing delivery ratio and the effect of denser topologies.

18 Lessons Learned The cbrgen read-me file claims argument –s is max speed when it is speed type. –M is for max speed. When simulating DSR, one must use CMUPriQueue or a segmentation fault will occur. The send rate parameter at the top of the scenario file is the inverse of the rate argument in the command. When looking at other people’s results, we noticed they claimed 4 packets/s, but sent the same number of packets corresponding to a send rate of 4 (0.25 Packets/s).

19 Thank you !!!