[ previous ] [ next ] [ threads ]
 From:  Adam Nellemann <adam at nellemann dot nu>
 To:  "Chad R. Larson" <clarson at eldocomp dot com>
 Cc:  Jose Iadicicco <joseiadicicco at yahoo dot com>, "m0n0wall at lists dot m0n0 dot ch" <m0n0wall at lists dot m0n0 dot ch>
 Subject:  Re: [m0n0wall] Re: m0n0 - traffic_shaper
 Date:  Thu, 03 Jun 2004 09:39:37 +0200
Chad R. Larson wrote:
> Adam Nellemann wrote:
>>Hi Jose,
>>Here's the theory behind why inbound shaping doesn't work (or at least
>>doesn't work well) If anyone has knowledge to the contrary, please post:
>>= = =
>>Since there is no built-in "traffic control messages" (or similar) in
>>TCP/IP, there is no way for m0n0wall to "tell" the device(s) on the
>>"other side" of your WAN link (such as the router at your ISP's end of
>>your ADSL line) to stop sending packets (or do so at a slower rate).
> To the contrary.  The TCP "advertised window" is exactly that control.
> When a TCP packet is sent, one of the values in the header is the 
> number of bytes the sender is willing to receive in return.  An ACK 
> for all bytes and a window of 0 would be very similar to a CTL-S on a 
> serial link, but varying the size of the window allows a smoother 
> control of the flow than a simple start/stop.
>           -crl

This is very intersting info Chad! Sounds like it should be quite 
possible to shape inbound traffic in a decent manner then (well, TCP 
packets anyway).

Then the question becomes: Does the shaper in m0n0wall take advantage 
of this possibility when shaping? And if so, how/when does it modify 
the window?

Unfortunatly, I don't seem to remember reading anything about this in 
the dummynet documentation I've seen :(