# A Comprehensive Survey of In-Band Control in SDN: Challenges and Opportunities
## 4 A Survey of In-Band SDN Control in SDN
### Network Bootstrapping
\begin{table}
\begin{tabular}{l l l l l} \hline \hline
**Article** & **Year** & **Key Features** & **Evaluation \& Tools** & **Available** & **Overall** \\  & & & & **Code?** & **contribution** \\ \hline
**[PERSON]** & & & & **Emulation: NOX/OVS/Linux namespaces/BT** & \\  & & & & network, ring and mesh networks & \\
**[PERSON]** et al. [80] & 2014 & Bootstrapping, routing and link failure & Real testbed: Proprietary controller/1 GE and 10 GE generic switches/Spire-leaf network & — & \\
**[PERSON]** et al. [6] & 2016 & Bootstrapping, routing, link failure & Emulation: Floodlight/OVS/Mininet/Fat tree & — & \\
**Heise** & & & & **Emulation: Ryu/OVS/Mininet/linear, ring and mesh networks** & — & \\  & & & & **Emulation: ODL, Floodlight/OVS/Fat-tree** & — & \\
**[PERSON]** et al. [81] & 2017 & Bootstrapping, routing and link failure & Emulation: ODL, Floodlight/OVS/Fat-tree network & — & \\
**[PERSON]** & & & & **Emulation: ONOS/OVS/Linear network** & — & \\
**Saduijaman** & 2018 & Bootstrapping, routing and link failure & Simulation: OMNeT++ & — & \\  & & & & **Emulation: OMNeT++; Emulation: ONOS/ & \\
**[PERSON]** & 2020 & Bootstrapping, routing and link failure & Simulation: OMNeT++; Emulation: ONOS/ & \\  & & & & **BOFUS/Waxman, Barabasi-Albert networks** & ✓(GitHub) & \\
**[PERSON]** & 2020 & Bootstrapping, routing and link failure & Emulation: ODL/OVS/line, star, ring, mesh networks & ✓(GitHub) & \\
**Silva-Freitas** & 2020 & Bootstrapping and routing & Analytical model & — & \\
**[PERSON]** et al. [89] & 2021 & Bootstrapping & Emulation: [PERSON]/OVS, Mininet/Fat tree network & — & \\
**[PERSON]** et al. [90] & 2021 & Bootstrapping and routing & Emulation: OVS & — & \\
**[PERSON]-** & & & & **Emulation: ONOS/BOFUS/Waxman, Barabasi-Albert networks** & ✓(GitHub) & \\
**[PERSON]** et al. [91] & 2022 & Bootstrapping, routing, link failure & Emulation: BMv2/Testbed/P4 Runtime & ✓(GitHub) & \\
**[PERSON]** et al. [92] & 2023 & Bootstrapping, routing, link failure & Emulation: BMv2/Testbed/P4 Runtime network & ✓(GitHub) & \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Summary table of in-band proposals that support network boostrapping. connections from congested links, as through the OVSDB protocol, they send rules to OVS switches. They test it on a fat-tree network with ODL and Floodlight, proving recovery times that range from 0 to 5 s (faster than using stand-alone OVS, without OVSDB). **[PERSON]** et al. [83] propose a technique to set up in-band control connections for dynamic environments like defense and emergency networks. They split the bootstrapping process into three steps: (1) to identify and register the new switches, (2) to set up flow rules on intermediate switches to enable a control channel, and (3) to discover and maintain the link topology database. Step 1 can be done using a registration protocol such as ARP or DHCP. In step 2, the connection is set up starting from the switch using either TCP or Transport Layer Security (TLS). The necessary flow rules on the intermediate switches must be preinstalled by the controller. Finally, for step 3, they propose to use a standard protocol like LLDP. They test their proposal using ONOS and OVS. However, they only check the case of a link failure but do not take into account the case of a node failure. **[PERSON]** et al. [84] propose a protocol for bootstrapping and routing in-band control connections, with a reactive approach for multiple link failure recovery. The only drawback is that controller-to-switch communication is source-routed, which increases packet overhead and should be improved for scalability reasons. **[PERSON]** et al. [85; 86] present Amaru, an in-band protocol that provides bootstrapping and scalable shortest path routing for SDN networks, as well as multiple protection routes for link failures that guarantee very low fault recovery times with almost no overhead.