Simple 2-Layer Network Simulator is a very basic computer network simulator that uses 2 layers (i.e. application and transport) to perform a bidirectional multi-message simulation between 4 processes across 2 nodes.
Clone the repository. Then navigate to simple-2layer-network-simulator/
. Then run:
$ make -C src/
The executable will appear inside simple-2layer-network-simulator/build/release/
or simple-2layer-network-simulator/build/debug/
depending on the build command (release, debug, etc.) executed.
Just run the program in the shell:
$ ./build/release/Simple-2Layer-Network-Simulator
Additionally, 8 command-line options can be used:
--layers-delays=on
: adds delays to the execution of the layers by putting them to sleep for short amounts of time-d
: same as above--layers-delays=off
: no added delays in the layers--channel-faults=on
: channel will occasionally have faults when transferring bits from one node to the other causing the dependent ongoing connection to be closed-f
: same as above--channel-faults=off
: zero faults in the channel--help
: displays help info--version
: displays version info
Example:
$ ./build/release/Simple-2Layer-Network-Simulator -f
Contributions, issues, and feature requests are welcome.
👤 Kasra Hashemi
- GitHub: @zencatalyst
- Simple 2-Layer Network Simulator requires at least C++23.
- {fmt} (MIT License)
- spdlog (MIT License)
- GLib (LGPL-2.1-or-later)
Simple 2-Layer Network Simulator is licensed under the terms of the MIT license.