TCP sender waits 200ms to send data when receiver transmits small window

Solution Verified - Updated -

Issue

  • Receiver application does connect(), or accept(), before calling setsockopt(SO_RCVBUF) to set SO_RCVBUF smaller than stream MSS. and smaller than maximum advertised window.
  • TCP connection with:
    -- MSS larger than receiver advertised window
    -- receiver advertised window smaller than maximum advertised window
    -- sender waiting 200ms after receiving ACK before transmitting more payload.

Environment

  • Red Hat Enterprise Linux 4 (RHEL4)
  • Red Hat Enterprise Linux 5 (RHEL5)
  • Red Hat Enterprise Linux 6 (RHEL6)
  • Red Hat Enterprise Linux 7 (RHEL7)
  • Red Hat Enterprise Linux 8 (RHEL8)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content