Department of Computer Science and Engineering
BVBCET, Hubli
     Overview of
Network Simulator (NS-3)
                            By
                    Nitya N. Kulkarni
                 Mrutyunjay G. Hiremath
                   Under the Guidance of
              Prof. Jayalakshmi G. Naragund
                                    2
                      Contents
   Introduction
   Differentiating NS-2 and NS-3
   Software organization of NS3
   Features of NS-3
   Modules available in NS-3
   Easy Steps to Install NS-3
   Key Abstractions
   Output Processing Utilities
   Ideas for Project Development
                                                                  3
                    Introduction
• Research projects can be implemented in either one or more of
  these;
   – Mathematical modeling
   – Simulation
   – Experimentation using TestBeds
• Most researchers go for simulation as they imitate real time
  situations and enable execution of even complex ideas simple
  through tools called Simulators.
• Network simulator is a software that predicts the behavior of
  the computer network.
• NS3 is a new simulator written from scratch. Not an evolution
  of NS-2.
• Project started around mid 2006 and still under heavy
  development.
                                                                     4
      Differentiating NS-2 and NS-3
• The Choice of Programming Language:
                    OTcl in ns-2, C++ in ns-3
  1. Not possible to run a simulation in ns-2 purely from C++.
  2. Some components in ns-2 are written in OTcl and some in C++.
  3. Simulations in ns-3 can be run using purely C++ or in Python.
  4. Components in ns-3 are completely written in C++.
                                                                        5
• NAM and Trace files in NS-2, NetAnim and PCAP Trace files
  in NS-3.
• Community Support
             Very good for ns-2, Improving for ns-3
  1. ns2 has a more diverse set of contributed modules than does ns3.
  2. A lot of documentation exists for ns-2
  3. ns-3 has more detailed models for upcoming networks like Long
     Term Evolution (LTE), Wi-Fi, etc.
                                                           6
  Software Organization of NS3
                             Test
                            Helper
Protocols    Applications   Devices   Propagation    ...
            Internet                      Mobility
                            Network
                             Core
                                                7
                     Features of NS-3
• It is a discrete event simulator.
• Modular design / Open source.
• Logging facility for debugging.
• Tracing facility for getting output.
• Developed in C++, Python binding available.
• Live visualizer.
• Direct Code Execution.
                            8
Modules Available in NS-3
                                                            9
               Installation of NS3
• Latest release: ns-allinone-3.23, http://www.nsnam.org/
• Pre-Requisites:
   – GCC-C++, Python-dev
   – Mercurial, Qt4-devel
• Downloading and installation of NS-3
   – BAKE
   – Manual Installation
• waf configuration and building NS3
                                                   10
                Key Abstractions
• Node
• Application (e.g., FTP, ON-OFF Traffic, etc)
• Channel (e.g., point-to-point, etc)
• NetDevice (i.e., Network Interface Card (NIC))
• Packet
• Topology Helpers
                      11
Conceptual Overview
                                       12
         Output Processing Utilities
• Netanim
• Pcap files using Wireshark
• GNU plot
          13
NetAnim
            14
Wireshark
           15
GNU Plot
                                                           16
     Ideas for Project Development
• New BackOff Procedure.
• Wifi rate control example.
• Improve some of the routing protocols to adhere to the
  standard.
• Simulate your college campus network and analyze its
  performance against the real time results.
• Projects related to LTE.