Yes, we lose the work we did in getting the stream packets to the
congested router. But clearly the router is overwhelmed when
we start dropping packets, so is the better thing to do to drop
(say) one packet randomly from all flows or to pick a single flow to shoot
in the head? What I'm worried about is that we are conflating
two problems -- how best to manage buffers and how best to signal
congestion. Clearly if you want fairness, you want to shoot
every flow equally, but maybe there's a swapping analogy --
if there are too many little flows, maybe it would be better
to shoot a fraction of them completely, rather than nick everyone.
What if we specialized this to "drop-SYN" -- if the syn gets dropped,
we drop the remainder of the flow and send a NAK/ECN? That gets
us out of the fast retransmit question. Alternatively, perhaps
we could propose a wart that did fast SYN retransmit -- if
you get post-SYN packets before a SYN, ack them! --
if you get three post-SYN dupacks, fast retransmit the SYN.
Or maybe I've forgotten and someone mentioned that already?
tom