Prioritizing based on HTTP Content-Type header

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm setting up a reverse-proxy on a limited-bandwidth pipe. The
system is Debian "etch" on Linux 2.6, using squid as the proxy.

As we've only got 5mbit to play with, what I'd really like to do is
set up priority levels based on the Content-Type of the (outgoing)
response:

  1. text/* gets highest priority (along with
     application/x-javascript).
  2. image/* gets middle priority.
  3. */* gets lowest priority.

Today I tried just using tc, with netfilter's "string" match module
to select matching packets, with limited success: while it does
match the packet containing the response header, additional packets
in the same stream don't retain the fwmark (unsurprisingly).

Does anyone have any ideas of -- or even better, experience with --
a stack which can achieve this? squid's built-in rate limiting
doesn't have the concept of borrowing bandwidth, so that's out.

I'm open to pretty much anything: userspace proxies (either in front
of or replacing squid) are fine.

Another option is simply to "punish" bandwidth hogs: the primary
goal is to ensure downloads of large files don't slow down users
that are browing webpages. Possibly just using SFQ will work for
this, but I'm not sure.

Any suggestions would be appreciated. I'm even open to changing
platform (e.g. FreeBSD), but I'd prefer to stick with Debian as it's
what I'm most comfortable with.
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux