虚拟化环境中的网络过滤的制作方法

文档序号:7991237阅读:297来源:国知局
虚拟化环境中的网络过滤的制作方法
【专利摘要】本发明公开涉及虚拟化环境中的网络过滤。物理主机执行实例化至少一个虚拟机(VM)及虚拟输入/输出服务器(VIOS)的超级管理程序或虚拟机监视器(VMM)。VIOS通过参考策略数据结构来确定对于与VM网络传送的分组的处置,其中处置包括丢弃分组和转发分组之一。其后,将所确定的处置应用到与所述分组同一分组流中的后续分组。
【专利说明】虚拟化环境中的网络过滤
【技术领域】
[0001]本发明总体上涉及数据处理,更具体而言,涉及包括虚拟网络的数据处理环境。
【背景技术】
[0002]总的来说公用计算(utility computing) ”指一种计算模型,其中处理、存储和网络资源、软件及数据可以让客户端计算机系统和其它客户端设备(例如,移动电话或媒体播放器)按需进行访问,这非常像熟悉的住宅公用服务,诸如水和电。在有些实现中,分配让客户端设备访问和使用的具体计算资源(例如,服务器、存储驱动器等)是由公用计算提供商及其消费者之间的服务协定规定的。在通常称为“云计算”的其它实现中,底层信息技术(IT)基础设施的细节对公用计算的消费者是透明的。
[0003]云计算是通过对远端计算网站的容易访问(例如,经互联网或者私有的社团网络)来促进的并且常常采取云消费者可以通过web浏览器访问和使用的基于web的资源、工具或应用的形式,就好像这些资源、工具或应用是安装在云消费者的计算机系统上的本地程序一样。通常期望商业性云实现能够满足云消费者的服务质量(QoS)需求,这个需求可以在服务水平协议(SLA)中规定。在典型的云实现中,云消费者消费作为服务的计算资源并且只为所使用的资源付费。
[0004]公用计算的采用已经通过虚拟化的广泛使用得以促进,其中虚拟化是计算资源的虚拟(而不是实际)版本的创建,其中计算资源是例如操作系统、服务器、存储设备、网络资源等。例如,虚拟机(VM),也称为逻辑分区(LPAR),是像物理机器一样执行指令的物理机器(例如,计算机系统)的软件实现。VM可以归类为系统VM或过程VM。系统VM提供支持完整操作系统(OS),诸如Windows、Linux、AIX、Android等,及其所关联应用的执行的完整系统平台。另一方面,过程VM通常设计成运行单个程序并且支持单个过程。在任何一种情况下,运行在VM上的任何应用软件都受限于那个VM提供的资源和抽象。因此,由公共IT基础设施提供的实际资源可以通过多个VM的部署得到有效管理和利用,其中这多个VM有可能来自多个不同公用计算的消费者。
[0005]实际IT资源的虚拟化和VM的管理一般是由称为VM监视器(VMM)或超级管理程序(hypervisor)的软件提供的。在各种实现中,超级管理程序可以运行在裸硬件上(类型I或者本机超级管理程序)或者运行在操作系统之上(类型2或者托管超级管理程序)。
[0006]在一种典型的虚拟化计算环境中,VM可以利用常规的联网协议彼此通信并且与公用计算环境的IT基础设施中的物理实体通信。如本领域中已知的,常规的联网协议通常以众所周知的七层开放系统互连(OSI)模型为前提,该OSI模型(按升序)包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。通过用虚拟网络连接替换常规的物理层连接,使VM能够与其它网络实体通信,就好像VM是物理网络元件一样。
[0007]这里所公开的是用于增强这种虚拟计算环境中的网络过滤的技术。

【发明内容】
[0008]在至少一种实施例中,物理主机执行实例化至少一个虚拟机(VM)以及虚拟输入/输出服务器(VIOS)的超级管理程序或虚拟机监视器(VMM)。VIOS通过参考策略数据结构来确定对于与VM网络传送的分组的处置(disposition),其中处置包括丢弃分组和转发分组之一。其后,将所确定的处置应用到与该分组同一分组流中的后续分组。
【专利附图】

