Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Ns-3 Training Computer and Communication Network Lab Department of Electrical Engineering National Sun Yat-Sen University 5/13/2013."— Presentation transcript:

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


Download ppt "Ns-3 Training Computer and Communication Network Lab Department of Electrical Engineering National Sun Yat-Sen University 5/13/2013."

Similar presentations


Ads by Google