Skip to content

sonephyo/proxy-server-TFTP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building proxy server using TFTP protocol

📄 Proxy Server Assignment Requirements (TFTP-over-TCP)

✅ Components

  • Client connects to proxy and sends a URL.
  • Proxy fetches file/page via HTTP and caches the most recent request.
  • Proxy relays file to client.
  • Only image files (e.g., .jpg) are required to be supported.

⚙️ Protocol Specifications

  • Use TCP instead of UDP (not traditional TFTP).
  • Extend TFTP (RFC 1350) where possible.
  • Use TFTP Option Extension (RFC 2347) if applicable.
  • Custom packet headers must be designed.
  • Support binary (octet) mode only.

🔐 Security and Session

  • Begin each session with:
    • Sender ID
    • Random number
  • Use both values to derive a shared session key.
  • Encrypt data using XOR or a better scheme.

📤 Transmission Protocol

  • Use TCP-style sliding windows
  • Implement TCP-style Retransmission Timeout (RTO) scheme.
  • Add command-line option to simulate 1% packet drop.

🧪 File Handling and Validation

  • Received files should be stored in a temporary directory (e.g., /tmp).
  • Validate file content with cmp or byte comparison.

📊 Throughput Report

Create a web page showing throughput under:

  • At least 2 different host pairs
  • Window sizes: 1, 8, 64
  • With and without 1% simulated drop

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published