In message <9608292204.AA32610@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. ;-) Curtis