Skip to content

mmananth/TCP-using-UDP

Repository files navigation

/********************************************************************************/

  • Author: Abhishek Dharmapurikar and Ananth Mahadevan
  • Course: CSE678
  • Description: This is the implementation of a TCP like reliable protocol using
  •  		the unreliable service provided by UDP. The implementation is 
    
  •  		demonstrated by transferring a file (image/text etc) from one
    
  •  		application to another.
    

*******************************************************************************/

Execution steps:

  1. The processes - ftpc, TCPDclient and troll - are to be executed on one single machine (say "mu.cse.ohio-state.edu").
  2. The processes - ftps and TCPDserver - are to be executed on another machine (say "kappa.cse.ohio-state.edu").
  3. The executables are built using the attached Makefile.
  4. The execution commands are: a. TCPDclient b. timer c. troll -b -s0 -x0 13000 /* 13000 is the port number that troll is listening on */ d. TCPDserver e. ftps f. ftpc

Expected output:

  1. ftpc spacer.gif -- Gets the file details (file name and size) and stores in file_header. Sends the file_header and actual file payload to TCPD client process (IP: 164.107.112.41; PORT: 12000)
  2. TCPDclient -- Binds at PORT 12000 and receives the file information from ftpc which is stored in the packet's buffer region. Packet's header region is constructed with the address details of the TCPD server process (IP:164.107.112.23; PORT: 14000). The entire packet (header+payload) is sent to the TROLL process (IP:164.107.112.41; PORT: 13000).
  3. TROLL -- Executed with the command - troll -b -s0 -x0 13000 - which will make troll run in the background, listening on UDP port 13000 and neither delaying nor dropping datagrams. The packets are sent to TCPDserver process using the details in the packet header.
  4. TCPDserver -- Binds at PORT 14000 and receives the file information from TROLL which is stored in the packet. The packet is sent to the server process at IP: 164.107.112.23 and PORT: 15000.
  5. ftps -- Binds at port 15000 and receives the message from the TCPDserver process. The file details are extracted from the message and the payload is stored into a file in a new location with the same name as the one sent by ftpc.

About

Project as part of networking course during spring-2012

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published