Download presentation
Presentation is loading. Please wait.
Published byImogene Lloyd Modified over 9 years ago
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 2
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 4
5
Extensible Software Core Written in C++ with optional Python interface extensively documented API (doxygen): http://www.nsnam.org/doxygen-release/index.html 5
6
Node Basics An ns-3 Node is a husk of a computer to which applications, stacks, and NICs are added 6
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 7
8
ns-3 Has A New Tracing Model ns-3 solution: decouple trace sources from trace sinks Benefit: Customizable trace sinks 8
9
Downloading ns-3 http://www.nsnam.org/ Latest release: ns-3.16 (2012/12/21) 9
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 10
11
Building ns-3 (1/5) 11 #./build.py
12
Building ns-3 (2/5) 12 #./waf -d optimized configure ns-3 uses the waf build system
13
Building ns-3 (3/5) 13 #./waf -d debug configure
14
Building ns-3 (4/5) 14 #./test.py -c core
15
Building ns-3 (5/5) 15
16
Running a Script 16 ./waf --run hello-simulator
17
Building Your Script 17 # cp examples/tutorial/first.cc scratch/myfirst.cc ./waf
18
Building Your Script 18 #./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. 20
21
Module Includes The code proper starts with a number of include statements. ../../build/debug/ns3 21
22
Ns3 Namespace The next line in the first.cc script is a namespace declaration. Logging 22
23
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.
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 24
25
Topology Helpers We will need to have a list of all of the NetDevice objects that are created 25
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 26
27
Applications Two specializations of the core ns-3 class Application called UdpEchoServerApplication UdpEchoClientApplication UdpEchoServerHelper 27
28
Applications UdpEchoClientHelper 28
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 29
30
Building Your Script Drop your script into the scratch directory Now build your first example script using waf 30
31
Building Your Script You can now run the example 31
32
Building a Wireless Network Topology Add the Wifi and the mobility modules The network topology illustration follows: 32
33
Building a Wireless Network Topology For enabling or disabling logging components and for changing the number of devices created 33
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 http://cutebugs.net/files/wns2-yans.pdf 34
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 35
36
Building a Wireless Network Topology The SSID of the infrastructure network Create the wifi devices of these stations 36
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 37
38
Building a Wireless Network Topology Set some Attributes controlling the “position allocator” functionality 38 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) 39
40
Building a Wireless Network Topology Want the access point to remain in a fixed position during the simulation Protocol stacks 40
41
Building a Wireless Network Topology assign IP addresses to the device interfaces 41
42
Building a Wireless Network Topology Enable internetwork routing Create just enough tracing to cover all three networks 42
43
Building a Wireless Network Topology Run the simulation, clean up and then exit the program Output 43
44
Read the pcap files 44
45
Plot figures 45
46
An Example of MANET Reference /ns-allinone-3.10/ns-3.10/examples/wireless/wifi- hidden-terminal.cc
47
Codes (1/7) 47
48
Codes (2/7) 48
49
Codes (3/7) 49
50
Codes (4/7) 50
51
Codes (5/7) 51
52
Codes (6/7) 52
53
Codes (7/7) 53
54
Result 54
55
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
56
Need to do…… (2/3) RTS retry limit ns3::UanMacRc RetryRate Buffer size ns3::TcpSocket SndBufSize AODV hello periods ns3::aodv::RoutingProtocol HelloInterval 56
57
Need to do…… (3/3) Uniform distribution in a square with 500 meters ns3::RandomRectanglePositionAllocator ns3::UniformVariable 57
58
Q & A 58
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.