
Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A computer networking programming project for csce 515 students. The goal is to develop a tftp server using udp socket programming in c, capable of handling read requests (rrqs) and supporting binary mode, time-out and retransmission, and concurrency. Students are encouraged to refer to the tftp protocol (rfc 1350) and use the tftp client for testing. The project is worth 15 points towards the final grade.
Typology: Study Guides, Projects, Research
1 / 1
This page cannot be seen from the preview
Don't miss anything!

This is an individual project. In this project, you are required to use UDP socket programming in C to implement a TFTP server that can handle Read Requests (RRQs). Your server does not have to be able to handle Write Requests (WRQs). Please refer to the TFTP Protocol (as defined in RFC 1350) for implementation details, your implementation should support for the file transfer modes "octet".
You can use any TFTP client to test your TFTP server, the easiest way is to use the program tftp installed on the CS workstations. You should understand some of the options possible with this client, in particular the "verbose" and "trace" options (which result in the client printing out information about every TFTP message sent and received). You should read the man page for tftp, and pay attention to commands including “binary”, and “get filename”. More specifically, your server needs to achieve the following requirements:
When testing your server you can emulate the loss of messages by suspending the client during an ongoing TFTP conversation. On the CS workstation, you can suspend a process by pressing ctrl-Z. When running a TFTP client, this will suspend the client and return you to the shell. To bring the client back to life you can use the shell job control commands, the command "fg" will bring the last suspended process to the foreground ("fg" stands for "foreground").
This project will count for 15 points toward your final grade. You must submit your source code, a Makefile, and a README file via the Dropbox named project02 before the due day.
Remember a grade of zero will be given, if your programs cannot be compiled and executed on Unix/Linux machines. You should report your projects in a short write up, README file. The README file should contain following information: 0) your name and whether you are undergraduate; 1) the programming environment/hostname you used; 2) including the name of each file submitted along with a one line description of what is in the file 3) If your code is not complete, tell me what works and what doesn't. 4) how to compile your programs; 5) how to execute your programs. The programs will be graded based on the amount of the required functionalities that has been implemented (13 points), the quality of the code (2 points). Resources: