请求路由选择处理的制作方法

文档序号:11623835阅读:239来源:国知局
请求路由选择处理的制造方法与工艺

分案说明

本申请是申请日为2011年11月18日,申请号为201180053405.6,题为“请求路由选择处理”的中国专利申请的分案申请。



背景技术:

一般来说,可以利用计算装置和通信网络来交换信息。在常见应用中,计算装置可以经由通信网络从另一个计算装置请求内容。例如,位于个人计算装置处的用户可以利用软件浏览器应用经由因特网从服务器计算装置请求web页面。在这样地方实施例中,用户计算装置可以称为客户端计算装置,而服务器计算装置可以称为内容提供方。

通常,往往基于所请求的内容向客户端计算装置的高效传输的考虑或与内容传输关联的成本的考虑,促使内容提供方向客户端计算装置提供请求的内容。对于大规模实现,内容提供方可能从高数量的客户端计算装置接收内容请求,这可能对内容提供方的计算资源造成压力。此外,客户端计算装置请求的内容可以具有多个组分,这可能进一步对内容提供方的计算资源造成额外压力。

在一些实施例中,内容提供方可以利用一个或多个服务提供方,如内容递送网络服务提供方和网络存储服务提供方,以便提供与递送所请求的内容相关的服务。类似地,通常往往基于与所请求的服务关联的效率和成本的考虑,促使服务提供方提供服务,如托管dns请求处理服务或向内容计算装置提供内容。例如,服务提供方往往在处理客户端计算装置请求(dns查询或内容请求)时考虑诸如递送所请求的内容的等待时间的因素,以便满足服务级别协议或大体上提高递送的服务的质量。在一些情况中,服务提供方可能遇到代内容提供方处理的服务请求的数量可能超过阈值,如与恶意攻击相符或超出达成协议的最高服务级别。在与恶意攻击相关的情况(如基于dns的攻击)中,服务提供方向目标内容提供方提供的服务级别可能受影响,并且在一些情况中,可能影响服务提供方的总体功能。

附图说明

结合附图参考下文详细描述,将更容易地认识到也更好地理解本发明的前述多个方面和多个相随的优点,其中:

图1是图示内容递送环境的框图,其包括多个客户端计算装置、内容提供方、网络存储提供方和内容递送网络服务提供方;

图2是图示内容提供方向网络存储提供方注册的图1的内容递送环境的框图;

图3是图示内容提供方向网络存储提供方注册以代内容提供方提供请求路由选择服务的图1的内容递送环境的框图;

图4是图示服务提供方代内容提供方处理请求路由选择请求的图1的内容递送环境的框图;

图5a和图5b是图示处理客户端计算装置生成的资源路由选择请求的一个实施例的图1的内容递送环境的框图;

图6是图示由服务提供方实现的内容提供方请求路由选择注册处理例行程序的流程图;以及

图7是图示由服务提供方实现的请求路由选择处理例行程序的流程图。

具体实施方式

总的来说,本发明公开涉及管理对应于对与内容提供方关联的一个或多个资源的资源请求的请求路由选择功能性。将针对服务提供方(如内容递送网络(“cdn”))代请求请求路由选择功能性的实体(如内容提供方)管理和处理请求路由选择功能性来描述本公开的多个方面。比如说,请求路由选择功能性可以对应于与服务提供方关联的计算装置(如与特定网络地址关联的dns服务器组件)代内容提供方处理域名服务(“dns”)请求。服务提供方dns服务器组件通过识别将提供所请求的资源的计算装置(如高速缓存组件)的网络地址来解析接收到的dns查询。此外,在向目标内容提供方域发出的dns查询的数量超过阈值的实施例中,服务提供方能够选择性地过滤dns查询以缓解到来的dns查询的影响。例如,在与基于dns查询的攻击关联的情况中,能够过滤dns查询的一些部分以缓解基于dns查询的攻击的影响。

在一个实施例中,服务提供方可以代内容提供方分配对于至已识别的内容提供方域的dns查询将是可信的的多个dns服务器组件。所分配的dns服务器组件对应于由服务提供方以将多个方面纳入考虑的方式从一组分布式服务提供方网络地址选择的网络地址。在一个方面中,服务提供方可以实现用于确保如下事项的过程:不存在由具有匹配的网络地址的服务提供方dns服务器组件来服务的两个域(不管拥有者是谁)。在另一个方面中,服务提供方可以实现用于确保如下事项的过程:对于特定域,对于网络路由选择目的重要的分配的dns服务器组件的网络地址部分不具有匹配值,且对于网络路由选择目的不重要的分配的dns服务器组件的网络地址部分也不具有匹配值。

在接收的dns查询的数量超过阈值的实施例中,如在基于dns查询的攻击中,服务提供方可以实现导致以能够缓解与向内容提供方域提供的服务或服务提供方组件的总体性能关联的性能影响的方式来过滤dns查询的多种技术。例如,服务提供方可以促进选择性地过滤来自一个或多个范围的网络地址的dns查询。在另一个示例中,服务提供方可以通过配置朝特定dns服务器网络地址定向以便由特定dns服务器组件来处理的dns查询(如通过转发dns查询)来促进选择性地过滤dns查询。

虽然本发明公开的多个方面将结合说明性示例和实施例来描述,但是本领域技术人员将认识到所公开的实施例和示例不应被理解为具有限制性。例如,本发明公开可能针对服务提供方(如cdn服务提供方)提供的请求路由选择服务来描述,该服务提供方可以提供额外的服务和功能性,包括基于网络的存储服务、高速缓存服务和内容递送服务。然而,相关领域技术人员将认识到服务提供方不一定提供与一些服务提供方(如cdn服务提供方)关联的全部或任何一个额外的服务或功能性。同样,虽然将针对内容提供方作为服务(如dns请求处理服务)的请求者来论述本申请,但是,相关领域技术人员将认识到服务的请求者不一定提供可以其它方式归于内容提供方的任何额外的功能性。

