* Problem about Setting TCP Congestion Window to a Small Constant
@ 2014-11-22 16:29 wc8348
2014-11-22 17:34 ` John Heffner
2014-11-22 17:50 ` Eric Dumazet
0 siblings, 2 replies; 3+ messages in thread
From: wc8348 @ 2014-11-22 16:29 UTC (permalink / raw)
To: netdev
Hi all,
My name is Wenzhi Cui, a graduate student working on TCP congestion
control in Linux Kernel. I have a problem about congestion control in
linux kernel.
Recently I am playing with TCP Congestion Control Protocol by setting
the congestion window size to a constant, say 1, and measure the TCP
flow throughput to see the relationship between cwnd size and
transmission rate (on a stable environment).
The problem is, when I am setting the snd_cwnd to 1, the real
transmission rate is around 25MBps. However, since I am testing TCP
on our department network with 1Gbps (which is 125MBps) bandwidth and
300 micro seconds Round trip time (measured by analyzing tcpdump
trace). So the theoretical sending rate should be
CWND * MSS / RTT = 1 * 1460 Byte / 300 us = around 5 MBps
which is far less than the observed 25 MBps bandwidth. I have taken a look
at tcp_cong.c, tcp_input output.c, etc. but I still cannot find the
problem.
Can somebody help me figure out what is missing, maybe what may
affect the real TCP transmission other than CWND or what will happen
when CWND is set to a very small constant?
Thanks,
Wenzhi Cui
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: Problem about Setting TCP Congestion Window to a Small Constant
2014-11-22 16:29 Problem about Setting TCP Congestion Window to a Small Constant wc8348
@ 2014-11-22 17:34 ` John Heffner
2014-11-22 17:50 ` Eric Dumazet
1 sibling, 0 replies; 3+ messages in thread
From: John Heffner @ 2014-11-22 17:34 UTC (permalink / raw)
To: wc8348; +Cc: Netdev
On Sat, Nov 22, 2014 at 11:29 AM, <wc8348@cs.utexas.edu> wrote:
> Hi all,
> My name is Wenzhi Cui, a graduate student working on TCP congestion
> control in Linux Kernel. I have a problem about congestion control in
> linux kernel.
>
> Recently I am playing with TCP Congestion Control Protocol by setting
> the congestion window size to a constant, say 1, and measure the TCP
> flow throughput to see the relationship between cwnd size and
> transmission rate (on a stable environment).
>
> The problem is, when I am setting the snd_cwnd to 1, the real
> transmission rate is around 25MBps. However, since I am testing TCP
> on our department network with 1Gbps (which is 125MBps) bandwidth and
> 300 micro seconds Round trip time (measured by analyzing tcpdump
> trace). So the theoretical sending rate should be
> CWND * MSS / RTT = 1 * 1460 Byte / 300 us = around 5 MBps
> which is far less than the observed 25 MBps bandwidth. I have taken a look
> at tcp_cong.c, tcp_input output.c, etc. but I still cannot find the
> problem.
>
> Can somebody help me figure out what is missing, maybe what may
> affect the real TCP transmission other than CWND or what will happen
> when CWND is set to a very small constant?
Looking at a tcptrace "outstanding data graph" may be illuminating.
-John
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Problem about Setting TCP Congestion Window to a Small Constant
2014-11-22 16:29 Problem about Setting TCP Congestion Window to a Small Constant wc8348
2014-11-22 17:34 ` John Heffner
@ 2014-11-22 17:50 ` Eric Dumazet
1 sibling, 0 replies; 3+ messages in thread
From: Eric Dumazet @ 2014-11-22 17:50 UTC (permalink / raw)
To: wc8348; +Cc: netdev
On Sat, 2014-11-22 at 10:29 -0600, wc8348@cs.utexas.edu wrote:
> Hi all,
> My name is Wenzhi Cui, a graduate student working on TCP congestion
> control in Linux Kernel. I have a problem about congestion control in
> linux kernel.
>
> Recently I am playing with TCP Congestion Control Protocol by setting
> the congestion window size to a constant, say 1, and measure the TCP
> flow throughput to see the relationship between cwnd size and
> transmission rate (on a stable environment).
>
> The problem is, when I am setting the snd_cwnd to 1, the real
> transmission rate is around 25MBps. However, since I am testing TCP
> on our department network with 1Gbps (which is 125MBps) bandwidth and
> 300 micro seconds Round trip time (measured by analyzing tcpdump
> trace). So the theoretical sending rate should be
> CWND * MSS / RTT = 1 * 1460 Byte / 300 us = around 5 MBps
> which is far less than the observed 25 MBps bandwidth. I have taken a look
> at tcp_cong.c, tcp_input output.c, etc. but I still cannot find the
> problem.
>
> Can somebody help me figure out what is missing, maybe what may
> affect the real TCP transmission other than CWND or what will happen
> when CWND is set to a very small constant?
You probably did something wrong ?
tcpdump will probably show that your cwnd must be bigger than 1.
(or rtt is way smaller than 300 usec, which sounds quite big to me)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-11-22 17:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-22 16:29 Problem about Setting TCP Congestion Window to a Small Constant wc8348
2014-11-22 17:34 ` John Heffner
2014-11-22 17:50 ` Eric Dumazet
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox