论文部分内容阅读
现今互联网正日益高速发展,当前的网络架构逐渐遇到发展瓶颈。尤其是随着网络虚拟化、云计算的大规模兴起,现存的网络设备及相关协议正成为阻碍其发展的因素。由于网络流量达到了以往难以企及的规模,并且当前以交换机为代表的网络交换设备的集成功能越来越庞大,导致交换机进一步提升性能所需要的成本极大增加。寻求一种新的网络架构及创新性的技术对于发展下一代互联网是迫在眉睫。OpenFlow于此种背景下诞生。OpenFlow是一种将网络交换设备上数据转发与控制功能分离的网络架构标准。目前对OpenFlow的研究仍在研究发展阶段,且应用场景仍然很少。不仅如此,现有OpenFlow交换设备以专用硬件为主,极其昂贵,亦不适合推广。而采用现今广泛使用的x86架构作为课题OpenFlow交换模块的架构基础,可以大幅降低硬件成本。此外,x86上开发环境非常成熟,适合扩展各类功能,最终易于推广部署。本课题所探讨研究的是在x86架构平台上实现OpenFlow软件交换机的交换模块。由于软件交换机性能低是主要缺陷,在网络数据包转发框架上,使用高速的netmap为基础进行扩展开发,以适应OpenFlow交换模块需要。本课题主要研究内容包括:分析OpenFlow标准、x86下网络数据包I/O框架分析、网络数据包提取、OpenFlow流表设计实现、流表匹配设计实现及匹配后对网络数据包的处理动作等一系列内容。本文将从以下几点进行撰文:1)总体背景介绍说明;2)OpenFlow及软件定义网络相关的介绍说明;3)x86架构下高速包转发框架的选择及netmap的介绍说明;4)课题模块的设计方案;5)课题模块的具体实现;6)模块测试检验;7)总结。