Project - due on Aug 1st 10am CST I nee this project done asap.
The topic for the project this semester is to design and implement a network protocol for sending/receiving files across a network and a network application to use this protocol for file transfer.
Design an application layer protocol for two network entities: requester (R) and server (S) to communicate. The protocol should be text-based and well documented. You should start designing and documenting the protocol before implementing a network application that uses this protocol. A protocol specification (refer to one of the RFCs on the IETF's web page for information on protocol documentation) must be submitted at the end of the project.
The purpose of the protocol is to allow R to
request a list of files from S.
ask S to send a file on the list. Furthermore, R can ask S to resume a file transfer, but R must tell S the resuming position.
Use mininet to implement a network application that allows a user to do file transfer from a server. This application must support resuming a transfer, i.e. if a portion of a file exists it requests the server to resume the transfer and send only the rest for the file.
R and S must run on different hosts simulated using mininet and use the protocol designed above for communications.
At the end of the semester, you must submit a ZIP file containing
1. A project report (in Word format) covering
a) a description of the program,
b) the challenges that you had and how did you overcome them,
c) what you have learned by doing the project,
d) a discussion about algorithms and techniques used in the program,
and e) any suggestions you may have (optional).
2. A short video clip with audio narration demonstrating the network application in action. (If the video is too big you can post it on a website, e.g. youTube, and submit the link).
3. All codes that are needed to run your application.
4. A protocol specification document as mentioned above.
5. A design document describing your implementation of the network application.