Linux Netfilter discussions
 help / color / mirror / Atom feed
* Alternatives to window shaping?
@ 2007-08-30 10:45 Justin Schoeman
  2007-08-30 15:14 ` Gregory Carter
  2007-08-30 20:56 ` Jorge Davila
  0 siblings, 2 replies; 3+ messages in thread
From: Justin Schoeman @ 2007-08-30 10:45 UTC (permalink / raw)
  To: netfilter

I have posted this before under another thread, but did not get many 
replies. So I thought I would post it under a more appropriate subject.

OK, so we have a link that has a fair bandwidth, and a high latency. 
This means that TCP windows get nice and big.

Now I have a problem with ingress shaping, because the current 
implementation just drops packets.  This means that we have to wait for 
the sender to notice the packet drop (OK, or for the receiver to notice 
at out of order inbound backet). But either of these can take quite a 
while, during which the sender is still sending data at a rate higher 
than what you want to throttle it to.

What I was considering was, instead of just dropping the packet, send 
out an ACK packet (to the sender of the packet we are dropping), 
repeating the last ack sequence, as recorded in the conntrack table.

This should be the second ack the sender receives, which should 
immediately start a 'slow start' procedure, and get the sender to back off.

This is still as wastefull as just dropping the packet, but should have 
a more immediate effect.

The problem is, how will the sender and receiver respond? They may now 
receive a number of packets in completely unexpected order.

Is this practical? Will it work? Will it help?

Thanks!
Justin


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-08-30 20:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-30 10:45 Alternatives to window shaping? Justin Schoeman
2007-08-30 15:14 ` Gregory Carter
2007-08-30 20:56 ` Jorge Davila

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox