NS Simulator for Beginners

Book description


NS-2 is an open-source discrete event network simulator which is widely used by both the research community as well as by the people involved in the standardization protocols of IETF. The goal of this book is twofold: on one hand to learn how to use the NS-2 simulator, and on the other hand, to become acquainted with and to understand the operation of some of the simulated objects using NS-2 simulations. The book is intended to help students, engineers or researchers who need not have much background in programming or who want to learn through simple examples how to analyse some simulated objects using NS-2. Simulations may differ from each other in many aspects: the applications, topologies, parameters of network objects (links, nodes) and protocols used, etc. The first chapter is a general introduction to the book, where the importance of NS-2 as a tool for a good comprehension of networks and protocols is stated. In the next chapters we present special topics as TCP, RED, etc., using NS-2 as a tool for better understanding the protocols. We provide in the appendices a review of Random Variables and Confidence Intervals, as well as a first sketch for using the new NS-3 simulator.

Table of Contents: Introduction / NS-2 Simulator Preliminaries / How to work with trace files / Description and simulation of TCP/IP / Routing and network dynamics / RED: Random Early Discard / Differentiated Services / Mobile Networks and Wireless Local Area Networks / Classical queueing models / Tcl and C++ linkage

Table of contents

  1. Preface
  2. Introduction
    1. NS-2 as a tool for designing Internet protocols
    2. NS-2, NS-3 and other simulators
    3. Further background on NS-2 simulator
    4. Tcl and Otcl programming (1/2)
    5. Tcl and Otcl programming (2/2)
  3. NS-2 Simulator Preliminaries
    1. Initialization and termination
    2. Definition of a network of links and nodes
    3. Agents and applications
      1. FTP over TCP
      2. CBR over UDP
      3. UDP with other traffic sources
    4. Scheduling events in NS-2
    5. Visualisation using nam
    6. Tracing
      1. Tracing objects
      2. Structure of trace files
      3. Tracing a subset of events
    7. Random Variables
      1. Seeds and generators
      2. Creating Random Variables in NS-2
  4. How to work with trace files
    1. Processing data files with awk
    2. Using grep
    3. Processing data files with perl
    4. Plotting with gnuplot
    5. Plotting with xgraph
    6. Extracting information within a tcl script
  5. Description and simulation of TCP/IP
    1. Description of TCP
      1. Objectives of TCP and window flow control
      2. Acknowledgements
      3. Dynamic congestion window
      4. Losses and a dynamic threshold Wth
      5. Initiating a connection
    2. Tracing and analysis of Example ex1.tcl
    3. TCP over noisy links and queue monitoring
    4. Creating many connections with random features
    5. Short TCP connections (1/2)
    6. Short TCP connections (2/2)
    7. Advanced monitoring tools
    8. Exercises
  6. Routing and network dynamics
    1. Unicast routing
    2. Network dynamics
    3. Multicast protocols
      1. The Dense mode
      2. Routing based on a RV point
    4. Simulating multicast routing
      1. DM mode
      2. Routing with a centralized RV point
    5. Observations on the simulation of pimdm.tcl
    6. Exercises
  7. RED: Random Early Discard
    1. Description of RED
    2. Setting RED parameters in NS-2
    3. Simulation examples
      1. Drop tail buffer
      2. RED buffer with automatic parameter configuration
      3. RED buffer with other parameters
    4. Monitoring flows
    5. Exercises
  8. Differentiated Services
    1. Description of assured forwarding Diffserv
    2. MRED routers
      1. General description
      2. Configuration of MRED in NS-2
      3. TCL querying
    3. Defining policies
      1. Description
      2. Configuration
      3. TCL querying
    4. Simulation of diffserv: protection of vulnerable packets
      1. The simulated scenario
    5. Simulation results
    6. Discussions and conclusions
    7. Exercises
  9. Mobile Networks and Wireless Local Area Networks
    1. The routing algorithms
      1. Destination Sequenced Distance Vector - DSDV
      2. Ad-hoc On Demand Distance Vector - AODV
      3. Dynamic Source Routing - DSR
      4. Temporally Ordered Routing Algorithm - TORA
    2. Simulating mobile networks
      1. Simulation scenario
      2. Writing the tcl script
    3. Trace format
    4. Analysis of simulation results
    5. Comparison with other ad-hoc routing
      1. TCP over DSR
      2. TCP over AODV
      3. TCP over TORA
      4. Some comments
    6. The interaction of TCP with the MAC protocol
      1. Background
      2. The simulated scenario
      3. Simulation results
    7. Exercises
  10. Classical queueing models
    1. Simulating an M/M/1, M/D/1 and D/M/1 queues
    2. Finite queue
    3. Exercises
  11. Tcl and C++ linkage (1/2)
  12. Tcl and C++ linkage (2/2)
  13. Appendix I: Random variables: background
  14. Appendix II: Confidence intervals
  15. Appendix III: A small overview on NS-3
    1. Initialization and termination in NS-3
    2. Definition of a network topology in NS-3
    3. Transport Protocols and Applications in NS-3
    4. Scheduling events in NS-3
    5. Tracing in NS-3
    6. Creating Random Variables in NS-3
    7. Short overview of TCP in NS-3
    8. Simulating classical queueing models in NS-3
  16. Bibliography (1/2)
  17. Bibliography (2/2)
  18. Authors' Biographies

Product information

  • Title: NS Simulator for Beginners
  • Author(s): Eitan Altman, Tania Jiménez
  • Release date: January 2012
  • Publisher(s): Morgan & Claypool Publishers
  • ISBN: 9781608456932