prog3 - CSS 432 Program 3: TCP Anaysis Professor: Munehiro...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
CSS 432 Program 3: TCP Anaysis Professor: Munehiro Fukuda Due date: See the syllabus 1. Purpose Through this assignment you are to analyze the behavior of the TCP protocol. Your analysis includes two sub tasks. First, you will run the professor's hw3 program so as to draw its TCP state transition diagram as well as the corresponding timing chart, and write your own program mimicing the professor's in order to understand what sequence of system calls generates the TCP behavior you observed. Second, you will run the professor's ttcp program as changing its parameters such as the message size, the number of messages transfered, the socket buffer size, and Nagle's algorithm on/off switch. Using tcpdump , ttcp , netstat , and strace , you will observe how TCP segments are actually transmitted and how OS interferes with the transmission. 2. Required Knowledge on TCP Read the following sections of your textbook to review TCP's typical behavior: Section 5.2.3 Connection Establishment and Termination (pp 390-394) Review a timeline for three-way handshake algorithm (on page 391). You will draw such a timing chart as part of your assignment work. Trace a TCP state transition diagram (on page 392), so that you can draw the diagram corresponding to the professor's hw3 program. Section 5.2.5 Triggering Transmission (pp 400-403) Understand when TCP transmits a new segment on network. This knowledge is necessary to write a program mimicing the professor's hw3 program. Review the silly window syndrome and Nagle's algorithm as so to reason ttcp 's behavior with these knowledges. Sections 6.3.1 AIMD and 6.3.2 Slow Start (pp 474-483) Review two algorithms to increase the advertized/congestion window in TCP: additive increase and slow start. You will be asked which of those algorithms or even what else you observed in your experiment. 3. Overview of ttcp, tcpdump, netstat, and strace The following four commands are useful to check the statistics of TCP segments exchanged with a remote computer.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
3.1 ttcp The ttcp utility is a public domain program originally provided from the Ballistics Research Laboratory. It sends arbitrary amounts of data to another machine using TCP or UDP, and to collect statistics regarding the transfer. Although this utility has various options, we will focus on only TCP and a portion of the original options. Usage: ttcp -t [-options] remotehost ttcp -r [-options] where: -t transmit data -r receive data common options: -l# length of bufs read from or written to network (default 8192) -b# set the socket buffer size if supported (default is 16384) -p# specify another service port (default is 5001) -? print this help options specific to -t: -n# number of source bufs written to network (default 2048) -D don't buffer TCP writes (sets TCP_NODELAY socket option) You need to run ttcp on a server computer first and thereafter on a client computer. Assuming that UW1- 320-01 is a client and UW-320-02 is a server, the default invocation will be: [user@uw1-320-02 hw3]$ ttcp -r
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 7

prog3 - CSS 432 Program 3: TCP Anaysis Professor: Munehiro...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online