The application is a simple implementation of FTP Protocol RFC 959.
FTP : The objectives of FTP are 1) to promote sharing of files (computer programs and/or data), 2) to encourage indirect or implicit (via programs) use of remote computers, 3) to shield a user from variations in file storage systems among hosts, and 4) to transfer data reliably and efficiently. FTP, though usable directly by a user at a terminal, is designed mainly for use by programs.
THE FTP MODEL
With the above definitions in mind, the following model (shown in Figure 1) may be diagrammed for an FTP service.