ns-3%20Training - PowerPoint PPT Presentation

About This Presentation
Title:

ns-3%20Training

Description:

Title: Designing an Ontology-based Intelligent Tutoring Agent with Instant Messaging Author: Nan Last modified by: vincent Created Date: 2/18/2006 7:22:06 AM – PowerPoint PPT presentation

Number of Views:427
Avg rating:3.0/5.0
Slides: 59
Provided by: NAN259
Category:

less

Transcript and Presenter's Notes

Title: ns-3%20Training


1
ns-3 Training
  • Computer and Communication Network Lab
  • Department of Electrical Engineering
  • National Sun Yat-Sen University
  • 5/13/2013

2
Topics
  • Getting Started ns-3
  • What is ns-3?
  • Installation
  • A First ns-3 Script
  • Two tutorial examples
  • A simple example for this project
  • Complete the remaining parts

3
Getting Started ns-3
  • Please read the following documents
  • ns-3 overview
  • http//www.nsnam.org/docs/ns-3-overview.ppt
  • http//www.nsnam.org/docs/ns-3-overview.pdf
  • ns-3 Tutorial
  • http//www.nsnam.org/docs/release/3.13/tutorial/ns
    -3-tutorial.pdf
  • ns-3 Manual
  • http//www.nsnam.org/docs/release/3.13/manual/ns-3
    -manual.pdf

4
What is ns-3?
  • ns-3 is a discrete-event network simulator for
    Internet systems
  • ns-3 allows researchers to study Internet
    protocols and large-scale systems in a controlled
    environment
  • ns-3 is a new simulator (not backwards-compatible
    with ns-2)
  • ns-3 is a free, open source software project
    organized around research community development
    and maintenance
  • the target user community is networking
    researchers and educators

5
Extensible Software Core
  • Written in C with optional Python interface
  • extensively documented API (doxygen)
  • http//www.nsnam.org/doxygen-release/index.html

6
Node Basics
  • An ns-3 Node is a husk of a computer to which
    applications, stacks, and NICs are added

7
Tracing and Statistics
  • Tracing is a structured form of simulation output
  • Example (from ns-2)
  • Problem Tracing needs vary widely
  • would like to change tracing output without
    editing the core
  • would like to support multiple outputs

8
ns-3 Has A New Tracing Model
  • ns-3 solution decouple trace sources from trace
    sinks
  • Benefit Customizable trace sinks

9
Downloading ns-3
  • http//www.nsnam.org/
  • Latest release ns-3.16 (2012/12/21)

10
Problems under Windows
  • Cygwin or MinGW
  • If you do use Cygwin or MinGW and use Logitech
    products
  • it can cause Cygwin or MinGW DLLs to die in
    mysterious way
  • Note that NSC is not supported on OSX or Cygwin.
  • Network Simulation Cradle

11
Building ns-3 (1/5)
  • ./build.py

12
Building ns-3 (2/5)
  • ./waf -d optimized configure
  • ns-3 uses the waf build system

13
Building ns-3 (3/5)
  • ./waf -d debug configure

14
Building ns-3 (4/5)
  • ./test.py -c core

15
Building ns-3 (5/5)
16
Running a Script
  • ./waf --run hello-simulator

17
Building Your Script
  • cp examples/tutorial/first.cc
    scratch/myfirst.cc
  • ./waf

18
Building Your Script
  • ./waf --run scratch/myfirst

19
A First ns-3 Script
  • /ns-allinone-3.10/ns-3.10/examples/tutorial
  • first.cc
  • third.cc

20
Boilerplate
  • The first line in the file is an emacs mode line.
  • The ns-3 simulator is licensed using the GNU
    General Public License.

21
Module Includes
  • The code proper starts with a number of include
    statements.
  • ../../build/debug/ns3

22
Ns3 Namespace
  • The next line in the first.cc script is a
    namespace declaration.
  • Logging

23
Main Functions
  • The next lines of the script you will find are,
  • ns3 ??? log ???????????
  • NS_LOG_ERROR Log error messages
  • NS_LOG_WARN Log warning messages
  • NS_LOG_DEBUG Log relatively rare, ad-hoc
    debugging messages
  • NS_LOG_INFO Log informational messages about
    program progress
  • NS_LOG_FUNCTION Log a message describing each
    function called
  • NS_LOG_LOGIC Log messages describing logical
    flow within a function
  • NS_LOG_ALL Log everything.
  • NS_LOG_UNCOND Log the associated message
    unconditionally.

