ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2017, Vol. 54 ›› Issue (5): 952-960.doi: 10.7544/issn1000-1239.2017.20160055

• 网络技术 • 上一篇    下一篇



  1. (国家数字交换系统工程技术研究中心 郑州 450002) (
  • 出版日期: 2017-05-01
  • 基金资助: 

Research on Improving the Control Plane’s Reliability in SDN Based on Byzantine Fault-Tolerance

Li Junfei, Hu Yuxiang, Wu Jiangxing   

  1. (National Digital Switching System Engineering & Technological R&D Center, Zhengzhou 450002)
  • Online: 2017-05-01

摘要: 软件定义网络(software defined network, SDN)提出了控制与转发分离的设计结构,实现了开放的可编程网络接口,为网络提供了更细粒度的管理.然而,SDN在为网络应用带来创新与便利的同时,也面临着一些新的问题.针对SDN网络中控制层的可靠性问题,提出了一种容忍拜占庭错误的方法.首先,结合SDN网络的特性,具体阐述了在应用拜占庭容错算法时的网络结构、工作流程和异常处理等,并对其中的多控制器位置部署问题建立分析模型;然后,针对该多控制器部署问题,设计了启发式求解算法;最后,通过仿真实验对该容错方法和部署算法进行验证.实验结果表明:该容错方法能够有效处理控制器中的错误,提高控制层的可靠性,但对系统的性能会造成一定程度的影响.同时,该部署算法能够有效降低处理OpenFlow请求的传输延迟.

关键词: 软件定义网络, OpenFlow, 拜占庭容错, 可靠性, 控制器部署

Abstract: Software defined network (SDN) proposes the architecture of separating the control logic and forwarding devices in networks, which brings the open API for freely programing and makes the network management more fine. However, while the centralized control of SDN brings innovation and convenience for network applications, it also brings other problems, for example the reliability problem and the scalability problem simultaneously. For the problem of control plane’s reliability in SDN, the method that voting deals with the same OpenFlow messages by combing multiple controllers to a quorum view is proposed to tolerate Byzantine faults, which is different from the current OpenFlow protocol. Firstly, we concretely explain the network structure, workflow and exception handling in the application of Byzantine fault-tolerance algorithm with the feature of SDN, and establish the analytical model of multi-controller’s deployment. Secondly, we design a heuristic algorithm to solve the problem of multi-controller’s deployment. Finally, to verify the fault tolerance method and deploy algorithms by simulation, experimental results show that this method can effectively deal with controllers’ faults, improving the reliability of the control layer, but it will sacrifice the system’s performance at some level. Meanwhile, the deployment algorithm can effectively reduce the transmission delay of processing OpenFlow request.

Key words: software defined network (SDN), OpenFlow, Byzantine fault tolerance, reliability, controllers’ deployment