Implementation of the Trivial File Transfer Protocol in Java

This is a paper that focuses on the implementation of the Trivial File Transfer Protocol in Java. The paper also provides various instructions and tasks in the implementation of the assignment.

Implementation of the Trivial File Transfer Protocol in Java

Computer networks assignment 2
The Trivial File Transfer Protocol (TFTP) is an Internet software utility for transferring files that is simpler to use than the File Transfer Protocol (FTP) but less capable. For example, it is used by Cisco routers and switches to transfer images of the operating system from/to the devices.
NOTE: TFTP’s port is 69 (a system/OS port). This is below 1024 and therefore you cannot bind a Socket to it unless you have administrative access rights on the machine you are working. To avoid any complications you can use any port > 1024 to bind server sockets.
Implementation of the Trivial File Transfer Protocol (TFTP)

Implementation of the Trivial File Transfer Protocol in Java

For this task you need to implement (in Java) the Trivial File Transfer Protocol (TFTP) as specified in RFC 1350 (Links to an external site.). You will submit source code for a client and server application that ‘speak’ the TFTP protocol. You will built your protocol on top of UDP. Compared to the specifications in the RFC, you will implement a slightly simplified version:
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.

The client and server applications should be simple Java console applications. The server should operate (i.e. read and write files) in the directory where it is starts from. The server should support simultaneous file transfers to and from multiple clients. The client should just read command line arguments (or have a very simple console-based menu – e.g. “press 1 to store file, press 2 to retrieve file”) and execute user commands (i.e. reading or writing a file).

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *