TCP send window

The z/OS® Communications Server implementation sets the send window to the advertised receive window of the partner. The stack uses the send window and the congestion window to control the outbound packet flow for this connection.

Use the send buffer size to determine the amount of application send data that TCP/IP can buffer for a connection. The connection send buffer size is initialized to the value that is specified on the TCPSENDBFRSIZE parameter on the TCPCONFIG profile statement. An application can explicitly set the send buffer size for a connection to a value in the valid range for the TCPSENDBFRSIZE by using SETSOCKOPT().

ORS is a stack performance optimization that allows the TCP send buffer size for a connection to expand because of network conditions. ORS is enabled for connections that meet the following criteria:
  • The round trip time (RTT) for network latency is 2 ms or longer.
  • The initial receive buffer size is at least 64 KB.
When ORS is active for a connection, the send buffer size is dynamically managed to optimize throughput up to maximum of 2 MB when the following criteria are met:
  • CSM high virtual common or fixed storage is not constrained.
  • Data that is appended to any existing data in an application send buffer exceeds the send buffer size.
  • The send window and congestion window allow immediate transmission of new data that is beyond the current send buffer size.

When ORS is not active for a connection, the stack monitors the round trip time (RTT) for this connection and activates ORS if network conditions change. You can determine whether ORS is active for a connection by examining the TcpPrf2 field value for the connection on the Netstat ALL/-A report output.

Guideline: When you tune for TCP data transmission, you must consider the send buffer size and the receive window size. For the z/OS Communications Server implementation, the amount of data on the network is limited by the smaller value of the send buffer size and the receive window size.