虚拟交换机Open vSwitch的核心态研究及硬件实现

虚拟交换机Open vSwitch的核心态研究及硬件实现

论文摘要

近年来,随着云计算数据中心技术的发展,虚拟化技术得到了广泛的应用,越来越多的公司或组织将自己的应用或服务部署在数据中心的虚拟机中,以虚拟机为单位进行管理并提供服务,这种虚拟化技术优点是可以整合服务器、提高服务器利用率,同时提高业务的连续性和弹性。但是,虚拟化技术同时也给数据中心的部署带来了新的挑战,即如何解决数据中心网络边缘虚拟机之间的通信问题。为了解决数据中心网络边缘虚拟机之间的通信问题,业界提出了VEB(Virtual Ethernet Bridge)机制,VEB机制的观点是在数据中心网络边缘物理结点内部部署虚拟交换机来解决数据中心网络边缘的通信问题。在数据中心服务器中以纯软件方式实现的VEB叫做vSwitch(虚拟交换机),如开源虚拟交换机Open vSwitch就是这类产品。vSwitch一般工作在系统的VMM (Virtual Machine Monitor)层,具有较好的数据包转发性能,能够在本地完成本地虚拟机之间的通信。但是由于运行时受到系统CPU、内存带宽等资源的限制,vSwitch也存在一些缺点,当系统可用资源较少时vSwitch对数据包的处理效率会比较低,而当系统可用资源比较多时,如果虚拟机之间有大量流量需要处理,vSwitch处理数据包时将会占用大量系统资源,影响宿主主机的资源分配弹性。随着数据中心中业务流量的增加,虚拟机之间的通信的数据流量越来越大,vSwitch的缺点导致其难以满足数据中心中虚拟机之间通信流量快速增加的要求,而且vSwitch过多的消耗宿主主机的系统资源也会对数据中心造成影响,无法满足数据中心发展要求。针对vSwitch运行时的缺点,本文以开源的虚拟交换机Open vSwitch作为vSwitch的研究对象,对vSwitch进行了研究分析。Open vSwitch分为用户态及核心态,其核心态是完成数据包处理的关键部分,影响着整体数据包处理性能,当有大量数据包需要处理时,核心态的工作机制也会导致其占用大量资源。针对以上分析,本文提出了使用硬件方式实现Open vSwitch核心态功能的方案,希望通过硬件加速数据包的处理。本文以NetFPGA为硬件基础,在NetFPGA中实现Open vSwitch核心态功能以替换Open vSwitch原有部分功能,并将Open vSwitch用户态与NetFPGA实现的核心态结合。最后通过对修改后的系统与原有的Open vSwitch性能及资源消耗的对比,验证了修改后的系统在性能及资源消耗方面的优势。

论文目录

  • 摘要
  • ABSTRACT
  • 缩略语
  • 第一章 绪论
  • 1.1 研究背景
  • 1.2 本文贡献
  • 1.2.1 面临的挑战及提出的问题
  • 1.2.2 本文的研究方法及解决方案
  • 1.3 本文组织结构
  • 1.4 本章小结
  • 第二章 NetFPGA平台工作原理研究及分析
  • 2.1 NetFPGA平台简介
  • 2.2 NetFPGA的硬件结构及平台组成
  • 2.2.1 NetFPGA的硬件结构
  • 2.2.2 NetFPGA平台组成
  • 2.3 NetFPGA硬件参考设计
  • 2.3.1 参考路由器简介
  • 2.3.2 参考路由器功能模块研究分析
  • 2.4 NetFPGA硬件设计中的关键技术
  • 2.4.1 总线设计
  • 2.4.2 流水线技术
  • 2.4.3 数据包帧格式
  • 2.5 本章小结
  • 第三章 Open vSwitch工作机制研究及源码分析
  • 3.1 Open vSwitch简介
  • 3.2 Open vSwitch的整体结构
  • 3.3 Open vSwitch核心态
  • 3.3.1 Open vSwitch流表
  • 3.3.2 核心态工作机制及代码分析
  • 3.4 Open vSwitch用户态
  • 3.4.1 Open vSwitch用户态的重要结构体
  • 3.4.2 Open vSwitch用户态工作机制及源码分析
  • 3.5 Open vSwitch用户态与核心态通信
  • 3.6 本章小结
  • 第四章 Open vSwitch核心态的NetFPGA设计与实现
  • 4.1 Open vSwitch核心态功能分析
  • 4.2 Open vSwitch核心态的NetFPGA模块设计
  • 4.2.1 核心态功能NetFPGA实现的整体设计方案
  • 4.2.2 NetFPGA各功能模块设计及实现
  • 4.3 本章小结
  • 第五章 Open vSwitch用户态与硬件核心态结合
  • 5.1 问题分析
  • 5.2 Open vSwitch用户态与NetFPGA核心态结合的方案与实现
  • 5.2.1 向NetFPGA发送截获到的数据包
  • 5.2.2 NetFPGA向系统上层发送的数据包的处理
  • 5.2.3 流表内容的添加
  • 5.3 本章小结
  • 第六章 实验和测试
  • 6.1 测试方法及环境
  • 6.2 本地虚拟机间通信的性能测试及分析
  • 6.2.1 宿主主机系统资源丰富情况
  • 6.2.2 宿主主机系统资源匮乏情况
  • 6.3 本地虚拟机与外部主机通信的性能测试及分析
  • 6.4 测试结果总结分析
  • 6.5 本章小结
  • 第七章 总结与展望
  • 7.1 本文工作总结
  • 7.2 今后工作展望
  • 参考文献
  • 致谢
  • 攻读学位期间发表的学术论文和科研情况
  • 相关论文文献

    标签:;  ;  

    虚拟交换机Open vSwitch的核心态研究及硬件实现
    下载Doc文档

    猜你喜欢