# Building Scalable and Secure Multicast Delivery Infrastructure in a Local Area Network
## 4 Core Based Multicast Tree  
In networking terminology, multicasting is a group communication where data-transmission is addressed to a group of hosts, rather than to individuals. There are many multicast routing protocols available for IP networks, such as Core-based tree (CBT), Distance Vector Multicast Routing Protocol (DVMRP) and Protocol Independent Multicast (PIM). Each of these protocols has its own strengths and weaknesses. The heart of a multicast protocol is the creation of a delivery tree (called multicast delivery tree) through which multicast data packets are delivered to end-hosts. DVMRP and PIM may create as many delivery trees as the number of senders. This architecture may be useful in one-to-many communications such as video broadcasting, but may not be efficient in many-to-many communications. There are four variants of PIM [2] based on whether they are working on a dense or sparse mode. The two modes are used based on the size of the network in order to minimize the communication cost. They are: PIM Sparse Mode (PIM-SM), PIM Dense Mode (PIM-DM), Bidirectional PIM (Bidir-PIM) and PIM Source-Specific Multicast (PIM-SSM). Core-based tree was introduced by [PERSON] et al. [12]. His main motivation for the work is to make IP multicast scalable. This is by constructing a tree of routers from one or more core nodes. The location of these core nodes is statically configured by the network administrator. Other routers in the network are added dynamically as new members join the multicast group. In this paper, we considered CBT for the construction of our multicast tree due to its advantages over DVMRP and PIM. For each in a multicast group communication, DVMRP and PIM construct shortest-path trees or a combination of a shortest-path tree and a unidirectional shared tree. This requires the multicast tree routers to keep as much state-information as that of the number of senders. However, there is a single delivery tree in CBT, irrespective of the number of senders. Thus, there is a reduction of state information that needs to be maintained at each router. In a dense network, shared tree may have some potential disadvantages. If every sender uses the same shared tree, then the traffic along the shared links could be heavy. This is not the case if separate trees are used by the sources. However, in our case, every network device needs to transmit to every other network devices in the multicast tree. Thus, shared tree is the most preferable one. CBT is designed with the following objectives in mind: scalability, efficient bandwidth utilization, reduction of state information that needs to be maintained at each router. Since these parameters are very important to us, we use CBT as the underlying delivery tree creation algorithm. We modify the CBT algorithm to suit our environment. While constructing CBT-delivery tree, we assume that switches in the network already formed a spanning-tree to avoid loops. The Spanning Tree Protocol (STP) prevents loops while still allowing for redundancy in a switched network. Details for STP can be found in the IEEE 802.1d, 802.1q, and 802.1s specifications [13]. STP-enabled switches communicate with each other to discover redundant paths in the network. This discovery results in a spanning-tree which defines a single path to a given destination and alternate paths in the event of a network outage or configuration change. We now outline our proposed multicast tree creation algorithm as follows:  
**Step 1: Core Selection**  
The network administrator configures one or more switches in the network as the core nodes for the CBT delivery tree. The following parameters are the key deciding factors in choosing these switches as the core nodes: The strategic location of these switches in the network (especially for reducing the depth of the CBT delivery tree), CPU, memory and the backplane speed of these switches. In Section 3.1, we defined prime nodes. The primary, secondary, and some of the prime nodes may be cores of the CBT.