In this paper, we investigate a selective-repeat ARQ scheme which operates with a finite receiver buffer and a finite range of sequence numbers. The throughput performance of the proposed scheme is analyzed and simulated based on the assumption that the channel errors are randomly distributed and the return channel is noiseless. Both analytical and simulation results show that it significantly outperforms the go-back-NARQ scheme, particularly for channels with large roundtrip delay and high data rate. It provides high throughput efficiency over a wide range of bit error rates. The throughput remains in a usable range even for very high error rate conditions. The proposed scheme is capable of handling data and/or acknowledgment loss. Furthermore, when buffer overflow occurs at the receiver, the transmitter is capable of detecting it and backs up to the proper location of the input queue to retransmit the correct data blocks.