# Building Scalable and Secure Multicast Delivery Infrastructure in a Local Area Network
## 4 Core Based Multicast Tree
### Tree Maintenance
Let \(T1\) be the sub-tree of the delivery tree that consists of the reverse path from \(S\) to \(C\) and all the descendant nodes of \(S\) with respect to the delivery tree. Let \(S1\) be any arbitrary child of \(S\) and \(P\) be the reverse path from \(S1\) to \(C\) through \(S\). Since the underlying topology is a 2-connected graph, there exists another path \(P1\) between \(S1\) and \(C\) not containing \(S\). The proof is obvious. If every path between \(S1\) and \(C\) passes through \(S\), then the removal of \(S\) from the topology will disconnect \(C\) and \(S1\). Thus, \(S\) is a cut-vertex of the underlying topology, contradicting the fact that the underlying topology is a 2-connected graph. Based on the above property, we analyse \(P\) and \(P1\) starting from \(S1\). Let \(U1\) be the first node in \(P1\) (from \(S1\) towards \(C\)) that is not in \(T1\) (the sub-tree defined before) and \(U\) be the node that precedes \(U1\) in \(P1\). Such a \(U1\) exists, as \(P1\) is a path between \(S1\) and \(C\) not containing \(S\). We now make an important observation. Since \(U1\
otin T1\), \(S\) leaving the CBT delivery tree will not impact the connectivity of \(U1\) with the CBT delivery tree. By our choice, \(U\) is one hop away from \(U1\). If \(U\) establishes connectivity with \(U1\), then the entire descendants of \(S1\) with respect to the delivery tree \(T\) reestablishes connectivity with their core node \(C\) through \(U1\). Based on the above important observation, we handle Subcase 1.2. The steps are as follows:  
1. \(S\) multicast _CBT-intention to leave_ message to every descendant of \(S\). This message is digitally signed by \(S\) to establish the origin of the sender. 2. Every descendant of S receiving this message will broadcast a _CBT-rejoin_ message. This message is encrypted with the ongoing session key. Any switch receiving this message will not be rebroadcast. Let K1 be a switch that receives this message. If K1 is also an affected node, K1 will not ignore this message. It will keep in the process queue, until it gets reconnected to the CBT delivery tree. 3. Let \(K\) be a switch that receives this message from a switch \(L\), and \(K\) is not impacted by \(S\) leaving (this is known from the fact that \(K\) has not received the _CBT-intention to leave_ message from \(S\)). Since this message is encrypted using the ongoing session key, there is no need to re-authenticate \(L\). Thus, \(K\) creates a forwarding pointer to \(L\); create a _CBT-rejoin accept_ message; and encrypt with the ongoing session key and transmit to \(L\). 4. On receiving this message, if \(L\) is accepting this message, it will perform the following tasks: * Create a reverse pointer to \(K\). * Transmit _CBT-rejoin ACK_ to \(K\) to finalize the connection. On receiving the ACK message, \(K\) will create a forward pointer to \(L\). * Multicast to every node in \(T1\)_CBT-reconnected_ message. On hearing this message, \(S\) will initiate _CBT-leave_ like in Subcase 1.1. * If \(L\) received _CBT-rejoin accept_ from multiple switches, it will choose the one with the best cost (as defined before). For all other switches, \(L\) issues a _CBT-reset_ message. * \(L\) might have received _CBT-rejoin_ from several switches before it reestablished its connectivity with its core node. \(L\) will now process their request by issuing them with a _CBT-rejoin ACK_ message; these switches will either connect with \(L\) or issue a _reset_ message if they already have established connection. 5. As soon as \(S\) receives the first _CBT-reconnected_ message from its descendant, it will initiate _CBT-leave_. This message will be handled similar to sub case 1.1. We are now left with two cases; the link between \(S\) and \(S1\) is broken and \(S\) is down due to abrupt power failure. **Case 2: The Link between S and S1 is Broken. **Let \(S1\) be the ancestor for \(S\) with respect to the delivery tree. As before, the underlying topology is a 2-connected graph.