Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adsh16/computernetworks
This repository showcases assignments from a Computer Networks course, covering key concepts such as UDP-based Ping and Heartbeat systems, Go-Back-N ARQ protocol implementation, and network performance simulation using NS-3. It includes practical demonstrations of network reliability, congestion management, and performance analysis through hands-on
https://github.com/adsh16/computernetworks
computer-network cpp go-back-n network-simulation ns3 python
Last synced: 9 days ago
JSON representation
This repository showcases assignments from a Computer Networks course, covering key concepts such as UDP-based Ping and Heartbeat systems, Go-Back-N ARQ protocol implementation, and network performance simulation using NS-3. It includes practical demonstrations of network reliability, congestion management, and performance analysis through hands-on
- Host: GitHub
- URL: https://github.com/adsh16/computernetworks
- Owner: adsh16
- Created: 2024-12-23T10:08:58.000Z (17 days ago)
- Default Branch: master
- Last Pushed: 2024-12-23T10:13:28.000Z (17 days ago)
- Last Synced: 2025-01-01T05:21:48.789Z (9 days ago)
- Topics: computer-network, cpp, go-back-n, network-simulation, ns3, python
- Language: Python
- Homepage:
- Size: 96.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Computer Networks Assignments
This repository contains the implementations and reports for three assignments from the Computer Networks course. Each assignment explores fundamental networking concepts through hands-on coding and simulation exercises.
## Table of Contents
1. [UDP Ping and Heartbeat Systems](#udp-ping-and-heartbeat-systems)
2. [Go-Back-N Protocol Implementation](#go-back-n-protocol-implementation)
3. [Network Simulation using NS-3](#network-simulation-using-ns-3)---
### UDP Ping and Heartbeat Systems
**Objective:**
This assignment focuses on implementing two UDP-based applications: a Ping system and a Heartbeat system, demonstrating basic principles of network programming and handling unreliable connections.**Key Features:**
- **Ping System:** Simulates packet loss (30%), measures Round Trip Time (RTT), and calculates packet loss statistics.
- **Heartbeat System:** Monitors server availability through periodic UDP messages, detecting downtime after consecutive missed responses.**Highlights:**
- Simulated real-world network conditions with a 30% packet loss rate.
- Developed client-server programs for both Ping and Heartbeat systems.
- Provided detailed statistics, including RTT and packet loss rate.---
### Go-Back-N Protocol Implementation
**Objective:**
The goal was to implement the Go-Back-N ARQ protocol for reliable data transmission over an unreliable network.**Key Features:**
- Reliable retransmission of lost or corrupted packets.
- Sliding window mechanism to optimize throughput.
- Robust error handling to ensure data integrity.**Highlights:**
- Simulated sender and receiver interactions using the protocol.
- Demonstrated sequence number management and acknowledgment mechanisms.---
### Network Simulation using NS-3
**Objective:**
This assignment involved simulating a computer network using the NS-3 simulator to evaluate network performance under various traffic conditions.**Key Features:**
- **Topology:** Modeled a network with 4 routers and 5 workstations.
- **Traffic Simulation:** Used Poisson-distributed traffic patterns.
- **Performance Metrics:** Analyzed delay, packet drops, and queue statistics.**Highlights:**
- Simulated realistic network scenarios with RED (Random Early Detection) queue management.
- Measured the impact of traffic on end-to-end delays and packet loss.
- Gained insights into congestion management techniques.---
## Conclusion
These assignments provided hands-on experience with critical networking concepts, including UDP-based communication, ARQ protocols, and network simulation tools like NS-3. Each project offered practical insights into network behavior and performance optimization.