This paper presents the design, implementation, and performance of a r
eliable multicast transport protocol (RMTP). RMTP is based on a hierar
chical structure in which receivers are grouped into local regions or
domains and in each domain there is a special receiver called a design
ated receiver (DR) which is responsible for sending acknowledgments pe
riodically to the sender, for processing acknowledgment from receivers
in its domain, and for retransmitting lost packets to the correspondi
ng receivers. Since lost packets are recovered by local retransmission
s as opposed to retransmissions from the original sender, end-to-end l
atency is significantly reduced, and the overall throughput is improve
d as well. Also, since only the DR's send their acknowledgments to the
sender, instead of all receivers sending their acknowledgments to the
sender, a single acknowledgment is generated per local region, and th
is prevents acknowledgment implosion. Receivers in RMTP send their ack
nowledgments to the DR's periodically, thereby simplifying error recov
ery. In addition, lost packets are recovered by selective repeat retra
nsmissions, leading to improved throughput at the cost of minimal addi
tional buffering at the receivers. This paper also describes the imple
mentation of RMTP and its performance on the Internet.