CN102859942A - 使用dns反射来测量网络性能 - Google Patents

使用dns反射来测量网络性能 Download PDF

Info

Publication number
CN102859942A
CN102859942A CN2011800207410A CN201180020741A CN102859942A CN 102859942 A CN102859942 A CN 102859942A CN 2011800207410 A CN2011800207410 A CN 2011800207410A CN 201180020741 A CN201180020741 A CN 201180020741A CN 102859942 A CN102859942 A CN 102859942A
Authority
CN
China
Prior art keywords
dns
server
resolver
data center
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800207410A
Other languages
English (en)
Other versions
CN102859942B (zh
Inventor
黄诚
N·L·霍特
A·G·格林伯格
李劲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102859942A publication Critical patent/CN102859942A/zh
Application granted granted Critical
Publication of CN102859942B publication Critical patent/CN102859942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Abstract

顶层域名系统(DNS)服务器接收来自本地DNS解析器的DNS查询,该DNS查询请求与域名对应的网络地址。顶层DNS服务器将本地DNS解析器反射到反射器DNS服务器。反射器DNS服务器将本地DNS解析器反射到收集器DNS服务器,收集器DNS服务器进而将网络地址返回给本地DNS解析器。反射器DNS服务器和收集器DNS服务器两者都在同一数据中心中,且本地DNS解析器与数据中心之间的通信的一个或多个网络性能测量是基于本地DNS解析器与反射器DNS服务器和收集器DNS服务器两者之间的通信来确定的。

Description

使用DNS反射来测量网络性能
背景
向遍布世界的用户提供各个功能性的联网服务是可用的。这些联网服务通常由位于不同地理区域中的数据中心的服务器计算机提供。联网服务的工作负载可分布在不同数据中心上,使得不同的用户访问这些数据中心中的某一些。然而,确定特定用户要访问多个数据中心中的哪一个可能是有问题的。
概述
提供本概述以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
根据一个或多个方面,将反射器域名系统(DNS)服务器和收集器DNS服务器包括在数据中心中。在该反射器DNS服务器处,从本地DNS解析器接收对与域名对应的网络地址的第一DNS请求。向该本地DNS解析器返回第一响应,该第一响应指向该本地DNS解析器以便从该收集器DNS服务器获取该网络地址。在该收集器DNS服务器处,从该本地DNS解析器接收对与域名对应的网络地址的第二DNS请求。向该本地DNS解析器返回第二响应,该第二响应包括与该域名对应的网络地址。基于第一请求、第二请求、第一响应、和第二响应中的两个或更多,确定对于该本地DNS解析器与该数据中心之间的通信的一个或多个网络性能测量。
附图简述
在全部附图中,使用相同的附图标记来指示相同的特征。
图1示出根据一个或多个实施例的实现使用DNS反射来测量网络性能的示例系统。
图2示出根据一个或多个实施例的其中本地DNS解析器与数据中心之间的网络性能测量被确定的示例系统。
图3是示出根据一个或多个实施例的实现使用DNS反射来测量网络性能的设备的示例过程的流程图。
图4示出根据一个或多个实施例的可被配置成实现使用DNS反射来测量网络性能的示例计算设备。
详细描述
本文讨论了使用DNS反射来测量网络性能。通过将域名系统(DNS)查询反射到数据中心中的多个不同的DNS服务器来解析该DNS查询,该多个不同的DNS服务器中的一个提供该DNS查询中所请求的网络地址。在解析该DNS查询中使用的、对本地DNS解析器与数据中心中的不同DNS服务器之间的通信的一个或多个网络性能测量是在对该DNS查询的解析期间确定的。这些网络性能测量可包括指示该本地DNS解析器与该数据中心之间的通信延迟的往返时间、和/或该本地DNS解析器与该数据中心之间的分组丢失。针对不同的DNS查询所确定的网络性能测量的记录可被维护,并且可被用于确定哪些数据中心要被哪些计算设备访问。
图1示出根据一个或多个实施例的实现使用DNS反射来测量网络性能的示例系统100。系统100包括可与本地DNS解析器104通信的一个或多个(m个)计算设备102。本地DNS解析器104可经由网络108与一个或多个(n个)数据中心106进行通信。网络108可以是各种不同的网络,包括因特网、局域网(LAN)、公共电话网、内联网、其他公共和/或专有网络、它们的组合等等。计算设备102可直接与本地DNS解析器104进行通信,或另选地经由网络(例如,类似于网络108的网络)与本地DNS解析器104进行通信。
每个计算设备102都可以是各种不同类型的设备。例如,计算设备102可以是台式计算机、移动站、娱乐装置、以可通信方式耦合到显示设备的机顶盒、电视机、蜂窝或其他无线电话、游戏控制台、汽车计算机等等。因而,计算设备102的范围可以是从具有充足存储器和处理器资源的全资源设备(如个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(如传统机顶盒、手持式游戏控制台)。不同的计算设备102可以是相同类型的或者可替代地是不同类型的计算设备。
每一数据中心106包括一个或多个DNS服务器110以及一个或多个操作服务器112。操作服务器112用于向计算设备102提供一个或多个服务。例如,操作服务器112可提供以下各项中的一个或多个:信息服务(例如,主存一个或多个网页)、社交联网服务、电子邮件服务、消息收发服务、图像和/或视频共享服务、文件存储服务、游戏或其他娱乐服务等等。DNS服务器110用于向计算设备102提供操作服务器112的地址,从而允许计算设备102访问并使用操作服务器112所提供的服务。
类似于上文对计算设备102的讨论,DNS服务器110和操作服务器112可以是各种不同类型的计算设备,从具有充足存储器和处理器资源的全资源设备到具有有限存储器和/或处理资源的低资源设备。每一数据中心106通常包括多个服务器(例如,数十、数百的量级、或甚至更多的服务器)。
应当注意,数据中心106可位于全世界的各个地方。数据中心106通常在物理上位于全世界,以便在地理上更接近于不同的用户组。然而,两个或更多个数据中心106可能彼此在地理上紧邻。多样化地理存在的优点是为任何特定终端用户提供对数据中心的多个选择,并且如果正确地作出,该终端用户将受到来自“最优”数据中心的服务,这产生该终端用户最佳察觉的性能。
跨多个数据中心106的操作服务器112共同操作,以便向计算设备102提供一个或多个服务。不同的数据中心106中的操作服务器112可存储复制的数据和/或一起工作,以便向计算设备102提供一个或多个服务。尽管跨多个数据中心106的操作服务器112共同操作,但每一计算设备102通常与一个数据中心106中的操作服务器112进行通信。本文讨论的使用DNS反射来测量网络性能的技术可被用于对特定计算设备102标识哪个数据中心106要被该特定计算设备102访问。
本文讨论的使用DNS反射来测量网络性能的技术利用DNS系统。DNS系统允许使用相比于网络地址(诸如网际协议(IP)v4或v6地址)用户通常更容易使用和引用的域名(诸如统一资源定位符(URL))来标识服务。数据中心106中的操作服务器112具有不同的网络地址,但对应于相同域名。类似地,多个数据中心106共同操作以便向计算设备102提供与相同域名对应的一个或多个服务。一个或多个DNS服务器用于将特定域名映射到对应的网络地址,计算设备可使用该网络地址来访问特定操作服务器。这一域名到对应的网络地址的映射也被称为DNS解析。
尽管本文的许多讨论涉及URL和IP地址,但可以理解,其他域名和/或网络地址可与文本讨论的使用DNS反射来测量网络性能的技术一起使用。另外,本文讨论的DNS系统是指符合公知DNS协议(例如,如在1987年11月的网络工作组评定要求1035(Network Working Group Request for Comments 1035)中所讨论的协议)的系统。然而,可以理解,可以结合类似于DNS协议、允许将域名映射到特定网络地址的其他系统来使用本文讨论的使用DNS反射来测量网络性能的技术。
本地DNS解析器104从计算设备102接收DNS查询,这些DNS查询作为对特定URL的IP地址的请求。本地DNS解析器104将这些DNS查询转发给一个或多个DNS服务器110。当响应于DNS查询向解析器104返回IP地址时,该IP地址被返回给计算设备102,该DNS查询是从计算设备102接收的。另外,本地DNS解析器104可任选地维护将URL映射到IP地址的高速缓存,从而允许本地DNS解析器104响应于对包括在该高速缓存中的URL的DNS查询来返回该URL的IP地址。本地DNS解析器104可在各种不同的设备中实现,诸如在服务器或因特网服务供应商(ISP)的其他设备中,在包括计算设备102的局域网上的设备中实现等等。尽管图1中示出单个本地DNS解析器104,但可以理解,在系统100中可包括任何数量的本地DNS解析器104。
例如,假设操作服务器112共同工作以提供因特网搜索引擎。使用简单的URL,诸如“www.bing.com”能容易地标识出该因特网搜索引擎。为了访问因特网搜索引擎,计算设备102将向本地DNS解析器104提交DNS查询,以请求URL“www.bing.com”的IP地址。本地DNS解析器104进而将DNS查询提交给一个或多个DNS服务器110,以请求URL“www.bing.com”的IP地址。本地DNS解析器104向其发送DNS查询的特定DNS服务器110在下文中更详细地讨论。最终,DNS服务器110向本地DNS解析器104返回URL“www.bing.com”的IP地址。该IP地址是操作服务器112之一的地址,且本地DNS解析器104向从其中接收到DNS查询的计算设备102返回该IP地址。特定操作服务器112(其IP地址被返回给本地DNS解析器104)可由一个或多个DNS服务器110以不同的方式来选择。例如,可以选择特定操作服务器112作为数据中心106中在提交DNS查询的计算设备102与数据中心106之间具有最小通信延迟的一操作服务器112,作为数据中心106中在提交DNS查询的计算设备102与数据中心106之间具有最小数量的丢失分组的一操作服务器112等等。计算设备102随后可使用其响应于用于访问操作服务器112之一的DNS查询而接收到的IP地址来访问因特网搜索引擎。
DNS服务器110中的一个或多个维护本地DNS解析器到IP地址的映射。该映射指示操作服务器112的特定IP地址,该特定IP地址是响应于来自本地DNS解析器104的DNS查询而要返回的。应当注意,该映射通常是本地DNS解析器到操作服务器IP地址的映射,尽管作为替代,该映射可以是计算设备102到操作服务器IP地址的映射。
可能发生以下情形:DNS服务器接收DNS查询,但将响应于该DNS查询而返回操作服务器的特定IP地址的责任委托给另一DNS服务器。DNS反射是指委托的具体使用,其中一个DNS服务器以如下方式来控制委托响应:作出查询的本地DNS解析器在接收到该响应之后将向第二个期望的DNS服务器发出另一DNS请求。
在系统100的操作期限,确定对本地DNS解析器104与数据中心106的一个或多个DNS服务器110之间的通信的一个或多个网络性能测量。这些网络性能测量作为返回在DNS查询中所提交的URL的IP地址的过程的一部分来确定,这将在下文中更详细地讨论。这些网络性能测量的记录被维护,并且可被用作更新本地DNS解析器到DNS服务器110所维护的IP地址的映射的基础。
图2示出根据一个或多个实施例的其中本地DNS解析器与数据中心之间的网络性能测量被确定的示例系统200。系统200包括计算设备202,本地DNS解析器204,顶层DNS服务器206,反射器DNS服务器208,以及收集器DNS服务器210。计算设备202可以是例如图1的计算设备102。本地DNS解析器204可以是例如图1的本地DNS解析器104。顶层DNS服务器206、反射器DNS服务器208、以及收集器DNS服务器210各自可以是例如图1的DNS服务器110。反射器DNS服务器208和收集器DNS服务器210被包括在同一数据中心212(例如,图1的特定数据中心106)中。顶层DNS服务器206可作为反射器DNS服务器208和收集器DNS服务器210被包括在同一数据中心中,或另选地被包括在不同的数据中心中。
计算设备202向本地DNS解析器204提交DNS查询214,以请求特定URL的IP地址。该特定URL也可被称为查询URL或查询域名。本地DNS解析器204接收DNS查询214,并且将该DNS查询作为DNS查询216提交给顶层DNS服务器206。顶层DNS服务器206是该特定URL的权威性名称服务器(也被称为主名称服务器),并且维护本地DNS解析器到IP地址的映射230。本地DNS解析器204可按各种不同的方式来获取顶层DNS服务器206的IP地址,诸如从顶层DNS服务器206接收对IP地址的指示,根据DNS系统从(例如经由诸如图1的网络108之类的网络所访问的)另一设备获取IP地址等等。
响应于DNS查询216,顶层DNS服务器206确定数据中心中的要被返回给计算设备202的操作服务器的IP地址。顶层DNS服务器206通过在映射230中查找本地DNS解析器204来确定该IP地址。该查找可基于本地DNS解析器204的IP地址(该IP地址被包括在DNS查询216中)、本地DNS解析器204的名称或其他标识符等等。映射230包括本地DNS解析器204到特定IP地址的映射,该特定IP地址是数据中心中要被返回给计算设备202的操作服务器的IP地址。
顶层DNS服务器206响应于DNS查询216向本地DNS解析器204提供响应218。响应218包括反射器DNS服务器208的标识符以及收集器DNS服务器210的标识符。响应218包括向本地DNS解析器204指示顶层DNS服务器206已经将DNS解析委托给反射器DNS服务器208。响应218还包括要被返回给计算设备202的操作服务器的IP地址,然而,该IP地址以这样的方式被包括在响应218中:本地DNS解析器204不理解该IP地址被包括在响应218中。由此,本地DNS解析器204向反射器DNS服务器208请求IP地址,这在下文中将更详细地讨论。
在一个或多个实施例中,响应218包括CNAME,CNAME也被称为别名。CNAME嵌入反射器DNS服务器208和收集器DNS服务器210的IP地址、以及目标IP地址(该目标IP地址是数据中心中如基于映射230所确定的要被返回给计算设备202的操作服务器的IP地址)。反射器DNS服务器208和收集器DNS服务器210也可被称为顶层DNS服务器206的子域(sub-domain)服务器,因为服务器208和210可管理本地DNS解析器到该域中顶层DNS服务器206是权威性名称服务器的那些部分的网络地址的映射。响应218还包括子域服务器名称以及子域IP地址,以指示本地DNS解析器204要向其发送DNS查询220的服务器,该子域服务器名称以及子域IP地址是反射器DNS服务器208的名称和IP地址。
例如,响应218可包括rand.lax.reflector-collector-target.msrapollo.net的CNAME。在该CNAME中,“反射器(reflector)”是反射器DNS服务器208的IP地址,“收集器(collector)”是收集器DNS服务器210的IP地址,而“目标(target)”是目标IP地址。此外,响应218可包括ns.reflector-collector-target.msrapollo.net的服务器名称或称NS。该服务器名称是反射器DNS服务器208的名称。响应218还可包括反射器的服务器地址或称NS_ADDRESS。该服务器地址是反射器DNS服务器208的IP地址。
本地DNS解析器204接收响应218,并且(基于响应218中的指示)确定该DNS解析已经被委托给反射器DNS服务器208。尽管响应218中嵌入了目标IP地址,但本地DNS解析器204不知道如何解释所嵌入的目标IP地址。因此,响应于接收到响应218,本地DNS解析器204向反射器DNS服务器208提交DNS查询220,以请求特定URL的IP地址。DNS查询220包括要被返回给计算设备202的操作服务器的IP地址以及收集器DNS服务器210的标识符,这两者都是由本地DNS解析器204在响应218中接收到的(例如被嵌入在CNAME中)。因此,尽管响应218内嵌入的是要被返回给计算设备202的操作服务器的IP地址,但本地DNS解析器204将DNS查询220提交给反射器DNS服务器208,因为本地DNS解析器204不知道如何解释所嵌入的目标IP地址。
在一个或多个实施例中,响应218包括反射器DNS服务器208的名称和IP地址,以通知本地DNS解析器204要向其提交DNS查询220的DNS服务器。本地DNS解析器204将在响应218中接收到的CNAME包括在DNS查询220中,作为所请求的网络地址的域名。
反射器DNS服务器208接收DNS查询220,并且响应于DNS查询220生成响应222,响应222包括反射器DNS服务器208已经将DNS解析委托给收集器DNS服务器210的指示。这也被称为将DNS查询反射到收集器DNS服务器210。响应222还包括要被返回给计算设备202的操作服务器的IP地址(如上所述,该IP地址由顶层DNS服务器206来确定并且被包括在响应218中)。
在一个或多个实施例中,响应222包括DNS查询220中接收到的CNAME。响应222还包括子域服务器名称以及子域IP地址,以指示本地DNS解析器204要向其发送DNS查询224的服务器,该子域服务器名称以及子域IP地址是收集器DNS服务器210的名称和IP地址。
本地DNS解析器204接收响应222,并且(基于响应222中的指示)确定该DNS解析已经被委托给收集器DNS服务器210。尽管响应222中嵌入了目标IP地址,但本地DNS解析器204不知道如何解释所嵌入的目标IP地址。因此,响应于接收到响应222,本地DNS解析器204向收集器DNS服务器210提交DNS查询224,以请求特定URL的IP地址。DNS查询224包括要被返回给计算设备202的操作服务器的IP地址,该IP地址由本地DNS解析器204在响应222中接收(例如,被嵌入在CNAME中)。因此,尽管响应222内嵌入的是要被返回给计算设备202的操作服务器的IP地址,但本地DNS解析器204将DNS查询224提交给收集器DNS服务器210,因为本地DNS解析器204不知道如何解释所嵌入的目标IP地址。
在一个或多个实施例中,响应222包括收集器DNS服务器210的名称和IP地址,以通知本地DNS解析器204要向其提交DNS查询224的DNS服务器。本地DNS解析器204将响应222中接收到的CNAME包括在DNS查询224中,作为所请求的网络地址的域名。
收集器DNS服务器210接收DNS查询224,并且响应于DNS查询224生成响应226,响应226包括要被返回给计算设备202的操作服务器的IP地址(如上文讨论的,该IP地址由顶层DNS服务器206来确定并且被包括在响应218和响应222中)。本地DNS解析器204接收响应226,并且作为响应来生成响应228以发送给计算设备202。响应228包括要被返回给计算设备202的操作服务器的IP地址(如上文讨论的,该IP地址由顶层DNS服务器206来确定)。
在一个或多个实施例中,收集器DNS服务器210从DNS查询224获取目标IP地址,该目标IP地址被嵌入在DNS查询224中接收到的CNAME中。收集器DNS服务器210将目标IP地址返回给本地DNS解析器204,作为基于映射230所确定的数据中心中要被返回给计算设备202的操作服务器的IP地址。
另外,对本地DNS解析器204与数据中心212之间的通信的一个或多个网络性能测量被确定。这些网络性能测量可以是本地DNS解析器204与数据中心212之间的往返时间(RTT),和/或本地DNS解析器204与数据中心212之间的分组丢失测量。对本地DNS解析器与数据中心212之间的通信的网络性能测量是基于本地DNS解析器204与服务器208和210之间的通信来确定的。
本地DNS解析器204与数据中心212之间的通信的往返时间可由收集器DNS服务器210或另选地由另一模块或设备来确定。该往返时间被确定为向本地DNS解析器204发送响应222与收集器DNS服务器210接收到DNS查询224之间已经经过的时间量。另选地,该往返时间可以按其他方式来确定,诸如反射器DNS服务器208接收到DNS查询220与收集器DNS服务器210接收到DNS查询224之间已经经过的时间量。可以理解,各种不同的因素可影响该往返时间,诸如本地DNS解析器204与数据中心212之间的距离,本地DNS解析器204与数据中心212之间的网络中的设备的数量和/或类型,本地DNS解析器204与数据中心212之间的网络带宽,本地DNS解析器204与数据中心212之间的网络上的通信量或拥塞量等等。
本地DNS解析器204与数据中心212之间的分组丢失测量可按不同的方式来确定。本地DNS解析器204与DNS服务器(例如服务器206、208和210)之间的通信可通过经由网络(例如图1的网络108)在分组中传递信息来执行。可能发生以下情形:经由该网络发送的一个或多个分组没有到达其预期目的地,且由此被称为丢失的分组。一个或多个分组的丢失可按不同的方式来标识。
在一个或多个实施例中,分组(包括从反射器DNS服务器208到本地DNS解析器204的响应222)的丢失可被标识。本地DNS解析器204通常在发送DNS查询220的特定时间量内期望对DNS查询220的响应222,该特定时间量通常被称为超时时间段。如果本地DNS解析器204在该超时时间段内没有接收到响应222,则解析器204重新发送DNS查询220。由此,如果反射器DNS服务器208多次接收同一DNS查询220,则服务器208知道响应222没有被本地DNS解析器204接收。反射器DNS服务器208可假设在服务器208每次接收其先前接收到的同一DNS查询220时包括响应222的分组被丢失。
另外,尽管不同的本地DNS解析器可实现不同的超时时间段,但这些超时时间段通常是固定的时间量,诸如0.5秒或1秒。这些超时时间段通常比本地DNS解析器204与数据中心212之间的往返时间大得多。由此,超时时间段可容易地与往返时间相区分。反射器DNS服务器208可通过不发送对DNS查询220的响应222来确定本地DNS解析器204所使用的超时时间段。由于没有响应222被发送,本地DNS解析器204将在本地DNS解析器204所使用的超时时间段经过之后重新发送DNS查询220。反射器DNS服务器208可将首次发送DNS查询202与重新发送DNS查询220之间经过的时间(例如被舍入至最近的半秒)确定为本地DNS解析器204所使用的超时时间段。
在一个或多个实施例中,分组(包括从本地DNS解析器204到收集器DNS服务器210的DNS查询224)的丢失可被标识。收集器DNS服务器210知道在反射器DNS服务器208发送响应222之后期望DNS查询224。如果发送响应222与接收DNS查询224之间的时间量超出阈值量,则收集器DNS服务器210可假设包括DNS查询224的分组被丢失。该时间阈值量可基于本地DNS解析器204使用的超时时间段,这可如上文讨论的那样确定。如果发送响应222与接收DNS查询224之间的时间量超出本地DNS解析器204使用的超时时间段,则收集器DNS服务器210可假设包括DNS查询224的分组被丢失。
在一个或多个实施例中,分组(包括从收集器DNS服务器210到本地DNS解析器204的响应226)的丢失可被标识。本地DNS解析器204通常在发送DNS查询224的特定时间量内期望对DNS查询224的响应226,该特定时间量通常被称为超时时间段。该超时时间段可以与本地DNS解析器204在期望对DNS查询220的响应222时所使用的超时时间段相同,或另选地该超时时间段可以是不同的超时时间段。如果本地DNS解析器204在该超时时间段内没有接收到响应226,则解析器204重新发送DNS查询224。由此,如果收集器DNS服务器210多次接收同一DNS查询224,则服务器210知道响应226没有被本地DNS解析器204接收。收集器DNS服务器210可以假设在服务器210每次接收其先前接收到的同一DNS查询224时包括响应226的分组被丢失。
类似地,可以确定多个分组的丢失。超时时间段对于不同的丢失分组可以不同。例如,在第一分组被丢失之后可使用1秒的第一超时,如果下一分组被丢失则可使用2秒的第二超时,如果下一分组被丢失则可使用3秒的第三超时,以此类推。如上文讨论的,这些不同的超时时间段可被标识(例如,反射器DNS服务器208可通过不发送对接收自本地DNS解析器204的前三个DNS查询220的响应222,来确定本地DNS解析器204使用的超时时间段)。
另选地,本地DNS解析器204可包括标识和维护与丢失分组有关的信息的功能性。在这样的情形中,本地DNS解析器204还可展示诸如应用编程接口(API)之类的接口,该接口可被调用(例如,被反射器DNS服务器208和/或收集器DNS服务器210调用)以便从本地DNS解析器204获取与丢失分组有关的信息。
与分组的丢失有关的各种信息可被维护。与分组的丢失有关的该信息可包括,例如,分组被丢失的分组丢失比率或频率,分组丢失模式(例如,丢失的分组数量,丢失的连续分组,分组丢失的一天中的时间,分组丢失的星期几等)等等。
一个或多个分组的丢失通常由反射器DNS服务器208和/或收集器DNS服务器210来标识,尽管另选地一个或多个分组的丢失可由数据中心212的另一模块或设备来标识。除了标识一个或多个分组的丢失以外,还可标识这样的丢失发生的方向。即,可将从数据中心212发送到本地DNS解析器204的分组的丢失与从本地DNS解析器204发送到数据中心212的分组的丢失分开地标识。与在这样的丢失发生的特定方向上的分组丢失有关的各种信息可被维护。
因此,作为DNS解析过程的一部分,可获取对本地DNS解析器与数据中心之间的通信的网络性能测量。对于多个不同的本地DNS解析器中的每一个,可获取本地DNS解析器与多个不同的数据中心之间的网络性能测量。这些所获取的网络性能测量的记录被维护。该记录可按不同的方式来维护,诸如一个或多个直方图。本地DNS解析器与数据中心之间的网络性能测量可被用于确定特定本地DNS解析器到数据中心的特定操作服务器IP地址的映射(如存储在解析器到地址的映射230中)。
本地DNS解析器与数据中心之间的网络性能测量可被用于以各种不同的方式来确定特定本地DNS解析器到数据中心的特定操作服务器IP地址的映射。对于特定本地DNS解析器,可以对所获取的、本地DNS解析器与不同的数据中心之间的网络性能测量进行比较或以其他方式进行分析,以便选择一数据中心。所选数据中心中的操作服务器的IP地址被包括在映射230中。例如,可以选择在数据中心与特定本地DNS解析器之间最小往返时间测量被获取的该数据中心。作为另一示例,可以选择在数据中心与特定本地DNS解析器之间最小数量的丢失分组被获取的该数据中心(或者从数据中心发送到特定本地DNS解析器的最小数量的丢失分组被获取的该数据中心)。另选地,所获取的往返时间测量和/或分组丢失测量可以与各种其他技术或过程一起用于选择数据中心。
在一个或多个实施例中,如上文讨论的,解析器到地址的映射230包括可基于网络性能测量随时间而更新的对特定本地DNS解析器的初始映射。对特定本地DNS解析器的初始映射可按各种不同的方式且基于各种不同的准则来获取,诸如地理位置、其他本地DNS解析器被映射到的数据中心、随机选取、其他准则或规则等等。例如,顶层DNS服务器206可通过分析本地DNS解析器204的网络地址中的前缀、并且将操作服务器地址映射到解析器204(该解析器204被映射到具有相同前缀的另一本地DNS解析器),来标识对本地DNS解析器204的初始映射。例如,如果本地DNS解析器204具有网络地址aaa.bbb.ccc.ddd,而映射230中另一本地DNS解析器具有网络地址aaa.bbb.ccc.eee,那么这两个本地DNS解析器具有带有相同前缀aaa.bbb.ccc的网络地址,并且顶层DNS服务器206将本地DNS解析器204映射到与具有网络地址aaa.bbb.ccc.eee的本地DNS解析器被映射的相同操作服务器地址。
在一个或多个实施例中,可响应于本地DNS解析器204提交给顶层DNS服务器206的每一DNS查询,将本地DNS解析器204反射到反射器DNS服务器208和收集器DNS服务器210。另选地,顶层DNS服务器206可确定仅针对特定DNS查询要将本地DNS解析器204反射到服务器208和210。这些特定DNS查询可按各种不同的方式来标识,诸如基于时间间隔,基于接收DNS查询的频率,基于对于特定本地DNS解析器先前已经反射的DNS查询数量等等。例如,顶层DNS服务器206可确定对于每一本地DNS解析器每小时要向服务器208和210反射一个DNS查询。作为另一示例,顶层DNS服务器206可确定来自本地DNS解析器的每一DNS查询要被反射到服务器208和210直到阈值数量的DNS查询已被反射,之后,对于本地DNS解析器每小时要向服务器208和210返回一个DNS查询。该阈值数量可以是固定数量(例如,50个DNS查询),或另选地可以是相对数量(例如,与域名对应的数据中心数量的两倍)。
另选地,可使用其他技术来获取数据中心212与本地DNS解析器204之间的网络性能测量,而本文讨论的使用DNS反射来测量网络性能的技术在这些其他技术不成功时被使用(或另选地用于确认经由这些其他技术所获取的网络性能测量)。例如,数据中心212中的设备(诸如包括反射器DNS服务器208和收集器DNS服务器210的设备)可使用常规的查验(ping)请求来获取数据中心212与本地DNS解析器204之间的网络性能测量。可使用与上文讨论的那些技术类似的技术来标识当使用查验请求时的往返时间和/或丢失分组。本文讨论的使用DNS反射来测量网络性能的技术可被用于确认使用查验请求所获取的网络性能测量,或可被用在本地DNS解析器204不对该查验请求作出响应的情况中。
作为另一示例,数据中心212中的设备(诸如包括反射器DNS服务器208和收集器DNS服务器210的设备)可通过将DNS查询发送到本地DNS解析器204来获取网络性能测量。该DNS查询可以是对解析各种不同的域名(诸如仅仅是“.”或“.com”)的请求。可使用与上文讨论的那些技术类似的技术来标识当提交这样的DNS查询时的往返时间和/或丢失分组。本文讨论的使用DNS反射来测量网络性能的技术可被用于确认当提交这样的DNS查询时所获取的网络性能测量,或可被用在当提交这样的DNS查询时本地DNS解析器204不作出响应的情况中。
另外,应当注意,可响应于对一个或多个特定域的DNS查询,将本地DNS解析器204反射到反射器DNS服务器208和收集器DNS服务器210。当顶层DNS服务器206接收到对这些一个或多个特定域之一的DNS查询时,本地DNS解析器204被反射到服务器208和210,如上文讨论的。然而,当顶层DNS服务器206接收到对不同域的DNS查询时,服务器206返回所请求的来自映射230的网络地址,而不反射本地DNS解析器204。
使顶层DNS服务器206反射仅针对一个或多个特定域的DNS查询支持各种不同的使用场景。例如,可在要被返回给计算设备202的网页中嵌入到特定文件的URL。该特定文件的大小可能是小的,并且甚至不需要被显示成网页的一部分。然而,到该特定文件的URL是DNS查询被反射的一个或多个特定域之一。因此,当计算设备202请求该网页时,该网页的URL被解析,并且网络地址由顶层DNS服务器206返回,而不反射DNS查询。该网页接着可由计算设备202检索并显示,且对特定文件的嵌入URL作为该检索和显示的一部分被标识。然而,该嵌入URL通过反射DNS查询来解析,该DNS查询包括到反射器DNS服务器208和收集器DNS服务器210的URL,如上文讨论的。
在图2的示例中,示出了一个数据中心212。然而,如上文讨论的,多个数据中心对应于一特定域名。顶层DNS服务器206可按各种不同的方式来确定本地DNS解析器被反射到的特定数据中心,诸如基于时间间隔,基于DNS查询被反射到特定数据中心的频率,基于先前已经被反射到每一数据中心的DNS查询数量,基于数据中心的地理位置等等。例如,顶层DNS服务器206可确定对于每一本地DNS解析器每小时要向每一数据中心反射一个DNS查询。作为另一示例,顶层DNS服务器206可维护数据中心的有序列表,并且以循环方式标识数据中心,使得每次服务器206确定DNS查询要被反射到特定数据中心时,在该数据中心的有序列表中标识出的下一数据中心被选作该DNS查询要被反射到的数据中心。
作为又一示例,顶层DNS服务器206可确定如果对于特定本地DNS解析器被映射到的当前数据中心所获取的网络性能测量超过阈值量,则该特定本地DNS解析器不需要被反射到不在地理上紧邻该当前数据中心的各数据中心。该阈值量可以是固定值(例如,小于0.2秒的往返时间)或相对值(例如,一往返时间,该往返时间小于至少70%的对映射230中其他映射的操作服务器地址的往返时间)。数据中心的地理邻近性可按各种不同的方式来确定,诸如以英里计的线性距离,位于相同城市中的数据中心,位于相同洲的数据中心等等。例如,如果顶层DNS服务器206确定对于特定本地DNS解析器被映射到的当前数据中心所获取的网络性能测量超过阈值量,且当前数据中心位于北美,则该特定本地DNS解析器不需要被反射到欧洲或澳洲的数据中心。
反射器DNS服务器208和收集器DNS服务器210具有两个不同的IP地址,并被本地DNS解析器204视为两个不同的服务器。但是,在一个或多个实施例中,反射器DNS服务器208和收集器DNS服务器210两者可被实现在同一计算设备(例如具有多个网络接口)上,从而允许服务器208和210两者使用同一时钟。允许服务器208和210使用同一时钟简化了获取网络性能测量,因为来自两个不同设备的时钟无需被同步。另选地,反射器DNS服务器208和收集器DNS服务器210可被实现在两个不同的计算设备上,而这两个不同的计算设备上的时钟彼此同步。
应当注意,使用本文讨论的技术获取的网络性能测量是本地DNS解析器与数据中心之间的网络性能测量。类似地,解析器到地址的映射230是本地DNS解析器到数据中心中的操作服务器的网络地址的映射。使用基于由本地DNS解析器所发送的来自特定计算设备的DNS查询所获取的网络性能测量,以便任何附加计算设备也可使用同一本地DNS解析器。因此,使用同一本地DNS解析器的各个计算设备将具有被解析到同一网络地址的各DNS查询。例如,除了计算设备202以外,多个附加计算设备可使用本地DNS解析器204来解析各DNS查询。这些多个附加计算设备中的每一个、以及计算设备202具有被解析到相同网络地址的相同DNS查询。
在上文的讨论中,如所讨论的解析器到地址的映射230由顶层DNS服务器206来维护。另选地,映射230可由其他设备来维护,诸如各种数据中心中的反射器DNS服务器、收集器DNS服务器、或其他设备。取决于维护映射230的方式,可跨多个不同设备来同步该映射的副本。例如,各个数据中心中的收集器DNS服务器可维护映射230,且特定收集器DNS服务器对映射230作出的每一改变可被传送到其他收集器DNS服务器。在其中映射230是由除了顶层DNS服务器206以外的设备来维护的实施例中,可以理解,DNS查询216中所请求的网络地址将不由服务器206来确定也不被嵌入服务器206所返回的响应218中。相反,DNS查询216中所请求的网络地址将由另一设备来确定。例如,如果映射230由各个数据中心中的收集器DNS服务器来维护,则收集器DNS服务器210确定网络地址在DNS查询216中被请求,且由此网络地址不被包括在DNS查询220和224中。
另外,在上文的讨论中,DNS查询是作为被反射到一个反射器DNS服务器和一个收集器DNS服务器来讨论的。然而,可以理解,本文讨论的使用DNS反射来测量网络性能的技术可被用于将DNS查询反射到数据中心内的多个不同的DNS服务器。例如,可将本地DNS解析器204反射到数据中心212内的多个不同的反射器DNS服务器208,而不是将本地DNS解析器204反射到收集器DNS服务器210。类似于上文关于获取测量的讨论,这些附加反射的网络性能测量可被获取。此外,可以理解,本文讨论的使用DNS反射来测量网络性能的技术可被用于将DNS查询反射到多个不同数据中心内的多个不同反射器和收集器DNS服务器。例如,收集器DNS服务器210可将来自本地DNS解析器204的DNS查询反射到与域名对应的附加数据中心的反射器DNS服务器,而不是返回所请求的网络地址。类似于上文讨论的针对数据中心212所获取的测量,该附加数据中心的网络性能测量可被获取。
在对图2的讨论中,反射器DNS服务器208和收集器DNS服务器210作为分开的DNS服务器来讨论。本地DNS解析器204通常被配置以使得在解析器204已经从相同的DNS服务器接收到响应之后不向该DNS服务器重新发送DNS查询。因此,图2中使用了两个不同的DNS服务器208和210。如果本地DNS解析器204要支持在解析器204已经从相同的DNS服务器接收到响应之后向该DNS服务器重新发送DNS查询,则反射器DNS服务器208和收集器DNS服务器210可以是相同的DNS服务器。
图3是示出根据一个或多个实施例的实现使用DNS反射来测量网络性能的设备的示例过程300的流程图。过程300可以用软件、固件、硬件、或其组合来实现。过程300被示为一组动作,并且不仅限于所示出的用于执行各种动作的操作的顺序。过程300是用于使用DNS反射来测量网络性能的示例过程;参考不同的附图,本文包括了对使用DNS反射来测量网络性能的其他讨论。
在过程300中,顶层DNS服务器接收对与域名对应的网络地址的DNS查询(动作302)。如上文讨论的,该DNS查询是从本地DNS解析器接收的,且该域名通常被标识成URL。如上文讨论的,所请求的网络地址可以是IP地址或另选地是另一地址。
顶层DNS服务器向本地DNS解析器返回将该本地DNS解析器反射到另一服务器的响应以获取网络地址(动作304)。该另一服务器是包括在数据中心中的反射器DNS服务器,该数据中心通常(但不必)是与包括顶层DNS服务器的数据中心不同的数据中心。
反射器DNS服务器接收对与域名对应的网络地址的DNS查询(动作306)。在动作306中,该DNS查询是从本地DNS解析器接收的,且在动作306中,接收该DNS查询的反射器DNS服务器是动作304中顶层DNS服务器所指示的反射器DNS服务器。
反射器DNS服务器向本地DNS解析器返回将该本地DNS解析器反射到又一服务器的响应,以获取网络地址(动作308)。本地DNS解析器被反射到的该其他服务器是包括在与反射器DNS服务器相同的数据中心中的收集器DNS服务器。另选地,在反射器DNS服务器最终将本地DNS解析器反射到收集器DNS服务器之前,一个或多个反射器DNS服务器可将本地DNS解析器反射到另一反射器DNS服务器。
收集器DNS服务器接收对与域名对应的网络地址的DNS查询(动作310)。在动作310中,该DNS查询是从本地DNS解析器接收的,且在动作310中,接收该DNS查询的收集器DNS服务器是动作308中反射器DNS服务器所指示的收集器DNS服务器。
收集器DNS服务器向本地DNS解析器返回包括所请求的与域名对应的网络地址的响应(动作312)。如上文讨论的,收集器DNS服务器可按不同的方式来标识网络地址,诸如标识如收集器DNS服务器接收到的DNS查询中所嵌入的网络地址,通过访问网络地址的表或其他记录等等。当收集器DNS服务器返回的响应有效地终止了DNS反射操作时,动作310中接收到的查询也可被称为最终DNS查询,而动作312中返回的响应也可被称为最终DNS响应。
另外,在反射器DNS服务器与收集器DNS服务器两者中的本地DNS解析器之间的通信可被用于确定网络性能测量(动作314)。这些网络性能测量是对本地DNS解析器与包括反射器DNS服务器和收集器DNS服务器两者的数据中心之间的通信的网络性能的测量。在动作314中可标识不同的网络性能测量,诸如上文讨论的往返时间和分组丢失信息。
由此,可以看出,文本讨论的使用DNS反射来测量网络性能的技术利用DNS系统基于本地DNS解析器与数据中心之间的实际通信来获取网络性能测量。DNS查询到另一服务器的反射由典型的本地DNS解析器支持,作为其正常操作的一部分,且因此对典型的现有本地DNS解析器无需作出更改以支持文本讨论的使用DNS反射来测量网络性能的技术。此外,本地DNS解析器无需被配置成对附加请求(诸如查验请求)作出响应,而本地DNS解析器原本不会被配置成对这些附加请求作出响应。
此外,在DNS解析过程期间采用本文讨论的使用DNS反射来测量网络性能的技术。对于数据中心的操作服务器所维护的数据的请求、和/或对于这些请求的响应通常不受影响。换言之,本文讨论的使用DNS反射来测量网络性能的技术影响当解析DNS查询时哪些服务器被访问,而不影响在从数据中心的操作服务器获取所请求的数据时哪些服务器被访问。
图4示出根据一个或多个实施例的可被配置成实现使用DNS反射来测量网络性能的示例计算设备400。计算设备400可以是例如图1的计算设备102或图2的计算设备202,或可被用于实现图1的本地DNS解析器104、DNS服务器110、和操作服务器112中的任一个,或图2的解析器204、顶层DNS服务器206、反射器DNS服务器208、和收集器DNS服务器210中的任一个。
计算设备400包括一个或多个处理器或处理单元402、可包括一个或多个存储器和/或存储组件406的一个或多个计算机可读介质404、一个或多个输入/输出(I/O)设备408、以及允许各组件和设备彼此通信的总线410。计算机可读介质404和/或一个或多个I/O设备408可以作为计算设备400的一部分被包括,或者可另选地可以耦合到计算设备400。总线410表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种不同的总线体系结构中的处理器或局部总线。总线410可包括有线和/或无线总线。
存储器/存储组件406表示一个或多个计算机存储介质。组件406可包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等等)。组件406可包括固定介质(例如,RAM、ROM、固定硬盘驱动器等等)以及可移动介质(例如,闪存驱动器、可移动硬盘驱动器、光盘等等)。
此处所讨论的技术可以以软件实现,指令由一个或多个处理单元402。可以理解,不同的指令可以存储在计算设备400的不同的组件中,诸如存储在处理单元402中,存储在处理单元402的各种缓存存储器中,存储在设备400的其他高速缓存存储器(未示出)中,存储在其他计算机可读介质上等等。另外,可以理解,指令存储在计算设备400中的位置可以随着时间而变化。
一个或多个输入/输出设备408允许用户向计算设备400输入命令和信息,以及允许信息被呈现给用户和/或其他组件或设备。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、话筒、扫描仪等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡等等。
此处可以在软件或程序模块的一般上下文中描述各种技术。一般而言,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这些模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可以是可以被计算设备访问的任何可用介质。作为示例而非限制,计算机可读介质可包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质。
“通信介质”通常用诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。通信介质还包括任何信息传送介质。术语“已调制数据信号”是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。上面各项中的任何组合也包括在计算机可读介质的范围内。
一般而言,此处所描述的任何功能或技术都可使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或这些实现的组合来实现。如此处所使用的术语“模块”和“组件”一般代表软件、固件、硬件或其组合。在软件实现的情况下,模块或组件表示当在处理器(例如,一个或多个CPU)上执行时执行指定任务的程序代码。程序代码可以存储在一个或多个计算机可读的存储器设备中,可以参考图4发现关于其进一步的描述。本文描述的使用DNS反射来测量网络性能的技术的各特征是平台无关的,从而意味着这些技术可在具有各种处理器的各种商用计算平台上实现。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (15)

1.一种方法,包括:
在第一数据中心的第一域名系统(DNS)服务器处,接收来自本地DNS解析器的第一DNS查询,所述第一DNS查询请求与查询域名对应的网络地址;
通过将所述本地DNS解析器反射到第二数据中心的一个或多个反射器DNS服务器,对来自所述第一DNS服务器的所述第一DNS查询作出响应,所述第一数据中心和所述第二数据中心两者与所述查询域名对应;
在所述一个或多个反射器DNS服务器处,接收一个或多个附加DNS查询;
用与所述查询域名对应的网络地址,对来自收集器DNS服务器的最终DNS查询作出响应;以及
基于所述本地DNS解析器与所述第二数据中心的一个或多个反射器DNS服务器和收集器DNS服务器之间的通信,确定所述本地DNS解析器与所述第二数据中心之间的通信的一个或多个网络性能测量。
2.如权利要求1所述的方法,其特征在于,所述网络地址是与所述查询域名对应的第三数据中心中的服务器的网际协议(IP)地址。
3.如权利要求1所述的方法,其特征在于,所述一个或多个网络性能测量包括所述第二数据中心与所述本地DNS解析器之间的通信的往返时间,所述往返时间被确定成在所述一个或多个反射器DNS服务器中的第一个处接收到的来自所述本地DNS解析器的第一请求与在所述反射器DNS服务器或所述收集器DNS服务器的第二个处接收到的来自所述本地DNS解析器的第二请求之间经过的时间量。
4.如权利要求1所述的方法,其特征在于,所述一个或多个网络性能测量包括所述第二数据中心与所述本地DNS解析器标识出的本地DNS解析器之间的通信的往返时间。
5.如权利要求1所述的方法,其特征在于,所述一个或多个网络性能测量包括所述第二数据中心与所述本地DNS解析器之间的分组丢失比率或分组丢失模式。
6.如权利要求5所述的方法,其特征在于,所述一个或多个网络性能测量包括第一数量和第二数量,所述第一数量是对于从所述第二数据中心中的一个或多个DNS服务器发送到所述本地DNS解析器的分组的分组丢失比率或分组丢失模式的第一测量,而第二数量是对于从所述本地DNS解析器发送到所述第二数据中心中的一个或多个DNS服务器的分组的分组丢失比率或分组丢失模式的第二测量。
7.如权利要求1所述的方法,其特征在于,对来自所述第一DNS服务器的第一DNS查询作出响应包括生成由所述第一DNS服务器返回给所述本地DNS解析器的响应,所述响应包括所述一个或多个反射器DNS服务器之一的网络地址、以及与对所述最终DNS查询作出响应中要被包括的查询域名对应的网络地址两者。
8.如权利要求7所述的方法,其特征在于,对所述第一DNS查询作出响应包括将其中嵌入与所述查询域名对应的网络地址的别名包括在所述响应中,其中接收一个或多个附加DNS查询包括接收包括所述别名的一个或多个附加DNS查询,所述方法还包括在所述收集器DNS服务器处获取与来自所述别名的查询域名对应的网络地址。
9.如权利要求1所述的方法,其特征在于,所述一个或多个反射器DNS服务器和所述收集器DNS服务器是在所述第二数据中心中的同一计算设备上实现的,该计算设备具有多个网络接口。
10.如权利要求1所述的方法,其特征在于,所述收集器DNS服务器被包括在所述第二数据中心中。
11.一种计算设备,包括:
处理器;以及
一个或多个其上存储有多个指令的计算机可读介质,所述指令由所述处理器执行致使所述处理器:
在反射器域名系统(DNS)服务器处,接收对与域名对应的网络地址的第一DNS请求,所述第一DNS请求是从本地DNS解析器接收的;
向所述本地DNS解析器返回第一响应,所述第一响应将所述本地DNS解析器反射到收集器DNS服务器;
在所述收集器DNS服务器处,接收对与所述域名对应的网络地址的第二DNS请求,所述第二DNS请求是从所述本地DNS解析器接收的;
向所述本地DNS解析器返回第二响应,所述第二响应包括与所述域名对应的网络地址;以及
基于所述第一请求、所述第二请求、所述第一响应、和所述第二响应中的两个或更多个,确定对所述本地DNS解析器与所述数据中心之间的通信的一个或多个网络性能测量。
12.如权利要求11所述的计算设备,其特征在于,所述反射器DNS服务器和所述收集器DNS服务器两者是在具有多个网络接口的同一计算设备中实现的。
13.如权利要求11所述的计算设备,其特征在于,所述第一DNS请求和所述第二DNS请求两者包括由所述本地DNS解析器从第三DNS服务器获取的别名,其中作为与所述域名对应的网络地址的目标地址被嵌入所述别名中。
14.如权利要求11所述的计算设备,其特征在于,所述反射器DNS服务器和所述收集器DNS服务器两者被包括在同一数据中心中,且所述一个或多个网络性能测量包括所述数据中心与所述本地DNS解析器之间的通信的往返时间,所述往返时间被确定成所述第一请求与所述第二请求之间经过的时间量,其中所述第一请求与所述第二请求是来自所述本地DNS解析器的两个连续请求。
15.如权利要求11所述的计算设备,其特征在于,所述反射器DNS服务器和所述收集器DNS服务器两者被包括在同一数据中心中,且其中所述一个或多个网络性能测量包括与所述数据中心和所述本地DNS解析器之间的分组丢失相关的信息。
CN201180020741.0A 2010-04-28 2011-04-26 使用dns反射来测量网络性能 Active CN102859942B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/769,270 2010-04-28
US12/769,270 US8326980B2 (en) 2010-04-28 2010-04-28 Using DNS reflection to measure network performance
PCT/US2011/034007 WO2011139723A2 (en) 2010-04-28 2011-04-26 Using dns reflection to measure network performance

Publications (2)

Publication Number Publication Date
CN102859942A true CN102859942A (zh) 2013-01-02
CN102859942B CN102859942B (zh) 2014-07-16

Family

ID=44859185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180020741.0A Active CN102859942B (zh) 2010-04-28 2011-04-26 使用dns反射来测量网络性能

Country Status (6)

Country Link
US (1) US8326980B2 (zh)
EP (1) EP2564559B1 (zh)
JP (1) JP5788497B2 (zh)
CN (1) CN102859942B (zh)
HK (1) HK1179780A1 (zh)
WO (1) WO2011139723A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639366A (zh) * 2014-12-31 2015-05-20 北京奇虎科技有限公司 Dns灾备系统孤岛应答自动切换方法及装置
CN107819895A (zh) * 2017-11-16 2018-03-20 哈尔滨工业大学(威海) 基于域资源记录的顶级域名配置及安全的分析方法
CN110166581A (zh) * 2019-04-30 2019-08-23 大唐软件技术股份有限公司 一种域名解析服务器访问频次占比获取方法及装置
CN110661677A (zh) * 2018-06-29 2020-01-07 贵州白山云科技股份有限公司 一种dns测试方法、装置和系统
CN111314221A (zh) * 2018-12-11 2020-06-19 北京京东金融科技控股有限公司 业务处理方法、装置、设备及计算机可读存储介质
CN111587427A (zh) * 2017-11-02 2020-08-25 诺基亚技术有限公司 无线通信网络中用于链接分布式单元和虚拟机的方法、装置和计算机可读存储介质
CN111726428A (zh) * 2020-06-12 2020-09-29 网宿科技股份有限公司 一种权威服务器的选择方法、装置、设备及存储介质

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8832283B1 (en) * 2010-09-16 2014-09-09 Google Inc. Content provided DNS resolution validation and use
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
EP2638686B1 (en) * 2010-11-08 2018-10-10 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for enabling dns redirection in mobile telecommunication systems
US8671221B2 (en) 2010-11-17 2014-03-11 Hola Networks Ltd. Method and system for increasing speed of domain name system resolution within a computing device
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8825839B2 (en) * 2010-11-24 2014-09-02 Unisys Corporation Snooping DNS messages in a server hosting system providing overlapping address and name spaces
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
CN103999071B (zh) * 2011-11-02 2018-04-17 阿卡麦科技公司 在边缘网络服务器中的多域配置处理
US8819209B1 (en) * 2011-11-22 2014-08-26 Google Inc. Name server property tracking
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US20150134730A1 (en) * 2012-04-30 2015-05-14 Nec Europe Ltd. Method for performing dns resolution in a network, content distribution system and client terminal for deployment in a content distribution system
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9467383B2 (en) * 2012-06-19 2016-10-11 Hewlett Packard Enterprise Development Lp Iterative optimization method for site selection in global load balance
US9608886B2 (en) 2012-08-26 2017-03-28 At&T Intellectual Property I, L.P. Methods, systems, and products for monitoring domain name servers
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US10601943B2 (en) 2013-02-27 2020-03-24 Pavlov Media, Inc. Accelerated network delivery of channelized content
US10951688B2 (en) 2013-02-27 2021-03-16 Pavlov Media, Inc. Delegated services platform system and method
US9699058B2 (en) 2013-05-13 2017-07-04 Empire Technology Development Llc Datacenter health analysis using DNS switching
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US10749772B1 (en) * 2013-09-16 2020-08-18 Amazon Technologies, Inc. Data reconciliation in a distributed data storage network
GB2521883B (en) * 2014-05-02 2016-03-30 Imagination Tech Ltd Media controller
US9641547B2 (en) * 2014-12-13 2017-05-02 Security Scorecard, Inc. Entity IP mapping
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10050831B2 (en) * 2015-02-26 2018-08-14 Verisign, Inc. Query latency of a DNS service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10530852B2 (en) * 2016-05-19 2020-01-07 Level 3 Communications, Llc Network mapping in content delivery network
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
CN106789435B (zh) * 2016-12-29 2020-03-31 深信服科技股份有限公司 一种状态监控方法及其装置、数据中心及多活数据中心
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10375016B1 (en) * 2018-04-02 2019-08-06 Cloudflare, Inc. Managing domain name system (DNS) record cache across multiple DNS servers using multicast communication
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
CN113556410A (zh) * 2018-12-28 2021-10-26 华为技术有限公司 一种域名服务器的分配方法和装置
CN110049049B (zh) * 2019-04-22 2021-05-11 中国互联网络信息中心 一种dns区数据校验的方法和装置
CN110868450B (zh) * 2019-10-15 2022-09-23 平安科技(深圳)有限公司 双机房多入口会话保持方法、系统、装置及存储介质
US11297131B2 (en) * 2019-12-10 2022-04-05 Oracle International Corporation Method and apparatus for multi-vendor GTM fabric
US10951576B1 (en) * 2019-12-10 2021-03-16 Oracle International Corporation Method and apparatus for accurate GLB achieved by using distributed DNS reflection
US11729276B2 (en) * 2020-11-10 2023-08-15 Paypal, Inc. Rapid online variable sourcing infrastructure (ROVS) for decision systems
US11546290B1 (en) 2021-07-19 2023-01-03 Cisco Technology, Inc. Adjusting DNS resolution based on predicted application experience metrics
US20240073177A1 (en) * 2022-08-29 2024-02-29 Cisco Technology, Inc. Name resolution triggered monitoring agent selection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010052016A1 (en) * 1999-12-13 2001-12-13 Skene Bryan D. Method and system for balancing load distrubution on a wide area network
US20020007413A1 (en) * 2000-03-16 2002-01-17 Garcia-Luna-Aceves Jj System and method for using a mapping between client addresses and addresses of caches to support content delivery
US20030105865A1 (en) * 1999-09-03 2003-06-05 Fastforward Networks, Inc. Proximity-based redirection system for robust and scalable service-node location in an internetwork
US20060112176A1 (en) * 2000-07-19 2006-05-25 Liu Zaide E Domain name resolution using a distributed DNS network
US20080215718A1 (en) * 2001-09-28 2008-09-04 Level 3 Communications, Llc Policy-based content delivery network selection

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US7574499B1 (en) 2000-07-19 2009-08-11 Akamai Technologies, Inc. Global traffic management system using IP anycast routing and dynamic load-balancing
US7363367B2 (en) * 2000-10-17 2008-04-22 Avaya Technology Corp. Systems and methods for robust, real-time measurement of network performance
US7237017B1 (en) 2001-03-13 2007-06-26 Panamsat Corporation Micronode in a satellite based content delivery system
EP1410217A4 (en) 2001-04-02 2006-09-20 Akamai Tech Inc SCALABLE, VERY EFFICIENT AND VERY AVAILABLE DISTRIBUTED STORAGE SYSTEM FOR INTERNET CONTENT
JP4160506B2 (ja) 2001-09-28 2008-10-01 レヴェル 3 シーディーエヌ インターナショナル インコーポレーテッド. 構成可能な適応型広域トラフィック制御および管理
US7305429B2 (en) 2002-06-10 2007-12-04 Utstarcom, Inc. Method and apparatus for global server load balancing
US7143170B2 (en) * 2003-04-30 2006-11-28 Akamai Technologies, Inc. Automatic migration of data via a distributed computer network
US7730187B2 (en) * 2006-10-05 2010-06-01 Limelight Networks, Inc. Remote domain name service
US20100088405A1 (en) * 2008-10-08 2010-04-08 Microsoft Corporation Determining Network Delay and CDN Deployment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105865A1 (en) * 1999-09-03 2003-06-05 Fastforward Networks, Inc. Proximity-based redirection system for robust and scalable service-node location in an internetwork
US20010052016A1 (en) * 1999-12-13 2001-12-13 Skene Bryan D. Method and system for balancing load distrubution on a wide area network
US20020007413A1 (en) * 2000-03-16 2002-01-17 Garcia-Luna-Aceves Jj System and method for using a mapping between client addresses and addresses of caches to support content delivery
US20060112176A1 (en) * 2000-07-19 2006-05-25 Liu Zaide E Domain name resolution using a distributed DNS network
US20080215718A1 (en) * 2001-09-28 2008-09-04 Level 3 Communications, Llc Policy-based content delivery network selection

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639366A (zh) * 2014-12-31 2015-05-20 北京奇虎科技有限公司 Dns灾备系统孤岛应答自动切换方法及装置
CN111587427A (zh) * 2017-11-02 2020-08-25 诺基亚技术有限公司 无线通信网络中用于链接分布式单元和虚拟机的方法、装置和计算机可读存储介质
CN107819895A (zh) * 2017-11-16 2018-03-20 哈尔滨工业大学(威海) 基于域资源记录的顶级域名配置及安全的分析方法
CN107819895B (zh) * 2017-11-16 2019-12-31 哈尔滨工业大学(威海) 基于域资源记录的顶级域名配置及安全的分析方法
CN110661677A (zh) * 2018-06-29 2020-01-07 贵州白山云科技股份有限公司 一种dns测试方法、装置和系统
CN111314221A (zh) * 2018-12-11 2020-06-19 北京京东金融科技控股有限公司 业务处理方法、装置、设备及计算机可读存储介质
CN110166581A (zh) * 2019-04-30 2019-08-23 大唐软件技术股份有限公司 一种域名解析服务器访问频次占比获取方法及装置
CN111726428A (zh) * 2020-06-12 2020-09-29 网宿科技股份有限公司 一种权威服务器的选择方法、装置、设备及存储介质
CN111726428B (zh) * 2020-06-12 2023-09-22 网宿科技股份有限公司 一种权威服务器的选择方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2013527704A (ja) 2013-06-27
US8326980B2 (en) 2012-12-04
CN102859942B (zh) 2014-07-16
JP5788497B2 (ja) 2015-09-30
EP2564559B1 (en) 2020-02-26
WO2011139723A2 (en) 2011-11-10
WO2011139723A3 (en) 2012-01-19
US20110270964A1 (en) 2011-11-03
EP2564559A4 (en) 2015-10-28
HK1179780A1 (zh) 2013-10-04
EP2564559A2 (en) 2013-03-06

Similar Documents

Publication Publication Date Title
CN102859942B (zh) 使用dns反射来测量网络性能
US11632420B2 (en) Point of presence management in request routing
US10931738B2 (en) Point of presence management in request routing
US9444759B2 (en) Service provider registration by a content broker
US20190044787A1 (en) Point of presence management in request routing
US9525659B1 (en) Request routing utilizing point of presence load information
US9800539B2 (en) Request routing management based on network components
JP5438811B2 (ja) グローバルトラフィックロードバランシングのためのクライアントの場所及びリゾルバの負荷を判断するためのdnsワイルドカードビーコニング
US8458298B2 (en) Failover in an internet location coordinate enhanced domain name system
AU2011307319B2 (en) Request routing in a networked environment
EP3567881B1 (en) Request routing and updating routing information utilizing client location information
US8938526B1 (en) Request routing management based on network components
EP3422674A1 (en) A method of resolving a domain name by a dns server to a plurality of ip addresses based on location information of the user equipment
AU2012202910A1 (en) DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1179780

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1179780

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150508

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150508

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.