curtis at ans.net
Thu Aug 29 23:25:59 UTC 1996
In message <9608292204.AA32610 at wisdom.home.vix.com>, Paul A Vixie writes:
> > > we can increase fairness using smart queuing and other technology tricks
> > If that can be and is done, it's fine with me, but will it be done in
> > time? My growth is already being hindered by people being unable to
> > get through the net's core to sites they want to reach. They leave
> > the net, disillusioned. It's hard to imagine what things will be like
> > when the looming UDP-based-multi-media explosion is added to this.
> Since I use programmable routers, I plan to reprogram them such that when
> an interface output queue is full or getting full, and it's time to do
> Van's trick of "pick a number from 1 to N+1 and destroy that packet", the
> chance of a UDP getting blasted will be higher than for a TCP.
> This is predicated on (1) TCP is mostly well behaved, except when it comes
> form a Netscape browser opening too many (more than one) simultaneous TCP
> connection to the same destination; (2) UDP apps I care about, like DNS,
> will do reasonable things like fallback and timeout and retry; and (3) it
> is OK to violate the layering if it makes your network stop melting.
> If you think this would be a useful feature, ask Cisco to make it part of SPD
This is sort of the wrong list for this topic.
A preferable scheme would be one that also weeds out misbehaving TCP
implementations. This brings us back to 1984 (or earlier) and the
idea of SFQ (stochastic fair queueing). Add RED GW, shake lightly
(never stirred?) and maybe you've got something.
Briefly: You have N queues. Take the src/dst pair and hash it, and
put it in a queue, service the queues using round robin. That's SFQ
in a nutshell.
A somewhat orthogonal issue is how to decide when to drop. That's
where RED, EPD, SPD, and others come in.
Even with tail drop there is an issue of how to combine the fair
queueing with the drop strategy. Do you carve the available buffer
space into equal allocations or wait for some percentage of the entire
buffer space to exhaust, or something else?
Combining SFQ (or WFQ with SFQ suballocations ala CBQ or whatever) and
RED (or EPD or Cisco SPD) is left as an exercise to the reader. Send
your solutions (and if its a good one maybe your resume:) to your
favorite router vendor or take the discussion to end2end-interest. ;-)
More information about the NANOG