一种多虚拟机应用的数据过滤方法技术

技术编号:3847412 阅读:172 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种多虚拟机应用的高速网卡的数据包硬件过滤方法,在网卡采用FPGA和DDR2的硬件结构,在硬件中对接收到的数据包进行单播过滤、组播过滤、广播过滤、VLAN过滤、IP地址过滤、端口过滤、ARP过滤及硬件checksum,根据过滤结果将数据包送到不同的虚拟机硬件队列,并通过并行数据通道策略来保证数据线速传输,可以在多虚拟应用的情况下减少虚拟机平台软交换对系统CPU资源的消耗,降低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校验和决定过滤的广播数据包发送到相应的虚拟主机队列中; 所述组播地址数据包过滤处理步骤包括:将所述组播地址数据包直接送入管理过滤模块,所述管理过滤模块根 据上层驱动设定的组播寄存器内预设的组播过滤算法判断组播地址数据包是否通过,通过的组播地址数据包直接发送到相应的虚拟主机队列中;...

【技术特征摘要】

【专利技术属性】
技术研发人员:曾宇方信我郑臣明杜哲峰吴平
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利