Network Systems Projects

A collection of systems-level projects focused on network communication, protocol design, and processor architecture

Project Overview

This page highlights a series of systems-level projects that demonstrate practical applications of networking principles, socket programming, server design, distributed systems, and low-level computer architecture.
These projects span C and C++ implementations and cover a wide range of communication models and system interactions — from client-server protocols and web servers to HTTP proxies and processor modeling.


UDP Client-Server File Transfer

Role: Systems Developer
Tech: C, UDP, Sockets, Stop-and-Wait Protocol
Duration: Jan 2024 – May 2024

  • Designed a UDP-based client-server system replicating core FTP functionalities.
  • Supported file upload, download, and listing with robust error handling.
  • Built a reliable UDP layer using stop-and-wait, ACKs, retransmissions, windowing, and flow control.
  • Optimized for high-volume transfers exceeding 100MB with 99%+ data integrity.

Multi-threaded TCP Web Server

Role: Systems Developer
Tech: C, TCP, Threads, HTTP
Duration: Jan 2024 – May 2024

  • Created a multi-threaded TCP web server to handle simultaneous client connections.
  • Implemented HTTP parsing and response generation, enabling dynamic web content delivery.
  • Used thread synchronization to manage concurrent sessions and minimize latency.
  • Achieved high throughput and stability under concurrent request load.

HTTP Proxy Server with Filtering and Caching

Role: Systems Developer
Tech: C++, HTTP, Proxy Architecture
Duration: Jan 2024 – May 2024

  • Developed an HTTP proxy server that relays and filters client requests.
  • Added a caching layer to store frequently accessed content and reduce bandwidth usage.
  • Integrated URL filtering and request transformation to modify content for low-resource clients or block restricted sites.

Distributed File System (DFS)

Role: Systems Developer
Tech: C++, Sockets, Redundant Storage
Duration: Jan 2024 – May 2024

  • Built a distributed file system supporting redundancy across four servers.
  • Implemented file chunking and replication to ensure 100% recovery from single-node failure.
  • Handled client-server communication, enabling reliable file upload and download with fault tolerance.

RISC-V Processor Modeling in CodAL

Role: Computer Architect
Tech: CodAL, RISC-V, Pipeline Architecture
Duration: Jan 2024 – May 2024

  • Modeled a cycle-accurate RISC-V processor with support for core instruction types: R, I, branching, and memory ops.
  • Implemented forwarding logic and pipeline hazard resolution for optimal throughput.
  • Verified ALU and memory modules for correctness and performance.
  • Simulated execution timing to ensure architectural integrity under instruction pressure.

Technical Focus Areas

  • Networking Protocols: TCP, UDP, Stop-and-Wait, Windowing, ACKs
  • Server Architecture: Multi-threaded design, client management, request parsing
  • Distributed Systems: Fault tolerance, file replication, redundancy
  • Proxy & Caching: HTTP filtering, content transformation, latency reduction
  • Computer Architecture: ISA modeling, pipelining, forwarding, cycle accuracy
  • Languages & Tools: C, C++, CodAL, Sockets, Threads, Git, Make

Project Diagrams