Hello, I'm Muzi !

An enthusiastic person who enjoys learning, thinking and exploring.

Follow me on GitHub

CSCI4430 - Computer Networks

2019_spring C/C++ course project

The course assignments of CSCI4430.

The Course

I took the course CSCI4430 in 2019 spring term. The course is to learn the terminologies and high-level ideas of computer networking.

It introduces basic concepts of networks and discusses the concepts of networking design (e.g. TCP, UDP). It is a very informational course, and I made a full font size 8, 2 pages (4-sided) cheatsheet for the final exam.

There were 3 assignments and 1 fianl examination for this course. The second assignment is quite challenging. The final examination tested students’ understanding of important concepts, as well as some of the details mentioned in class.

Course Assignment

There were 3 assignments:

  1. A Multi-Client File Transfer Application. In this assignment, students are required to implement a multi-client file transfer application called MYFTP. MYFTP is a simplified version of the File Transfer Protocol (FTP). It includes the basic functionalities of FTP, such as file upload/download and file listing. It also enables multiple clients to simultaneously connect to the server at the same time.
  2. Selective Repeat. In this assignment, students are required to implement the Selective Repeat (SR) protocol to support the reliable data transfer between a client and a server over UDP under an unreliable network connection.
  3. Implementing NAT using NFQUEUE. In this assignment, students are required to implement a NAT application using the software library NFQUEUE. The NAT application can forward TCP traffic.

Check GitHub for our assignments!