Scalable reliable multicast protocols have been a focus of recent research, tackling the problem of efficient reliable data delivery to an arbitrarily large number of receivers. Yet, the common applications of multicast, such as multi-point file delivery, or video streaming from a media server, typically only involve a moderate number of receivers, such as a thousand or fewer. Moreover, because of the limited deployment of these specialized multicast protocols, it is common for applications to instead use multiple TCP connections, one for each receiver, to implement multi-point delivery when feasible, causing a significant demand on the transmission server and the downstream links.In this paper, we describe a multicast extension to TCP, called the Single-source Multicast Optimization (SMO), that optimizes this case of multipoint delivery, providing the benefits of multicast together with the familiar features and API of TCP. Our results from experiments based on a Linux implementation and performed on a test-bed show that TCP-SMO requires just a modest extension to the TCP implementation and provides the scalable performance of multicast up to over a thousand receivers, thereby satisfying the common case requirements. In addition, used with TCP-RTM (Real-Time Mode), TCP-SMO also supports real-time multimedia multicast applications well.