
Explore network simulation using NS2 and set up the environment with TCL/OTCL essentials. Learn NS2 routing protocols, implement new ones, and automate performance analysis across wired and wireless networks.
NS2 is an event-driven network simulator that models wired and wireless networks, including satellite links, using a C++ backend and an OTcl frontend.
Install VirtualBox and create an Ubuntu 16.04.3 64-bit VM with 8 GB RAM, 4 processors, and a 100 GB disk, mount the ISO, and enable guest additions.
Learn to install NS2 on Ubuntu OS by following step-by-step commands, install prerequisites, customize your username, and verify a successful NS2 setup.
Install OpenJDK and Eclipse on a Windows virtual machine, set up the workspace, download and extract the software, then create a Makefile project with GCC for Linux and build.
This lecture introduces tcl, the tool command language, a free dynamic cross‑platform language that NS2 uses; learn basic syntax, variables, global scope, info exists, incr, unset, and argument handling.
Gain hands-on TCL fundamentals, covering data types, variables, hash tables, and lists; master conditionals, loops, string manipulation, regular expressions, and file handling through practical examples.
Explore OTcl, the language used in NS2, covering objects, classes, attributes, procedures, constructors and destructors, and inheritance with examples of person and employee objects.
Explore the basics of a wired Tcl script in NS2 by building a two-node network with a 1 Mbps duplex link, UDP with CBR traffic, and a network animator visualization.
Explore how to configure a wireless ns2 tcl script to define nodes, grid topology, channels, and UDP traffic with cbr, using aodv routing, and include mobility to simulate moving networks.
Learn to set up and run network simulations with ns2 using the network scenario generator (NSG), configure nodes and CBR traffic, and visualize results with the network animator.
Introduce the NS2 setdest mobility generation tool, configure nodes, speed, and simulation time, and generate a mobility file with node coordinates for random movement.
Learn to use the cbrgen traffic generation tool in NS2 to create direct traffic patterns, configure node connections, start and stop times, and run a 10-second simulation.
Learn to generate mobility patterns with the Bonnmotion utility, applying the Manhattan grid mobility model and exporting ns-2 compatible mobility files for network simulations.
Aodv is an on-demand distance-vector routing protocol that discovers routes as needed, reducing control traffic, using destination sequence numbers, and managing route maintenance for mobility and link breaks.
Explore how the dynamic source routing protocol operates as a reactive routing approach. Demonstrate route discovery and maintenance using route requests, replies, and route caches.
Explore the ns2 based aodv protocol source code, focusing on routing table structures, packet declarations, and the request reply mechanisms that discover and forward routes in ad hoc networks.
Learn to clone an existing LDV protocol, rename files, and edit code using Eclipse with search and replace and line-by-line updates.
Master the cloning of an existing protocol in NS2 through step-by-step file edits, line-number substitutions, and Makefile adjustments to verify the simulation runs successfully.
Explore promiscuous mode in a new ns2 protocol and see how enabling it lets nearby nodes access neighbor packets. Follow setup and build steps to implement and observe the behavior.
Add a malicious node in a new NS2 protocol by enabling a malicious flag to drop packets, then analyze its impact on network performance during simulation.
Learn trust management in a new ns2 protocol, where every node starts at 0.5 and uses forwarded packets and a packet list to update trust, marking above 0.5 as good.
Explore trust management in a new protocol using ns-2, focusing on promiscuous mode packet monitoring, bucket list maintenance, and detecting malicious forwarders to verify actual data transfer.
Analyze performance analysis parameters for network simulations using NS2, focusing on packet delivery ratio, throughput, and delay. Explore how link quality, mobility, and resource availability affect reliability and routing behavior.
Compare old and new trace formats in NS2, illustrate them with an example, and show how network simulation events stored in trace files enable performance analysis.
Learn awk scripting for analysis in NS2, covering begin, middle, and end sections, field access like $1 and $2, and conditional logic to compute send times and jitter.
Learn how to vary NS2 TCL simulation parameters, including network dimensions, mobile node count, malicious nodes, transmission stations, and mobility speed, to analyze network performance.
Apply strict do's and don'ts for network simulation with ns2 by changing only one parameter at a time and using realistic node counts, speeds, and consistent conditions when comparing protocols.
Explore how automation speeds up ns2 network simulations, reduces manual edits and errors, and enables repeated performance analysis using scripted inputs, parameter measurements, and automated plotting.
Discover bash scripting to automate tasks on Unix, create and run script.sh, use variables and for loops, read from files, and perform arithmetic with bc.
Automate NS2 simulations with the mission script, including downloading, extracting, preparing mobility files, running repeated simulations, collecting results, and preparing data for plotting in the next lecture.
Learn to plot graphs for NS2 network simulations using gnuplot, including installation, axis labeling, and generating labeled output.
Network is an essential part of life. Without a network, it is impossible to live up the digital life. Along with the pros, there are cons. Security is an essential part of the network. Network Simulator (NS2) is a powerful open source network simulation tool. In this course, NS2 is discussed with hands on and plenty of examples. Many tools and techniques are covered with the support of shared resources. A candidate (student/researcher/industry person) who is willing to learn NS2 in depth, this is the right course for you!
This course is designed to learn NS2 from scratch to the level of implementing own routing protocol.
The course will help you to set a strong programming foundation. It will help you to be an expert in C programming. The course will help you to face any IT interview confidently.
Enjoy NS2 development!!!