A downloadable project

This is a Java implementation of the TFTP developed for my Computer Networks module in my second year of university. It followed RFC 1350, albeit slightly simplified according to the following from the assessment spec:

  • Support for octet mode only. The files should be transferred as a raw sequence of bytes. Do not read, write or transfer files as characters. 
  • Support only for error handling when the server is unable to satisfy the request because the file cannot be found.
  • No support for error handling when data duplication occurs. 

As part of this assignment, we had to implement TFTP using both UDP and TCP server-client systems to communicate and send packets across the network, individually or simultaneously.

For the UDP system, read/write requests, acknowledgements, timeouts and error handling (as described above) were needed for both server and client, with support for simultaneous file transfers exclusively for the server.

TCP,  however, only required R/W and error handling for both server and client and simultaneous support for the server. TCP handles splitting the data into packets and ensuring the packets arrive in order, unlike UDP which required this to be coded manually, hence the acknowledgement packets and timeouts (to detect packet loss).

This coursework achieved a mark of 93/100 

Extra functionality not implemented, but worth researching further, includes experimenting whether my implementation is interoperable with existing third-party servers and clients, given it adheres to the same RFC specification detailed prior, other than the exemptions made for the coursework.

Download

Download
Trivial File Transfer Protocol - Kannen Joshi.zip 215 kB

Install instructions

Open and Run in Apache Netbeans

Leave a comment

Log in with itch.io to leave a comment.