基于端点的防篡改拥塞管理的制作方法

文档序号:7677243阅读:118来源:国知局
专利名称:基于端点的防篡改拥塞管理的制作方法
技术领域
本发明的实施例涉及基于端点的防篡改拥塞管理。
背景技术
在带宽受限的环境下,平台上的软件组件会因超过它们被分 配的带宽而运行失常(misbehave)。这会导致上行拥塞并且会对各种网络 基础设施组件施加巨大负担。软件级拥塞管理可以例如依靠某些应用程序 和协议撤销(backing off)它们的带宽使用。因为这种类型的拥塞控制可 能无法涵盖所有的应用程序和协议, 一些应用程序和协议可能是不受控制 的,这可能无法帮助减轻所述带宽问题。此外,软件级方案容易被绕过 (circumvention)(例如由运行失常的软件(例如,网络协议栈)造成的) 和篡改(tamper)。也存在基于网络的拥塞管理方案。然而,它们可能典型 地被不总是遵守管理请求的应用协议所束缚。此外,在基于网络的拥塞管 理方案中,网络节点维护关于网络中各种节点的业务模式的信息,这可能 会对拥塞管理的整体开销有负面影响。


在附图中,示例性地而非限制性地说明了本发明的实施例,
在附图中相同的参考数字指的是类似的单元,并且其中
图1说明了根据一个实施例的系统;
图2说明了根据一个实施例的拥塞管理组件;
图3说明了根据一个实施例的网络;
图4是对根据一个实施例的方法进行说明的流程图。
具体实施例方式以下所描述的例子只用于起说明作用,并不是要限制本发明的实施例。因此,在可以详细描述例子或者可以提供许多例子的情况下, 应该理解,所述例子并不被看作是穷举的,并且本发明的实施例不被限制 于所描述和/或示出的例子。这里所描述的方法可以被实现在诸如在图1中所示出的系统 100这样的系统中。系统100可以包括一个或更多处理器102(仅示出一个)。 这里所论述的"处理器"涉及用于完成计算任务的硬件和软件资源的组合。 例如,处理器可以包括系统存储器和处理电路(例如,中央处理单元(CPU) 或微控制器),以根据预定的指令集执行用于处理数据的机器可读指令。作 为选择,处理器可以仅包括处理电路(例如,CPU)。处理器可以包括一个 拥有多个计算引擎的多核处理器。作为选择,处理器可以包括一个可被包 含在多核处理器中的计算引擎,其中操作系统可以认为所述计算引擎是一 个具有一整套执行资源的分立处理器。存在其它可能性。芯片组108可以包括一个或更多集成电路芯片,例如那些从 英特尔⑧公司出售的集成电路芯片组(例如,图形、存储器和I/O控制器 中心芯片组)中选择的集成电路芯片,但是也可以(或者作为选择)使用 其它一个或更多集成电路芯片。芯片组108可以包括主桥/中心系统,其可 以使处理器102和主机存储器104互相耦合,并且可以把它们耦合到局部 总线106上。芯片组108可以通过存储器总线112与存储器104进行通信, 并且通过系统总线110与处理器102进行通信。根据一个实施例,系统100 可以包括一个或更多芯片组108,其中包括例如输入/输出控制中心(ICH) 和存储器控制中心(MCH),但是本发明的实施例并不被限制于此。
局部总线106可以包括遵守由美国俄勒冈州波特兰市的PCI 特别兴趣组提供的外围组件互连(PCI)局部总线规范(修订版3.0, 2004 年2月3日)的总线(在下文被称作"PCI总线")。作为选择,例如,总 线106可以包括遵守同样由PCI特别兴趣组提供的PCI Express 基础规范 (修订版1.1, 2005年3月28日)的总线(在下文被称作"PCI Express 总线")。总线106可以包括其它类型和配置的总线系统。此外,系统100可以包括一个或更多网络控制器126 (仅示出 一个)。这里所提到的"网络控制器"涉及可以被耦合到通信介质(例如, 下述的图3中的通信介质304)上的设备,所述设备用于向被耦合到该通 信介质上的其它设备发送数据并且/或者从其接收数据,即用于发送和接收 网络业务。例如,网络控制器可以向被耦合到网络(例如,局域网)的设 备发送分组并且/或者从其接收分组。如这里所用到的,"分组(packet)" 指的是可由从至少一个发送方向至少一个接收方传送的一个或更多信号进 行编码的、由一个或更多符号和/或值构成的一个序列。根据几种数据通信 格式中的任意其中一种,这种网络控制器126可以和其它设备进行通信, 其中所述通信格式例如是根据以下各种版本的通信格式正EE (电气电子 工程师协会)Std. 802.3 (CSMA/CD接入方法,2002版);IEEE Std. 802.11
(LAN/MAN无线LAN, 1999版),正EE Std. 802.16 (2003和2004版, LAN/MAN宽带无线LAN),通用串联总线、火线、异步传输模式(ATM)、 同步光纤网(SONET)或同步数字系列(SDH)标准。在一个实施例中,网络控制器126可以被包含在系统主板118 上。与被放在主板118上不同的是,网络控制器126可以被集成到芯片组 108上。作为选择,网络控制器126还可以被包含在可以被插入到电路卡 插槽(没有示出)的电路卡(没有示出,例如NIC或网络接口卡)中。系统100可以包括逻辑130。逻辑130可以包括硬件、软件或 硬件和软件的组合(例如,固件)。例如,逻辑130可以包括用于执行这里 所描述的操作的电路系统(即, 一个或更多电路)。例如,逻辑130可以包 括一个或更多数字电路、 一个或更多模拟电路、 一个或更多状态机、可编 程逻辑和/或一个或更多ASIC(专用集成电路)。逻辑130可以是硬连线的, 用以执行一个或更多操作。作为选择或者此外,逻辑130可以用被存储在
8存储器(例如存储器104)中的用于执行这些操作的机器可执行指令132 来体现。作为选择或者此外,逻辑130可以用固件来体现。逻辑可以被包 含在系统100的各种组件中,所述组件包括网络控制器126、芯片组108、 处理器102、和/或主板118或这里所描述的其它组件。这里所描述的各种 组件可以使用逻辑130来执行各种功能。系统100可以包括不止一种的、以及其它类型的存储器、总 线、处理器和网络控制器。处理器102、存储器104和总线106、 110、 112 可以被包含在单个电路板上,例如,被包含在系统主板118上,但是本发 明的实施例在这点上并不受限制。如图2所示,系统100另外可以包括拥塞管理组件200。如这 里所用到的"拥塞管理组件"指的是在系统100上的一个组件,该组件可 以与主操作系统隔离从而它能够以带外(out-of-band)方式进行操作,并 且该组件用于从可信源接收拥塞管理策略并且实施那些拥塞管理策略。带 外指的是一种操作模式,其独立于操作系统的状态(例如,在降低的供电 状态下运行,或者由于系统崩溃而被禁用)或系统电源。带内(in-band) 指的是一种依赖于操作系统的操作模式。在一个实施例中,拥塞管理组件200可以包括嵌入式代理204 和断路器202。嵌入式代理204可以包括例如微控制器或微处理器。在一 个实施例中,嵌入式代理204可以使得能够在诸如系统IOO这样的系统上 执行可管理性功能。可管理性功能可以包括例如软件更新/升级、运行系统 诊断以及资产管理。在一个实施例中,嵌入式代理204可以实现系统100 的带外可管理性。在一个实施例中,嵌入式代理可以包括一条到断路器202 的低带宽专用链路。断路器202可以包括用于针对已知病毒和蠕虫来扫描 入局分组的硬件过滤器,并且可以将系统100与网络隔离。在一个实施例 中,断路器202可以被编程和/或被配置为也筛选出与不符合流 (non-c。mpliantflow)(下面进行论述)相关的一个或更多分组。在一个实 施例中,嵌入式代理204和断路器202可以使系统100能够遵守英特尔⑧ 公司提供的英特尔⑧主动管理技术(IAMT)。拥塞管理组件200可以被包 含在芯片组108上,或者被包含在网络控制器126上。作为选择,例如, 可以拆分拥塞管理组件200的功能断路器202可以被包含在网络控制器126上,而嵌入式代理204可以放在芯片组108上。存在其它可能性。图3说明了本发明的实施例可以工作于其中的网络300。网络 300可以包括多个节点302A…302N,其中经由通信介质304,节点302A… 302N中的每一个节点可以被通信地耦合在一起。经由可对一个或更多分组 进行编码的介质304,节点302A…302N可以发送和接收成组的一个或更 多信号。通信介质304可以包括例如一个或更多光缆和/或电缆,但是还可 以有多种选择。例如,通信介质304可以包括空气和/或真空,通过所述空 气和/或真空,节点302A…302N可以无线地发送和/或接收成组的一个或更 多信号。 在网络300中,节点302A…302N中一个或更多节点可以包 括一个或更多中间站,例如, 一个或更多集线器、交换机以及/或者路由器; 此外或作为选择,节点302A…302N中一个或更多节点可以包括一个或更 多端站。此外或作为选择,网络300可以包括一个或更多没有被示出的中 间站,并且介质304可以把节点302A…302N中的至少一些节点和这些中 间站中的一个或更多中间站通信地耦合在一起。当然,可以有许多选择。图4是对根据本发明的一种方法进行说明的流程图。该方法 可以在块400处幵始,并且继续进行到块402,在块402处,该方法可以 包括在系统上监视流量统计(flow statistics)以识别该系统上的一个或
更多不符合业务流,所述一个或更多不符合业务流中的每一个都具有分组。
在一个实施例中,拥塞管理组件200可以从任意数目的可信 源接收拥塞管理策略(下文称为"策略")。可信源指的是与系统ioo建立 了可信关系的源。可以明确地标识可信源,或者可以由被管理地定义的凭 证来推断出可信源。可信源可以包括系统100内的组件、网络300中的其 它节点302A…302N,所述其它节点包括例如交换机、路由器、其它拥塞 管理/流量控制系统、入侵检测系统和防火墙。可信源可以以带内或带外方式向拥塞管理组件200提供策略。 "策略"指的是一个流所应该遵守的建议指导或强制指导。策略可以指示 例如针对某些流的特定速率(例如,针对视频流的10Mbps)、动态条件(例 如,周一到周五从9AM到10AM (PST)为10Mbps)或其它准则(例如, 和其它虚拟机相比,给运行视频流的虚拟机更大的带宽)。
10
拥塞管理组件200可以监视流量统计,以确定在系统100上 是否有任意一个流不符合策略。"流"指的是两个端点之间的逻辑和/或物 理连接,经由所述连接可以传送分组。流可以具有不同的粒度级别。例如, 流可以指的是特定源地址和目的地址之间的连接,或者指的是与该源地址 和目的地址相关的特定端口之间的连接。可以通过检査报头(header)字 段来统计地跟踪流的统计数据(例如,带宽使用),来完成对流量统计的监 视。例如,通过检查报头信息(例如端口地址),可以监视在某个端口上的 MPEG (运动图像专家组)数据流。另一种方式可以是从其它节点(例如 管理站)获得这种信息。在一个实施例中,断路器202可以拥有用于跟踪 每个流的硬件过滤器,但是本发明的实施例在这点上绝不受限制。在一个实施例中,可以维护流的哈希表,以识别在系统上的 一个或更多不符合业务流。例如,对于一个给定的流标识符(例如,在分 组报头中的源地址和目的地址)的哈希函数可以对应表中的一个表项,并 且在该表中可以维护关于每个流的统计数据。当然,可以使用其它实现, 例如流量表和TCAM (三重内容可寻址存储器)。在块404,所述方法可以包括为所述一个或更多不符合业务 流中的每一个流分配标签,其中每个标签对应于至少一个策略其中之一。 可以为每个策略分配一个标签,以便唯一地标识该策略,然后将其分配给 每个不符合业务流,以便标识出该不符合流是要被应用对应策略的一个流。 在一个实施例中,拥塞管理组件200可以执行前一个任务,而由处理器102 执行的驱动程序或主机网络协议栈(没有示出)可以执行后一任务,但是 本发明的实施例在这点上并不受限制。标签可以是基于标准的(例如, VLAN)、专有的或一些其它类型的标识符。在一个实施例中,可以为每个 流分配一个VLAN (虚拟局域网)标签,其中,系统100能够区分被分配 给不符合业务流的VLAN标签和被分配给符合业务流的VLAN标签。可以用强制某些业务类型和/或设备通过分离的网段的方式来 分配标签。例如,如果虚拟机或某一业务正运行失常(例如,消耗太多带 宽),则通过分配合适的标签,该设备/业务可以被放置在隔离网段中。实 施单元(即,实施这些策略的单元)可以被编程或配置为对这些标签进行 解释,以便能够根据对应于所述标签的策略,对被标记的分组应用合适的业务限制。实施可由系统(例如,拥塞管理组件200)或网络节点(例如, 302A…302N)来执行。在虚拟化平台(即, 一个系统,被进行了分区以便用作且被 看作是多个系统,该多个系统使用的是单个系统的硬件和/或软件资源)上, 除了VLAN标签之外,所述标签可以包括其它信息,例如用于识别特定虚 拟系统的虚拟机(VM)标签,与分组相关的服务类型(例如,应用),以 及应用连接的实例。例如,这种信息能够与IPv6 (网际协议,第6版)流 标识符相结合,并且被断路器202上的硬件过滤器使用;以监视所述流的 带宽。标签的这种组合可以帮助确保虚拟化平台中的一个操作系统不会使 其它操作系统缺乏带宽。在一个实施例中,附加的标签信息可由虚拟机监 视器(VMM)来添加,所述VMM位于主操作系统之上并且使得多个操作 系统和/或应用程序桟能够被加载在VMM之上。在块406,所述方法可以包括将一个标签应用于与任意一个 不符合业务流相关的多个分组中的每一个。在一个实施例中,系统100 (例 如,系统上的驱动程序)能够区分被分配给不符合业务流的标签和被分配 给符合业务流的标签。例如, 一个驱动程序可以将合适的标签应用于对应 合适的策略的那些分组。
在块408,所述方法结束。另外,可以验证为一个或更多不符合业务流分配的标签。例 如,当接收到分组时,可以检査它们的标签以确定所述分组是否符合对应 于它们的流的策略。通过使用标签可以实施策略。例如,如果被标记的分 组仍旧不符合它们的对应流的策略,则可以丢弃这一个或更多分组。也可 以检査与其被分配的策略不符的流,以确定该流违规的时间量是否长于预 定时间。该预定时间可以是例如驱动程序要响应消息所需的时间量,所述 消息指示一个流是不符合流。如果没有超过预定时间,则可以为驱动程序准备一条消息, 指示哪个(哪些)流是不符合流。如果超过了预定时间,则驱动程序可能 无法响应于所述消息来控制带宽,并且需要修改硬件过滤器以限制不符合 流的速率。如果没有足够多的硬件过滤器,则需要将过滤器修改成例如处 于较粗粒度级别的过滤器。总结因此,在一个实施例中, 一种方法可以包括监视系统上的
流量统计以识别该系统上的一个或更多不符合业务流,所述一个或更多不
符合业务流中的每一个流具有分组;为所述一个或更多不符合业务流中的 每一个流分配标签,其中每个标签对应至少一个拥塞管理策略中的一个策 略;以及将其中一个标签应用于与任意一个不符合业务流相关的分组中的 每个分组。本发明的实施例提供了一种用于进行拥塞管理控制的基于端 点的方案,传统的拥塞管理控制是软件级的和基于网络的管理方案。前一 种方案可能受到限制,因为其依赖于应用程序和协议的撤销,而这可能无 法涵盖所有的应用程序和协议,并且可能容易受到运行失常的软件的欺骗 以及篡改。后一种方案会对网络施加巨大负担,这是因为例如网络节点需 要维护关于网络中各种节点的业务模式的信息。本发明的实施例把拥塞管 理转移到网络中受特定流影响的特定网络节点,并且使得这些网络节点能 够以防篡改的方式来管理、并且在一些实施例中实施拥塞管理策略。例如, 在确保对运行失常的应用进行实施时,这尤为有效。此外,所述实现可以 独立于操作系统,以便其可以被应用在不同的平台上。在前面的说明书中,参考本发明的特定实施例对本发明进行 描述。然而,显而易见的是,可以对这些实施例进行各种修改和改变而不 脱离其范围。因此,说明和附图被认为起说明作用而不是限制作用。
权利要求
1、一种方法,包括监视系统上的流量统计以识别在所述系统上的一个或更多不符合业务流,所述一个或更多不符合业务流中的每一个流具有分组;为所述一个或更多不符合业务流中的每一个流分配标签,其中每个标签对应于至少一个拥塞管理策略中的一个策略;以及将其中一个标签应用于与任意一个不符合业务流相关的分组中的每个分组。
2、 根据权利要求1所述的方法,还包括通过检查被分配给所述分组中的入局分组的标签来确定所述分组是否符合与其流对应的策略,从而验 证为所述一个或更多不符合业务流分配的标签中的每一个标签。
3、 根据权利要求2所述的方法,还包括如果一个或更多分组不f守合与其流对应的策略,则丢弃所述一个或更多分组。
4、 根据权利要求1所述的方法,还包括确定不符合流持续不符合的时间量是否长于预定时间。
5、 根据权利要求4所述的方法,其中,如果没有超过所述预定时间,则准备用于指示所述一个或更多不符合流的消息。
6、 根据权利要求4所述的方法,其中,如果超过所述预定时间,则修 改一个或更多硬件过滤器来限制所述一个或更多不符合流的速率。
7、 根据权利要求1所述的方法,其中,所述的监视系统上的流量统计以识别在所述系统上的一个或更多不符合业务流的步骤包括检查报头字段以便统计地追踪流的带宽使用。
8、 一种装置,包括 拥塞管理组件,用于 接收系统上的拥塞管理策略;监视所述系统上的流量统计以识别在所述系统上的一个或更多不符合 业务流,所述一个或更多不符合业务流中的每一个流具有分组;以及为所述一个或更多不符合业务流中的每一个流分配标签,其中每个标 签对应于至少一个拥塞管理策略中的一个策略。
9、 根据权利要求8所述的装置,还包括,通过检查被分配给所述分组 中的入局分组的标签来确定所述分组是否符合与其流对应的策略,从而验 证为所述一个或更多不符合业务流分配的标签中的每一个标签。
10、根据权利要求8所述的装置, 所述一个或更多不符合流分配的标签, 签应用于与所述不符合流对应的分组。还向所述系统上的驱动程序转发为 以便使所述驱动程序能够将所述标
11、 根据权利要求8所述的装置,其中,所述的监视所述系统上的流 量统计以识别在所述系统上的一个或更多不符合业务流包括检査报头字 段以便统计地追踪流的带宽使用。
12、 一种系统,包括 电路板;以及被耦合到所述电路板的网络控制器,所述网络控制器具有拥塞管理组 件,所述拥塞管理组件用于接收系统上的拥塞管理策略;监视所述系统上的流量统计以识别在所述系统上的一个或更多不 符合业务流,所述一个或更多不符合业务流中的每一个流具有分组;以及为所述一个或更多不符合业务流中的每一个流分配标签,其中每 个标签对应于至少一个拥塞管理策略中的一个策略。
13、 根据权利要求12所述的系统,所述拥塞管理组件还用于通过检査 被分配给所述分组中的入局分组的标签来确定所述分组是否符合与其流对 应的策略,从而验证为所述一个或更多不符合业务流分配的标签中的每一 个标签。
14、 根据权利要求12所述的系统,所述拥塞管理组件还用于向所述系 统上的驱动程序转发为所述一个或更多不符合流分配的标签,以便使所述 驱动程序能够将所述标签应用于与所述不符合流对应的分组。
15、 根据权利要求12所述的系统,其中,所述的监视所述系统上的流 量统计以识别在所述系统上的一个或更多不符合业务流包括检查报头字 段以便统计地追踪流的带宽使用。
16、 一种其上存储有指令的制品,所述指令在被机器执行时导致执行 以下操作监视系统上的流量统计以识别在所述系统上的一个或更多不符合业务 流,所述一个或更多不符合业务流中的每一个流具有分组;为所述一个或更多不符合业务流中的每一个流分配标签,其中每个标 签对应于至少一个拥塞管理策略中的一个策略;以及将其中一个标签应用于与任意一个不符合业务流相关的分组中的每个 分组。
17、 根据权利要求16所述的制品,还包括用来导致以下操作的指令 通过检查被分配给所述分组中的入局分组的标签以确定所述分组是否符合 与其流对应的策略,来验证为所述一个或更多不符合业务流分配的标签中 的每一个标签。
18、 根据权利要求17所述的制品,其中所述的用来导致通过检査被分 配给所述分组中的入局分组的标签来验证为所述一个或更多不符合业务流分配的标签中的每一个标签的指令还包括用来导致以下操作的指令如果 一个或更多分组不符合与其流对应的策略,则丢弃所述一个或更多分组。
19、 根据权利要求16所述的制品,还包括用来导致以下操作的指令 确定不符合流持续不符合的时间量是否长于预定时间。
20、 根据权利要求16所述的制品,所述的用来导致监视系统上的流量 统计以识别在所述系统上的一个或更多不符合业务流的指令还包括用来导 致以下操作的指令检查报头字段以便统计地追踪流的带宽使用。
全文摘要
在一个实施例中,提供了一种方法。该实施例的方法提供监视系统上的流量统计以识别在所述系统上的一个或更多不符合业务流,所述一个或更多不符合业务流中的每一个流具有分组;为所述一个或更多不符合业务流中的每一个流分配标签,其中每个标签对应于至少一个拥塞管理策略中的一个策略;以及将其中一个标签应用于与任意一个不符合业务流相关的分组中的每个分组。
文档编号H04L12/24GK101455028SQ200780019869
公开日2009年6月10日 申请日期2007年6月21日 优先权日2006年6月30日
发明者K·S·格雷瓦尔, M·K·韦德卡尔, R·萨希塔, U·R·萨瓦冈卡尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1