This Project was funded by the Science Foundation Ireland (SFI), https://www.sfi.ie/.
The framework has been evaluated by the SDN emulator "Mininet", http://mininet.org/ , with POX as a network operating system (controller), https://github.com/noxrepo/pox/.
Fig.1: Proposed framework components: the primary contribution of this paper lies in the Community Detection and the Path Anatomy blocks. Openflow is used on the southbound interface and POX APIs are used on the northbound interface. The framework components are labelled with the algorithms that describe their function.
In a path anatomy the sequence of routers that form the path can be partitioned into two sub-paths which have equal length. Recovery can be achieved by either reconfiguring the flow tables associated with the half of the path which contains the failure, or the link which has failed.
By dividing the network into N number of communities, we make the assumption that when a link failure event occurs, only one community will suffer from that particular failure. Therefore, the controller will need to update the only routers located in the affected community.
The network is modelled as an undirected graph G(V,E), hence, we utilised the NetworkX tool, https://networkx.github.io/, (version 1.11). In this demonstration, we provide as an example the European Reference network (ERnet) to represent the data plane topology. However, we provide three Brite simulated topologies that we generated via Waxman model.
Fig.4: Running community detection on the European Reference network topology (ERnet) yields five communities. Colours followed by pairs of integers denote the names of the communities and the number of inter and intra community links. For example the red community has 4 inter community links and 7 intra-community links, Red (4,7). The remaining communities are summarized: Blue (5,9), Green (4,8), Orange (8,10) and Yellow (4,6).
You will need to install the following:
- Mininet emulator
- POX controller
- NetworkX V.1.11
- FNSS simulator: https://fnss.github.io/ in order to convert Brite topologies into Mininet.
- igraph
If you use this framework or any of its code in your work then, please cite the following publication: "Rapid Restoration Techniques for Software-Defined Networks".
@article{malik2020rapid,
title={Rapid restoration techniques for software-defined networks},
author={Malik, Ali and de Fréin, Ruairí and Aziz, Benjamin},
journal={Applied Sciences},
year={2020},
publisher={MDPI}}
https://www.mdpi.com/2076-3417/10/10/3411