Go-Back-N Protocol Implementation with OMNeT++ and C++

Overview

  • This repository contains the implementation of the Go-Back-N (GBN) protocol using OMNeT++ and C++. The Go-Back-N protocol is a sliding window protocol used for reliable communication in computer networks.

  • Applying all our knowledge in OOP to divide the project into sub-classes and applying SOLID principles in implementing it.

Getting Started

Prerequisites

OMNeT++ installed on your system.
Basic knowledge of C++.

Installation

Clone this repository to your local machine:

bash

git clone https://github.com/abdelazizSalah/go-back-n-protocol.git

Open the project in OMNeT++.

Build the project using OMNeT++.

Run the simulation to observe the Go-Back-N protocol in action.

Features

Go-Back-N Protocol Implementation: The core of the project is the implementation of the Go-Back-N protocol in C++ within the OMNeT++ simulation framework.

Configurable Parameters: The protocol parameters such as window size, timeout values, and other relevant settings can be easily configured to observe the protocol's behavior under different conditions.

You can find the project requirement pdf in the repo, feel free to have a look.

Usage

Open the OMNeT++ project.

Configure the simulation parameters in the OMNeT++ IDE.

Run the simulation.

Observe the simulation results and analyze the performance of the Go-Back-N protocol.

License

This project is licensed under the MIT License. Acknowledgments

The implementation is based on the Go-Back-N protocol, a classic sliding window protocol.

Special thanks to the OMNeT++ community for providing a powerful simulation framework.

Contact

For any inquiries or suggestions, please contact