图1是图示内容递送环境100的框图,内容递送环境100用于管理内容提供方向服务提供方(如cdn服务提供方)的注册并后续代内容提供方处理内容请求的至少一部分。如图1所示,内容递送环境100包括用于从内容提供方请求内容的多个客户端计算装置102(总称为客户端)、网络存储提供方110和/或服务提供方106。在说明性实施例中,客户端计算装置102可以对应于范围广泛的计算装置,包括个人计算装置、膝上型计算装置、手持计算装置、终端计算装置、移动装置、无线装置、各种电子装置和电器等。在说明性实施例中,客户端计算装置102包括通过通信网络108(如广域网或局域网)建立通信所必要的硬件和软件组件。例如,客户端计算装置102可以配备促进经由因特网或内联网通信的联网设备和浏览器软件应用。

虽然图1中未图示,但是每个客户端计算装置102利用某种类型的本地dns解析器组件,如dns域名服务器,其生成归于客户端计算装置的dns查询。在一个实施例中,本地dns解析器组件可以由客户端计算装置102所属的企业网络提供。在另一个实施例中,本地dns解析器组件可以由向客户端计算装置102提供通信网络连接的因特网服务提供方(isp)来提供。

内容递送环境100还可以包括经由通信网络108与一个或多个客户端计算装置102通信的内容提供方104。图1所示的内容提供方104对应于与内容提供方关联的一个或多个计算装置的逻辑关联。具体来说,内容提供方104可以包括对应于用于获取并处理来自客户端计算装置102的对内容(例如,web页面)的请求的一个或多个服务器计算装置的web服务器组件112。内容提供方104还可以包括对应于用于获取和处理对网络资源的请求的一个或多个计算装置的原点服务器组件114和关联的存储组件116。相关领域技术人员将认识到,可以将内容提供方104与各种额外的计算资源(如用于内容和资源的监管的额外计算装置等)关联。此外,虽然原点服务器组件114和关联的存储组件116在逻辑上与内容提供方104关联,但是原点服务器组件114和关联的存储组件116可以采用最佳地服务于各种人口特征的客户端计算装置102的方式在地理上遍布整个通信网络108。再者,虽然说明性组件是针对内容提供方104来描述的,但是内容提供方可以具有与在通信网络108上可寻址的域关联的任何组件配置。

正如图1还图示的,内容提供方104可以与可操作以接收内容与与提供方关联的已注册域名相关的dns查询的一个或多个dns域名服务器组件118关联。该一个或多个dns域名服务器可以是可信的以解析对应于内容提供方104的已注册域名的客户端计算装置dns查询。如果dns域名服务器能够通过提供响应ip地址来解析查询,则dns域名服务器组件被视为对该dns查询可信。正如下文更详细解释的,根据说明性实施例,dns域名服务器组件118提供的请求路由选择功能性的至少一部分提供将由服务提供方代内容提供方104提供。

继续参考图1,内容递送环境100还可以包括经由通信网络108与一个或多个客户端计算装置102、内容提供方104和网络存储提供方110通信的服务提供方106。图1所示的服务提供方106对应于与服务提供方关联的一个或多个计算装置的逻辑关联。具体来说,服务提供方106可以包括对应于通信网络108上的节点的多个接入点(“pop”)位置120、126、132。每个pop120、126、132包括由多个dns服务器计算装置组成用于解析来自客户端计算机102的dns查询的dns组件122、128、134。每个pop120、126、132还可选地包括由多个高速缓存服务器计算装置组成用于存储来自内容提供方或网络存储提供方的资源并将各种请求的资源传送到各种客户端计算机的资源高速缓存组件124、130、136。dns组件122、128、134和资源高速缓存组件124、130、136还可以包括促进通信的额外软件和/或硬件组件,包括但不限于负载平衡或负载分摊软件/硬件组件。

在说明性实施例中,dns组件122、128、134和资源高速缓存组件124、130、136被视为逻辑上进行分组的,无论这些组件或组件的部分是否是物理上分开的。此外,虽然pop120、126、132在图1中图示为与cdn服务提供方106逻辑上关联,但是pop将以最佳地服务于各种人口特征的客户端计算装置102的方式在地理上遍布整个通信网络108。此外,相关领域技术人员将认识到,可以将服务提供方106与各种额外计算资源(如用于内容和资源的监管的额外计算装置等)关联。

再继续参考图1,内容递送环境100还可以包括经由通信网络108与一个或多个客户端计算装置102、服务提供方106和网络提供方104通信的网络存储提供方110。图1所示的网络存储提供方110也对应于与网络存储提供方关联的一个或多个计算装置的逻辑关联。具体来说,网络存储提供方110可以包括对应于通信网络108上的节点的多个网络存储提供方接入点(“nsppop”)位置138、142。每个nsppop138、142包括由多个存储装置组成用于存储来自内容提供方的将由网络存储提供方110处理并传送到各种客户端计算机的资源的存储组件140、144。存储组件140、144还可以包括促进通信的额外软件和/或硬件组件,包括但不限于负载平衡或负载分摊软件/硬件组件。

在说明性实施例中,存储组件140、144被视为逻辑上进行分组的,无论这些组件或组件的部分是否是物理上分开的。此外,虽然nsppop138、142在图1中图示为与网络存储提供方110逻辑上关联,但是nsppop将以最佳地服务于各种人口特征的客户端计算装置102的方式在地理上遍布整个通信网络108。此外,相关领域技术人员将认识到,可以将网络存储提供方110与各种额外的计算资源(如用于内容和资源、dns域名服务器等的监管的额外计算装置)关联。

