[发明专利]一种多虚拟机应用的数据过滤方法有效
申请号: | 200910083891.0 | 申请日: | 2009-05-11 |
公开(公告)号: | CN101599966A | 公开(公告)日: | 2009-12-09 |
发明(设计)人: | 曾宇;方信我;郑臣明;杜哲峰;吴平 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56;H04L12/46;H04L12/02 |
代理公司: | 北京安博达知识产权代理有限公司 | 代理人: | 徐国文 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种多虚拟机应用的高速网卡的数据包硬件过滤方法,在网卡采用FPGA和DDR2的硬件结构,在硬件中对接收到的数据包进行单播过滤、组播过滤、广播过滤、VLAN过滤、IP地址过滤、端口过滤、ARP过滤及硬件checksum,根据过滤结果将数据包送到不同的虚拟机硬件队列,并通过并行数据通道策略来保证数据线速传输,可以在多虚拟应用的情况下减少虚拟机平台软交换对系统CPU资源的消耗,降低CPU使用率,通过硬件过滤可以大大提高数据包的过滤速度,提高数据包传输速率。 | ||
搜索关键词: | 一种 虚拟机 应用 数据 过滤 方法 | ||
【主权项】:
1、一种多虚拟机应用网卡的数据过滤传输方法,其特征在于:所述网卡上设有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信号及过滤结果对各个虚拟机队列的状态进行修改,保证上层主机能正确接收到有用的数据包。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910083891.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种制造装配式凸轮轴的装配机
- 下一篇:一种用于异型坯连铸机中间包的导流板
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置