Question: Task 1 : Implementation of the Trivial File Transfer Protocol ( TFTP ) For this task you need to implement ( in Java ) the
Task
: Implementation of the Trivial File Transfer Protocol
TFTP
For this task you need to implement
in Java
the Trivial File Transfer Protocol
TFTP
as specified in RFC
Bou 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 started 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
to store file, press
to retrieve file"
and execute user commands
i
e
reading or writing a file
Hint: the simplest way to implement timeouts is by calling the setSoTimeout
method on the DatagramSocket objects
assuming that you are using blocking I
O
If the timeout expires, a java.net.SocketTimeoutException is raised, though the DatagramSocket is still valid.
Task
: Implementation of an even simpler version of TFTP on top of TCP
For this task you will use TCP sockets to implement a protocol that operates like TFTP
i
e
supports only read and write operations
Given that TCP supports in
order, reliable data transport, you should not implement the relevant mechanisms described in RFC
ACKs
retransmissions
The client and server applications should be equally simple, as in Task
The server must be able to handle multiple file transfers.
Task
: Interoperability with existing implementations
bonus
Given that the UDP version of TFTP client and server that you will implement must adhere to the respective RFC
both the client and server should be able to interoperate with other TFTP servers and clients, respectively, regardless of the programming language they are written. For this optional task, you are asked to demonstrate this interoperability by running your client with an existing third
party server, and your server with an existing third
party client.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
