● 摘要
SDN作为新型网络体系结构,正在快速发展。学术界和工业界的研发重点都从集中式SDN控制器转向到分布式SDN控制器。分布式存储技术作为分布式SDN控制器的关键支撑件技术,其主要解决SDN控制器中网络状态数据分布式存储的核心问题。SDN控制器通过分布式存储系统来存储大量网络状态信息,形成统一的网络拓扑视图,透明承载网络应用。可以看出,研究面向SDN控制器的分布式存储关键技术具有重要意义。
本论文提出了面向SDN控制器的分布式存储关键技术研究与实现方案,主要的研究内容和成果如下:
1)基于Actor模型的分布式内存存储技术
针对SDN控制器的高性能、可扩展性、高可用性的需求,提出了一种基于Actor模型的分布式内存存储架构。将分布式存储按照功能执行单元划分为细粒度的Actor,提高了系统的并行度;按照Key值对Actor分片来解决数据分布的问题,提升了系统的可扩展性;基于指令流备份和定时快照,使得系统中的每个Actor可以通过历史快照和事件重放来重建内部状态,以保证高可用性。测试表明,本论文设计的分布式存储系统比Infinispan的写入延时降低了13%,提升了分布式存储的性能。
2)基于发布订阅机制的响应式通知技术
针对SDN控制器感知数据实时性变化的需求,通过分布式存储系统提供基于发布订阅机制的响应式通知技术来使得网络应用间解耦,可以灵活的开发和部署。在对比了基于Gossip协议的订阅信息维护方法的基础上,提出了基于Sharding分片的订阅信息维护方法,保证了订阅者接收的消息有序,同时避免了Gossip协议同步的复杂性,提高了发布订阅系统的可扩展性。测试表明,本论文设计的基于发布订阅机制的通知技术比Infinispan的异步通知的吞吐提高了11%。
3)基于分布式存储的SDN控制器原型系统
基于本论文研发的分布式存储系统,设计SDN控制器原型系统,开发了交换机管理、链路管理、主机管理和BGP路由协议处理等核心应用。SDN场景下的控制器和网络应用可以有效分布式化,满足了网络状态存储的需求,验证了本文中设计的分布式存储系统可以有效支撑SDN场景,提高应用的性能。