destination-sequenced distance vector (dsdv) routing ... · pdf filedestination-sequenced...

33
Destination-Sequenced Distance Vector (DSDV) Routing Protocol Implementation in ns-3 25 March 2011 Hemanth Narra, Yufei Cheng, Egemen K. Çetinkaya, Justin P. Rohrer, and James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications Research Center The University of Kansas [email protected] http://www.ittc.ku.edu/~rohrej http://wiki.ittc.ku.edu/resilinets © 2011 Narra, Cheng, Çetinkaya, Rohrer, Sterbenz

Upload: lamnhan

Post on 06-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC Destination-Sequenced Distance Vector (DSDV) Routing Protocol

Implementation in ns-3

25 March 2011

Hemanth Narra, Yufei Cheng, Egemen K. Çetinkaya, Justin P. Rohrer,

and James P.G. Sterbenz

Department of Electrical Engineering & Computer Science Information Technology & Telecommunications Research Center

The University of Kansas

[email protected]

http://www.ittc.ku.edu/~rohrej http://wiki.ittc.ku.edu/resilinets

© 2011 Narra, Cheng, Çetinkaya, Rohrer, Sterbenz!

Page 2: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 2

Implementation of DSDV in ns-3 Abstract

Routing protocols are a critical aspect to performance in mobile wireless networks. The development of new protocols requires testing against well-known protocols in various simulation environments. In this paper we present an overview of several well-known MANET routing protocols and the implementation details of the DSDV routing protocol in the ns-3 network simulator. We analyse DSDV routing performance under various scenarios and compare its performance with the other protocols implemented in ns-3, AODV and OLSR. Our results verify the implementation of DSDV and show performance comparable to that of OLSR.

Page 3: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 3

Implementation of DSDV in ns-3 Outline

•  Introduction and motivation

•  MANET routing protocols

•  DSDV module for ns-3

•  DSDV module evaluation

•  Conclusions

Page 4: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 4

Implementation of DSDV in ns-3 Introduction and Motivation

•  Introduction and motivation

•  MANET routing protocols

•  DSDV module for ns-3

•  DSDV module evaluation

•  Conclusions

Page 5: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 5

Implementation of DSDV in ns-3 Introduction and Motivation

•  Mobile Ad-Hoc Networks –  self-organization –  dynamic topologies –  act as both end systems and as intermediate systems

•  Most prominent protocols –  DSDV, AODV, OLSR, and DSR

•  Simulation – backbone of MANET research –  ns-2: open-source, widely used, number of deficiencies –  ns-3: open-source, relatively new, very few routing protocols

Page 6: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 6

Implementation of DSDV in ns-3 MANET routing protocols

•  Introduction and motivation

•  MANET routing protocols

•  DSDV module for ns-3

•  DSDV module evaluation

•  Conclusions

Page 7: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 7

MANET Routing Protocols DSDV - Destination-Sequenced Distance Vector

•  Table-driven, proactive distance-vector protocol •  One of the earliest MANET routing protocols •  Metric: hop count •  Goal: find path with least hop count to destination •  No RFC for DSDV

Page 8: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 8

MANET Routing Protocols AODV - Ad-Hoc On Demand Distance Vector

•  Table-driven, reactive distance-vector protocol •  Based on the design of DSDV •  Periodically broadcasts hello messages •  Metric: hop count •  Goal: find path with least hop count to destination •  Standardized in RFC 3561

Page 9: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 9

MANET Routing Protocols OLSR - Optimized Link State

•  Proactive link state protocol •  Exchanges topology information with neighbors •  Periodically broadcasts hello messages

–  to discover nodes and links

•  Multipoint relaying to reduce duplicate transmissions –  all nodes maintain MPR selectors –  only nodes selected as MPR, will generate link state

messages

•  Standardized in RFC 3626

Page 10: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 10

Implementation of DSDV in ns-3 DSDV Module for ns-3

•  Introduction and motivation

•  MANET routing protocols

•  DSDV module for ns-3

•  DSDV module evaluation

•  Conclusions

Page 11: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 11

DSDV Module for ns-3 Classes

