This is the repository for the LinkedIn Learning course Network Design and Performance Evaluation with Simulations. The full course is available from LinkedIn Learning.
Regardless of the size, form, or implementation of a network, a fundamental goal of any network design is to meet the key performance metrics. In this course, Ryan Hu shows you the principles of network design, topologies, and performance evaluation, and how to test your design with network simulations. Ryan shows you how to create and evaluate simulated networks with ns-3 scripts, leveraging network technologies like Ethernet, Wi-Fi, and 5G, and provides hands-on exercises and challenges so you can apply the basic principles of network performance evaluation in your custom simulations.
See the readme file in the main branch for updated instructions and information.
This repository has all files used in the course. Specifically, two packages are used: ns-allinone-3.35 package used for most videos and ns3-mmwave-4.0 package used only for 03_08 video. The exercises files can be found in ns-allinone-3.35->Exercises.
- To use these exercise files, you must check the prerequisites for ns-3:
- ns-3 documentation: https://www.nsnam.org/wiki/Installation
- Optionally, to check the PCAP trace files, WireShark was used.
- Clone this repository into your local machine using the terminal (Mac), CMD (Windows), or a GUI tool like GitHub Desktop.
- Build the ns-3.35 pacakge and ns3-mmwave 4.0 package, respectively.
The packages can be built on different OS's following the ns-3 documentation. For the course videos, the pacakges were tested to be able to be built on macOS Big Sur. Suppose the pacakges are available under Downloads/ns-allinone-3.35/
and Downloads/ns3-mmwave-4.0/
directories. The following commands were used to build the ns-3.35 package on macOS Big Sur:
$ cd ns-3.35
$ ./waf configure
$ ./waf --enable-examples --enable-tests
To build the ns3-mmwave-4.0 pacakage, the following commands were used:
$ cd ns-3.35
$ CXXFLAGS="-Wall" ./waf configure
$ ./waf --enable-examples --enable-tests
The usage of each exercise file can be seen from the course videos, as well as the source code of the files.
Users may use a future release of ns-3 or ns-3 mmWave extension to run the exercise files. In this case, the Exercises folder will need to be copied from the ns-allinone-3.35/Exercises
folder.
Ryan Hu
Professor and Professional Engineer
Check out my other courses on LinkedIn Learning.