又再者,相关领域技术人员将认识到,可以由相同或不同的实体来管理网络存储提供方110的组件和服务提供方106的组件。相关领域技术人员还将认识到,图1中提供的组件和配置本质上是说明性的。因此,可以利用额外或替代组件和/或配置,尤其是有关用于促进通信的额外组件、系统和子系统。具体来说,相关领域技术人员将认识到,可以从内容递送环境100中省略网络存储提供方110。

现在参考图2-5b,将说明图1的内容递送环境100的各种组件之间的交互。然而,为了举例的目的,已将图示简化,使得未示出用来促进通信的多个组件。相关领域技术人员将认识到,在不背离本发明公开的精神和范围的前提下可以利用此类组件且相应地将发生额外的交互。

参考图2,将描述内容提供方104可选地向网络存储提供方110注册以用于代内容提供方104托管内容的说明性交互。如图2所示,存储提供方内容注册过程开始于内容提供方104向网络存储提供方110注册。在说明性实施例中,内容提供方104利用注册应用程序接口(“api”)向网络存储提供方110注册,使得网络存储提供方110能够代内容提供方104提供内容。注册api可以包括可以将所请求的资源提供到网络存储提供方110的内容提供方104的原点服务器114的识别。另外或或者,注册api可以包括网络存储提供方110要代内容提供方104存储的内容。在一个实施例中,网络存储提供方110可以作为内容提供方104的原点服务器。

继续参考图2,接收到注册api时,网络存储提供方110获取并处理内容提供方注册信息。在说明性实施例中,网络存储提供方110然后能够生成将被客户端计算装置102使用作为内容请求的一部分的额外信息。该额外信息可以包括且不限于内容提供方标识符(如内容提供方标识码)、存储提供方标识符(如存储提供方标识码)、用于处理资源标识符的可执行代码(如基于脚本的指令)等。相关领域技术人员将认识到,可以由网络存储提供方110生成各种类型的额外信息,并且可以采用各种格式中的任何一种来实现该额外信息。

在一个实施例中,网络存储提供方110将网络存储提供方的可应用域的标识(除非先前已经提供过)和任何额外信息返回到内容提供方104。然后,内容提供方104又可以利用内容提供方特定信息处理存储的内容。在一个示例中,如图2所示,内容提供方104将最初朝原点服务器114的域定向的资源标识符转换到对应于网络存储提供方110的域。以使得针对转换的url的dns查询将解析到与网络存储提供方110对应的dns服务器而非与内容提供方104对应的dns服务器的方式,将转换的url被嵌入所请求的内容中。

现在参考图3,将描述内容提供方104注册以利用服务提供方106提供的请求路由选择服务的说明性交互。如图3所示,服务提供方106提供的请求路由选择服务注册过程开始于内容提供方104向服务提供方106注册。在说明性实施例中,内容提供方104利用注册api向服务提供方106注册,使得服务提供方106能够代内容提供方104提供请求路由选择服务。注册api包含域(对于该域服务提供方106将为可信的)(例如,“contentprovider.com”)的标识、将把所请求的资源提供到客户端计算装置102的网络存储提供方110的存储组件140、144或原点服务器114的标识。注册api还可以包含额外信息,额外信息包含请求路由选择信息、标识信息或将用于代内容提供方104解析客户端计算装置dns请求的其他信息,如下文所解释的。

服务提供方106获取注册api并处理信息。在一个方面中,服务提供方106可以生成可以在客户端计算装置dns查询的解析时使用的必要请求处理规则或替代标识符。在另一个方面中,服务提供方106可以促使针对内容提供方104指定的相关域进行其dns域名服务器组件的注册。然后,服务提供方104可以向内容提供方104发送响应,如确认。响应于注册api的处理,服务提供方106可以识别将代内容提供方104处理dns查询的服务提供方dns服务器的网络地址,如因特网协议地址。然后,内容提供方104可以指派将负责标识的内容提供方域(例如,“contentprovider.com”)的dns服务器的标识的网络地址。

正如下文更详细解释的,在一个实施例中,服务提供方106可以分发或以其他方式分配与将对于发往内容提供方域的dns请求为可信的的dns服务器组件关联的网络地址。具体来说,在服务提供方106将分配多个对于内容提供方域可信的dns服务器组件的实施例中,服务提供方可以首先创建可用于服务提供方的网络地址的多个分段或区。这多个分段或区对应于网络地址的分布,使得从每个分段或区中选择网络地址确保特定域的dns服务器组件具有分布式网络地址并避免任何两个分配的dns服务器组件将具有完全重叠或精确匹配的网络地址(除非分段或区的数量小于被分配为对于域可信的dns服务器组件的数量)的情况。来自不同分段的分布可以通称为“不重叠分布”。

出于说明性示例的目的,假设服务提供方106具有可用的网络地址池。服务提供方106可以将该池组织成两个或更多个网络地址的范围。例如,可以采用使得具有共同的最高阶八位组的每个网络地址可被看作在相同范围内的方式来定义这些范围。在另一个示例中,可以采用使得两个或更多个范围可以共享共同的最高阶八位组但以不同的第二八位组来区分的方式来定义这些范围。再者,在另一个实施例中,网络地址的范围可以对应于可用于分配的网络地址的数量。在替代实施例中,网络地址的至少一个范围可以对应于用于分配的一个网络地址。

如上文论述的,可以将每个网络地址的范围视为可用网络地址的分段或区。在一个方面中,如果分段的数量等于或大于需要分配的网络地址的数量,则服务提供方106通过从不同的分段选择网络地址来确保dns服务器组件的网络地址的分布使得将不会有两个网络地址匹配。参考根据网络地址的最高阶八位组确定范围的先前示例,每个选择的网络地址将对应于不同值的最高阶八位组,这确保了网络地址的至少该部分不会重叠(例如,第二、第三、第四八位组)且对于特定域将不会有两个网络地址匹配。参考两个范围共享共同的第一和第二八位组的另一个示例,每个选择的网络地址将对应于不同值的第三阶八位组,这仍确保了网络地址的至少该部分不会重叠且对于特定域将不会有两个网络地址匹配。根据可用于服务提供方106的网络地址池,可以采用多种方式来配置与每个分段或区关联的网络地址范围,这取决于期望的网络地址分布、可用网络地址总数和可用网络地址中值的差异。

