ns-3 training computer and communication network lab department of electrical engineering national...
Post on 30-Dec-2015
221 Views
Preview:
TRANSCRIPT
ns-3 Training
Computer and Communication Network Lab
Department of Electrical Engineering
National Sun Yat-Sen University
5/13/2013
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
2
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
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 educators4
Extensible Software Core Written in C++ with optional Python interface
extensively documented API (doxygen):
http://www.nsnam.org/doxygen-release/index.html5
Node Basics An ns-3 Node is a husk of a computer to which
applications, stacks, and NICs are added
6
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
7
ns-3 Has A New Tracing Model ns-3 solution: decouple trace sources from
trace sinks
Benefit: Customizable trace sinks8
Downloading ns-3 http://www.nsnam.org/
Latest release: ns-3.16 (2012/12/21)
9
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
10
Building ns-3 (1/5)
11
# ./build.py
Building ns-3 (2/5)
12
# ./waf -d optimized configure ns-3 uses the waf build system
Building ns-3 (3/5)
13
# ./waf -d debug configure
Building ns-3 (4/5)
14
# ./test.py -c core
Building ns-3 (5/5)
15
Running a Script
16
./waf --run hello-simulator
Building Your Script
17
# cp examples/tutorial/first.cc scratch/myfirst.cc ./waf
Building Your Script
18
# ./waf --run scratch/myfirst
A First ns-3 Script
• /ns-allinone-3.10/ns-3.10/examples/tutorial• first.cc• third.cc
Boilerplate The first line in the file is an emacs mode line.
The ns-3 simulator is licensed using the GNU General Public License.
20
Module Includes The code proper starts with a number of include
statements.
../../build/debug/ns3
21
Ns3 Namespace The next line in the first.cc script is a namespace
declaration.
Logging
22
Main Functions The next lines of the script you will find are,
23
ns3 提供的 log 訊息分成了以下幾個等級:1.NS_LOG_ERROR — Log error messages; 2.NS_LOG_WARN — Log warning messages; 3.NS_LOG_DEBUG — Log relatively rare, ad-hoc debugging messages; 4.NS_LOG_INFO — Log informational messages about program progress; 5.NS_LOG_FUNCTION — Log a message describing each function called; 6.NS_LOG_LOGIC – Log messages describing logical flow within a function; 7.NS_LOG_ALL — Log everything. 8.NS_LOG_UNCOND – Log the associated message unconditionally.
Topology Helpers Create the ns-3 Node objects that will represent
the computers in the simulation.
We are constructing a point to point link
24
Topology Helpers We will need to have a list of all of the NetDevice
objects that are created
25
Internet Stack Helper Protocol stacks installed on our nodes
TCP, UDP, IP, etc.
Ipv4AddressHelper
make the association between an IP address and a device
26
Applications Two specializations of the core ns-3 class
Application called UdpEchoServerApplication UdpEchoClientApplication
UdpEchoServerHelper
27
Applications UdpEchoClientHelper
28
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
29
Building Your Script Drop your script into the scratch directory
Now build your first example script using waf
30
Building Your Script You can now run the example
31
Building a Wireless Network Topology Add the Wifi and the mobility modules
The network topology illustration follows:
32
Building a Wireless Network Topology For enabling or disabling logging components
and for changing the number of devices created
33
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
34
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 35
Building a Wireless Network Topology The SSID of the infrastructure network
Create the wifi devices of these stations
36
Building a Wireless Network Topology Configure the AP (access point) node
Shares the same set of PHY-level Attributes (and channel) as the stations
37
Building a Wireless Network Topology Set some Attributes controlling the “position
allocator” functionality
38
The number of objects layed out on a line.
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)
39
Building a Wireless Network Topology Want the access point to remain in a fixed
position during the simulation
Protocol stacks
40
Building a Wireless Network Topology assign IP addresses to the device interfaces
41
Building a Wireless Network Topology Enable internetwork routing
Create just enough tracing to cover all three networks
42
Building a Wireless Network Topology Run the simulation, clean up and then exit the
program
Output
43
Read the pcap files
44
Plot figures
45
An Example of MANET
• Reference • /ns-allinone-3.10/ns-3.10/examples/wireless/wifi-
hidden-terminal.cc
Codes (1/7)
47
Codes (2/7)
48
Codes (3/7)
49
Codes (4/7)
50
Codes (5/7)
51
Codes (6/7)
52
Codes (7/7)
53
Result
54
Need to do…… (1/3) Transmission range of a node
ns3::RangePropagationLossModel MaxRange
Node moving speed ns3::RandomWaypointMobilityModel
Speed Pause
Node data rate ns3::ConstantRateWifiManager 55
Need to do…… (2/3) RTS retry limit
ns3::UanMacRc RetryRate
Buffer size ns3::TcpSocket
SndBufSize
AODV hello periods ns3::aodv::RoutingProtocol
HelloInterval 56
Need to do…… (3/3) Uniform distribution in a square with 500 meters
ns3::RandomRectanglePositionAllocator
ns3::UniformVariable
57
Q & A
58
top related