Solved

TCP connection analysis

Posted on 2004-09-21
5
598 Views
Last Modified: 2011-09-20
i need to see how congestion window increases with every received acknowledgement in tcp connection.

The tcp connection details were captured using tcpdump. Is there a way where in I can plot a graph between congestion window and number of acknowledgement received using data captured with tcpdump ?

.

0
Comment
Question by:perfect_tranquility
  • 2
  • 2
5 Comments
 
LVL 45

Expert Comment

by:sunnycoder
ID: 12120118
Hi perfect_tranquility,

http://www.psc.edu/networking/tdg.html

Sunnycoder
0
 

Author Comment

by:perfect_tranquility
ID: 12120165
hi sunnycoder

i am not interested in timesequence graph. There are many utilities like ethereal,tcptrace where time sequence graph can be plotted.
what i need is plotting of congestion window vs no of acknowledgement received.

perfect_tranquility
0
 
LVL 45

Expert Comment

by:sunnycoder
ID: 12120337
Should have read a bit more carefully. I could not locate a utility that does what you want (not sure if some of the common ones can handle it). A possible way will be to write scripts to extract the information from tcpdump data pass it to gnuplot.
0
 
LVL 1

Accepted Solution

by:
dnataraj earned 500 total points
ID: 12122596
Hope this will help for your question:


TCP is required to support an algorithm called slow start. Slow start is used to control the rate of
packets injected into the network so that the sender does not overload the network. Slow start adds
another window to the sender TCP's state, called the congestion window. This is denoted by the
variable tcp snd cwnd.
When a new connection is established, tcp snd cwnd is initialized to one segment. (For most
TCP implementations, the maximum segment size is 512 bytes and this is the value we will use in
the lab. Note that the congestion window is maintained in bytes). The sender can transmit upto
4


a minimum of the congestion window and the receiver's advertised window (tcp snd wnd). Every
time an ACK is received, the congestion window is increased by one segment size in bytes. The
congestion window is not allowed to grow beyond the receiver's advertised window (For most TCP
implementations, the maximum window size is 64K bytes and we will also use this value).
As a result of the slow start algorithm, the sender starts by transmitting one segment and waiting
for the ACK. When it receives the ACK, it increases the congestion window by one segment size, so
now it can send two segments. For each of these segments' ACKs, the congestion window is increased
by one. The time between sending the segment and receiving its ACK is approximately one round
trip time for the connection. As a result, the congestion window doubles about every round trip
time due to slow start. Thus, slow start speci¯es an exponential increase of the congestion window
for every round trip. It should be noted that slow start is °ow control imposed by the sender to
protect the network from being °ooded, while the advertised window is °ow control imposed by the
receiver based on its bu®er space.
At some point, the congestion window may become large enough to exceed the capacity of the
network. In this case the network may drop one or more segments from the connection. The next
two subsections describe how the TCP connection recovers from packet loss.
0
 

Author Comment

by:perfect_tranquility
ID: 12129934
Mr Nataraj

what you have stated is perfect and it this precise behaviour i need to check in a TCp coneection. From this point onwards i intend to hack the linux kernel and change the behaviour of increse of congestion window. thus the concept  as it is in place, could be theoriticaly depicted by a graph. (increase of congestion window). I am looking for a way to do so using output of packet sniffer say tcpdump.

Thus the above stated explanation is theory of what i am intending to depict graphicaly.

perfect tranquility.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever been frustrated by having to click seven times in order to retrieve a small bit of information from the web, always the same seven clicks, scrolling down and down until you reach your target? When you know the benefits of the command l…
The purpose of this article is to fix the unknown display problem in Linux Mint operating system. After installing the OS if you see Display monitor is not recognized then we can install "MESA" utilities to fix this problem or we can install additio…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question