The usage of multicasting over the Internet has increased over the years due to its more efficient delivery of traffic from a single source to multiple destinations via delivery trees. The performance of the delivery tree for each multicast session has a large and direct influence on the overall performance offered by the multicast services. In this thesis, we study the development of performance efficient trees for Internet multicast communication for both IP and Optical domains. For the first part of our work, we focus on constructing non-delay and delayconstrained trees for multiple multicast sessions from multiple groups using a single shared-tree as the basis of the construction. We propose to first construct an efficient spanning shared-tree and then perform pruning on it to obtain the required delivery tree for a multicast session spanning only to its destinations. Since there is no need to reconstruct each session's tree from scratch, a significant amount of tree's ready time can be reduced, leading to more efficient utilization of bandwidth resources and minimizing of race condition. We also propose a new method to "refine" the cost-efficiency of the tree. We then proceed to develop delay-constrained multicast trees for dynamic membership multicasting where members of a particular multicast group can join or leave the group. Rearrangement of the tree after either a destination leaves or joins the group is critical because rearranging the tree for the updated destination lists will achieve optimal cost but incur significant disruptions to the remaining destinations. In the past, only time inefficient reactive rearrangements with no disruptions control have been proposed. Hence, we