On Sun, 11 Oct 2015, Joe Touch wrote:

On 10/11/2015 2:18 PM, David Lang wrote:
But you will notice that in both cases, I am in favor of reducing the
number of packets on the wire. Packets not send can't interfere with
other traffic.

The degenerate case of this approach is a circuit. Take a look at
Morris's 1997 ICNP paper to see what happens when you end up with one -
or sometimes less than one - packet per round trip time.

One of the reasons we use packets is to provide more timely,
fine-grained feedback between endpoints. Aggregating them at the source
or in the network (rather than at the receiver) can amplify reaction to
packet loss (when the aggregate ACK is lost)

the issue of amplified reaction to packet loss is a valid one, but packet loss is still pretty rare, so the proposal of putting a duplicate stretched ack into the queue for the next transmit window when you aggregate packets in the current transmit window should largely mitigate this.

In addition, Since cablemodems have been doing this for 15 years, we should be able to get people to look at real-world traffic and tell us how much of a problem this is.

and increases
discretization effects in the TCP algorithms.

This is where I disagree with you. The ACK packets are already collapsed time-wise. Whatever timing they had when they were generated, the fact that they are all sitting in the same queue at the same time means taht that timing has been lost, Nobody is adding latency by trying to recreate the time spacing, so the discretization (or as I've been calling it quantitization) of the traffic is happening even if every ACK packet is sent.

My contention is that since this is already happening, consolidating the ACK packets into stretched ACKs doesn't make this any worse, and it saves network bandwidth (and decreases latency to the extent that data is acked faster than waiting for the entire chain or original ACKs to get through, especially if that would take multiple transmit windows). As a result, thinning the ACKs is kinder to the network.

I am in no way advocating delaying any packet that could be sent, just combining those that have already been delayed.

We're talking about ACK packets here, but any protocol that sends short TCP packets is potentially fair game (TCP/SSH for example). If the packets are all sitting in the same queue, they should be able to be combined. This happens on the sending server if multiple writes to the socket happen before the packet has been sent, it should be able to happen on the network as well (further reducing overhead by sending the same data with fewer packets)

David Lang

_______________________________________________
aqm mailing list
aqm@ietf.org
https://www.ietf.org/mailman/listinfo/aqm

Reply via email to