In this paper, we address the rate control problem for layered multicast traffic, with the objective of solving a generalized throughput/fairness objective. Our approach is based on a combination of lagrangian relaxation and dynamic programming. Unlike previously proposed dual-based approaches, the algorithm presented in this paper scales well as the number of multicast groups in the network increases. Moreover, unlike all existing approaches, our approach takes into account the discreteness of the receiver rates that is inherent to layered multicasting. We show analytically that our algorithm converges and yields rates that are approximately optimal. Simulations carried out in an asynchronous network environment demonstrate that our algorithm exhibits good convergence speed and minimal rate fluctuations.