1. Write a client and server using TCP to transfer an arbitrary size binary file across a network.
2. Write a client and server using UDP to transfer an arbitrary size binary file across a network.
3. Write C client code to implement your own reliability scheme for UDP protocol transfer.
The UDP file transfer should end up recovery the whole file at the server.
Part 1, Part 2, Part 3 folders with each containing src/, bin/ ,doc/ , include/ folder.
- src must have own code
- bin must have own binary file
- doc must have documentation of how to run and test code
- include must have the header files
- Have a Makefile
1. You should run each of Part 1, Part 2, Part 3 of your code with client code on your laptop
and Server code on any servers. Transfer files of the following sizes:
1 KB, 5KB, 50 KB, 100 KB, 1 MB, 10 MB, 100 MB, 1 GB
Perform each of these transfers 5 times and record the times taken for each transfer.
2. Calculate the mean and standard deviation of the 5 observation.
3. Plot the graph of time taken for each file transfer across the network. The x axis of your
graph should be file size, and the y axis should be the average time taken to transfer a file of
4. Give any other interesting observations. You can submit one graph with three separate lines,
one for each of Parts 1, 2, and 3.