[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using state and routing inbound traffic
Daniel T. Staal wrote:
Third: Doing so (or doing this) won't help you. By the time the packets
have reached you it no longer matters what queues you set up for them.
Think of it this way: Queueing says 'If you need to drop packets, drop
these packets before those packets.' That's all it says. And the simple
fact is that by the time the packets have reached your external interface
*no more packets need to be dropped.* This is because the only reason to
drop them is because you couldn't fit them on the connection, and you have
only recieved the ones that *would* fit.
But, isn't this a fallacy?
I thought the theory behind it was that by dropping packets (and therefore preventing
the return ACK from the receiver) you incite the transmitting end's TCP stack to back off
a little bit on the transmission rate? Isn't that the idea behind TCP rate control?
And further, by configuring an interface's sum total max bandwidth slightly _lower_
than what it is, you leave yourself enough headroom to start throttling back the data rate
on all inbound streams before you hit the ceiling (at which point the router at the other
end of you link start indiscriminately discarding packets, since it doesn't know your
Isn't that the entire principle of traffic shaping by queues? It's not _this_ packet
that you're controlling the rate of (since it's obviously already here) but by
artificially dropping it even though it's already here, you influence the behaviour of the
NEXT packets. To compensate for this delayed reaction, you deliberately reduce the
interface bandwidth slightly.
Am I missing something completely here?
Daniel T. Staal
Chris 'Xenon' Hanson | Xenon @ 3D Nature | http://www.3DNature.com/
"I set the wheels in motion, turn up all the machines, activate the programs,
and run behind the scenes. I set the clouds in motion, turn up light and sound,
activate the window, and watch the world go 'round." -Prime Mover, Rush.