Hi,
With the neat Range request option of HTTP, it is possible
to slice a request of an object in a number of request you want.
Let say I have a 1MB file to download with http, I may use:
telnet www.domain.com 80
GET /bigfile.tar.gz HTTP/1.1
Host: www.domain.com
Range: bytes=0-100000
[A TCP connection]
telnet www.domain.com 80
GET /bigfile.tar.gz HTTP/1.1
Host: www.domain.com
Range: bytes=100001-200000
[Another TCP connection]
etc.., you could end up with 10 TCP connection with the values above.
It's a good way of using an unfair share of bandwidth, especially
on high speed network (leased line, CATV).
I use delay pools to prevent such abuse, giving an equal bandwidth to
each client IP.
But a customer may have 30 boxes sitting behind a firewall using only one
ip, and delay pools in such a sitation are not a good solution.
A way to stop such abuse, would be to track each request using
Range: and put all the Ranged request refering the same URL into a delay
pool, or a bandwidth shaper of any kind.
Is it a sensible idea?
Does anyone stumble on the same problem with their user abusing
Range: request?
Later,
-- Philippe Strauss, ingenieur reseau/systemes, Urbanet SA philippe.strauss@urbanet.ch tel +41 21 623 30 20 --Received on Sun Jul 25 1999 - 16:39:06 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:47:33 MST