# A Comprehensive Survey of In-Band Control in SDN: Challenges and Opportunities
## 4 A Survey of In-Band SDN Control in SDN
### Network Bootstrapping
The proposal leverages network exploration techniques to propagate a packet from the root switch (the one directly connected to the controller) to the rest of the network, in order to collect topological information, while installing the routes. In this way, each device in the network can reach the controller with the information contained in the exploration packets via various routes in order to establish the in-band control channel. However, it requires slight modifications in the SDN switches to be supported. **[PERSON]** et al. [87] focus on the design of a full-fledged in-band control channel, considering it should implement features such as automatic bootstrapping, controller provisioning, multiple controller support, and fault resilience. It should also not be dependent on additional protocols or proprietary switch extensions. Based on these requirements, they design two approaches. The first option uses a pre-configuration to build a tree in sequential order by progressively adding new devices to the tree according to their distance from the controller. The second option relies on the Rapid Spanning Tree Protocol (RSTP) protocol to build a minimum-cost tree from the controller. Once the control channel is built using the RSTP tree, the tree is removed to avoid interference with the SDN network. Both options are very slow, providing convergence times of a few seconds, and they do not test failure recovery times. **[PERSON]** et al. [88] propose a bootstrap protocol that provides network topology discovery and an automatic set of in-band control connections. Motivated by the high message number of OpenFlow Discovery Protocol (OFDP) and its security concerns, they propose ConForm, which is based on a spanning tree rooted at controller that spans towards every switch in the network. Initially, each switch is manually configured with a unique device ID and a cryptographic key, which only the controller can validate. When a SDN starts up, it does not forward any packet and, instead, it broadcasts a special message (reg_req) (to the controller) with its key. The controller initially only receives that message from the directly connected switches, authenticates them, and replies with their assigned ID. The process is repeated with the rest of the switches. There are additional steps to discover the topology than can be consulted in the paper. They provide an analytical model to calculate the number of exchanged messages, which is lower than other topology discovery protocols such as LLDP, OFDP, and OFDPv2. Additionally, ConForm has motivated the design of other configuration protocols, like the ETArch Switch Configuration Protocol (ETSCP) [93]. **[PERSON]** et al. [89] devise a mechanism called rXstp to set up the in-band control connection with the controller. rXstp uses RSTP besides the basic layer 2 forwarding capacity of a switch to prevent loops. The node directly connected to the controller is the root node, so it is necessary to manually configure its switch priority to be the highest. When there are no more RSTP proposal messages in the network, it means that the network has converged (it is stable) and the in-band connections can be set up. The mechanism also uses a modified RSTP to allow the controller to discover the network topology. They implemented rXstp using OVS and the Ryu controller with Mininet. They compare rXstp with a SDN network that uses RSTP to set a topology and in-band control connections. They then use OFDP to discover the topology. The latter uses more messages and only discovers the tree links. This proposal only works with a single SDN controller. [PERSON] et al. [90] propose One-Pass IBAB, a bootstrapping method for SDN in-band control, able to deploy control paths for 50 switches in 2 s. For this purpose, it builds a spanning tree rooted at the controller. If multiple controllers coexist, only the first messages exchanged are considered, so the switch connects to the first controller it is aware of. The authors envision fast failure recovery as future work. **[PERSON]** et al.