在一些实施例中,除了确保对于特定域分配的网络地址的“不重叠”分布外,如果服务提供方106处理针对不同域的多个请求,则存在这样的不重叠分布可能导致具有至少一个分配的dns网络地址的两个或更多个不同的域匹配的可能性。在一些实施例中,服务提供方106可能期望建立可以跨不相关的域匹配的网络地址的数量(例如,一个、两个、三个等)或反过来建立在任何两个非相关的域之间不精确地匹配的网络地址的最小数量。相应地,服务提供方106可以包括根据可接受的匹配网络地址的所建立的数量阈值的有关任何潜在匹配分配的网络地址的不同处理级别。

在一个实施例中,如果将阈值设为0,使得不可以有匹配的网络地址,则通过从可用网络地址池中移除已分配的dns服务器的网络地址,服务提供方106可以确保dns服务器的分配的网络地址不会重叠。此情形的一个示例是,存在两个或更多个托管的域具有共同的域名(例如,www.domain.com),并且由此这些托管的域不会具有任何匹配的dns服务器组件网络地址。在另一个实施例中,可能两个域共享一个或多个分配的dns服务器组件网络地址是有可能的。但是,对于服务提供方106,可能期望确保不会对两个特定域分配来自每个分段的精确相同的网络地址,或者对于任何两个域,分配的dns服务器组件网络地址的不超过一半是匹配的。在此类实施例中,服务提供方106可以执行额外的处理以针对匹配的网络地址予以确保和校正,如通过将匹配的网络地址的数量降低到阈值以下。

除了确保以不重叠方式分布特定域的分配的网络地址以及进一步确保相对于另一个域匹配的网络地址的数量不高于阈值,在另一个实施例中,服务提供方106可以来自每个分段的选定的网络地址的部分选为使得选定的网络地址中对于路由选择目的通常被视为重要的部分中进一步没有重叠。具体来说,在一个实施例中,网络地址可以对应于被分成具有唯一值的八位组的位数。例如,16位网络地址可以采用xx.xx.xx.xx的形式来表示,其中每个xx对是八位组。同样,24位网络地址可以采用yy.yy.yy.yy.yy.yy的形式来表示,其中每个yy对表示4位。根据网络路由选择原理,利用网络地址的一部分来进行网络路由选择(例如,前2或3个八位组),并且将其通称为“网络地址的最重要部分”或“网络地址的网络部分”。网络地址的其余部分(例如,最后一个八位组)不被视为对于网络路由选择目的是重要的,并且将其通称为“网络地址的非重要部分”或“网络地址的主机部分”。相关领域技术人员将认识到,网络地址中被视为“重要”或“不重要”的八位组的数量可以根据正在利用的特定网络协议、网络路由选择设备的配置和其他标准而变化。相应地,用来图示网络地址的重要部分与非重要部分之间的差异的八位组的示例数量本质上是说明性的且不应视为具有限制性。

出于网络路由选择的目的,只要网络地址的重要部分不精确匹配,而无论是否有一个或多个匹配的八位组,就将网络地址视为不重叠或不匹配。对于网络路由选择目的,实际上忽略网络地址的不重要部分。相应地,在本实施例中,服务提供方106可以对特定域的选定的网络地址的不重要部分选择不同的值,使得即使存在某个部分的匹配,由于特定域的选定的网络地址的不重要部分不精确地匹配,因此也不存在重叠。

参考先前示例,如果假设选择四个网络地址且网络地址的不重要部分对应于网络地址中的最后一个八位组,则可以将网络地址的不重要部分分成四个值的范围,使得对最不重要位的分配的值中没有重叠。继续此示例,最后一个八位组具有总共256个潜在值的范围。因为每个域说明性地与四个网络地址关联,所以可以将最后一个八位组的潜在值分成1-63、64-127、128-191和192-255的值范围。相应地,第一分配的网络地址的最后一个八位组的值将从1-63的范围中挑选;第二分配的网络地址的最后一个八位组的值将从64-127的范围中挑选;第三分配的网络地址的最后一个八位组的值将从128-191的范围中挑选;而第四分配的网络地址的最后一个八位组的值将从192-255的范围中挑选。因此,在本实施例中,不仅就网络地址的重要部分而言,而且就网络地址的不重要部分而言,得到的分配的网络地址都将完全不重叠。

在dns查询的数量超过阈值的情况中,如由于基于dns查询的攻击或由于请求尖峰所致,服务提供方106可以选择性地过滤来自一个或多个选定的网络地址的dns查询。如果“过量的”dns查询将目标指向特定内容提供方,则服务提供方106可能够通过过滤掉目标域的小于全部分配的分段以维持一些dns查询功能性。此外,服务提供方106还可以通过过滤掉目标域的一些或全部分配的分段或通过将发往目标域的dns查询的处理限于特定的物理计算装置,以缓解此类过量dns查询对提供到其他非目标内容提供方的请求路由选择服务的影响。再者,服务提供方106可以将dns查询的一些部分转发到不同接入点或dns服务器组件以帮助缓解该数量的dns查询的影响。

比如说,在可选标识网络存储提供方110的适合存储组件140、144、148和向服务提供方106为请求路由选择功能性而注册时,在如下文参考图4和图5a和图5b进一步描述的一个实施例中,内容提供方104可以开始代客户端计算装置102处理生成的对内容的dns请求。具体来说,根据dns路由选择原理,最终将由与服务提供方106关联的dns域名服务器通过识别对应于原点服务器组件114和关联的存储组件116或网络存储提供方110的存储组件140、144、148的网络地址来解析对应于资源标识符的客户端计算装置dns查询。

