This explains (partially) why
CTCP makes/made such a difference with my EVDO connections.
CAUSE
This problem occurs because of the way that TCP receive window auto tuning is used in Windows Vista for connections that only receive data.
Windows Vista obtains a round-trip time (RTT) estimate at the time of connection setup and every time that a new segment of data that is transmitted. A connection that only receives data is limited to the single RTT sample that is obtained at the time of connection setup. Because the connection only receives data, the connection cannot "converge" to the actual RTT of the connection. For example, because the RTT data may fluctuate for various reasons, a "converge" operation is performed to estimate a meaningful RTT by using blending current and previous RTT data. However, if the connection cannot converge to the actual RTT of the connection, the bandwidth delay product (BDP) estimate that Vista obtains is also incorrect. Therefore, the connection's receive window is limited, and throughput of the connected transmission network is reduced.