Assignments must be your own work except where cited. Any parts copied or
allowed to be copied are liable to be penalised.
Trivial File Transfer
TFTP is an non-trivial network application. The objective of this project is to design
and implement TFTP using the User Datagram Protocol(UDP).
The TFTP protocol is deﬁned by RFC783. It is a simpliﬁed version of File Transfer Protocol (FTP). TFTP has no feature of directory listing and authentication, but
concentrates on ﬁle transfer only.
The design of TFTP application include
(a) User interface design: This is used by the client to interact with the user. User
command put or get starts a ﬁle transfer.
(b) File transfer design: This component is the one which requires two Finite State
Machines (FSMs) for the client and the server as the formal TFTP protocol.
(c) File system module design: This component is responsible for accessing the
ﬁle systems of the sender and the receiver. The sender and the receiver have
to read and write corresponding ﬁles, respectively. These operations are part
of the actions in the FSMs.
(d) Network module design: This is to hide the details of the network operations
and provide a higher-level interfaces to the FSMs for the actions which needs