
Gain a conceptual overview of industry, walk through a gns3 ns-3 simulation code line by line, and learn to set up ns-3 on your computer.
Explore why ns-3 stands out as a free, open-source discrete event simulator built in C++ with Python bindings, offering diverse models for Wi-Fi, 4G/5G, and routing protocols.
Explore the conceptual design of ns-3 by examining nodes, applications, net devices, protocol stack, channels, and rogue-node scenarios, and learn how traffic uses IP, UDP, and TCP.
Discover how container classes in ns-3 simplify creating many nodes and applying configurations, like installing the internet stack, with a single line of code rather than tedious node-by-node instantiation.
Explore how helpers and helper classes wrap complex code to add Wi-Fi connectivity and other features to ns-3 nodes, offering an easy interface, reducing lines of code, and lowering errors.
Refresh your memory of C++ and object oriented programming, focusing on classes, creating instances (including parameterized ones), and calling functions to perform tasks in Gns3.
Explore a Gns3 walkthrough with two nodes, a UDP echo server and a UDP client, to observe a point-to-point Ethernet-like connection and basic ns-3 configurations.
Explore how to include the five key ns-3 header libraries—core, network, internet, point-to-point, and applications—and understand what each module provides for simulation, protocols, and UDP applications.
Set the timing resolution to nanoseconds in the main function, create a node container named nodes, and generate two nodes for the ns-3 network simulation.
Create the point-to-point channel and network devices in one line using the point-to-point helper, then set data rate and channel delay to model link performance.
Create a net device container, install point-to-point devices on the nodes, install the internet stack, and assign IPv4 addresses with a base and mask via the IPv4 address helper.
Create and install a udp echo server on the ns-3 node using the echo server helper class, then start at 1s and stop at 10s with an application container.
Configure the echo client with the server IP and port, set maximum packets and interval, and a 1024-byte packet size; install on the zeroth node and start after one second.
Calculate the packet transmission delay by hand for a 1054-byte packet at 5 Mbps, deriving serialization and propagation delays, and compare with the ns-3 simulation output.
Explore the ns-3 folder structure, locate the source and examples folders, and learn to run your simulation script using the installation, Gns3 directory, and major modules.
Place scripts in the scratch folder and run with the gns3 run command, removing the .c file to avoid errors, and observe a 1024-byte UDP packet at two seconds and an echo server reply.
Learn to output results in ns-3 simulations using gns3 by printing to the terminal, writing to text files, and capturing packets with pcap for wireshark analysis, and Python data extraction.
Explore the Gns3 website to access documentation in HTML and PDF, discover contributed modules in the app store, and learn about UDP echo helpers, mobility, and community support for simulations.
explains installing Gns3 on Windows, macOS, and Linux, highlighting Windows Subsystem for Linux, Ubuntu-based steps, and beginner notes on mysis and MinGW toolchains.
Install Gns3 39th release on ubuntu by covering prerequisite libraries and software, then downloading the Gns3 source code and building it.
Identify and install the Linux prerequisites for ns-3 on Ubuntu, including mandatory libraries, Python 3 requirements, optional components for animations and visualizers, and supporting tools like Doxygen and tcpdump.
Copy the prerequisites command, open a terminal, and run sudo to install the libraries. If already installed, nothing happens; otherwise, grant permission as each library installs, one by one.
Download the latest ns-3 release from the website, extract the zip, and run build.py in a terminal to build the library with tests and examples.
Complete the setup by navigating the Gns3 folders, copy an example to scratch, run the simulator to verify installation, apply final configurations, and prepare to run the ns-3 simulation.
Explore a wifi timing attributes example in ns-3 and observe how timing values affect wifi throughput in this extra industry project demo.
Review how ns-3 libraries are included and how the two-node scenario—one access point and a user node n1—uses a slot equals 20 and variable changes.
Learn how to declare and override Wi-Fi parameters like slot, sifs, pifs, and simulation time in ns-3, using command-line overrides to run multiple throughput tests efficiently.
Learn to configure ns-3 simulations using the command line interface by creating a command line module instance, calling add_value for each variable, and setting slot names for a streamlined setup.
Configure a wifi network in ns-3 by applying a log distance propagation loss model, creating station and access point nodes, and installing the phy and mac layers for 802.11n.
Use the mobility helper in ns-3 to place a wifi access point and a station one meter apart along the x axis via vector coordinates, using the install function.
Learn how ns-3 simulations configure the internet stack and ip addressing, install a udp server and client, and compute throughput in megabits per second.
Networks simulation tools are essential if you are testing new protocols, networks architectures, or designing real-life deployments. Among the many networks simulation tools out there, ns-3 appears at the top due to its wide community support and extensive coverage of technologies. Hence, learning how to use ns-3 could greatly help you in your research and professional work.
This course is designed in a way that it will give you a brief overview of network simulation techniques in general and dive into the use of ns-3. A walkthrough example is used to explain the basics of ns-3 simulations and every line of code is explained to give you an in-depth understanding on the simulation code.
A quick browse in the ns-3 official website is also added to the course so that you get familiar with the website and are able to find any information you are looking for in the website. Most sections include small quizzes to test your knowledge.
In addition, the installation steps are given towards the end of the course of Linux based systems. However, the slight variations for MacOS and Windows users are also given so that anyone can setup ns-3 in their computer without a hassle.