Re: Squid and TCP congestion avoidance

From: Ken Ramirez <[email protected]>
Date: Mon, 19 Jul 1999 13:51:00 -0400 (EDT)

Actually, the IETF is working on a different mechanism
for communication of congestion notification to end
systems - Explicit Congestion Notification (ECN), which
allocates 2 bits in the IP header for that purpose
(which are different from the TOS/diffserv bits,
although adjacent to it). There are a couple of
experimental implementations of ecn available.

Essentially, it lets the end system know that there is
congestion, and a backoff is required, but without
actually dropping a packet.

Not related to the question raised, I'd like to raise
another question - I guess this could be viewed like
a feature request (or even a request for discussion):

A number of providers and enterprises (including mine)
are looking at deploying differentiated services on
the network - initially starting with the IP precedence
bits, and migrating to Diffserv as it becomes mature.

While it is possible today to classify packets on
edge routers, as well as in certain stacks like linux
(in which the admin can set diffserv bits transparent
to the app), it would make more sense for the app to
set diffserv bits itself.

Specific to squid, I would love for the proxy to have
the ability to set IP precedence (eventually diffserv)
bits based on the URL or even the site being visited,
thus enabling better bandwidth management than what
is possible using squid today...

cheers.

--- Philippe Strauss <philippe.strauss@urbanet.ch> wrote:
> Hello,
>
> It comes to my mind, when thinking about DiffServ
> application
> (http://www.ietf.org/html.charters/diffserv-charter.html)
> a way to reduce bandwidth used by a particular squid
> connection.
>
> If we would like to inform dynamically to squid to
> reduce
> the bandwidth used by a socket, we could mark such
> packet
> (at a border router for example) with a specified
> ToS
> (or DS nowadays..) value, and squid could
> reduce the window size of this particular socket.
>
> This is an alternative of simply dropping a packet,
> which, even
> with exponential backoff of TCP, is a waste of
> bandwidth.
>
> There's just two 'little' problems:
>
> Does TCP allow to negogiate the receiving window of
> an
> open socket? (I don't think so)? If yes, is there an
> API
> for doing that?
>
> Does the BSD socket API support any form of
> TOS monitoring for the upper application layer?
> (TOS at IP (layer 3) -> Squid (layer 7)) so squid
> could be notified when packet with a defined TOS
> value
> come in, it will reduce it's receiving window? I
> doubt
> such a thing exist either, but people more
> experienced with network programming could
> (in)validate?
>
>

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Received on Mon Jul 19 1999 - 11:31:03 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:47:27 MST