A fast consensus algorithm for multiple controllers in software-defined networks

Multiple SDN controllers architecture has been proposed to improve the scalability problem and to avoid a single point of failure. One major issue in the SDN multiple controllers architecture is how to reach a consistent network state among SDN controllers. In order to resolve the above issue and to make sure that all controllers have the same network state and the whole network becomes consistent, an efficient consensus mechanism to synchronize the control state of each controller is required. In view of this, we propose a Fast Paxos-based Consensus algorithm (FPC) which provides strong consistency. The proposed FPC uses a controller priority mechanism to guarantee a proposal must be elected in each round and no additional round is needed even more than two proposers get the same votes. Using Estinet, simulation results have shown that the proposed FPC has lower average consensus time (35.3% lower) than Raft. With a low consensus time, the proposed FPC can improve the data store access performance (26.0% faster at retrieving data and 59.7% faster at storing data via the REST API comparing with the Raft). Therefore, the proposed FPC is feasible for multiple SDN controller networks.