本发明专利技术涉及用于为联网设备虚拟化而卸载分组处理的方法、系统和计算机程序产品。主机维护用于虚拟机的规则集,并且物理网络接口卡(NIC)维护用于该虚拟机的流表。该物理NIC接收并处理与该虚拟机相关联的网络分组。处理该网络分组包括该物理NIC将该网络分组与该物理NIC处的流表相比较。当该网络分组与该物理NIC处的流表中的流相匹配时,该物理NIC基于该匹配流对该网络分组执行动作。或者,当该网络分组不与该物理NIC处的流表中的流相匹配时,该物理NIC将该网络分组传递至该主分区以对照该规则集进行处理。
【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】本专利技术涉及用于为联网设备虚拟化而卸载分组处理的方法、系统和计算机程序产品。主机维护用于虚拟机的规则集,并且物理网络接口卡(NIC)维护用于该虚拟机的流表。该物理NIC接收并处理与该虚拟机相关联的网络分组。处理该网络分组包括该物理NIC将该网络分组与该物理NIC处的流表相比较。当该网络分组与该物理NIC处的流表中的流相匹配时,该物理NIC基于该匹配流对该网络分组执行动作。或者,当该网络分组不与该物理NIC处的流表中的流相匹配时,该物理NIC将该网络分组传递至该主分区以对照该规则集进行处理。【专利说明】为联网设备虚拟化卸载分组处理背景1.背景和相关技术计算机系统及相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已转变了人们生活和工作的方式。现在,计算机系统通常执行在计算机系统出现以前手动执行的许多任务(例如,文字处理、日程安排、帐目管理等)。最近,计算机系统彼此耦合并耦合到其他电子设备以形成计算机系统及其他电子设备可在其上传输电子数据的有线和无线计算机网络。因此,许多计算任务的执行分布在多个不同的计算机系统和/或多个不同的计算环境中。一些计算机系统被配置成提供用于托管(host) —个或多个虚拟机的虚拟化环境。例如,并行虚拟化执行环境包括管理程序(hypervisor)。管理程序提供父分区和一个或多个子分区(即虚拟机)。父分区被配置成运行主操作系统并管理虚拟栈。每个子分区被配置成运行相应的客操作系统。管理程序还提供使子分区能够通过客操作系统内运行的虚拟设备(驱动器)访问物理设备的软件接口。虚拟化中的一个常见场景是管理虚拟化主机计算机系统处执行的虚拟机间的网络分组,以及管理这些虚拟机以及在主机计算机系统远程的计算机系统之间流动的网络分组。如此,主操作系统处的虚拟化栈可包括联网虚拟栈或虚拟交换机。虚拟交换机被配置成截取、检查以及操纵在各虚拟机间的连接中通信的网络分组。然而,这样做可能是低效的,因为这导致主操作系统和客操作系统之间的频繁而昂贵(例如,在CPU使用方面)的上下文切换。虚拟化的最近的发展已经是单根(single-root) I/O虚拟化(SR1V)。SR1V是外围组件互连快速(PCIe)总线体系结构的扩展,其使PCIe设备能够直接与父分区和子分区通信。如此,SR1V使得PCIe设备能够将其自身直接暴露于虚拟机(通过管理程序)。例如,遵循SR1V的物理网络接口卡(NIC)可向主分区呈现一物理功能并向相应的子分区呈现一个或多个虚拟功能。主操作系统随后可包括与物理功能通信的物理功能驱动器,且每个客操作系统可执行与相应的虚拟功能通信的虚拟功能驱动器。物理NIC随后可直接与客操作系统传递网络分组(绕过主操作系统),这可以大大改善网络性能。尽管SR1V带来了优点,然而在虚拟化环境中的网络分组处理领域中仍存在某些低效。简要概述本专利技术涉及用于为网络设备虚拟化卸载分组处理的方法、系统和计算机程序产品。例如,本专利技术的实施例提供一种通用网络分组规则和流模型,其使在虚拟机主机处的网络分组处理的一部分能够从主机卸载到物理NIC。具体而言,本专利技术的实施例使得父分区(即,主操作系统)处的一个或多个流表中的所有或部分能够被卸载到物理NIC。这样做使得物理NIC能够根据定义的规则执行分组处理,同时提高虚拟机环境中的网络分组处理的性能。在一些实施例中,一种用于在计算机系统处执行的虚拟机处理网络分组的方法包括主分区维护用于虚拟机的一个或多个规则集。该方法还包括物理NIC维护用于该虚拟机的一个或多个流表。物理NIC接收与该虚拟机相关联的网络分组,并且为该虚拟机处理该网络分组。处理该网络分组包括该物理NIC将该网络分组与该一个或多个流表相比较。当该网络分组与该一个或多个流表中的流相匹配时,该物理NIC基于匹配流对该网络分组执行动作。替代地,当该网络分组不与该一个或多个流表中的流相匹配时,该物理NIC将该网络分组传递到主分区以对照该一个或多个规则集进行处理。在其他实施例,一种用于为在该计算机系统处执行的虚拟机处理网络分组的方法包括虚拟交换机维护用于虚拟机的一个或多个规则集并且还维护用于该虚拟机的一个或多个流表。该虚拟交换机将该一个或多个流表的至少一部分卸载到该物理NIC。该虚拟交换机为该虚拟机处理网络分组。处理网络分组包括该虚拟交换机从该虚拟机或该物理NIC之一接收该网络分组,且该虚拟机将该网络分组与该一个或多个规则集中的规则相匹配。基于将该网络分组与该规则相匹配,该虚拟交换机在该一个或多个流表中创建流并且将该流卸载到该物理NIC。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。本专利技术的附加特征和优点将在以下描述中叙述,并且其一部分根据本描述将是显而易见的,或者可通过对本专利技术的实践来获知。本专利技术的特征和优点可通过在所附权利要求书中特别指出的工具和组合来实现和获得。本专利技术的这些以及其它特征、优点和特征将根据以下描述和所附权利要求而变得更显而易见,或者可通过如此后阐述的对本专利技术的实践而获知。附图简述为了描述可获得本专利技术的上述和其他优点和特征的方式,将通过参考附图中示出的本专利技术的具体实施例来呈现以上简要描述的本专利技术的更具体描述。可以理解,这些附图仅描述本专利技术的典型实施例,从而不被认为是对其范围的限制,本专利技术将通过使用附图用附加特征和细节来描述和说明,在附图中:图1图解促进为联网设备虚拟化而将分组处理卸载到物理NIC的示例计算机体系结构。图2图解用于为在该计算机系统处执行的虚拟机处理网络分组的示例方法的流程图。图3图解用于为在该计算机系统处执行的虚拟机处理网络分组的替代示例方法的流程图。图4图解促进为联网设备虚拟化而将分组处理卸载到物理NIC的替代计算机体系结构。图5图解包括示例多层虚拟交换机的层的示例计算机体系结构。详细描述本专利技术涉及用于为联网设备虚拟化而卸载分组处理的方法、系统和计算机程序产品。例如,本专利技术的实施例提供一种通用网络分组规则和流模型,其使在虚拟机主机处的网络分组处理的一部分能够从主机卸载到物理NIC。具体而言,本专利技术的实施例使得父分区(即,主操作系统)处的一个或多个流表中的所有或部分能够被卸载到物理NIC。这样做使得物理NIC能够根据定义的规则执行分组处理,同时提高虚拟机环境中的网络分组处理的性能。在一些实施例中,一种用于在计算机系统处执行的虚拟机处理网络分组的方法包括主分区维护用于虚拟机的一个或多个规则集。该方法还包括物理NIC维护用于该虚拟机的一个或多个流表。物理NIC接收与该虚拟机相关联的网络分组,并且为该虚拟机处理该网络分组。处理该网络分组包括该物理NIC将该网络分组与该一个或多个流表相比较。当该网络分组与该一个或多个流表中的流相匹配时,该物理NIC基于匹配流对该网络分组执行动作。替代地,当该网络分组不与该一个或多个流表中的流相匹配时,该物理NIC将该网络分组传递到主分区以对照该一个或多个规则集进行处理。在其他实施例,一种用于为在该计算机系统处执行的虚拟机处理网络分组的方法包括虚拟交换机维护用于虚拟机的一个或多个规则集并且还维护用于该虚拟机的一个或多个流表。该虚拟交本文档来自技高网...
【技术保护点】
在包括一个或多个处理器和系统存储器的计算机系统处,所述计算机系统还包括物理网络接口卡(NIC)并执行主分区,一种用于为在所述计算机系统处执行的虚拟机处理网络分组的方法,所述方法包括:所述主分区维护用于虚拟机的一个或多个规则集的动作;所述物理NIC维护用于所述虚拟机的一个或多个流表的动作;以及所述物理NIC接收与所述虚拟机相关联的网络分组的动作;为所述虚拟机处理所述网络分组的动作,包括:所述物理NIC将所述网络分组与所述一个或多个流表相比较的动作,以及在所述网络分组与所述一个或多个流表中的流相匹配时,所述物理NIC基于匹配流对所述网络分组执行动作的动作,或者在所述网络分组不与所述一个或多个流表中的流相匹配时,所述物理NIC将所述网络分组传递至所述主分区以对照所述一个或多个规则集进行处理的动作。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:Y·左,D·M·弗尔斯通,A·G·格林伯格,H·乔,Y·邓,B·W·塔特尔,P·加格,
申请(专利权)人:微软公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。