Skip to content
/ TCP Public

Implementation of the TCP protocol to send files between client - server

Notifications You must be signed in to change notification settings

ujain6/TCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

TCP

Implementation of the TCP protocol to send files between client - server. This project was a part of the Computer Networks class in my junior year. The code runs on top of the unreliable UDP network. Incorporates the following features of the TCP protocol

  • Reliability (with appropriate re-transmissions) - implements the variant of Go-Back-N protocol
  • Data Integrity (with checksums)
  • Connection Management
  • Optimizations like fast retransmit etc
  • Implements sliding window algoirhtm to prevent buffer overflows
  • To execute the code, run the Makefile first to compile the Sender and Receiver files. Then, the commnad line arguments for the client side is java TCPend -p [port] -s [remote-IP] -a [remote-port] –f [file name] -m [mtu] -c [sws]. Where

  • port: Port number at which the client will run
  • remote-IP : IP address of the remote process (Receiver)
  • remote-port: port at which the remote process/ transmission is running
  • file name: name of the file to be transferred
  • mtu : Maximum transmission unit
  • sws: Sliding window size
  • Similarly, for the Sender side, command line arguments are java TCPend -p [port] -m [mtu] -c [sws]

    About

    Implementation of the TCP protocol to send files between client - server

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published