is in the same physical network as the switches. That is, we want to use the existing infrastructure of the network (i.e., existing links and switches) to con- nect the controller to all the switches in the network, as opposed to using a separate infrastructure (by adding new links and switches in the network) to connect the controller to the switches. 4.4 SDN Management A cost is associated with each link based on which the shortest path routes between any two nodes are calculated. We assume that the cost on each link applies to both directions of the link. We assume that there is no load balancing on the control traffic sent between the switches and the controller. Therefore, each node has only one path to reach the controller. In other words, the control traffic is sent from/to the controller over a tree, rooted at the controller, which we will refer to by controller routing tree. This routing tree covers all the nodes in the network and a subset of the edges. We assume that the same routing tree will be used for communications between the controller and the switches in both directions. With a given controller location, different routing mechanisms could be used to form different routing trees. Figure 4.14 shows a network and its controller routing tree. In this figure, the dashed lines show all links in the network, and the solid lines show the links used in the con- troller routing tree. Each node can reach the controller by sending its control traffic along the paths in the controller routing tree. We assume that both directions of each link have the same cost and therefore, they are symmetric. In the controller routing tree T, node is an upstream node of node U if there is a path in T from node U to node U toward the Controller Figure 4.14 Protection against link and node failures. 4 Software-Defined Networks Principles and Applications controller. Node is called a downstream node of node U if there is a path in T from node U to node U toward the controller. In the network depicted in Figure 4.14, for exam