[发明专利]一种多虚拟机应用的数据过滤方法有效
申请号: | 200910083891.0 | 申请日: | 2009-05-11 |
公开(公告)号: | CN101599966A | 公开(公告)日: | 2009-12-09 |
发明(设计)人: | 曾宇;方信我;郑臣明;杜哲峰;吴平 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56;H04L12/46;H04L12/02 |
代理公司: | 北京安博达知识产权代理有限公司 | 代理人: | 徐国文 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 应用 数据 过滤 方法 | ||
技术领域
本发明涉及一种高速网卡的数据包过滤方法,具体涉及一种多虚拟机应用 的高速网卡的数据包硬件过滤方法。
背景技术
在服务器网卡的虚拟化应用中,需要通过虚拟化层软件实现物理网卡的共 享,使每个虚拟机都认为自己是独占这块物理网卡的。这就需要实现对数据包 的过滤及路由来保证每个虚拟机都能正确接收到发给自己的数据包。目前,很 多网卡数据包的过滤和路由都是通过驱动软件和虚拟化层的软交换来实现的, 内存数据移动开销、操作系统切换开销、上层软件开销非常大,特别是通信负 荷比较重的情况下系统的性能很差。由此引入的开销占用大量的CPU资源,明 显降低系统的I/O通讯性能,也使得数据包的响应时间增长,如图1所示。正 是由于这样才使得服务器网卡越来越成为虚拟化网络部署的瓶颈。
发明内容
为了解决上述问题,降低系统资源的占用和CPU的使用率,缩短数据包处 理响应时间,本发明提供了一种多虚拟机应用网卡的数据过滤传输方法,其改 进在于:所述网卡上设有FPGA和网卡内存模块,所述FPGA包括过滤通道、数 据通道、接收控制器和寄存器模块,所述过滤通道包括信息提取模块、目的MAC 地址过滤模块、VLAN过滤模块、管理过滤模块和紧急中断过滤模块,所述网卡 内存模块中为每个虚拟机创建一个虚拟机队列,所述方法采用如下步骤:
A、网卡的MAC模块收到数据包以后,将数据包同时发送到过滤通道和数据 通道。
B1、所述数据通道对数据包数据进行拼接,将MAC模块接收到的8位宽的 数据包数据拼接成128位宽,并在接收控制器中给出相应虚拟机队列地址。
B2、所述过滤通道对收到的数据包进行过滤,首先通过信息提取模块提取 数据包目的MAC地址,然后通过目的MAC地址过滤模块对数据包的目的MAC地 址进行过滤判断,并根据数据包的目的MAC地址过滤判断结果对数据包进行滤 过处理;
所述数据包目的MAC地址包括:单播地址、组播地址和广播地址,所述单 播地址数据包的过滤处理步骤包括:先将用单播地址数据包的MAC地址与管理 MAC地址寄存器内预设的MAC地址信息进行比较,判断该数据包是否为管理包, 是管理包的单播地址数据包直接进入管理过滤模块,否则通过HASH算法计算出 所述单播地址数据包MAC地址的HASH值,根据所述HASH值判断是通过还是丢 弃,通过的单播地址数据包进入VLAN过滤模块,所述VLAN过滤模块根据单播 地址数据包的VLAN信息判断是通过还是丢弃,通过的单播地址数据包进入管理 过滤模块,所述管理过滤模块对单播地址数据包进行checksum校验和决定过滤, 通过checksum校验和决定过滤的单播地址数据包发送到相应的虚拟主机,所述 决定过滤是将单播地址数据包的管理VLAN值、TCP/UDP端口、ARP及IP地址信 息与主机中相应的寄存器内的预设信息进行比较判断是否通过;
所述广播地址数据包的过滤处理步骤包括:将所述广播地址数据包直接送 入管理过滤模块,所述管理过滤模块对所述广播地址数据包进行checksum校验 和决定过滤,通过checksum校验和决定过滤的广播数据包发送到相应的虚拟主 机队列中;
所述组播地址数据包过滤处理步骤包括:将所述组播地址数据包直接送入 管理过滤模块,所述管理过滤模块根据上层驱动设定的组播寄存器内预设的组 播过滤算法判断组播地址数据包是否通过,通过的组播地址数据包直接发送到 相应的虚拟主机队列中;
C、所述接收控制器将拼接后的数据包根据过滤结果发送到相应的虚拟机 队列中,并且在一个数据包完成发送操作后将所述数据包对应的描述符写入到 相应虚拟机队列预留的位置,当所述数据包的数据和对应的描述符都写到网卡 内存模块中后根据MAC模块的good/bad frame信号及过滤结果对各个虚拟机队 列的状态进行修改,保证上层主机能正确接收到有用的数据包。
本发明进一步优选技术方案为:所述虚拟机应用的数据过滤传输方法的步 骤B2中,所述过滤通道还设有紧急中断过滤模块,所述紧急中断模块预设有紧 急中断信息条件值,当数据包的TCP端口号,数据包长度符合所述中断信息条 件值时,所述紧急中断模块将所述数据包立即上传并触发中断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910083891.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种制造装配式凸轮轴的装配机
- 下一篇:一种用于异型坯连铸机中间包的导流板
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置