[发明专利]一种基于FPGA的面向虚拟机的数据传输和路由方法有效

专利信息
申请号: 200910082572.8 申请日: 2009-04-27
公开(公告)号: CN101540764A 公开(公告)日: 2009-09-23
发明(设计)人: 郑臣明;曾宇;石旭;方信我;吴平 申请(专利权)人: 曙光信息产业(北京)有限公司
主分类号: H04L29/06 分类号: H04L29/06;H04L12/56
代理公司: 北京安博达知识产权代理有限公司 代理人: 徐国文
地址: 100084*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 fpga 面向 虚拟机 数据传输 路由 方法
【说明书】:

技术领域

发明涉及虚拟化应用中的网络数据传输,具体涉及一种FPGA硬件与虚拟机路由的方 法。

背景技术

虚拟化是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管 理,优化资源的解决方案,这种把有限的固定的资源根据不同需求进行重新规划以达到 最大利用率的思路,在IT领域就叫做虚拟化技术。虚拟化技术可以扩大硬件的容量, 简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一 个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影 响,从而显著提高计算机的工作效率。但随着虚拟机数目的增多,软交换的处理速度就会 成为网络通讯的瓶颈,在10G以太网中,软交换的实际吞吐率只能达到全速的40%左右。

在虚拟机网络应用领域,一直以来以VMware的软交换作为主要手段,各个虚拟机与网 卡NIC之间的数据交换和路由均由VMware中的VMM Switch(软件层)完成,Switch将接 收到的数据包按照不同的虚拟机编号(MAC地址)进行分派,这样接收到的数据包就会按照 正确的路径送达各个虚拟机。VMSware作为路由和分派的软件,所有的数据都要经过软件来 进行交换,当数据量大时软件的交换模块就会出现堵塞,必然要消耗大量的CPU资源和内存 资源同时,进而妨碍网卡对数据的吞吐率。

如图1所示,现有技术使用的Xen软件工作原理图中,在网卡和驱动模块之间有一个Xen 管理模块完成中断响应工作,然后,将数据交给驱动模块中的设备驱动模块进行处理接收这 一数据包,然后接收到的数据包传给网桥模块,网格模块完成网桥的工程,就是所谓的交换 的功能:将不同虚拟机的数据包发送给不同的寄存模块,由于所有的数据都要经过网桥模块, 所以一旦数据量增大,其中网桥处理数据就会出现堵塞现象,耗费大量资源,网桥出现不能 胜任的情况,网卡对内外数据的交换就会受到阻碍。

发明内容

为了克服软件数据交换存在的问题,本发明提供一种利用FPGA硬件对虚拟机进行数据交 换和路由的办法,采用方案如下:

一种利用FPGA对虚拟机进行数据包交换和路由的方法:所述FPGA包括:MAC模块、 内存模块、PCIe、网络滤波器、DMA控制器、协议处理器、描述器;特征在于,所述方法 采用如下步骤:

A、首先协议处理器为主机上每一个虚拟机创建一组数据队列并存放在内存模块中,其 中每组数据队列存放相应的虚拟机编号,所述协议处理器对每组数据队列进行维护;

B、网卡接收到的网络数据由网卡PHY传给MAC模块,由MAC模块完成数据包的重 组后传给网络滤波器;

C、网络滤波器对接收的数据包进行过滤并按照不同的虚拟机进行分派并将处理后的数 据传给协议处理器;

D、协议处理器将网络滤波器送来的数据以及每个虚拟机要发送的数据都分别放到内存 模块每个虚拟机对应的数据队列中;

E、描述器负责从各虚拟机读取描述符以及向虚拟机写回描述器并将结果传给协议处理 器,协议处理器按照描述器的结果来决定触发与各虚拟机的交互动作,将内存模块队列中的 数据通过DMA控制器和PCIe 2.0模块写回对应的虚拟机或者从对应的虚拟机读取数据或者 向网卡传送数据;

本方案的另一优选方式:所述FPGA的初始配置信息存放在EEPROM模块中,所述 EEPROM模块与PCIe模块连接。

本方案的再一优选方式:所述C步骤中,网络滤波器还连接有SMBUS,由SMBUS对 FPGA实现远程控制。

采用本方案这种方法,将原来在VMware软件中所做的软件交换和路由的工作放到了硬件 内部来完成,完全解放了CPU的操作,同时由于硬件级别的处理速度远高于软件层次的处理 速度,所以大大提高了数据交换和路由速度,同时降低了数据的响应时间。

附图说明

图1本方法中所采用的FPGA示意图

图2本方法与现有技术的效果对比示意图

具体实施方式

本发明在现有技术的基础中利用寄存模块直接通过Xen管理模块访问硬件,也就是不经过 驱动模块这样的一个思路,在FPGA上进行上述模式的硬件与各虚拟机之间进行数据交换和路 由,不同的虚拟机对应不同的数据队列,接收到的数据包按照不同的虚拟机进行放置,以实 现交换和路由的目的。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910082572.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top