Computer Networks Assignment
Computer Networks Assignment
transferring les that is simpler to use than the File Transfer Protocol
(FTP) but less capable. It is used where user authentication and
directory visibility are not required. For example, it is used by Cisco
routers and switches to transfer images of the operating system from/to
the devices.
Marking Criteria
You should make sure that your code compiles. Code which does not
compile will receive at most 20%.
TFTP-UDP-Server (35%)
• Is the server-side of the protocol fully and correctly implemented
(based on the speci cations in the RFC)? i.e. read/write requests,
fi
fi
acknowledgments, timeouts, error handling, support for
simultaneous le transfers.
TFTP-UDP-Client (30%):
• Is the client-side of the protocol fully and correctly implemented
(based on the speci cations in the RFC)? i.e. read/write requests,
acknowledgments, timeouts, error handling.
TFTP-TCP-Server (10%)
• Is the server-side of the protocol fully and correctly implemented?
i.e. read/write requests, error handling, support for simultaneous
le transfers.
TFTP-TCP-Client (10%):
• Is the client-side of the protocol fully and correctly implemented?
i.e. read/write requests, error handling.
Submission Guidelines
You should submit the coursework by the deadline posted on Sussex
Direct (and the submission link on Canvas). Standard penalties for late
submissions will apply. You will need to submit a .zip le containing the
following:
• Well-formatted and well-documented source code (written in Java)
in 4 separate IntelliJ maven projects that can be compiled and run.
The IntelliJ projects, named TFTP-UDP-Server, TFTP-UDP-Client,
TFTP-TCP-Server and TFTP-TCP-Client, respectively, will include
fi
fi
fi
fi
fi
all required source code to execute the 2 different le transfer
protocols.
• A short report (up to 2000 words) describing your protocols, the
source code and the design decisions that you made.
• Screenshots and details about third-party TFTP clients and servers
you used to demonstrate interoperability of your implementation
(optionally for the extra 5%).
Please do not put your names on your submissions, but do include your
candidate number. Failure to submit source code, as described in the
rst bullet, will result to a zero mark as I will not be able to assess your
programming effort.
fi
fi