基于Zookeeper的SDN多控制器架构的研究与实现
发布时间:2018-08-03 13:10
【摘要】:当前,网络已经成为人类社会的一项重要的基础设施,对推动社会发展与技术进步起着十分重要的作用。但是随着网络规模的不断扩大以及网络应用的不断增多,传统网络架构已经越来越不能满足当今企业、运营商以及用户的需求。特别是到了云计算时代,数据中心的多租户、虚拟机迁移等业务对网络虚拟化的要求越来越高。以OpenFlow为代表的SDN(Software Defined Network)技术将网络分为数据平面和控制平面,数据平面主要负责数据的转发,而控制平面则负责制订相应的转发策略。这种控制和转发分离的架构使控制层摆脱了对网络设备的依赖,提供了灵活、便捷的可编程能力。SDN使用集中控制使其很容易实现资源池化,动态按需调度使用,并能更好地弹性扩展。同时,其开放的API,即南向和北向接口,可以催生产业链,推动整个产业的快速发展。SDN架构中,控制器极为重要,但控制能力的集中化,也意味着如果控制层可扩展性或者可靠性达不到要求,随之而来的将是全网的服务能力的降级甚至是瘫痪。随着近两年SDN技术由“概念”向“落地”转型,多控制器的设计成为其实现工业部署的核心问题之一。本文研究了多控制器系统在设计过程中多个方面所面临的问题与应该权衡的设计原则,对比了多种已有的方案和理论模型。本文提出了一种使用Zookeeper进行集群管理的多控制器架构,使用Ryu作为控制器,使用OpenVswitch作为OpenFlow交换机。在本文提出的架构中,控制器之间状态交由Zookeeper管理,全网视图信息也由Zookeeper服务器维护。每台交换机都连接多个控制器,在其主控制器失效的情况下,其他控制器可接管交换机,从而避免了单一控制器造成的单点故障,同时,相比于早期的单一控制器控制整个Open Flow网络的架构,多台控制器协同工作也有效减轻了每台控制器的负载。控制器可以动态添加,将全网拓扑信息交由Zookeeper统一管理,利用分布式系统的锁定方式实现分布互斥的选举算法,实现了控制器失效应付机制。最后,本文对实现的多控制器架构进行了验证,并分析了本文架构的性能瓶颈,并对选举时间与控制器获取全网拓扑信息时间进行了测量。
[Abstract]:At present, the network has become an important infrastructure of human society, and plays a very important role in promoting social development and technological progress. However, with the expansion of network scale and the increasing of network applications, the traditional network architecture has become more and more unable to meet the needs of enterprises, operators and users. Especially in the cloud computing era, network virtualization is demanded more and more by multi-tenant and virtual machine migration in data center. The SDN (Software Defined Network) technology represented by OpenFlow divides the network into data plane and control plane. The data plane is mainly responsible for data forwarding, while the control plane is responsible for formulating the corresponding forwarding strategy. This architecture of separate control and forwarding enables the control layer to get rid of its dependence on network devices, and provides a flexible and convenient programmable capability. SDN uses centralized control so that it can easily pool resources and schedule on demand. And can better elastic expansion. At the same time, its open API, which is the interface between the south and the north, can give birth to the industrial chain and promote the rapid development of the whole industry. In the SDN architecture, the controller is extremely important, but the control ability is centralized. It also means that if the scalability or reliability of the control layer fails to meet the requirements, the service capability of the whole network will be degraded or even paralyzed. With the transformation of SDN technology from "concept" to "landing" in recent two years, the design of multi-controller has become one of the core problems in industrial deployment. In this paper, the problems and the design principles that should be weighed in the design process of multi-controller systems are studied, and various existing schemes and theoretical models are compared. In this paper, a multi-controller architecture using Zookeeper for cluster management is proposed. Ryu is used as controller and OpenVswitch is used as OpenFlow switch. In the architecture proposed in this paper, the state between controllers is managed by Zookeeper, and the view information of the whole network is maintained by the Zookeeper server. Each switch is connected to multiple controllers. In the event that its main controller fails, other controllers can take over the switch, thus avoiding a single point of failure caused by a single controller, at the same time, Compared with the early architecture of single controller controlling the whole Open Flow network, the cooperative work of multiple controllers can effectively reduce the load of each controller. The controller can be dynamically added, the topology information of the whole network is managed by Zookeeper, and the distributed mutex election algorithm is implemented by locking the distributed system, and the failure coping mechanism of the controller is realized. Finally, the implementation of the multi-controller architecture is verified, the performance bottleneck of the architecture is analyzed, and the election time and the time for the controller to obtain the topology information of the whole network are measured.
【学位授予单位】:兰州大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP393.02
本文编号:2161848
[Abstract]:At present, the network has become an important infrastructure of human society, and plays a very important role in promoting social development and technological progress. However, with the expansion of network scale and the increasing of network applications, the traditional network architecture has become more and more unable to meet the needs of enterprises, operators and users. Especially in the cloud computing era, network virtualization is demanded more and more by multi-tenant and virtual machine migration in data center. The SDN (Software Defined Network) technology represented by OpenFlow divides the network into data plane and control plane. The data plane is mainly responsible for data forwarding, while the control plane is responsible for formulating the corresponding forwarding strategy. This architecture of separate control and forwarding enables the control layer to get rid of its dependence on network devices, and provides a flexible and convenient programmable capability. SDN uses centralized control so that it can easily pool resources and schedule on demand. And can better elastic expansion. At the same time, its open API, which is the interface between the south and the north, can give birth to the industrial chain and promote the rapid development of the whole industry. In the SDN architecture, the controller is extremely important, but the control ability is centralized. It also means that if the scalability or reliability of the control layer fails to meet the requirements, the service capability of the whole network will be degraded or even paralyzed. With the transformation of SDN technology from "concept" to "landing" in recent two years, the design of multi-controller has become one of the core problems in industrial deployment. In this paper, the problems and the design principles that should be weighed in the design process of multi-controller systems are studied, and various existing schemes and theoretical models are compared. In this paper, a multi-controller architecture using Zookeeper for cluster management is proposed. Ryu is used as controller and OpenVswitch is used as OpenFlow switch. In the architecture proposed in this paper, the state between controllers is managed by Zookeeper, and the view information of the whole network is maintained by the Zookeeper server. Each switch is connected to multiple controllers. In the event that its main controller fails, other controllers can take over the switch, thus avoiding a single point of failure caused by a single controller, at the same time, Compared with the early architecture of single controller controlling the whole Open Flow network, the cooperative work of multiple controllers can effectively reduce the load of each controller. The controller can be dynamically added, the topology information of the whole network is managed by Zookeeper, and the distributed mutex election algorithm is implemented by locking the distributed system, and the failure coping mechanism of the controller is realized. Finally, the implementation of the multi-controller architecture is verified, the performance bottleneck of the architecture is analyzed, and the election time and the time for the controller to obtain the topology information of the whole network are measured.
【学位授予单位】:兰州大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP393.02
【相似文献】
相关期刊论文 前1条
1 李汝光;赵俊;;基于ZooKeeper的分布式缓存的设计与实现[J];绵阳师范学院学报;2011年11期
相关硕士学位论文 前1条
1 田心宁;基于Zookeeper的SDN多控制器架构的研究与实现[D];兰州大学;2016年
,本文编号:2161848
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/2161848.html