•  DSDVHeader  :  Header  –  DSDV header formats for sending control messages

•  RoutingProtocol  :  Ipv4RoutingProtocol  –  entire protocol functionality

•  RoutingTable  –  stores all updates received and is used for identifying routes

•  RequestQueue  –  packet queue to store packets that do not have a route

Page 12: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 12

DSDV Module for ns-3 Class Interactions

•  Interaction of DSDV classes with ns-3

Page 13: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

•  DSDV header is 12 bytes long and 32 bit wide –  to support simulations for large networks –  for word alignment

•  Contents –  IP address –  hop count –  sequence number

25 March 2011 Implementation of DSDV in ns-3 13

DSDV Module for ns-3 Header

Sequence Number

Hop Count

Destination Address

Page 14: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

•  Creates an entry for every node based on IP address •  Attributes stored are:

–  IP address, interface address, sequence number, hop count, time for last received update, settling time

•  Maintains two routing tables –  permanent routing table

•  used for stable routes

–  advertising routing table •  used for unstable routes •  SettlingTime determines the stability of routes

25 March 2011 Implementation of DSDV in ns-3 14

DSDV Module for ns-3 Routing Table

Page 15: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

•  Sends two type of update messages: –  periodic updates

•  broadcasts entire routing table •  sent for every periodic update interval •  modified using attribute PeriodicUpdateInterval  

–  triggered updates •  broadcasts the changes since last PeriodicUpdateInterval  

•  Route aggregation –  if enabled, aggregates updates and sends in a single packet –  modified using the attribute RouteAggregationTime  

25 March 2011 Implementation of DSDV in ns-3 15

DSDV Module for ns-3 Routing Advertisements

Page 16: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

•  A packet may contain multiple DSDV update msgs •  New updates may be re-broadcasted immediately •  If received sequence number is lower, discard update •  If received sequence number is greater:

–  received hop count not equal to local hop count •  waits for SettlingTime, if enabled

–  received hop count equal to local hop count •  broadcast the updates immediately

25 March 2011 Implementation of DSDV in ns-3 16

DSDV Module for ns-3 Processing DSDV Updates1

Page 17: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

•  If received sequence number is equal: –  received hop count < local hop count

•  wait for SettlingTime, if enabled and broadcast the update

–  received hop count greater than or equal to local hop count •  discard the update

•  Stale entries are removed –  by receiving an update with odd sequence number –  if there is no update received for,

•  Holdtimes  × PeriodicUpdateInterval interval •  Holdtimes is an integer value

25 March 2011 Implementation of DSDV in ns-3 17

DSDV Module for ns-3 Processing DSDV Updates2

Page 18: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

•  DSDV does not initiate route discovery mechanism –  packets will be dropped if there is no route

•  Buffering is implemented for fairer comparisons: –  disruption-tolerant networks –  domain-specific MANET routing protocols

•  Buffering can be enabled using attribute –  EnableBuffering  

•  Buffering can be controlled using attributes –  MaxQueuedPacketsPerDst  –  MaxQueueTime  

25 March 2011 Implementation of DSDV in ns-3 18

DSDV Module for ns-3 Packet Buffering

Page 19: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 19

Implementation of DSDV in ns-3 DSDV Module Evaluation

•  Introduction and motivation

•  MANET routing protocols

•  DSDV module for ns-3

•  DSDV module evaluation

•  Conclusions

Page 20: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 20

DSDV Module Evaluation Performance Metrics

•  Packet delivery ratio –  number of packets received to those sent by application

•  Routing overhead –  fraction of bytes used by DSDV for control messages

•  Delay –  time taken to reach destination MAC from source MAC

Page 21: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 21

DSDV Module Evaluation Simulation Setup

•  Simulation area: 1500 × 300 m2 •  Simulation time: 1000 s, warmup time: 100 s •  Packet size: 64 bytes •  Traffic type: CBR, Packet rate: 4 packets/s •  Link layer: 802.11b •  Transmission range: 250 m •  Mobility model: random waypoint •  Pause time: 0 – 800 s •  Velocities: 0 – 20 m/s

Page 22: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 22

DSDV Module Evaluation PDR with Varying Pause Time

