Add sections for wire image, protocol choice, and cost#67
Conversation
| these cases, the two endpoints of a protocol might explicitly negotiate the use of greasing. | ||
| This doesn't prevent the endpoints themselves ossifying (since they might choose to not negotiate), | ||
| but it can still be effective for preventing ossification of middleboxes. For example, | ||
| {{?QUICBIT=RFC9287}} defines a way for QUIC clients and server to negotiate greasing the "QUIC bit", | ||
| which is an unencrypted bit visible in QUIC's wire image. |
There was a problem hiding this comment.
I think I understand your intent in this specific part text but the nuance might be lost.
The prescence (or absences) of observers on the visible wire image doesn't always affect the choices endpoints might make wrt exercising variation. The QUIC spin bit is maybe an example of that. Endpoints don't negotiate whether its set or not, but twiddling the bit is a way to exercise greasing onto the observers.
The QUIC bit is an interesting example, because it serves a very specific purpose (demultiplexing QUIC in deployments that need to). The negotiation is therefore needed to disable that bit, without affecting the QUIC protocol, in deployments it is known that the demultiplexing is not needed. The QUIC bit may be the wrong thing to reference here to support the point.
There was a problem hiding this comment.
The point I'm trying to make here is that:
Some fields require negotiation to change (like the QUIC bit). That doesn't help grease the peer at all. However, for fields that are visible to the wire image, the greasing is still useful. That's the only reason that greasing the QUIC bit makes sense.
There was a problem hiding this comment.
Thanks, that reads much clearer to me!
This PR attempts to tackle several issues, in related areas of the text: