Re: [tsvwg] [iccrg] New Internet Draft: Congestion Signaling (CSIG)

Sebastian Moeller <moeller0=40gmx.de-Tr9gZwTxerDR74oF6e/[email protected]> Tue, 20 Feb 2024 21:34:54 +0100
Newsgroups gmane.ietf.ippm,gmane.ietf.tsvwg,gmane.ietf.irtf.iccrg
Message-ID <[email protected]>
Hi Tom,


> On 20. Feb 2024, at 21:26, Tom Herbert <[email protected]> wrote:
> 
> On Tue, Feb 20, 2024 at 12:09 PM Christian Huitema <[email protected]> wrote:
>> 
>> 
>> 
>> 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.
> 
> Hi Christian,
> 
> Do you know what the state of ECN deployment over the Internet is?

[SM5] Nobody knows exactly, but quite a lot of Linux servers use the LInux defaults and will use ECN if the client negotiates it. In my qdisc statistics I routinely see not only drops, but also CE marks logged (from my AQM).... so believe it or not, ECN over the internet mostly works...


> It seems to me that if someone is sending to an arbitrary host over the
> Internet they're already pretty much accepting "best effort" service:

[SM5] Not sure about the US, but that is all ISPs offer to end users over here... but ECN works well even over a best effort internet access link in my personal experience.
 
> long latencies and with potentially high variance, such that getting
> fined grained congestion information from intermediate routers, even
> if it's honest, probably doesn't add much to the information that we
> can derive from packet loss or measuring RTT with no additional
> mechanisms or implementation.

[SM5] How can you come to that conclusion without ever trying?


> The situation is very different in a limited domain which could
> include large service provider networks.

[SM5] Indeed, papers discussion 'better congestion signalling' often come out of those environments. But IMHO not because these methods only help in those environments, but that this is where people are willing to spend the money to test and implement potential solutions.

Sebastian

> In that case more information
> is good, it's easier to provide security so we can trust the
> information, and we're not restricted to just one or two bits of
> information to carry the information in a packet. This is also where I
> see host-to-network signaling being useful-- this allows applications
> to request QoS for their packets

> 
> Tom
> 
>> 
>> -- Christian Huitema


_______________________________________________
ippm mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ippm