Re: [tsvwg] [iccrg] New Internet Draft: Congestion Signaling (CSIG)
Christian Huitema <[email protected]> Tue, 20 Feb 2024 12:08:10 -0800
| Newsgroups | gmane.ietf.ippm,gmane.ietf.tsvwg,gmane.ietf.irtf.iccrg |
|---|---|
| Message-ID | <[email protected]> |
On 2/20/2024 9:55 AM, Sebastian Moeller wrote: >> That's more of a statement of security and not feasibility. There's simply no security in the Internet, so we cannot trust or validate that anonymous intermediate nodes are going to write correct information. Any plain text in a packet on the Internet is subject to inspection and modification if the data isn't authenticated, and in the worst case this could be a DoS vector by writing bad information. > [SM3] Indeed, but e.g. for TCP you would need to know a lot about the most recent packet to be able to play games, no? So either you are on path and already can drop/duplicate packets at will or you are off path but still need a recent enough veridical packet to be able cause mischief, no? (I might be insufficiently creative in attack vectors) I am analysis congestion control information using the framework of "honest signals". In human communication, "honest signals" are those that cannot be easily faked by the communicator. For example, smiling is not really a honest signal, because it is easy to fake; blushing, on the other hand, is hard to fake. When it come to Internet wide congestion control, we have pretty much the same issue. Networks may want to fool the application for a variety of reasons, and may start faking congestion signals. Some of these signals are hard to fake. End to end data rate for example: slowing a specific stream of packets is hard to fake; measuring the end to end data rate is a pretty good indication of the state of the network. End to end RTT is also a rather honest signal: yes, routers could put some specific packets in a slow queue, but that requires resource. Packet losses almost belong in that category. They are not hard to fake, routers could play favorites and selectively drop packets with a certain profile. But dropping too many packets affects the "quality rating" of a provider, so there is some pressure to not fake it. That pressure is probably one of the reasons behind bufferbloat. The main problem with packet loss as a signal is that losses may have other causes than congestion. ECN is not really a honest signal. Setting a bit in a packet header does not require a lot of efforts, so routers could do that to play favorites. In fact, past bugs in some networks caused almost all packets to be marked as CE. Using ECN is very nice when you can trust it, but end nodes should probably do that cautiously, detecting for example a sudden raise in ECN marks rather than reacting to an average value. ECN is just one bit. There is always a temptation to do a better ECN with many more bits. For example, CE directs a sender to slow down. It would be nice to have a corresponding "All clear" signal telling the senders that they can speed up. L4S attempts to do that by modulating the CE bit, so that a low frequency kinda indicates "all clear", while a high frequency says "slow down", and give some indication of how much. Suddenly, one bit becomes several bits, just spread over many packets. The idea of adding more bits in packet headers is not exactly new -- see for example TCP QUIC Start by Sally Floyd et al., RFC 4782, January 2007. The problem is that the more bits you add, the more you exacerbate issues of trust, and also risks of bugs. "Many more bits" may work in a controlled environment, but I really do not see that working on the whole Internet. -- Christian Huitema