Re: HTTP2 question about setting the initial connection window size

On Tue, Jan 10, 2023, at 02:14, Kevin Grigorenko wrote:
> Hi, I'm looking into enhancing the Wireshark HTTP2 dissector to track 
> the connection and session window sizes to investigate flow control 
> bottlenecks. I have a question about RFC9113 ยง6.9.2:
> 
> "When an HTTP/2 connection is first established, new streams are 
> created with an initial flow-control window size of 65,535 octets. The 
> connection flow-control window is also 65,535 octets. Both endpoints 
> can adjust the initial window size for new streams by including a value 
> for SETTINGS_INITIAL_WINDOW_SIZE in the SETTINGS frame. The connection 
> flow-control window can only be changed using WINDOW_UPDATE frames."
> 
> Does the last sentence mean that the connection flow-control window 
> size can only be changed using a WINDOW_UPDATE frame _after_ the 
> SETTINGS_INITIAL_WINDOW_SIZE?

Not quite.  SETTINGS_INITIAL_WINDOW_SIZE governs the initial window for streams, not the connection as a whole.

See https://datatracker.ietf.org/doc/html/rfc9113#SETTINGS_INITIAL_WINDOW_SIZE

The text is reiterating that the initial size of the connection-level flow control window cannot be changed with a setting, it can only be changed by sending WINDOW_UPDATE frames.

Received on Monday, 9 January 2023 21:38:44 UTC