NS simulator for beginners

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 beco...

Full description

Bibliographic Details
Main Author: Altman, Eitan
Other Authors: Jiménez, Tania
Format: Electronic Book
Language:English
Published: San Rafael, Calif. (1537 Fourth Street, San Rafael, CA 94901 USA) : Morgan & Claypool, c2012
Series:Synthesis digital library of engineering and computer science
Synthesis lectures on communication networks ; #10
Subjects:
tcl
Table of Contents:
  • 1. Introduction
  • 1.1 NS-2 as a tool for designing internet protocols
  • 1.2 NS-2, NS-3 and other simulators
  • 1.3 Further background on NS-2 simulator
  • 1.4 Tcl and Otcl programming
  • 10. Tcl and C++ linkage
  • 2. NS-2 simulator preliminaries
  • 2.1 Initialization and termination
  • 2.2 Definition of a network of links and nodes
  • 2.3 Agents and applications
  • 2.3.1 FTP over TCP
  • 2.3.2 CBR over UDP
  • 2.3.3 UDP with other traffic sources
  • 2.4 Scheduling events in NS-2
  • 2.5 Visualisation using nam
  • 2.6 Tracing
  • 2.6.1 Tracing objects
  • 2.6.2 Structure of trace files
  • 2.6.3 Tracing a subset of events
  • 2.7 Random variables
  • 2.7.1 Seeds and generators
  • 2.7.2 Creating random variables in NS-2
  • 3. How to work with trace files
  • 3.1 Processing data files with awk
  • 3.2 Using grep
  • 3.3 Processing data files with perl
  • 3.4 Plotting with gnuplot
  • 3.5 Plotting with xgraph
  • 3.6 Extracting information within a tcl script
  • 4. Description and simulation of TCP/IP
  • 4.1 Description of TCP
  • 4.1.1 Objectives of TCP and window flow control
  • 4.1.2 Acknowledgements
  • 4.1.3 Dynamic congestion window
  • 4.1.4 Losses and a dynamic threshold Wth
  • 4.1.5 Initiating a connection
  • 4.2 Tracing and analysis of example ex1.tcl
  • 4.3 TCP over noisy links and queue monitoring
  • 4.4 Creating many connections with random features
  • 4.5 Short TCP connections
  • 4.6 Advanced monitoring tools
  • 4.7 Exercises
  • 5. Routing and network dynamics
  • 5.1 Unicast routing
  • 5.2 Network dynamics
  • 5.3 Multicast protocols
  • 5.3.1 The dense mode
  • 5.3.2 Routing based on a RV point
  • 5.4 Simulating multicast routing
  • 5.4.1 DM mode
  • 5.4.2 Routing with a centralized RV point
  • 5.5 Observations on the simulation of pimdm.tcl
  • 5.6 Exercises
  • 6. RED: random early discard
  • 6.1 Description of RED
  • 6.2 Setting RED parameters in NS-2
  • 6.3 Simulation examples
  • 6.3.1 Drop tail buffer
  • 6.3.2 RED buffer with automatic parameter configuration
  • 6.3.3 RED buffer with other parameters
  • 6.4 Monitoring flows
  • 6.5 Exercises
  • 7. Differentiated services
  • 7.1 Description of assured forwarding Diffserv
  • 7.2 MRED routers
  • 7.2.1 General description
  • 7.2.2 Configuration of MRED in NS-2
  • 7.2.3 TCL querying
  • 7.3 Defining policies
  • 7.3.1 Description
  • 7.3.2 Configuration
  • 7.3.3 TCL querying
  • 7.4 Simulation of diffserv: protection of vulnerable packets
  • 7.4.1 The simulated scenario
  • 7.5 Simulation results
  • 7.6 Discussions and conclusions
  • 7.7 Exercises
  • 8. Mobile networks and wireless local area networks
  • 8.1 The routing algorithms
  • 8.1.1 Destination sequenced distance vector - DSDV
  • 8.1.2 Ad-hoc on demand distance vector - AODV
  • 8.1.3 Dynamic source routing - DSR
  • 8.1.4 Temporally ordered routing algorithm - TORA
  • 8.2 Simulating mobile networks
  • 8.2.1 Simulation scenario
  • 8.2.2 Writing the TCL script
  • 8.3 Trace format
  • 8.4 Analysis of simulation results
  • 8.5 Comparison with other ad-hoc routing
  • 8.5.1 TCP over DSR
  • 8.5.2 TCP over AODV
  • 8.5.3 TCP over TORA
  • 8.5.4 Some comments
  • 8.6 The interaction of TCP with the MAC protocol
  • 8.6.1 Background
  • 8.6.2 The simulated scenario
  • 8.6.3 Simulation results
  • 8.7 Exercises
  • 9. Classical queueing models
  • 9.1 Simulating an M/M/1, M/D/1 and D/M/1 queues
  • 9.2 Finite queue
  • 9.3 Exercises
  • A. Appendix I: Random variables: background
  • B. Appendix II: Confidence intervals
  • C. Appendix III: A small overview on NS-3
  • C.1 Initialization and termination in NS-3
  • C.2 Definition of a network topology in NS-3
  • C.3 Transport Protocols and Applications in NS-3
  • C.4 Scheduling events in NS-3
  • C.5 Tracing in NS-3
  • C.6 Creating Random Variables in NS-3
  • C.7 Short overview of TCP in NS-3
  • C.8 Simulating classical queueing models in NS-3
  • Bibliography
  • Authors' Biographies