Skip to content

Latest commit

ย 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Computer Networks

This repository contains a collection of 4 assignments completed as part of the CS425: Computer Networks course at IIT Kanpur under Prof. Adithya Vadapalli (Jan '25 โ€“ Apr '25). Each assignment focuses on a core networking concept, implemented from scratch using C++ and Python. They include a chat server, dns resolver, tcp handshake constructor and a routing simulator


๐Ÿ“ Contents

1. Chat Server (C++)

A multi-threaded TCP chat server featuring:

  • User authentication
  • Private and broadcast messaging
  • Dynamic group creation and management
  • Thread synchronization using mutex-guarded maps

2. DNS Resolver (Python)

Iterative and recursive DNS resolvers implemented using dnspython, with:

  • Full traversal from root โ†’ TLD โ†’ authoritative
  • Timeout and error handling for non-responsive servers

3. TCP Handshake (C++)

Custom TCP client using raw sockets:

  • Manual construction of SYN, SYN-ACK, and ACK packets
  • Header checksum and sequence number manipulation

4. Routing Simulator (C++)

Simulation of:

  • Distance Vector algorithm (Bellman-Ford)
  • Link State algorithm (Dijkstra)
  • Arbitrary graph input and convergence analysis

About

This repository contains the assignments done in the CS425 course in IITK

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages