TCP receive window
The z/OS® Communications Server implementation calculates the receive window as two times the receive buffer size, minus any data in the receive buffer. The calculated receive window is then limited to the value of the TCPMAXRCVBUFRSIZE parameter from the TCPCONFIG profile statement, unless Dynamic Right Sizing (DRS) is active for the connection.
DRS is a stack performance optimization that allows the TCP receive buffer size to expand because of network conditions. DRS is enabled for connections that meet the following criteria:
![Start of change](./delta.gif)
- The connections have inbound streaming workload.
- The round trip time (RTT) for network latency is 2 ms or longer.
- The initial receive buffer size is at least 64 KB.
![End of change](./deltaend.gif)
When
DRS is active for a connection, the advertised
window follows a different set of rules:
- The maximum receive buffer size is changed to 2 MB.
- The
receive buffer
size is set to the estimated congestion window of the peer.
If CSM high virtual common or fixed storage is constrained
and inbound data for a connection is queued in the receive
buffer faster than the application can read and process
it, DRS is disabled for the connection. You can determine whether
DRS is active for a connection by examining the TcpPrf field value for the connection
on the Netstat ALL/-A report output.
If a connection fails to meet the criteria for enabling
DRS and thus DRS is disabled, the TCP/IP stack periodically
reevaluates the connection characteristics and attempts
to reactivate DRS. The TCP/IP stack activates DRS for the connection
if the connection subsequently meets the criteria for
DRS processing.
![Start of change](./delta.gif)
![End of change](./deltaend.gif)