1 / 14

Direct Execution of OLSR MANET Routing Daemon in NS-3

Direct Execution of OLSR MANET Routing Daemon in NS-3. Evgeni Bikov , Pavel Boyko IITP RAS, Moscow. Overview. Questions: Can the ns-3-dce framework run unmodified OLSRd routing daemon? Does it match the out of box ns-3 OLSR model?

chelsi
Download Presentation

Direct Execution of OLSR MANET Routing Daemon in NS-3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Direct Execution of OLSR MANET Routing Daemon in NS-3 EvgeniBikov, PavelBoyko IITP RAS, Moscow

  2. Overview • Questions: • Can the ns-3-dce framework run unmodified OLSRd routing daemon? • Does it match the out of box ns-3 OLSR model? • Can it be used instead of model in large scale simulation campaigns? • Answer: yes • … almost

  3. Motivation • MANET routing protocol models are difficult to verify. • 3X more verification when model coexists with the “real” implementation!

  4. Direct Code Execution • Run [as much as possible] unmodified ”implementation” code instead of model in simulated environment. • Methods: • Virtual machines; • Manual source modifications (AODV-UU); • Automatic source modifications (NSC).

  5. NS-3-DCE Framework • http://code.nsnam.org/mathieu/ns-3-dce • No source code patching: • custom ELF loader with automatic globalization; • custom process and thread management; • glibc API reimplemented to use NS-3 API; • netlink API reimplemented . • Shown to run Zebra routing daemon. • Now runs Linux kernel as well as user space applications.

  6. OLSRd • http://olsr.org • Production quality OLSR implementation. • ~80 KLOC in C, user space, portable, BSD license. • Widely used in community mesh networks, O(10K) installations worldwide: • http://guifi.net 12K+ operating nodes, Spain • http://funkfeuer.at Austria • Large number of RFC extensions; plugin architecture. • OLSRv2 implementation in progress.

  7. Running OLSRd on NS-3-DCE • OLSRd appeared to be quite demanding to glibc implementation quality (good test case) • But finally it runs • Now how to check that NS-3-DCE executes OLSRd correctly? • read PCAPs; • compare to virtual machine execution; • compare to out of box NS-3 OLSR model.

  8. OLSRd vs. ns3::olsr::RoutingProtocol • Small static topologies • Steady state simulation • No traffic apart OLSR • Observables: • routing tables @ all nodes; • mean packet size (B); • mean packet rate (1/s). • Results: • all routing tables match; • mean packet size and rate: up to 2X difference.

  9. Calibration • Find and fix the differences between OLSRd and NS-3 OLSR model until observables match. • Differences found: • default timeouts OLSRd modified; • HELLO compression model modified; • message aggregation model modified; • message jitter OLSRd modified. • After calibration observables match within 1-5%.

  10. Example: Message Jitter RFC NS-3 OLSR model OLSRd

  11. Comparison: Transient Behavior • 100 nodes • Static random positions • No traffic • Mean known route length (top) • Number of known destinations (bottom) • Similar behavior, but difference >> stddev.

  12. Comparison: Steady State • Good: average steady state route length matches. • Bad: up to 2x difference in average packet size and average packet rate. • Calibration made for small networks does not help at larger scale. Need more accurate message compression and aggregation mechanisms in the model.

  13. Comparison: Performance • OLSRd outperforms model at 100 nodes

  14. Conclusions • Use model at the early stages of MANET routing protocol design/research. • Finally discard model and switch to DCE of implementation. • Use calibration procedure in between to test model and implementation against each other.

More Related