专利名称:网络业务速率限制系统和方法
网络业务速率限制系统和方法
背景技术:
网络安全通常涉及保护网络设备上的信息使其免受未授权的访问并且保护信息使其免受未授权的修改或破坏。网络和联网设备变得越来越普遍。监测在网络上流动的数据的能力、以及通过适当的网络级动作以足够迅速的方式对异常情况作出反应的能力,会是在维护可靠的网络和网络服务的过程中要着重考虑的因素。第三方开发者通常期望开发可以部署在网络或系统上的应用。这样的系统是有优势的。在允许外部开发参与进来的情况下,用户对网络或系统的兴趣会增加。网络或系统开发者可以为他人提供构件块或构架以基于此进行构建,并且平台开发者不需要花费时间和费用来独立地开发许多应用。允许外部开发参与进来的网络或系统可以被称为“开放的” 或者具有“开放架构”。开放架构是一种与计算机有关的架构(例如软件架构、硬件架构、网络架构等), 其可以允许外部开发者增加和修改组件或应用。在开放架构中通常使用标准的硬件,这是由于对于其上可以运行应用的任意操作系统来说通常都存在着广泛可用的驱动程序。这令第三方得以花费较少的时间来给开放架构硬件配置操作系统或应用。开放架构系统的使用会将该架构暴露于第三方,并且当第三方演进和开发各种应用时允许第三方访问以及甚至修改该架构。开放架构的系统管理员可以保留对于在该开放架构中最终实现何种第三方修改的管理权。在开放架构中,可以公开开发者或集成者想要共享的该架构的全部或一部分。开放架构系统通常可以允许潜在的用户查看该架构的全部或一部分,而没有太多的限制。该系统可能具有弱点,而这可能导致安全问题。例如,用户可能会有能力去不正确地访问信息或对该系统做出破坏性的改变。虽然已经在开放架构系统中做出了很多改进,但是系统安全仍然是现有技术的系统或方法中尚未很好解决的重要问题。
图1-图2是根据实施例的用于对网络业务进行速率限制的系统的框图;以及图3是根据实施例的用于对网络业务进行速率限制的方法的流程图。
具体实施例方式根据随后结合附图进行的详细描述,本发明的附加特征和优势将是显而易见的, 其中详细描述和附图一起通过举例的方式示出了本发明的特征。现在将参照示出的示例性实施例,并且在本文中将使用特定语言来描述所示出的示例性实施例。然而要理解的是,并不是要因此限制本发明的范围。开放架构网络系统对用户、开发者和其它人会是很有用的,并且向他们提供了许多优势。然而,开放架构系统的使用会使架构暴露于第三方,并且随着第三方开发各种应用,允许第三方访问以及甚至修改架构。在开放架构中,系统管理员可以保留对于在该开放架构中最终允许或实现何种第三方修改的管理权。
在开放架构中,可以公开开发者或集成者想要共享的该架构的全部或一部分。开放架构系统通常可以允许潜在的用户访问该架构的全部或一部分,而没有太多的限制。该系统可能具有弱点,而这会导致安全问题。例如,用户可能会有能力去不正确地访问信息或对该系统做出破坏性的改变。在连接的互联网世界中,对于承载(host) 了被暴露于公共网络的许多第三方程序和应用的开放系统,破坏性个体可能诸如通过开放架构产生对于管理员来说主要的网络安全问题。一种形式的网络安全问题是拒绝服务攻击。当恶意攻击者向一个服务器发送连续的TCP/IP分组时,发生拒绝服务攻击。这会使用系统资源并且使得系统崩溃。拒绝服务攻击和其它网络攻击可能给组织带来重大的时间和金钱损失。其它类型的网络攻击包括试图获得对网络或网络上的信息的未授权访问。检测攻击和对攻击进行响应可能是困难的,特别是对于当前的高速网络更是如此。已经开发了许多系统来保护网络免受来自网络外部的攻击。使用了防火墙。路由器可以检测并阻断许多形式的攻击。已经实现了用于网络访问的各种用户认证方法。尽管存在用于防御对网络的外部攻击的各种保护,但是来自网络内部的攻击可能更难于响应和防范。在计算机网络中,可以使用速率限制来控制网络接口上发送的或接收的业务的速率。可以发送小于或等于指定速率的业务,而可以丢弃或者延迟超过该速率的业务。可以执行速率限制以用于实施策略(抛弃多余的分组)、排队(延迟运送中的分组)或者进行拥塞控制(操纵协议的拥塞机制)。本文提供了一种用于对不可信应用的网络业务流量(network traffic flow)进行速率限制的系统和方法。具体地,速率限制可以在网络内或者位于与本地硬件共同的位置。根据一个实施例,服务器环境中的主机(master)模块管理针对其它服务器的网络业务流量约束等。从机(slave)模块可以执行服务器环境中的客户应用。服务器环境中的服务模块可以执行用于向主机模块确认(validate)客户应用的可信应用。当尚未接收到确认时,主机模块上的业务约束模块可以约束从机模块上的网络业务,并且该业务约束模块可以从可信应用接收客户应用确认以解除对网络业务流量的约束。该系统和方法可以为承载第三方应用的网络提供安全。该系统和方法可以支持将安全(以速率限制的形式)作为硬件集成到系统中。图1-图2中示出了用于对不可信应用的网络业务流量进行速率限制的系统100。 该系统可以包括刀片服务器(blade sever)环境中的多个刀片。该系统可以包括连接到从机端口 160或连接到背板180的一个或多个网络交换机170和175,用于将局域网(LAN)连接到背板145(之后连接到服务模块125,其在下文中进一步讨论)。网络交换机可以与局域网(LAN)通信,局域网又可以与互联网通信。主机刀片110可以连接到交换机机架或背板。在主机刀片上可以包括主机模块或主机管理模块。在一个方案中,主机模块是主机刀片。可以经由主机刀片上的网络端口并通过背板向主机刀片发送通信并且从主机刀片发送通信。在一个方案中,所述端口是内部以太网连接。主机模块可以被配置为对网络业务流量约束进行管理。例如,主机模块可以使硬件配置发生改变,从而约束从机模块上的网络数据分组业务流量或解除对其的约束。在另一方案中,主机模块可以使用软件来管理和/或改变业务流量约束。主机模块上的并且被主机模块用于管理网络业务流量约束的硬件和/或软件可以包括业务约束模块。从机100可以包括专用集成电路(ASIC),其中主机模块110通过该专用集成电路 (ASIC)来管理并改变业务流量约束。ASIC可以形成业务约束模块的至少一部分。ASIC可以位于一个或多个刀片端口 140处,或者可操作地连接到所述端口。主机模块可以通过背板向从机刀片上的ASIC发送消息或信号,其中要被约束或被解除约束的端口位于该从机刀片上,并且该ASIC可以重新配置端口以限制业务流量。在一个方案中,ASIC可以使用软件来重新配置端口。在另一方案中,ASIC仅使用硬件来重新配置端口。ASIC可以是用于限制从机在内部和外部网络连接之间的访问的控制点。ASIC还可以控制和/或约束通往背板的通信。该系统可以包括任意数量的期望的ASIC。例如,可以使用单个ASIC来控制一个或多个端口。在另一例子中,可以在每个端口处使用一个ASIC。服务器环境中的多个刀片可以包括一个或多个从机刀片。图1-图2示出了两个从机刀片,包括第一从机刀片115和第二从机刀片120。然而,系统100可以包括任意数量的期望的刀片。从机刀片可以包括从机端口 16fe-b,其中从机刀片可以通过从机端口
与其它内部16 或外部16 网络或网络资源进行通信。用户可以连接到从机刀片上的端口 160并且访问同一刀片或另一刀片上的其它端口。系统100可以包括服务模块125。服务模块可以位于服务器刀片上。在一个方案中,服务模块为从机刀片。服务模块可以位于专用服务模块刀片上,或者可以被包括在主机刀片110或从机刀片120上。在服务模块被包括在主机刀片或从机刀片上的实施例中,服务模块可以被包括在刀片的受保护且安全的分区上,该受保护且安全的分区与执行其它应用的分区相分离。服务模块不被包括在从机刀片上,以便进一步使服务模块远离外部网络访问并减少系统脆弱性,这会是有利的。不同于服务模块,从机刀片通常可以包括一组网络端口,该组端口将LAN连接到背板,进而连接到服务模块。在一个方案中,可以在服务模块上,在与可信应用132相同的操作系统中,执行并运行客户应用133。服务模块125可以承载并执行可信应用132。可信应用可以被配置为在操作系统运行时运行。可信应用可以在操作系统引导时开始或者被执行。操作系统可以是服务操作系统。服务操作系统可以是与用于执行客户应用133的产品操作系统分离的以及不同的。 可信应用可以被配置为确认运行在产品操作系统上的客户应用。可信应用可以经由通过背板145发送的信号或消息而向主机模块110确认客户应用。主机模块可以响应于从可信应用接收到对客户应用的确认,移除或减轻针对至少一个端口的业务流量约束。可以在可信应用和客户应用之间使用共享密钥完成确认。密钥对于每个客户应用可以是唯一的。可信应用可以从刀片发送硬件信号,并通过背板将该硬件信号发送到主机模块以令主机模块得知该可信应用正在运行。在一个方案中,主机模块可以在可信应用没有运行时施加网络业务约束。可以一直施加网络业务约束,直到主机模块从可信应用接收到确认信号为止。可以在整个网络上、一个或多个刀片上或者一个或多个端口上施加网络业务约束。可信应用可以使用安全通信协议与主机模块进行通信。在一个方案中,安全通信协议是局域网(LAN)认证协议。该协议可以包括密码哈希(cryptographic hash)。该协议可以是专属的。可信应用可以用于使得主机模块动态地启用并停用网络业务流量约束。在一个实施例中,可信应用可以在从机刀片上执行。具体地,开发者可以开发受到系统管理员信任的应用,并且该应用变成可信应用。在一个方案中,客户应用可以是不可信应用,直到其被识别为可信的为止。然而,最初作为不可信应用,网络业务流量可能被约束并且妨碍开发者开发可信应用的努力。可信开发者可以使用诸如软件开发包(SDK)许可这样的许可,从而具有不受约束的网络业务流量。开发者可以安装该许可。该许可可以告知系统一个端口应当总是打开的或者不应当对该端口进行速率限制。在一个方案中,该许可可以告知系统应当减轻但不应当完全解除端口业务流量约束。当引导产品操作系统时,可以对照数据存储来核对许可,并且端口约束被关闭或修改。在一个方案中,数据存储可以是可信应用的一部分。在另一方案中,数据存储可以包括闪存(flash memory),该闪存可以与可信应用相分离。闪存可以在服务模块上,并且可以使用安全通信协议来更新数据存储。闪存可以是服务模块上的直接访问模块的一部分。直接访问模块可以被配置为允许具有适当许可的开发者具有直接访问或不受约束的网络业务流量。闪存可以控制许可的标记。所述标记可以确定网络访问、业务约束和影响开发者通过端口访问系统的其它变量。例如,一个标记可以确定应当允许多少带宽通过一个端口。 在一个方案中,当开发者具有许可时,不需要可信应用用信号通知主机模块打开端口。一旦开发者准备好客户应用,就可以卸载或关闭该许可以提供适当的用户环境。此时,如上面所描述的,可信应用可以用于对网络业务流量进行速率限制。在一个实施例中,服务模块可以包括多个操作系统。所述操作系统可以在不同的分区上并且可以同时运行。第一操作系统130可以被配置为对闪存150进行读取和写入。 在一个方案中,第一操作系统可以被配置为对第二操作系统或者开放架构进行管理。第二操作系统巧5可以被包括在服务模块上并且可以是开发者可在其上构建客户应用的平台。 该平台可以是开放架构。在另一方案中,第二操作系统是第一操作系统的子系统。第一和第二操作系统的类型可以是相同或不同的。在一个方案中,所述操作系统中的至少一个可以为Linux操作系统。第一和第二操作系统可以位于服务模块的不同的分区中并且可以经由端口 16 进行通信。所述操作系统中的至少一个可以不受攻击和其它弱点的影响。例如,第一操作系统可以是可直接与主机刀片和从机刀片进行通信的专属操作系统。第二操作系统可以是Linux操作系统,其使用专属网络协议与主机进行通信,但是不能够直接与主机刀片和从机刀片进行通信。第二操作系统可以通过第一操作系统来发送和/或接收通在一些情况中,开发者或系统管理员可能希望提供用户可下载的应用、其它资源或信息。例如,用户可能希望下载客户应用以进行安装、测试、使用等。在没有确认的情况下,网络业务流量将被约束。可能并不期望这种约束,并且在一些实例中,用户甚至可能由于下载的本质以及相应的业务约束而不能够完成下载。根据一个实施例,可以解除端口约束以进行下载,并且一旦下载完成就重新启用端口约束。例如,可信应用可以响应于用户的下载请求而解除速率限制。在另一实施例中,供下载的文件和其它资源可以被放置在一个分区中和/或可以通过没有相应的约束的端口进行访问。在一个实施例中,单个从机刀片用于单个客户应用133,并且多个客户应用不在同一从机刀片上运行。在这一实施例中,可以完全通过硬件实现本文描述的速率限制系统。在另一实施例中,开发者可能希望多个客户应用位于同一刀片上。可以使用硬件虚拟化来扩展该系统以允许多个应用。换句话说,可以使用软件来支持对通过相同端口的多个应用进行速率限制。如图3所示,提供了一种用于内部应用认证的方法200。在一个操作210中,在具有受约束的网络业务流量的刀片服务器环境中的服务模块上执行可信应用。在另一操作 215中,在该刀片服务器环境中的客户刀片上运行客户应用。在进一步的操作220中,在可信应用上认证客户应用。在另一操作225中,可以使用可信应用向主机刀片确认客户应用。 在稍后的操作230中,可以响应于对客户应用的确认,使用主机刀片解除对网络业务流量的约束。该方法还可以包括解除对网络业务流量的约束以允许用户下载应用。该方法还可以包括当客户应用使用许可时解除对网络业务流量的约束。使用可信应用来向主机刀片确认客户应用还可以包括使用专属网络协议从可信应用向主机刀片发送命令。该方法还可以包括使用主机刀片重新配置刀片服务器环境中的硬件以改变网络业务流量约束。与现有技术中找到的方案相比,本文描述的系统和方法提供了有价值的结果。可以允许对背板进行直接访问,而不损害系统安全。该系统和方法可以允许通过交换机的应用程序接口(API)进行直接控制。对于机架顶部的传统服务器而言,并不存在如本文描述使用的并用于系统安全的硬件信号。在服务器环境的性质是开放平台的情况下,该系统和方法可以引入限制和保护,因此系统是安全的、受控的环境。虽然上述例子在一个或多个特定应用中示出了本发明的原理,但是对于本领域的普通技术人员来说显而易见的是,可以在不运用发明能力以及不背离本发明的原理和构思的情况下,在实现的形式、使用和细节上进行大量的修改。因此,除了由以下给出的权利要求进行限制以外,本发明不应受其它限制。
权利要求
1.一种用于对不可信应用的网络业务流量进行速率限制的系统,包括服务器环境中的主机模块,其被配置为对网络业务流量约束进行管理;从机模块,其被配置为执行所述服务器环境中的客户应用;所述服务器环境中的服务模块,用于执行被配置为向所述主机模块确认所述客户应用的可信应用;以及所述主机模块上的业务约束模块,用于在尚未接收到针对所述从机模块上的所述客户应用的确认时,在所述从机模块上设置网络业务约束,并且用于从所述可信应用接收客户应用确认,以解除针对所述从机模块上的所述客户应用的网络业务流量的约束。
2.根据权利要求1所述的系统,其中,所述从机模块、所述主机模块和所述服务模块各自是服务器刀片。
3.根据权利要求1所述的系统,还包括所述服务器环境中的直接访问模块,其被配置为允许具有许可的客户应用的不受约束的业务流量。
4.根据权利要求3所述的系统,其中,所述许可是软件开发包(SDK)许可。
5.根据权利要求3所述的系统,其中,所述许可在所述从机模块上,并且所述直接访问模块在所述服务模块上并包括用于确认所述许可的闪存。
6.根据权利要求1所述的系统,其中,所述可信应用是在与所述服务模块位于一起的从机模块中执行的。
7.根据权利要求6所述的系统,其中,所述服务模块还包括具有操作系统的子系统,并且其中,所述子系统在与所述从机模块相分离的分区上。
8.根据权利要求1所述的系统,其中,所述系统包括网络交换机。
9.根据权利要求1所述的系统,其中,所述主机模块、所述从机模块和所述服务模块还包括通信端口,并且其中,所述主机模块通过对从机模块端口速率限制进行管理来管理网络业务流量约束。
10.根据权利要求1所述的系统,其中,所述可信应用用于使得所述主机模块动态地启用和停用网络业务流量约束。
11.一种用于内部应用认证的方法,包括在具有受约束的网络业务流量的刀片服务器环境中的服务模块上执行可信应用;在从机刀片上运行客户应用;使用所述可信应用来认证所述客户应用;使用所述可信应用来向主机刀片确认所述客户应用;以及响应于对所述客户应用的确认,利用所述主机刀片来解除针对所述从机刀片上的所述客户应用的网络业务流量的约束。
12.根据权利要求11所述的方法,还包括解除针对所述从机刀片上的所述客户应用的网络业务流量的约束,以允许用户下载应用。
13.根据权利要求11所述的方法,还包括当所述从机刀片上的所述客户应用使用许可时,解除针对所述客户应用的网络业务流量的约束。
14.根据权利要求11所述的方法,其中,使用所述可信应用来向所述主机刀片确认所述客户应用还包括使用专属网络协议从所述可信应用向所述主机刀片发送消息。
15.根据权利要求14所述的方法,还包括使用所述主机刀片来重新配置所述从机刀片上的硬件,以改变网络业务流量约束。
全文摘要
提供了一种用于对不可信应用的网络业务流量进行速率限制的系统和方法。服务器环境中的主机模块(110)管理网络业务流量约束。从机模块(115)执行服务器环境中的客户应用(133)。服务器环境中的服务模块(125)执行用于向主机模块确认客户应用的可信应用(132)。当尚未接收到针对从机模块(115)上的客户应用的确认时,主机模块上的业务约束模块(112)设置网络业务约束,并且业务约束模块(112)从可信应用接收客户应用确认,以解除针对从机模块(115)上的客户应用的网络业务流量的约束。
文档编号H04L9/32GK102422595SQ200980159202
公开日2012年4月18日 申请日期2009年5月19日 优先权日2009年5月11日
发明者D·瓦伊塔尔, M·R·史密斯, S·E·汉弗雷斯 申请人:惠普开发有限公司