【附图说明】
[0009]图1是根据一种实施例的数据处理环境的高级框图;
[0010]图2绘出了根据一种实施例的图1的示例性数据处理环境中虚拟和物理资源的分层;
[0011]图3是根据一种实施例的数据处理系统的高级框图;
[0012]图4是根据一种实施例的采用虚拟联网的数据处理环境的一部分的第一高级框图;
[0013]图5是根据一种实施例的支持基于策略的网络过滤的虚拟I/O服务器(VIOS)和超级管理程序的组件的更详细视图;
[0014]图6是根据一种实施例的用于在虚拟网络环境中进行网络过滤的示例性过程的高级逻辑流程图;
[0015]图7说明了根据一种实施例的图5中流高速缓存的示例性实施例;
[0016]图8绘出了可以用于实现图5中所绘出的任意过滤策略数据结构的示例性树数据结构 '及
[0017]图9是根据一种实施例的图5的VIOS流过滤器的操作的高级逻辑流程图。【具体实施方式】
[0018]现在参考附图并且特别参考图1,说明了根据一种实施例的示例性数据处理环境100的高级框图。如所示出的,数据处理环境100,在所绘出的实施例中它是云计算环境,包括统称为云102的计算资源的集合。云102中的计算资源为了通信而互连在一起并且可以在一个或多个网络(诸如私有、社区、公共或者混合云或者其组合)中物理或虚拟地分组(未示出)。以这种方式,数据处理环境100可以把基础设施、平台和/或软件作为客户端设备110可访问的服务来提供,其中客户端设备诸如个人(例如,台式、膝上型、上网本、平板或手持式)计算机110a、智能电话110b、服务器计算机系统IlOc以及消费者电子产品,诸如媒体播放器(例如,机顶盒、数字多样化盘(DVD)播放器或者数码录像机(DVR))110d。应当理解,图1中所示的客户端设备110的类型仅仅是说明性的而且客户端设备110可以是能够经分组网络通信并且访问集合110中计算资源的服务的任何类型的电子设备。
[0019]图2是绘出根据一种实施例的驻留在图1的云102的集合中的虚拟和物理资源的分层图。应当理解,图2中所示出的计算资源、层和功能仅仅是说明性的而且所要求保护的发明的实施例不限于此。
[0020]如所绘出的,云102包括物理层200、虚拟化层204、服务管理层206和工作负载层(workloads layer) 2080物理层200包括可以用于实例化虚拟实体以供云服务提供商及其消费者使用的各种物理硬件和软件组件。作为一个例子,硬件组件可以包括大型机(例如,IBM?zSeries?系统)、精简指令集计算机(Rise)体系结构服务器(例如,IBM pSeries? 系统)、IBM xSeries?系统、〗BM BladeCenter?系统、存储设备(例
如,闪存驱动器、磁性驱动器、光学驱动器、带驱动器等)、物理网络及联网组件(例如,路由器、交换机等)。软件组件可以包括虚拟机监视器(VMM)或超级管理程序软件、操作系统软件(例如,AIX、Windows、Linux、VMware> Android等)、网络应用服务器软件(例如,IBM WebSphere?应用服务器软件,它包括web服务器软件)和数据库软件(例如,IBMDB2?数据库软件)。IBM>zSeries>pSeries>xSeries>BladeCenter>WebSphere 和 DB2是International Business Machines Corporation在世界各地的许多司法管辖区注册的商标。[0021]物理层200的资源可以通过管理软件202以统一的方式跨云102管理。在所绘出的实施例中,管理软件202包括管理物理层200的物理计算平台、网络和存储资源的平台管理(PM)软件202a,及管理部署在物理计算平台上的超级管理程序(VMM)的VMM管理(VMMM)软件202b。管理软件2002可以例如运行在物理层200中被指定为管理控制台的物理计算平台上。
[0022]驻留在云102的物理层200中的计算资源被一个或多个超级管理程序虚拟化并管理。超级管理程序给出包括虚拟实体(例如,虚拟服务器、虚拟储存装置、虚拟网络(包括虚拟私有网络))、虚拟应用和虚拟客户端的虚拟化层204。如前面所讨论的,这些虚拟实体可以由云消费者的客户端设备110按需访问,其中这些虚拟实体是物理层200中基础资源的抽象。
[0023]超级管理程序还支持为云102实现各种管理功能的服务管理层206。这些管理功能可以由超级管理程序直接和/或由运行在超级管理程序上的一个或多个管理或服务VM实现,而且可以提供诸如资源供应、计量和定价、安全、用户门户服务、服务水平管理以及SLA计划与履行的功能。资源供应功能提供用于在云计算环境中执行任务的计算资源和其它资源的动态获得。计量和定价功能为所使用资源的消费提供成本跟踪(因为资源是在云计算环境中提供和使用的)以及账单或发票。作为一个例子,所使用的资源可以包括应用软件许可证。安全功能为云消费者和任务提供身份验证,以及对数据和其它资源的保护。用户门户功能为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能提供云计算资源分配与管理,使得满足所要求的服务水平。例如,安全功能或者服务水平管理功能可以配置为把虚拟机(VM)图像的部署/迁移限定到被指示为云消费者可以接受的地理位置。服务水平协议(SLA)计划与履行功能提供为根据SLA对其预期未来需求的云计算资源的预先安排及获得。
[0024]可以由一个或多个消费者VM实现的工作负载层208提供对其可以使用云计算环境的功能性的例子。可以从工作负载层208提供的工作负载和功能的例子包括:映射和导航、软件开发和生命周期管理、虚拟教室教育传递、数据分析处理;及事务处理。当然,在工作负载层208中给出的工作负载将依赖云消费者的需求和期望在实施例之间变化。
[0025]现在参考图3,说明了可以用于实现图2物理层200中的物理主机计算平台或者图1的客户端设备Iio的示例性数据处理系统300的高级框图。在所说明的示例性实施例中,数据处理系统300包括容许数据处理系统300经电缆连接(cabling)和/或一个或多个有线或无线、公共或私有、局域网或广域网(包括互联网)与云102中的一个或多个计算资源通信的一个或多个网络接口 304。数据处理系统300另外还包括处理数据和程序代码的一个或多个处理器302,例如,用以管理、访问和操纵数据处理环境100中的数据或软件。数据处理系统300还包括接收输入并且提供由数据处理系统300和/或数据处理环境100中其它资源所执行的处理的输出的输入/输出(I/O)设备306,诸如端口、显示器和附连的设备等。最后,数据处理系统300包括数据储存装置310,数据储存装置310可以包括一个或多个易失性或非易失性存储设备,包括存储器、固态驱动器、光盘、磁盘驱动器、带驱动器等。数据储存装置310可以存储例如物理层200中的软件和/或方便访问工作负载层208和/或服务管理层206的软件,诸如web浏览器。
[0026]现在参考图4,绘出了根据一种实施例的采用虚拟联网的数据处理环境400的一部分的高级框图。例如,数据处理环境400可以实现图1中所绘出的云102的一部分。
[0027]在所绘出的实施例中,数据处理环境400包括互联网协议(IP)网络402,它包括多个网络片段404a、404b,每个网络片段都耦合到对应的一个物理路由器406a、406b。如本领域中已知的,每个物理路由器406a、406b都包括对应的路由信息库(RIB) 407a、407b,通过RIB,物理路由器406a、406b基于分组中所包含的OSI层3 (例如,互联网协议(IP))地址把进入的数据分组朝着该分组的目的地路由。物理主机410a、410b耦合到网络片段404a,而且物理主机410c耦合到网络片段404b。物理主机410a-410c中的每一个都可以例如利用图3中所绘出的数据处理系统300来实现。
[0028]物理主机410a_410c中的每一个都执行对应的一个超级管理程序(或者VMM)412a-412c,其中,例如,在通过互联网协议(IP)网络402耦合到物理主机410a_410c的管理控制台420,在人和/或自动化云管理员的指引下,超级管理程序虚拟化并管理其对应物理主机410的资源。物理主机410a上的超级管理程序412a支持VM414a_414b的执行,物理主机410b上的超级管理程序412b支持VM414c-414d的执行,而物理主机410c上的超级管理程序412c支持VM414e-414f的执行。在各种实施例中,VM414a_414f可以包括一个或多个云消费者和/或云提供商的VM。超级管理程序412进一步支持专用VM,在这里被称为虚拟I/O服务器(VIOS) 416a-416c,的执行,其中VIOS专用于向VM414a_414f提供包括联网在内的输入/输出服务。在所绘出的实施例中,VM414和V10S416中的每一个都具有至少一个虚拟网络接口 NI1-NI9,这些虚拟网络接口至少在OSI模型的层2和3提供网络连接性。
[0029]如所绘出的,超级管理程序412a_412c中的每一个都提供其VM414可以附连到的一个或多个虚拟网络。为了可视地区分它们与物理子网404a-404b,虚拟网络在图4中用虚线说明来表示。例如,在所绘出的实施例中,超级管理程序412a-412b通过提供层2连接性的分布式交换机(DS)430al和430bl的实现来提供第一虚拟网络420a。类似地,超级管理程序412a-412b通过分布式交换机430a2和430b2的实现提供第二虚拟网络420b。此外,超级管理程序412c通过分布式交换机430c的实现提供第三虚拟网络420c。在各种实施例中,虚拟网络420a-420c中的每一个都可以是例如特定云消费者的私有网络、由多个云消费者和/或云提供商共享的协同私有网络、或者公共网络。在所绘出的例子中,网络接口NI 2、NI 5和NI 6连接到第一虚拟网络420a,网络接口 NI 1、NI 3和NI 4连接到第二虚拟网络420b,而网络接口 NI7、NI8和NI9连接到第三虚拟网络420c。每个超级管理程序412都优选地记录关于它所支持的虚拟网络420及其VM414和V10S416到虚拟网络420的连接的信息,作为网络信息422a、422b和422c中对应的一个。例如,当对应的实体被提供、部署或迁入时,超级管理程序412可以在其网络信息422a、422b或422c中为其VM414和/或V10S416中的一个创建一个条目,而且当对应的实体被迁出或者破坏时可以除去该条目。
[0030]为了支持虚拟网络420a_420c之间以及虚拟网络420和物理网络402和/或404之间的通信,超级管理程序412a-412c每个都实现分布式路由器432a_432c中对应的一个,以提供OSI层3路由。在所绘出的实施例中,每个分布式路由器432都为由其超级管理程序412实例化的每个虚拟网络420提供对应的网络接口,以及到其物理主机410所附连到的物理网络片段404的网络接口(例如,通过物理网络接口 304的软件端口)。每个分布式路由器432另外还包括用于存储路由信息的对应路由信息库(R)434a、434b和434c。在至少一种实施例中,每个超级管理程序412中支持具有虚拟联网能力的VM414的分布式路由器432的实现都让物理路由器406不必了解和在转发表407中记录到VM414的路由,其中,出于性能、负载平衡、安全、功率管理和/或其它考虑,这些VM在数据处理环境400中的各个物理主机410之间可能频繁地迁移。在备选实施例中,超级管理程序412可以为多个云消费者中每一个创建分布式路由器的对应实例化,使得每个分布式路由器实例都在给定云消费者的虚拟网络之间但是不在不同云消费者的虚拟网络之间转发分组。
[0031 ] 在诸如示例性虚拟化网络环境400的虚拟化网络环境中,期望过滤VM之间的网络通信,例如,通过限制面向公共互联网的服务器与内联网服务器之间的流量或者通过阻止不同消费者的VM之间的流量。在现有技术中,VM之间的网络通信的控制是利用IPsec隧道化实现的,这需要每个VM上非平凡的设置,或者是通过使用物理路由器上的防火墙来过滤网络流量。网络过滤的这些现有技术中任意一种都显著降级了 VM的网络通信性能。
[0032]现在参考图5,说明了在一种示例性实施例中可以用于在诸如图4的示例性网络环境400的虚拟化网络环境中提供网络过滤(和/或隔离)的超级管理程序412和V10S416的组件的更详细视图。如图5中所示,支持VM414a和414b的执行的超级管理程序412a配备了分组报头提取器500和用于高速缓存对在VM414之间往返的分组流中的分组的处置(例如,丢弃或转发)的流高速缓存502,如以下进一步描述的。流高速缓存502进一步经虚拟服务器接口 510与网络过滤模块(NFM) 512通信,其中NFM512可以例如在V10S416的内核中实现。
[0033]NFM512包括具有相关联的分组队列514的流过滤器520,该队列用于等待处置决定的分组。通过参考多个策略数据结构,流过滤器520对于流中没有在流高速缓存502中找到的分组作出处置决定,在所说明的实施例中,策略数据结构包括排除列表522、网络访问控制(NAC)可信任主机(TH)列表524、NAC允许主机(AH)列表526及用于一种或多种协议的对应旁路列表528a-528n。这些策略数据结构可以,例如,经运行在管理控制台420上的安全管理工具来建立和/或更新。
[0034]排除列表522用于识别零个或多个如下VM414的IP地址:如果该VM的数据流量的另一端点也是其IP地址同样在排除列表522中被识别出的VM414,不对其数据流量进行过滤。
[0035]NAC AH列表526用于定义任何VM414都可以经网络连接与其通信的一组零个或多个允许VM414的IP地址。因而,如果有的话,则以别的方式不被过滤策略容许使用网络通信的VM414 (在这里称为隔离(quarantined) VM414)仍然可以与允许VM进行网络通信。NAC TH列表524用于定义不进行隔离,而且因此,其分组不需要对照NAC AH列表52进行校验的一组VM414的IP地址。
[0036]旁路列表528a_528n包括零个或多个列表,每个列表为对应的协议定义其流量不对照过滤策略进行校验的VM414的IP地址(而且可选地,通过诸如端口号的附加资格标准)。用于包括在旁路列表528a-528n上的适当VM414可以包括例如内部备份服务器或者易损的扫描仪。
[0037]如图5中进一步指示的,NFM512可以可选地实现附加的分组报头提取器530和关联的流高速缓存532,其中流高速缓存532用于对经网络接口 304与外部网络通信的分组作出处置决定。虽然图5说明了其中VM间的流和经外部网络的流利用分开的分组报头提取器和流高速缓存来处理的实施例,但是在备选实施例中,统一的分组报头提取器和流高速缓存可以用于这两种类型的流。另外,分组报头提取器和流高速缓存可以在超级管理程序412a和/或V10S416中实现。
[0038]现在参考图6,绘出了根据一种实施例的基于策略的网络过滤通过其在虚拟化环境中实现的示例性过程的高级逻辑流程图。就像对于这里给出的其它逻辑流程图,步骤是以逻辑而不是严格的时间先后次序给出的,这意味着,在有些实施例中,至少一些步骤可以按与所说明次序不同的次序执行或者同时执行。为了促进理解,图6是参考图5中所说明的示例性实施例描述的。
[0039]例如,响应在分组头提取器500或530接收到去向VM414a、414b或者来自其的分组,过程在方框600开始。响应分组的接收,分组报头提取器500或530扫描分组报头、从分组报头提取预定的N-元组、并且散列该N-元组以便获得散列密钥。例如,在一种优选实施例中,N-元组是5-元组,包括传输层协议(例如,TCP、UDP等)、网络层(例如,IP)源地址、网络层(例如,IP)目的地地址、源端口和目的地端口。在其它实施例中,N-元组可以代替地或附加地包括层2 (例如,MAC)源和/或目的地地址、虚拟局域网(VLAN)标识符等。如在方框604所绘出的,分组报头提取器500或530把散列密钥传递到关联的流高速缓存502或532,以调用高速缓存查找。
[0040]图7说明了流高速缓存502的示例性实施例。如所示出的,流高速缓存502的示例性实施例包括具有多个字段的多个条目700,包括用于保留分组流的散列密钥的散列密钥字段702、用于保留为获得散列密钥而散列的N元组值的多个N-元组字段704、及用于指示对分组流中分组的处置(例如,丢弃或转发)的动作字段720。图7说明了一种优选实施例,其中N-元组字段704包括指示分组流的传输层协议的协议字段706、指示分组流的网络层源地址的源地址字段708、指示分组流的网络层目的地地址的目的地地址字段710、指示分组流的源端口的源端口字段712、指示分组流的目的地端口的目的地端口字段714及零个或多个附加的元组字段716。因而,给定由分组报头提取器500或530从分组报头生成的散列密钥,流高速缓存502或532确定它是否拥有对应的条目700,如果是,则指示用于该分组的适当处置(例如,转发或丢弃)。
[0041]返回图6的方框604,响应在方框604确定从分组报头生成的散列密钥驻留在流高速缓存502或532中,过程前进到方框610,方框610说明分组根据与流高速缓存502或532中散列密钥关联的动作被丢弃或转发。因而,在VM到VM的流的情况下,通过丢弃分组或者把该分组直接转发到其目的地VM414a或414b,超级管理程序412a应用在流高速缓存502中记录的策略。类似地,在VM414和外部网络之间的分组流的情况下,NFM512可以通过丢弃分组或者把分组朝着其目的地转发来应用流高速缓存532中所记录的策略。如将认识到的,网络性能得以改善,因为期望的策略不需要把分组传递到外部路由器(例如,物理路由器406a)而且也不需要在源和目的地VM之间配置IPsec隧道等就可以实现。在方框610之后,图6中所说明的过程在方框612结束。
[0042]再次参考方框604,响应确定从分组生成的散列密钥没有驻留在流高速缓存502或532中,流高速缓存502或532把分组的N-元组传递到NFM512,用于确定分组的处置(方框606)。响应N-元组的接收,通过参考策略数据结构,NFM512确定并报告分组的处置,在图5的实施例中,策略数据结构包括排除列表522、网络访问控制(NAC)可信任主机(TH)列表524、NAC允许主机(AH)列表526及用于一种或多种协议的对应旁路列表528a_528n。以下参考图9描述NFM512通过参考这些策略数据结构来由其确定分组处置的示例性过程。如在方框608所说明的,流高速缓存502或532分配新条目700并且用散列密钥、N-元组和NFM512确定的处置来填充它。此外,如在方框610所绘出的,例如,通过丢弃或转发分组,超级管理程序412a或V10S416把由NFM512指示的处置应用到分组。在方框610之后,图6中所说明的过程在方框612结束。
[0043]在图6的方法中,当最初遇到分组流中的第一个分组时,咨询NFM512来为分组流中的分组作出处置决定,如在方框606绘出的。在确定分组流中前一个或两个分组的处置之后,具有共同N-元组的后续分组的处置可以通过参考流高速缓存502或532更加快速地作出,如在方框604和610所示出的。流高速缓存502、532优选地基于最近最少使用(LRU)或其它替换算法根据需要替换它们的条目700,并且响应对策略数据结构中一个或多个的更新来清除(flush)其所有条目700。在相关条目700的替换或清除之后,分组流中分组的处置将需要再次由NFM512确定。
[0044]现在参考图8,绘出了可以用于实现策略数据结构522、524、526和528a_528n中任意一个的示例性M-元树800。M-元树800包括多个节点802,每个节点规定起始网络层(例如,IP)地址和结束网络层(例如,IP)地址(如果节点识别单个地址的话,这两个地址可以相同)。虽然M-元树800被说明为二 -元树,但是本领域技术人员将认识到,M-元树800(或者其分支)可以是三元、四元等。
[0045]现在参考图9,说明了根据一种实施例的图5V10S流过滤器520的操作的高级逻辑流程图。如所说明的,该过程在方框900开始,然后前进到方框902,方框902说明流过滤器902从流高速缓存502或532接收分组的N-元组。响应对分组的N-元组的接收,流过滤器520在方框904-908串行或并行地对照策略数据结构522、524、526和528a_528n校验分组。
[0046]在方框904,流过滤器520确定N-元组中识别出的网络层源地址是否在NAC TH列表524中识别出来或者N-元组中识别出的网络层目的地地址是否在NAC AH列表526中识别出来。如果N-元组中识别出的网络层源地址在NAC TH列表524中识别出来或者N-元组中识别出的网络层目的地地址在NAC AH列表526中识别出来,则在方框906和908对照排除列表522和旁路列表528a-528n进行进一步的校验。否则,流过滤器520确定分组是否应当被丢弃,如在方框910所指示的。
[0047]在方框906,流过滤器520确定分组的源地址和目的地地址是否都在排除列表522中识别出来。如果是,则流过滤器520确定分组应当转发到其目的地,如在方框912所指示的。但是,如果不是分组的源地址和目的地地址都在排除列表522中识别出来,则由旁路列表528a-528n提供的过滤是决定性的。即,如果在方框908确定分组的源地址在对应于由N-元组指示的协议的旁路列表528上,则流过滤器520确定分组应当转发,如在方框912所指示的。另一方面,如果流过滤器520确定分组的源地址不在对应于由N-元组指示的协议的旁路列表528上,则流过滤器520确定分组应当丢弃,如在方框910所指示的。
[0048]如已经描述的,在有些实施例中,物理主机执行实例化至少一个虚拟机(VM)以及虚拟输入/输出服务器(VIOS)的虚拟机监视器或超级管理程序。VIOS通过参考策略数据结构确定与VM网络传送的分组的处置,其中该处置包括丢弃分组和转发分组之一。其后,所确定的处置应用到在与该分组同一分组流中的后续分组。
[0049]虽然本发明已经如参考一种或多种优选实施例所描述的那样特别示出,但是本领域技术人员将理解,在不背离本发明主旨与范围的情况下,可以进行形式和细节的各种改变。例如,应当理解,虽然这里提供的具体描述提供了云计算环境的多个实施例,但是这里所公开的教义不限于云计算环境。相反,实施例可以在目前已知或者今后开发出的任何其它类型的计算环境中实现,包括客户端-服务器或者对等计算环境。
[0050]另外,虽然各方面已经关于执行指引这里所述功能的程序代码的计算系统进行了描述,但是应当理解,这些实施例可以代替地实现为包括有形数据存储介质/设备(例如,数据储存装置310)的程序产品,其中存储介质/设备存储可以由数据处理系统处理的程序代码,以便使数据处理系统能够执行所述一个或多个功能。
【权利要求】
1.一种进行数据处理的方法,包括: 物理主机执行实例化至少一个虚拟机(VM)和虚拟输入/输出服务器(VIOS)的超级管理程序; VIOS通过参考策略数据结构来确定对于与至少一个VM网络传送的分组的处置,所述处置包括丢弃分组和转发分组之一;及 其后,将所确定的处置应用到与所述分组同一分组流中的后续分组。
2.如权利要求1所述的方法,其中: 所述方法包括:在流高速缓存中与表征分组流的散列密钥关联地高速缓存为所述分组确定的处置;及 所述应用包括:根据后续分组中的报头值元组生成散列密钥并且利用所生成的散列密钥访问流高速缓存中所确定的处置。
3.如权利要求2所述的方法,还包括: 在VIOS中实现流高速缓存。
4.如权利要求2所述的方法,还包括: 在超级管理程序中实现流高速缓存。
5.如权利要求1所述的方法,其中: 所述方法包括:vios维护策略数据结构;及` 策略数据结构包括识别对其不施行网络过滤的至少一个VM中一个或多个VM的至少一个旁路数据结构。
6.如权利要求1所述的方法,其中: 所述方法包括=VIOS维护策略数据结构; 所述至少一个VM包括多个VM ; 策略数据结构包括识别多个VM中从网络过滤中被排除出去的VM的排除数据结构;及 所述确定包括:确定在全都在排除列表中被识别的VM之间转发分组流中的分组。
7.如权利要求1所述的方法,其中: 所述方法包括=VIOS维护策略数据结构; 所述至少一个VM包括多个VM ;及 策略数据结构包括识别多个VM中的至少一个允许VM的允许主机数据结构,其中容许隔离VM与所述允许VM通信,否则所述隔离VM被禁止使用网络通信。
8.一种程序产品,包括: 有形的数据存储介质;及 存储在有形的数据存储介质中的程序代码,当被数据处理系统处理时,所述程序代码使数据处理系统: 实例化虚拟输入/输出服务器(VIOS); 通过参考VIOS的策略数据结构来确定对于与至少一个虚拟机(VM)网络传送的分组的处置,所述处置包括丢弃分组和转发分组之一 '及 其后,将所确定的处置应用到与所述分组同一分组流中的后续分组。
9.如权利要求8所述的程序产品,其中所述程序代码还使数据处理系统: 在流高速缓存中与表征分组流的散列密钥关联地高速缓存为所述分组确定的处置;根据后续分组中的报头值元组生成散列密钥;及 利用所生成的散列密钥访问流高速缓存中所确定的处置。
10.如权利要求9所述的程序产品,其中所述程序代码还使数据处理系统在VIOS中实现流高速缓存。
11.如权利要求9所述的程序产品,其中所述程序代码还使数据处理系统在实例化VIOS及至少一个VM的超级管理程序中实现流高速缓存。
12.如权利要求8所述的程序产品,其中所述程序代码还使VIOS维护策略数据结构,所述策略数据结构包括识别对其不施行网络过滤的至少一个VM中一个或多个VM的至少一个旁路数据结构。
13.如权利要求8所述的程序产品,其中: 所述程序代码还使VIOS维护策略数据结构, 所述至少一个VM包括多个VM ; 所述策略数据结构包括识别多个VM中从网络过滤中被排除出去的VM的排除数据结构;及 所述程序代码还使数据处理系统确定在全都在排除列表中被识别的VM之间转发分组流中的分组。
14.如权利要求8所述的程序产品,其中: 所述程序代码还使VIOS维护策略数据结构; 所述至少一个VM包括多个VM ;及 所述策略数据结构包括识别多个VM中的至少一个允许VM的允许主机数据结构,其中容许隔离VM与所述允许VM通信,否则所述隔离VM被禁止使用网络通信。
15.一种数据处理系统,包括: 处理器 '及 耦合到处理器的数据储存装置;及 存储在数据储存装置中的程序代码,当被处理器执行时,所述程序代码使数据处理系统: 实例化虚拟输入/输出服务器(VIOS); 通过参考VIOS的策略数据结构来确定对于与至少一个虚拟机(VM)网络传送的分组的处置,所述处置包括丢弃分组和转发分组之一 '及 其后,将所确定的处置应用到与所述分组同一分组流中的后续分组。
16.如权利要求15所述的数据处理系统,其中所述程序代码还使数据处理系统: 在流高速缓存中与表征分组流的散列密钥关联地高速缓存为所述分组确定的处置; 根据后续分 组中的报头值元组生成散列密钥;及 利用所生成的散列密钥访问流高速缓存中所确定的处置。
17.如权利要求16所述的数据处理系统,其中所述程序代码还使数据处理系统在VIOS中实现流高速缓存。
18.如权利要求16所述的数据处理系统,其中所述程序代码还使数据处理系统在实例化VIOS及至少一个VM的超级管理程序中实现流高速缓存。
19.如权利要求15所述的数据处理系统,其中所述程序代码还使VIOS维护策略数据结构,所述策略数据结构包括识别对其不施行网络过滤的至少一个VM中一个或多个VM的至少一个旁路数据结构。
20.如权利要求15所述的数据处理系统,其中: 所述程序代码还使VIOS维护策略数据结构, 所述至少一个VM包括多个VM ; 所述策略数据结构包括识别多个VM中从网络过滤中被排除出去的VM的排除数据结构;及 所述程序代码还使数据处理系统确定在全都在排除列表中被识别的VM之间转发分组流中的分组。
21.如权利要求15所述的数据处理系统,其中: 所述程序代码还使VIOS维护策略数据结构; 所述至少一个VM包括多个VM ;及 所述策略数据结构包括识别多个VM中的至少一个允许VM的允许主机数据结构,其中容许隔离VM与所述允许VM`通信,否则所述隔离VM被禁止使用网络通信。
【文档编号】H04L12/00GK103688505SQ201280036033
【公开日】2014年3月26日 申请日期:2012年4月23日 优先权日:2011年7月29日
【发明者】J·J·芬格, S·P·马伦, B·B·雷迪, T·J·霍夫曼 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1