Skip to content

Roman32/project1

Repository files navigation

README for ftps and ftpc programs.

Author: Brian Parks and Roman Claprood
Project: TCP over UDP with Troll
Description: Basic overview of files. For more detail on implementation see report.
Due Date: 02/19/16

To compile, use the command "make". Will make 3 executables: ftpc,ftps,tcpd,timer and testT

To run, the client (ftpc, tcpd and troll MUST be on Epsilon machine!
To run ftpc  is ./ftpc filename.
to run tcpd is ./tcpd.

To run troll on client side is troll 8989 -s0 -x0 -g25 -t
To run troll on server side is troll 9898 -s0 -x0 -g25 -t

To Run the server it must be on the BETA machine!
to run ftps is ./ftps 9997
to run tcpd is ./tcpd.

To run the timer and timer test, both need to be on the Epsilon machine!
Start the timer first by typing time.
Then start the test for timer with the comman testT.
No parameters are needed for them.


Timer.c 
	Accepts a packet with the following information: Packet Type (1 byte), 
	Sequence Number (4 bytes), 64bit time value (seconds), 64bit time value (microseconds). 
	Once the packet is received, a timer node will be created with the incoming time out values. 
	Once the time specified in the packet has elasped, timer.c sends a packet back to TCPD indicating that
	a packet has timed out. Timer.c also accepts packets for canceling time nodes. When a packet of this type
	is received, the time node is removed from timer.c's internal data structure. 

timer_test_file.c 
	Sends packets with the information described above. 
	
tcpd.c
	Essentially same file from the previous lab. Now contains the CRC16 implementation for the checksum.
	Also has the troll header(16 bytes) as well as the tcp header( which is 20 bytes).  Each packet recv'd
	from the client has both headers added, then is sent to troll. On server side of tcpd, the troll header
	is stripped off, checksum value is stored, then zeroed out. The checksum is then calculated again and 
	compared to see if packet was garbled.
	
ftpc.c
	No change in code, just used to send data.
	
globals.h
	Contains global variables for port numbers
	
wrapper_funcs.h
	Headers for wrapper functions
	
wrapper_funcs.c
	Same implentations for wrapper functions as previous lab

buffer_window.h
	Header for buffer functions

buffer_window.c
	Implementations for buffer and window functions and structures.

Makefile
	run make to compile code and create executables

About

CSE5462

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •