Solved

TCP connection analysis

Posted on 2004-09-21
5
585 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

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

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…
The purpose of this article is to demonstrate how we can upgrade Python from version 2.7.6 to Python 2.7.10 on the Linux Mint operating system. I am using an Oracle Virtual Box where I have installed Linux Mint operating system version 17.2. Once yo…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

760 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

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now