We begin by describing several active protocols that provide novel network services and discussing the impact of the services on end-to-end application performance. We then discuss two active protocols that implement a previously studied service, reliable multicast. One protocol is optimized to support batch applications and the other interactive applications. Finally, we analyze the performance of these protocols relative to a baseline non-active protocol. The results clearly demonstrate that the introduction of active protocols tuned to the needs of specific applications can lead to significant performance improvements.