论文部分内容阅读
虚拟化技术、分布式技术和云计算的蓬勃发展,对计算机网络体系结构提出了更高的要求。控制与转发高度耦合、静态分配网络资源、网络设备配置依赖手动的传统网络已越来越不能满足数据中心和运营商的网络需求。在这样的背景下,一种新型的网络体系结构SDN被提出。软件定义网络,通过分离控制平面和数据平面,提供了一种可编程控制、可动态调整和按需分配的新型网络配置方式。软件定义网络紧密地和虚拟化、云计算以及分布式联系在一起,因此SDN控制器本身需要成为一个能够进行动态网络配置的基础控制平台、能够保障网络配置稳定的分布式高可用平台以及可以按需被网络应用使用的可扩展平台。当下越来越多的系统采用小型机,使用分布式技术进行构建,构建的思想也经历了CAP到BASE的演变。一个高效率、高可用、可扩展的系统需要能够很好地应对高并发的请求,节点随时可能宕机的风险,以及未来可能需要扩展的需求。在这样的背景之下,在SDN控制器的构建过程中,Zookeeper作为一个不断发展和成熟的分布式协调框架,引入到控制器的高可用设计中。GBP(Group Based Policy)是一种新型的网络配置模型,通过组和策略的方式屏蔽了网络配置细节,赋予了网络更自动化的安全访问策略和更精细的服务链服务。通过对Zookeeper内部实现原理的研究和外部调用机制的实践,结合高可用控制器系统,实现了GBP系统的模型功能、集群管理、群首选举、数据同步、崩溃恢复等功能。SDN GBP系统的高可用设计与实现,详细阐述了SDN控制器中基于组和策略的新型网络配置方式的实现以及在具体的网络元素配置和下发过程中高可用的实现。在项目构建过程中,使用OSGi实现SDN控制器的模块化部署,使用RESTful提供一个统一的外部可扩展接口,使用Zookeeper搭建一个高可用的分布式平台。通过这些技术的研究和使用,实现了SDN控制器集群对高效率,高可用以及最终一致性的需求。