<div dir="ltr">.</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 29, 2015 at 10:04 PM, sahil grover <span dir="ltr"><<a href="mailto:sahilgrover013@gmail.com" target="_blank">sahilgrover013@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks a lot for replying.<div><br></div><div>can you please explain me  the concept of <span style="font-size:12.8000001907349px"> </span><span style="font-size:12.8000001907349px">delay-bandwidth product,window size and buffer size(o</span><span style="font-size:12.8000001907349px">r something related with pipe size and packets in flight).</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px"> because i am unable to understand it from papers/articles etc.</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">And the way you explained to me everytime, was very effective.</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">So please help in making me understand this(BDP,window size) concept too .</span></div><div><br></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><br></div><div><span style="font-size:12.8000001907349px"><br></span></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 29, 2015 at 2:09 AM, Jonathan Morton <span dir="ltr"><<a href="mailto:chromatix99@gmail.com" target="_blank">chromatix99@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br>
> On 29 Mar, 2015, at 11:04, sahil grover <<a href="mailto:sahilgrover013@gmail.com" target="_blank">sahilgrover013@gmail.com</a>> wrote:<br>
><br>
> (1) All say bufferSize should be set very large for bufferbloat to occur.<br>
><br>
> But how much large?? is there any condition?<br>
<br>
</span>There’s a clue in the name: if the buffer is significantly larger than it needs to be (and is unmanaged), we call that bufferbloat.<br>
<br>
If the buffer is too small to absorb a typical burst of packets, the resulting increase in packet loss will cause a reduction in throughput.  The correct size for an unmanaged buffer is typically the delay-bandwidth product, which enables it to absorb a transitory burst from a single TCP flow.<br>
<br>
However, determining the delay is difficult a priori, and frequently differs substantially between different flows on the same connection.  So we usually make some reasonable assumption about the delay component of that formula: 100ms is typical for a broadband connection to the public Internet, and VoIP can just-about cope with that in practice.<br>
<br>
Or, to put it another way - if the buffer *induces* significantly more than 100ms delay under load, that is bufferbloat.<br>
<span><br>
> (2) even after setting buffersize very  very large,  if packets get dropped due to buffer<br>
> overflow  when heavy traffic is there.<br>
><br>
> is it bufferbloat?<br>
<br>
</span>Yes.  Packet loss has nothing to do with it - it’s the induced delay that matters.<br>
<span><br>
> sholud we take care that maximum limit of buffersize is never reached and no<br>
> packet  drop is there due to queue overlow for bufferbloat condition?<br>
<br>
</span>Extremely large buffers are usually the result of hardware engineers naively attempting to achieve zero packet loss, by providing buffers larger than the TCP receive window size.  (That is a futile goal - rwnd is unlimited in modern operating systems which support window scaling.)  However, zero packet loss is not a necessary condition.<br>
<br>
AQMs often deliberately drop packets in order to signal congestion to the endpoints.  Under some circumstances, this can actually result in less overall packet loss than on an unmanaged buffer.  Even without ECN, the AQM rarely causes burst losses, whereas overflowing an unmanaged queue often does.  With ECN, an AQM can often signal congestion sufficiently well without dropping any packets at all.<br>
<span><font color="#888888"><br>
 - Jonathan Morton<br>
<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>