现在转到图4,根据一个实施例,一旦服务提供方106开始代内容提供方处理请求路由选择功能性,则客户端计算装置102发出针对内容提供方域(例如,“contentprovider.com”)的dns查询。比如说,客户端计算装置102(如通过浏览器软件应用)发出针对内容提供方域的dns查询,该dns查询首先导致对该域的“.”和“com”部分可信的dns服务器的标识。在根据域的“.”和“com”部分部分地解析该域之后,客户端计算装置102然后发出针对url的另一个dns查询,该dns查询导致域的“.contentprovider”部分。发出对应于域的“.”和“com”部分的dns查询是公知的,且未予以图示。

在说明性实施例中,对于“contentprovider”可信的dns服务器的标识对应于与服务提供方106关联的dns服务器的分配的ip地址之一。在一个实施例中,该ip地址是对于与服务提供方106关联的特定pop的dns服务器组件唯一的特定网络地址。在另一个实施例中,该ip地址可以被可能在地理上或逻辑上分布的与服务提供方106关联的一个或多个pop共享。在本实施例中,对共享的ip地址的dns查询利用一对多网络路由选择方案,如anycast(任播),此类特定pop将根据网络拓扑接收请求。例如,在anycast实现中,客户端计算装置102向共享的ip地址发出的dns查询将从客户端计算装置到达逻辑上具有最短网络拓扑距离(通常称为网络跳)的服务提供方106的dns服务器组件。网络拓扑距离不一定对应于地理距离。但是,在一些实施例中,网络拓扑距离可以被推论为客户端计算装置102与服务提供方pop之间的最短网络距离。

如图4所示,服务提供方106的dns服务器组件获取dns查询,并且可以通过提供用于提供请求内容的组件的网络地址(如ip地址)来解析该dns查询。例如,接收dns服务器组件可以提供能够提供所请求的web页面的web服务器的ip地址。在另一个示例中,dns服务器可以提供可提供请求资源或文件的高速缓存组件的ip地址。在替代实施例中,dns服务器组件还可以提供替代标识符,如能够用于细化请求路由选择处理的规范名称(“cnames”)。在图4所示的示例中,假设可以处理客户端计算装置102传送的dns查询。

现在参考图5a和图5b,在其他实施例中,服务提供方106可以获取针对域的多个dns查询,使得dns查询的数量超过阈值。如图5a所示,超过的阈值可以指示基于dns的网络攻击,在这样的网络攻击中多个客户端计算装置102试图利用dns查询使内容提供域过载。超过的阈值还可以指示内容请求的尖峰或对应于超过服务级别协议的dns查询的数量。在一个方面中,多个dns查询可被定向到代内容提供方104处理dns查询的dns服务器组件的特定分配的网络地址之一。在另一个方面中,多个dns查询可被定向到针对内容提供方104的所有特定分配的网络地址。再者,在另一个方面中,多个dns查询可能不仅针对特定内容提供方域,并且可指示较大的基于网络的攻击。

为了缓解已超过阈值(或将超过阈值)的dns查询的影响,服务提供方106可以开始促使选择性地过滤定向到分配的网络地址中的一个或多个网络地址的dns查询的至少多个部分。具体来说,在一个实施例中,服务提供方106可以发出促使在被服务提供方106接收之前在通信网络108中过滤dns查询的命令或利用促使在被服务提供方106接收之前在通信网络108中过滤dns查询的路由选择协议。例如,服务提供方106可以利用联网设备(如路由器)的标识的网络地址的null路由注入来防止dns查询的转发。

参考图5b,除了在通信网络108中过滤dns查询,服务提供方106还可以利用路由器访问控制列表来过滤或以其他方式阻止定向到在服务提供方处接收的分配的网络地址分段或区中的一个或多个网络地址分段或区的dns查询。如果与超过的阈值关联的dns查询目标指向特定分段或区,则服务提供方106可以进一步过滤至目标网络地址的过量dns查询。如果与超过的阈值关联的dns查询目标指向较大数量的分段或区,则服务提供方106可以过滤所有目标域以有效停止查询。

或者,服务提供方可以过滤一定百分比的区以努力维持百分比dns查询处理功能性。例如,如果内容提供方104已与针对四个区中的每个区的dns服务器组件关联,则服务提供方106可以过滤分配的网络地址的一半以将请求路由选择功能性的操作维持在至少50%的水平。如图5b所示,通过仅过滤某些网络地址区,可以继续处理对“目标”内容提供方或其他内容提供方的dns查询的至少某个部分,如客户端计算装置102z的dns查询。此外,服务提供方106可以配置一个或多个特定dns服务器组件以处理在通信网络108中或该服务提供方尚未过滤的任何余下的dns查询。再者,服务器提供方106可以将未过滤的dns查询的至少一部分转发到可能更适合处理未过滤的dns查询或将负载分布在特定pop处的其他dns服务器组件。

现在参考图6,将描述由服务提供方106实现的用于管理内容提供方104的注册的例行程序600的一个实施例。相关领域技术人员将认识到,针对例行程序600概述的动作/步骤可以由与服务提供方106关联的一个或多个计算装置/组件(如与该服务提供方关联的dns查询处理组件或接入点)来实现。相应地,已经将例行程序600逻辑上关联为概括来说由服务提供方106执行,并由此不应将如下说明性实施例视为具有限制性。

在框602处,服务提供方106代内容提供方104获取对提供dns请求路由选择服务的请求。比如说,对提供dns请求路由选择服务的请求可以通过注册api来促进,在注册api中内容提供方指定服务提供方106将代内容提供方托管dns域名服务器功能性所需的信息。注册api(以及关联的信息)的传送可以是自动过程,其对应于计算装置之间的信息交换,而无需管理员或其他人类交互。或者,注册api(以及关联的信息)的传送可以是自动过程,其可以是手动或半手动的过程,在这样的过程中管理员指定服务提供方106开始代内容提供方托管dns域名服务器功能性所需的信息的至少一部分。

