Even if dummynet does not support use of the advertised window, TCP stacks
have a fall back algorithm that they revert to when using a high latency or
high loss connection. They basically start sending the data very slowly.
Game programmers have run into this multiple times when trying to write
network code. That's why they almost always use UDP these days.
In any event, whether inbound traffic shaping works or not really depends on
who you ask. Some people swear up and down that it doesn't, while others
swear up and down that it does. I've used it on a few installations and I've
never seen the mass number of packet retransmits that some people say will
occur. So I'm sold on the idea that it works just fine. I just remember that
if anything wierd were to start happening to one of my networks that is
performing inbound traffic shaping, I should try turning off the traffic
shaper to see if that fixes it before I start fussing around with other
----- Original Message -----
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>
Sent: Thursday, June 03, 2004 3:39 AM
Subject: Re: [m0n0wall] Re: m0n0 - traffic_shaper
> 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 :(
> To unsubscribe, e-mail: m0n0wall dash unsubscribe at lists dot m0n0 dot ch
> For additional commands, e-mail: m0n0wall dash help at lists dot m0n0 dot ch