论文部分内容阅读
随着网络技术进一步普及和发展,给人们带来更好体验的网络业务越来越多,人们对网络带宽要求越来越高,作为通信网络核心设备的交换机或者路由器的性能是制约网络吞吐率的关键,为了支持用户的需求,交换机上部署的协议越来越多,设计越来越复杂,但由于网络设备的封闭特性,不同厂商设备相互独立,在已有网络上部署新的应用,实现自动化配置和网络流量实时操控越来越难。一种新的网络架构,软件定义网络,将交换机中的控制平面和数据平面解耦合,让网络变的更加灵活、可扩展,给网络管理提供了新的思路,其中Openflow协议是目前控制器与交换机之间最广泛被接受的通信协议。软件定义网络可实现对数据流转发策略的精确控制同时带来的代价是队列规模大大增加,在高速数据转发系统中,如何对海量数据流队列进行管理和调度,对于提高转发系统的性能具有重大的意义。本文结合本实验室承担的项目“软件定义网络数据转发系统架构及关键技术研究”,重点对支持100Gbps的高性能队列管理机制与多级队列调度算法进行了研究。首先介绍软件定义网络的研究背景以及发展现状,结合项目需求,在此基础上设计了一种基于Openflow协议的软件定义网络数据转发系统总体方案;其次,针对现有队列管理方案中存在入队和出队控制频繁切换或者入队出队并行情况下发生冲突,出队避让导致处理速度受限的问题,提出了一种并行无冲突的队列管理方案,该方案通过增加冲突检测,在不引入操作周期情况下修正冲突更新信息,保证了处理性能,每路队列调度最大支持速率为20Gbps;然后,设计实现了一种多级QoS调度机制,并改进实现了部分调度算法,解决了由于队列增加导致轮询周期过长,调度性能受限问题;最后,为了验证方案的正确性,一方面在Xilinx Vivado和Modelsim工具下综合仿真验证,并在Xilinx VC709 FPGA开发板上验证了部分功能,另一方面将该队列管理方案应用在10G HIMAC开发设计中,在该硬件平台下,进一步测试验证了队列管理方案正确性。