在框604处,服务提供方106确定多个可分配的网络地址分段或区。如先前所述,在一个实施例中,服务提供方106可以维护可分配给内容提供方的两个或更多个dns服务器网络地址范围。比如说,服务提供方可以维护对应于可分配给内容提供方的dns服务器组件的可用网络地址的池。相应地,服务提供方106可以将该池组织成两个或更多个网络地址范围,其中每个网络地址范围对应于一个分段或区。如上文解释的,服务提供方106可以进一步从分段选择网络地址以确保对于特定域,该组分配的网络地址的至少重要部分将不会具有任何精确匹配的值,无论是否是至少以一些常用值。.

在框606处,将第一网络地址分段选为当前网络地址分段,而在框608处,服务提供方106分配来自当前网络地址分段的网络地址。在说明性实施例中,除了从与当前网络地址分段关联的网络地址范围选择唯一的网络地址外,框608还可以对应于服务提供方106将选定的网络地址的不重要部分的值选为使得对于特定域,该组分配的网络地址的至少不重要部分也将不会具有任何精确匹配的值。相关领域技术人员将认识到,该组分配的网络地址的不重要部分将不会仅因为网络地址的某个部分具有共同的值而被视为是匹配的。再者,框608还可以对应于服务提供方106还可以执行额外处理,使得对于两个域,无论所属关系,该组分配的网络地址(重要部分或重要部分与不重要部分的组合)将具有多于阈值数量的精确匹配的网络地址。此外,服务提供方106还可以执行某种类型的冲突解决,使得分配的网络地址不会与被视为父域、子域、同级域等的任何域的先前分配的网络地址冲突。在此类实施例中,可以过滤可用网络地址池以移除任何潜在冲突的网络地址。

在判断框610处,执行检测以确定是否存在额外的网络分段。如果情况如此,则在框612处,服务提供方106选择下一个网络地址分段作为当前网络地址分段,并且例行程序600进行到框608以选择当前分段的另一个网络地址。参考先前示例,例行程序600可以重复分配其余三个网络地址分段范围中每个网络地址分段范围的网络地址以及该网络地址的不重要部分的值(例如,分配的网络地址的最后一个八位组的范围64-127、128-191和192-254)。此外,例行程序600可以提供上文描述的额外冲突解决或其他限制技术,以过滤掉不应分配给内容提供方的网络地址。然而,在替代实施例中,服务提供方106可能不一定分配来自所有可用网络地址分段或区的网络地址。

一旦分配了所有网络地址,则在框614处,服务提供方106响应于对dns服务托管的请求而传送分配的网络地址。基于标识的网络地址,内容提供方可以将标识的域指派到分配的网络地址。相关领域技术人员将认识到,当指派分配的网络地址(或dns域名服务器名称)时,服务提供方106可以采用使每个物理计算装置能够对应于一个分段或区或少于全部的分段或区的方式在不同的计算装置上托管dns域名服务器组件。在框616处,例行程序600结束。

现在参考图7,将描述由服务提供方106实现的用于处理dns请求的例行程序700的一个实施例。与图6类似,相关领域技术人员将认识到,针对例行程序700概述的动作/步骤可以由与服务提供方106关联的一个或多个计算装置/组件来实现。相应地,已经将例行程序700逻辑上关联为概括来说由服务提供方106执行,且由此不应将如下说明性实施例视为具有限制性。

在框702处,服务提供方106获取来自客户端计算装置102的一个或多个dns查询。比如说,将dns查询描述为源于单独的客户端计算装置102。但是,至少某个部分的dns查询可以由相同客户端计算装置102传送或从以生成多个dns查询的方式配置的某个其他组件传送。此外,在替代实施例中,服务提供方106可以接收有关正在传送的dns查询的数量的指示,而服务提供方不实际接收dns查询。

在框704处,服务提供方106将dns查询与已超过阈值的一组dns查询关联。如先前所述,超过的阈值可以指示基于dns的网络攻击,在这样的攻击中多个客户端计算装置102试图利用dns查询使内容提供域过载。超过的阈值还可以指示内容请求的尖峰或对应于超过服务级别协议的dns查询的数量。在一个方面中,多个dns查询可被定向到内容提供方104的特定分配的网络地址。在另一个方面中,多个dns查询可被定向到内容提供方104的所有特定分配的网络地址。再者,在另一个方面中,多个dns查询可不仅目标指向特定内容提供方域,并且可指示较大的基于网络的攻击。相关领域技术人员将认识到,还可以按dns查询数量以外的标准来确定dns查询的关联,如按dns查询的来源(例如,来自已知的不良操作者或ip地址)或基于dns查询的签名映射(例如,dns查询中的已知标识信息)。

在框706处,服务提供方106确定已超过阈值的dns查询(例如,“dns查询攻击”)的网络地址属性。在一个方面中,服务提供方106可以识别已被目标指向的所有特定网络地址。在另一个方面中,服务提供方106可以确定要尝试阻止或过滤的目标网络地址的百分比。在判断框708处,执行检测以确定是否要过滤接收到的dns查询。如先前描述的,如果仅目标指向与内容提供方关联的一部分网络地址,或基于服务提供方请求路由选择服务将受损害的确定,服务提供方106可以尝试过滤至特定网络地址的全部dns查询。在另一个示例中,如果目标指向多个网络地址,则服务提供方106可以确定过滤一定百分比的网络地址以维持代内容提供方104的一些请求路由选择功能性。