•  PDR increases with increase in number of nodes •  PDR for 20 nodes > 30; path churn & collisions

Page 23: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 23

DSDV Module Evaluation Overhead with Varying Pause Time

•  Average overhead increases with number of nodes –  sends more control messages as node density increases

Page 24: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 24

DSDV Module Evaluation Packet Delay with Varying Pause Time

•  As pause time increases nodes are immobile –  for long durations affecting link connectivity

Page 25: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 25

DSDV Module Evaluation PDR with Varying Node Density

•  OLSR outperforms AODV, DSDV-u, and DSDV-b –  OLSR exchanges TC messages every 5 s –  DSDV exchanges periodic update messages every 15 s

Page 26: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 26

DSDV Module Evaluation Overhead with Varying Node Density

•  AODV incurs significantly more overhead –  working with the ns-3 developer team

Page 27: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 27

DSDV Module Evaluation Packet Delay with Varying Node Density

•  Packet delay slightly better for OLSR •  Both DSDV-u and DSDV-b have similar delay

–  as network is connected most of the time

Page 28: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 28

Implementation of DSDV in ns-3 Conclusions

•  Introduction and motivation

•  MANET routing protocols

•  DSDV module for ns-3

•  DSDV module evaluation

•  Conclusions

Page 29: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 29

Conclusions

•  Presented the implementation of DSDV in ns-3 •  DSDV overhead is affected by the node count

–  PDR is inversely affected as the overhead increases

•  DSDV included in ns-3.10 •  ns-3 models coming soon!

–  DSR –  HTTP –  Simple TDMA MAC

Page 30: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 30

Questions?

Implementation of DSDV in ns-3

Page 31: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 31

Acknowledgements

•  Abdul Jabbar •  ResiliNets group at KU •  Tom Henderson •  ns-3 developers

Page 32: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 32

References

•  C. E. Perkins and P. Bhagwat, “Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computers”, ACM SIGCOMM, pp. 234-244, 1994. •  OLSR – RFC 3626 •  AODV – RFC 3561 •  ns-3 network simulator, http://www.nsnam.org  

Page 33: Destination-Sequenced Distance Vector (DSDV) Routing ... · PDF fileDestination-Sequenced Distance ITTC Narra, et al Vector (DSDV) Routing Protocol Implementation in ns-3 25 March

Narra, et al. ITTC

25 March 2011 Implementation of DSDV in ns-3 33

DSDV Module for ns-3 Class Interactions

•  Interaction of DSDV classes with ns-3

-SendTriggeredUpdate()-SendPeriodicUpdate()-RecvDsdv()+RouteInput()+RouteOutput()

-settlingTime-periodicUpdateInterval-mainAddress-routingTable : RoutingTable-queue : RequestQueue

RoutingProtocol

+Enqueue() : bool+Dequeue() : bool-IsEqual() : bool+Find() : bool+SetMaxPacketsPerDst()+GetMaxQueueLen() : unsigned int

-maxLen-maxLenPerDst-queueTimeout-IsEqual-queueEntry : QueueEntry

RequestQueue

+AddRoute()+DeleteRoute()+LookupRoute()+GetListOfAllRoutes()+InvalidateRoutesWithDst()+DeleteAllRoutesFromInterface()

-ipv4AddressEntry-ipv4Events-holddownTime-routingTableEntry : RoutingTableEntry

RoutingTable

+Serialize()+Deserialize()+SetDst()+GetDst()+SetHopCount()+GetHopCount() : unsigned int

-dst-hopCount-dstSeqNo

DsdvHeader

Ipv4RoutingProtocol

+GetRoute()+SetRoute()+GetNextHop()+SetNextHop()+GetSeqNo()+SetSeqNo()

-seqNo : unsigned int = 0-hops : unsigned int = 0-settlingTime-lifeTime-ipv4Route

RoutingTableEntry

+SetPacket()+GetPacket()+SetIpv4Header()+GetIpv4Header()+SetExpireTime()+GetExpireTime()

-packet-exipre-header

QueueEntry

-Table

1

-Entry

*

-Table

1

-Entry

*

Header