Failure recovery has been a hot potato in the maintenance of networks, including software defined networks (SDNs), for many years. To guarantee the network availability in SDNs, some delicate schemes and algorithms have been proposed to pre-compute and set up the backup paths for potential network failures. However, they are generally unpractical for deployment, since they ignore either the failure recovery requirements of different flows or the constrained resources (e.g., flow tables) of SDN switches.In this paper, we propose BOND, a flexible failure recovery system in SDNs. Firstly, we allocate backup rules, instead of backup paths, to forwarding switches with flows’ requirements considered. Secondly, we accelerate the failure recovery with a global hash table and precisely select backup paths to avoid potential congestions in the post-recovery network. To demonstrate the efficiency of BOND, we construct comprehensive experiments with real-world topologies. The results show that compared with Multi-Protocol Label Switching (MPLS) Fast Reroute (FRR), BOND consumes an order of magnitude less memory to achieve the same network recovery goal. Further, we implement BOND with five HUAWEI S5720 SDN switches, two Dell end hosts and a RYU controller. The prototype experiments of this real network implementation further confirm the efficiency of BOND.
Read full abstract