如果服务提供方106确定要过滤dns查询,则在框710处,服务提供方过滤或以其他方式阻止dns查询。在一个实施例中,服务提供方106可以利用通信或路由选择协议来促使基于网络的设备(如路由器)过滤对应于所标识的ip地址的所有dns查询,然后才由服务提供方接收dns查询。如先前描述的,此类路由选择协议的示例是利用null路由注入命令/信息。在另一个实施例中,服务提供方106可以在服务提供方网络接收到dns查询时过滤它们。例如,服务提供方可以利用路由器访问控制列表,可以将路由器访问控制列表配置成在路由器接收到至特定网络地址的请求时阻止这些请求。或者,如果服务提供方106确定不过滤,则服务提供方通过接收dns服务器组件来处理接收到的dns查询。如先前描述的,服务提供方可以配置特定硬件计算装置以响应任何未阻止的网络地址。在又一个实施例中,服务提供方106还可以将目标指向一个或多个分配的网络地址的dns查询定向到服务提供方网络内的特定dns组件。例如,服务提供方106可以经由通信网络(如通信通道)转发一个或多个dns查询。在框714处,例行程序700结束。

项目:

项目1.一种用于管理dns查询的方法,其包括:

由服务提供方获取对托管可标识域的dns查询服务的请求;

由所述服务提供方确定多个可分配的网络地址分段,其中每个网络地址分段对应于用于服务提供方dns服务器组件的可用网络地址的按比例的划分;由所述服务提供方分配所确定的网络地址分段中的每个网络地址分段中的网络地址,其中用于所述可标识域的来自每个分段的一组分配的网络地址是不匹配的;以及

由所述服务提供方传送每个确定的网络地址分段的分配的网络地址,其中对应于所述分配的网络地址的dns服务器组件将被指派为对于响应针对所述标识的域的dns查询可信。

项目2.如项目1中列述的方法,其中每个网络地址分段对应于用于服务提供方dns服务器组件的可用网络地址的四个范围之一。

项目3.如项目2中列述的方法,其中可用网络地址的所述四个范围均匀地分布。

项目4.如项目1中列述的方法,其中分配所述确定的网络地址分段中每个网络地址分段中的网络地址包括:从每个确定的网络地址分段选择网络地址使得所述分配的网络地址的重要部分不匹配。

项目5.如项目1中列述的方法,其中分配所述确定的网络地址分段中每个网络地址分段中的网络地址还包括:防止网络地址分配导致所述可标识域与其他域之间阈值数量的分配的网络地址的重要部分匹配。

项目6.如项目5中列述的方法,其中所述阈值数量的网络地址定义为使得所述可标识域与其他域之间存在所述分配的网络地址的至少一个重要部分不匹配。

项目7.如项目1中列述的方法,其中分配所述确定的网络地址分段中每个网络地址分段中的网络地址包括:通过移除因基于域的冲突而导致不可用于分配的一个或多个网络地址来执行冲突解决。

项目8.如项目1中列述的方法,其中分配所述确定的网络地址分段中每个网络地址分段中的网络地址包括:分配先前已与所述标识的网络地址关联的唯一命名的dns服务器。

项目9.如项目1中列述的方法,其中分配所述确定的网络地址分段中每个网络地址分段中的网络地址包括:选择每个分配的网络地址的不重要部分使得所述可标识域的阈值数量的网络地址的不重要部分不匹配。

项目10.如项目9中列述的方法,其中所述阈值数量的网络地址的不匹配的不重要部分包括:所有分配的网络地址使得对于所述可标识域所有分配的网络地址的不重要部分均不匹配。

项目11.如项目1中列述的方法,其中所述网络地址对应于因特网协议网络地址。

项目12.一种用于管理dns查询的方法,其包括:

获取对托管可标识域的dns查询服务的请求;

分配用于托管所述dns查询服务的一组dns服务器,其中所述一组dns服务器中的每个dns服务器选自定义的网络地址区,其中所定义的网络地址区对应于针对服务提供方dns服务器的可分配网络地址的划分;以及

促使对应于所述分配的网络地址的dns服务器组件对于响应针对所述标识的域的dns查询可信。

项目13.如项目12中列述的方法,其还包括确定多个网络地址区。

项目14.如项目13中列述的方法,其中所述多个网络地址区对应于可用网络地址的按比例分布。

项目15.如项目12中列述的方法,其中分配用于托管所述dns查询服务的一组dns服务器包括:从每个确定的网络地址区选择网络地址使得所述可标识域的所述分配的网络地址的重要部分不匹配。

项目16.如项目15中列述的方法,其还包括选择每个分配的网络地址的不重要部分使得所述可标识域的阈值数量的网络地址的不重要部分不匹配。

项目17.如项目16中列述的方法,其中选择每个分配的网络地址的不重要部分对应于从与潜在值的不重叠范围对应的唯一值中选择所述网络地址的不重要部分。

项目18.如项目17中列述的方法,其中所述值的范围对应于区的数量。

项目19.如项目12中列述的方法,其中促使对应于所述分配的网络地址的dns服务器组件对于响应针对所述标识的域的dns查询可信包括:传送所述一组dns服务器中每个dns服务器的分配的网络地址。

项目20.如项目12中列述的方法,其中促使对应于所述分配的网络地址的dns服务器组件对于响应针对所述标识的域的dns查询可信包括:传送与所述一组dns服务器中每个dns服务器的分配的网络地址关联的名称,与所述分配的网络地址关联的所述名称是先前与所述分配的网络地址一起配置的。

项目21.一种用于管理dns查询的方法,其包括:

在服务提供方处,确定与可标识域关联的dns查询是否超过服务提供方能够处理的dns查询的阈值数量;

在所述服务提供方处,基于dns查询的所述阈值数量,确定是否要过滤所述一个或多个dns查询;以及

在所述服务提供方处,基于所述确定促使选择性地过滤所述一个或多个dns查询的至少其中之一,其中选择性地过滤所述至少一个或多个dns查询对应于基于对于所标识的域可信的dns服务器的分配的网络地址选择性地过滤dns查询。

