This repository contains the lab assignments and Research project for Network Design using "Computer Networking: a Top Down Approach" book by J.F. Kurose, K.W. Ross
Phase 1: Basic implementation of client, server communication over UDP.
Phase 2: Implementation of the Reliable Data Transfer 1.0 protocol using Python.
Phase 3: Implementation of the Reliable Data Transfer 2.2 protocol using Python.
Phase 4: Implementation of the Reliable Data Transfer 3.0 protocol using Python.
Phase 5: Implementation of the Go-Back-N Automatic Repeat Request protocol using Python.
Phase 6: Implementation of a TCP-like networking protocol with flow control using Go-Back-N sliding window algorithm and congestion control using Slow Start and the TCP Tahoe avoidance algorithm. Written in Python.
Research Project: Report and presentation on Software Defined Networking and its applications.