NS-3: an introduction - walkthrough of classic hidden terminal problem in WiFi- Anjan Rayamajhi

Preview:

Citation preview

NS-3: an introduction

- walkthrough of classic hidden terminal problem in WiFi-

Anjan Rayamajhi

Todays topics

•Conceptual overview of NS3–Node, Application,Channel,Net Device, Helper

functions•Code Walkthrough:

–Hidden terminal problem–Discrete event simulation of Wifi –Example usage of Flow monitor, pcap tracing,

NetAnim and PyViz

What is NS3

•an open, extensible, core c++ discrete event network simulator•completely different than predecessor ns2 though porting ns2 modules written in c++ is possible•actively maintained at www.nsnam.org•highly modular with added features compared to ns2 such as Direct Code Execution

software organization of ns3

NS3 classes

•Nodes : computers, end systems, hosts •Application: user level softwars that make use of underlying networking. No concept of user level or system level applications.•Channel: models the link in terms of capacity, data rates etc. Eg. Wifichannel, CSMAchannel, PointToPointChannel•NetDevice: network interfaces that allow a node to communicate through a channel •Containers and Helper: Containers wrap Devices together into one object. Helpers provide easy objects to implement simulation and setup topology.

Code Walkthrough

•what is hidden terminal problem?

•Solution:– Use RTS - CTS to schedule transmission

Discrete Event simulation of wifi

walk through in code

Flow MonitorHidden station experiment with RTS/CTS disabled:Flow 1 (10.0.0.1 -> 10.0.0.2) Tx Packets: 2410 Tx Bytes: 3441480 TxOffered: 3.05909 Mbps Rx Packets: 226 Rx Bytes: 322728 Throughput: 0.286869 MbpsFlow 2 (10.0.0.3 -> 10.0.0.2) Tx Packets: 2411 Tx Bytes: 3442908 TxOffered: 3.06036 Mbps Rx Packets: 243 Rx Bytes: 347004 Throughput: 0.308448 Mbps

Hidden station experiment with RTS/CTS enabled:Flow 1 (10.0.0.1 -> 10.0.0.2) Tx Packets: 2410 Tx Bytes: 3441480 TxOffered: 3.05909 Mbps Rx Packets: 415 Rx Bytes: 592620 Throughput: 0.526773 MbpsFlow 2 (10.0.0.3 -> 10.0.0.2) Tx Packets: 2411 Tx Bytes: 3442908 TxOffered: 3.06036 Mbps Rx Packets: 623 Rx Bytes: 889644 Throughput: 0.790795 Mbps

pcap tracing

to be shown in the terminal

NSNAM

•offline code simulation visualization•reads simulation xml files and visualizes•comes with NS3 tar but needs to be installed using qmake

PyViz

•online code simulation visualizer•installed alongwith ns3 •make sure python-binding works•./waf --run <filename> --vis

References

•www.nsnam.org•Yet another Network simulator; M. Lacage, T. R. Henderson•FlowMonitor - a network monitoring framework for the NS3; G. Carneiro, P. Fortuna, M. Ricardo•http://www2.engr.arizona.edu/~junseok/ns3_wifi.htm