SinghCoder/Computer-Networks

Created Feb 12, 2021 · View the SinghCoder/Computer-Networks repository page

The repository contains lab work done as a part of Computer Networks course at BITS Pilani

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

2

Lines of Code

262

From

Mar 10, 2020

To

Dec 12, 2020

About SinghCoder/Computer-Networks

This repository contains coursework and lab assignments from a Computer Networks course at BITS Pilani, implemented primarily in C. The project serves as educational material covering fundamental networking concepts and practical socket programming, starting with protocol analysis using Wireshark and progressing to implementing custom network applications.

The labs build progressively in complexity, beginning with passive analysis of real-world protocols like DNS, FTP, and traceroute, then moving into active socket programming. Students create their own TCP and UDP client-server applications, ranging from simple message exchange programs to more sophisticated implementations like concurrent servers handling multiple clients simultaneously, file transfer protocols with resume capabilities, and a game server. The later labs focus on reliable protocol design, with implementations of the Stop and Wait protocol both with and without simulated packet loss scenarios.

The repository is structured as a learning progression suitable for undergraduate students beginning their study of networking. All code is written in C using Linux system calls, emphasizing low-level network programming fundamentals. The inclusion of a commit history visualizer video demonstrates the development process across the various lab assignments.

Share this video

More from SinghCoder

See all →