项目22.如项目21中列述的方法,其中基于所述确定促使过滤所述一个或多个dns查询的至少其中之一包括:促使基于访问控制列表来过滤至少一个或多个dns查询。

项目23.如项目21中列述的方法,其中基于所述确定促使过滤所述一个或多个dns查询的至少其中之一包括:传送过滤针对域的一个或多个dns查询的请求,在所述域中服务提供方dns服务器是可信的。

项目24.如项目21中列述的方法,其中基于所述一组关联的dns查询确定是否要过滤一个或多个dns查询包括:基于允许处理的dns查询的百分比确定是否要过滤。

项目25.如项目21中列述的方法,其中所述可用服务提供方网络地址的范围对应于多个网络地址区,使得每个网络地址区根据服务提供方dns服务器组件的可用网络地址的划分来定义。

项目26.如项目21中列述的方法,其还包括:在所述服务提供方处,获取与所述可标识域关联的一个或多个dns查询的至少一部分。

项目27.如项目21中列述的方法,其还包括:

在所述服务提供方处,确定与不同可标识域关联的dns查询是否超过服务提供方能够处理的dns查询的阈值数量;以及

所述服务提供方确定不过滤与不同可标识域关联的一个或多个dns查询,其中所述确定对应于允许处理的dns查询的百分比。

项目28.如项目21中列述的方法,其中基于所述确定促使过滤所述一个或多个dns查询的至少其中之一包括:促使所述一个或多个dns查询的至少其中之一由一组替代dns服务器来应答。

项目29.如项目28中列述的方法,其中促使所述一个或多个dns查询的至少其中之一由一组替代dns服务器来应答包括:将所述一个或多个dns查询的所述至少其中之一转发到所述一组替代dns服务器。

项目30.一种用于dns查询处理的系统,其包括:

接口组件,其用于在服务提供方处获取用于向所述服务提供方注册一个或多个内容提供方的注册信息,所述注册对应于托管与所述内容提供方提供的一个或多个资源关联的请求路由选择功能性的至少一部分;

dns查询处理组件,其可工作以:

确定与可标识域关联的dns查询是否超过服务提供方能够处理的dns查询的阈值数量;

基于所述dns查询的阈值数量,确定是否要过滤所述一个或多个dns查询;以及

基于所述确定促使过滤所述一个或多个dns查询的至少其中之一。

项目31.如项目30中列述的系统,其还包括与所述服务提供方关联的网络接入点,其中所述网络接入点包括:dns服务器组件,其接收来自客户端计算装置的dns查询,其中所述第一网络接入点中的dns服务器可操作以基于访问控制列表来过滤dns查询。

项目32.如项目30中列述的系统,其中所述dns查询处理组件选择性地过滤所述dns查询,从而促使所述一个或多个dns查询的至少其中之一由一组替代dns服务器来应答。

项目33.如项目32中列述的系统,其中所述dns查询处理组件通过将所述一个或多个dns查询的至少其中之一转发到一组替代dns服务器,促使所述一个或多个dns查询的所述至少其中之一由所述一组替代dns服务器来应答。

项目34.如项目30中列述的系统,其中所述dns查询处理组件基于允许处理的dns查询的百分比基于一组关联的dns查询,确定是否要过滤所述一个或多个dns查询。

项目35.如项目30中列述的系统,其中所述可用服务提供方网络地址的范围对应于多个网络地址区,使得每个网络地址区根据服务提供方dns服务器组件的可用网络地址的划分来定义。

项目36.如项目30中列述的系统,其中所述dns查询处理组件还可工作以:

获取一个或多个额外的dns查询,所述额外的dns查询对应于所述可标识域,其中所述dns服务器组件对应于可用服务提供方网络地址范围中的不同的分配的网络;

将所述一个或多个dns查询与超过服务提供方能够处理的dns查询的阈值数量的所述一组标识的dns查询关联;以及

确定不过滤所述一个或多个dns查询。

本领域技术人员以及其他人将认识到,本发明公开中描述的所有功能可以以由所公开的组件和移动通信装置的一个或多个处理器执行的软件来实施。该软件可以永久性地存储在任何类型的非易失性存储装置中。

除非另行确切地指出,或按使用在上下文中以其他方式被理解,否则条件语言,如“能够”、“可以”、“可能”或“可”等一般意在表达某些实施例包括某些特征、元件和/或步骤,而其他实施例则不包括。因此,此类条件语言一般无意暗示对于一个或多个实施例,该特征、元件和/或步骤以任何方式是必需的,或该一个或多个实施例必然包括用于通过或不通过用户输入或提示判断在任何特定实施例中是否包含这些特征、元件和/或步骤或这些特征、元件和/或步骤是否要在任何特定实施例中执行的逻辑。

本文描述和/或附图中示出的流程图中的任何过程描述、元件或框应理解为潜在地表示包含用于实现过程中特定逻辑功能或步骤的一个或多个可执行指令的模块、片段或代码部分。正如本领域技术人员将理解的,本文描述的实施例的范围内包括替代实现,在这样的替代实现中可以删除元件或功能、可以按不同于所示或论述的顺序的顺序(包括大体上同时或逆序,具体取决于所涉及的功能性)执行元件或功能。还将认识到,可以将上文描述的数据和/或组件存储在计算机可读介质上并使用与存储计算机可执行组件的计算机可读介质(如cd-rom、dvd-rom或网络接口)关联的驱动机构将其加载到计算装置的存储器中,可以将组件和/或数据包括在单个装置中或以任何方式分布。相应地,可以将通用计算装置配置成利用上文描述的各种数据和/或组件的处理和/或执行实现本发明公开的过程、算法和方法。

应该强调的是,可以对上文描述的实施例进行各种变化和修改,这些实施例的元件应被理解为是在其它可接受的示例之间。所有此类修改和变化旨在被包括在本文中本发明公开的范围内且受权利要求的保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1