1. A method implemented by a network topology design system to determine a controller routing tree for use within a split architecture network where control plane components are executed by a controller and the data plane components are executed by a plurality of switches, the method comprising the steps of: calculating an initial controller routing tree using in-band connections for control traffic between each switch and the controller; calculating the resilience of the network having only in-band connections; establishing a parameter m, each of m representing a dedicated connection between a corresponding switch and the controller for out-of-band control traffic; and determining, using an approximation algorithm, the placement of each m dedicated connection between a switch and the controller so as to optimize the configuration of in-band and out-of-band connections for maximum resilience.