Flow control, which prevents data loss, has been an important function in data communications. Today, high-speed networks are adopting flow control, and one such scheme has recently been adopted by ATM. This paper investigates the design of a rate-based scheme based on receiver buffer occupancy. The analytical model for the rate-based scheme can exhibit not only the effect of rate-based flow control, but also window-based flow control and a combination of both. The proposed rate decision algorithm is shown to produce performance gains for both buffer utilization and throughput.