Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP-31: Reserved Streams #4221

Closed
gloinul opened this issue Oct 15, 2020 · 5 comments · Fixed by #4233
Closed

HTTP-31: Reserved Streams #4221

gloinul opened this issue Oct 15, 2020 · 5 comments · Fixed by #4233
Labels
-http editorial An issue that does not affect the design of the protocol; does not require consensus. ietf-lc An issue that was raised during IETF Last Call.

Comments

@gloinul
Copy link
Contributor

gloinul commented Oct 15, 2020

Section 6.2.3: https://www.ietf.org/archive/id/draft-ietf-quic-http-31.html#name-reserved-stream-types

These streams have no semantics, and can be sent when application-layer padding is desired.

So although a bit unclear I assume the intention here is that one can grab the next available unidirectional stream, send the stream type with a reserved value. After that that endpoint may send arbitrary data at any time while the connection lasts and close it down. I think that could be slightly more explained.

What is the cause of this issue is the "Application-layer padding". So I assume that an HTTP/3 implementation could have certain API to request this padding and what behavior it has. However, can this be anything other than generally padding out the QUIC connection. I think from this level it might be hard to have any more detailed control over where the padding data goes. The QUIC scheduler will do what it is programmed to do when it has multiple streams to send and split that into different packets in an implementation dependent fashion. So I wonder what impression people get of this padding feature? It appears hard to use for privacy preserving features as that needs to more consistently ensure that an outside observer can't detect patterns. So it will basically be for keep-alive and consuming more bits, possibly to probe if the application can take the step to the next quality level.

So I would think the properties of this should be slightly more explained to not give false hopes.

@larseggert larseggert added -http ietf-lc An issue that was raised during IETF Last Call. labels Oct 15, 2020
@LPardue
Copy link
Member

LPardue commented Oct 15, 2020

HTTP traffic patterns can be quite bursty with a lot of cessation. The possible privacy preserving feature comes from an endpoint that can continue to drive application traffic over some time window. Allowing an application to pump the QUIC connection, and have the transport just deal with it without any special configuration seems attractive. In other words, if the transport is not application-limited then it can always keep the congestion window full. A scheduler can always demote such streams to behind all other streams. However, a receiver that doesn't immediately drain such streams will cause app limitation, which could affect the privacy targets. We might want to document that.

@larseggert larseggert added this to Triage in Late Stage Processing via automation Oct 16, 2020
@gloinul
Copy link
Contributor Author

gloinul commented Oct 16, 2020

Ok that is one aspect that would benefit from clarification. I think some words on the properties that application level requested usage of reserved stream has would also be good.

@larseggert
Copy link
Member

@gloinul does the PR address your issue?

@LPardue LPardue added the editorial An issue that does not affect the design of the protocol; does not require consensus. label Oct 19, 2020
@project-bot project-bot bot moved this from Triage to Editorial Issues in Late Stage Processing Oct 19, 2020
@LPardue
Copy link
Member

LPardue commented Oct 19, 2020

This is editorial because we're just explaining a bit more how an endpoint might use what HTTP/3 provides.

@gloinul
Copy link
Contributor Author

gloinul commented Oct 20, 2020

@larseggert Yes, this I think provides sufficient context for the padding and combined with the risks of applying it badly. So resolved.

Late Stage Processing automation moved this from Editorial Issues to Issue Handled Oct 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-http editorial An issue that does not affect the design of the protocol; does not require consensus. ietf-lc An issue that was raised during IETF Last Call.
Projects
Late Stage Processing
  
Issue Handled
Development

Successfully merging a pull request may close this issue.

3 participants