24
Topology Helpers
  • Create the ns-3 Node objects that will represent
    the computers in the simulation.
  • We are constructing a point to point link

25
Topology Helpers
  • We will need to have a list of all of the
    NetDevice objects that are created

26
Internet Stack Helper
  • Protocol stacks installed on our nodes
  • TCP, UDP, IP, etc.
  • Ipv4AddressHelper
  • make the association between an IP address and a
    device

27
Applications
  • Two specializations of the core ns-3 class
    Application called
  • UdpEchoServerApplication
  • UdpEchoClientApplication
  • UdpEchoServerHelper

28
Applications
  • UdpEchoClientHelper

29
Simulator
  • What we need to do at this point is to actually
    run the simulation.
  • scheduled events in the simulator at 1.0 seconds,
    2.0 seconds and two events at 10.0 seconds

30
Building Your Script
  • Drop your script into the scratch directory
  • Now build your first example script using waf

31
Building Your Script
  • You can now run the example

32
Building a Wireless Network Topology
  • Add the Wifi and the mobility modules
  • The network topology illustration follows

33
Building a Wireless Network Topology
  • For enabling or disabling logging components and
    for changing the number of devices created

34
Building a Wireless Network Topology
  • Part of the Wifi network
  • Configure the PHY and channel helpers
  • Yet Another Network Simulator
  • M. Lacage and T. R. Henderson, Yet Another
    Network Simulator, WNS2 ns-2 The IP Network
    Simulator, Italy, 2006.
  • http//cutebugs.net/files/wns2-yans.pdf

35
Building a Wireless Network Topology
  • Create a channel object and associate it to our
    PHY layer object manager
  • NqosWifiMacHelper object to set MAC parameters
  • rate control algorithm
  • AARF (Adaptive Auto-Rate Fallback ) algorithm

36
Building a Wireless Network Topology
  • The SSID of the infrastructure network
  • Create the wifi devices of these stations

37
Building a Wireless Network Topology
  • Configure the AP (access point) node
  • Shares the same set of PHY-level Attributes (and
    channel) as the stations

38
Building a Wireless Network Topology
  • Set some Attributes controlling the position
    allocator functionality

The number of objects layed out on a line.
39
Building a Wireless Network Topology
  • Need to tell them how to move
  • RandomWalk2dMobilityModel
  • random direction
  • random speed
  • Rectangle (double _xMin, double _xMax, double
    _yMin, double _yMax)

40
Building a Wireless Network Topology
  • Want the access point to remain in a fixed
    position during the simulation
  • Protocol stacks

41
Building a Wireless Network Topology
  • assign IP addresses to the device interfaces

42
Building a Wireless Network Topology
  • Enable internetwork routing
  • Create just enough tracing to cover all three
    networks

43
Building a Wireless Network Topology
  • Run the simulation, clean up and then exit the
    program
  • Output

44
Read the pcap files

45
Plot figures

46
An Example of MANET
  • Reference
  • /ns-allinone-3.10/ns-3.10/examples/wireless/wifi-h
    idden-terminal.cc

47
Codes (1/7)
48
Codes (2/7)
49
Codes (3/7)
50
Codes (4/7)
51
Codes (5/7)
52
Codes (6/7)
53
Codes (7/7)
54
Result
55
Need to do (1/3)
  • Transmission range of a node
  • ns3RangePropagationLossModel
  • MaxRange
  • Node moving speed
  • ns3RandomWaypointMobilityModel
  • Speed
  • Pause
  • Node data rate
  • ns3ConstantRateWifiManager

56
Need to do (2/3)
  • RTS retry limit
  • ns3UanMacRc
  • RetryRate
  • Buffer size
  • ns3TcpSocket
  • SndBufSize
  • AODV hello periods
  • ns3aodvRoutingProtocol
  • HelloInterval

57
Need to do (3/3)
  • Uniform distribution in a square with 500 meters
  • ns3RandomRectanglePositionAllocator
  • ns3UniformVariable

58
Q A
Write a Comment
User Comments (0)
About PowerShow.com