CN105144633A - 网络业务映射和性能分析 - Google Patents
网络业务映射和性能分析 Download PDFInfo
- Publication number
- CN105144633A CN105144633A CN201480023091.9A CN201480023091A CN105144633A CN 105144633 A CN105144633 A CN 105144633A CN 201480023091 A CN201480023091 A CN 201480023091A CN 105144633 A CN105144633 A CN 105144633A
- Authority
- CN
- China
- Prior art keywords
- network
- overlay network
- client
- data
- grouping
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
覆盖网络分析方法得到数据,包括但不限于在覆盖网络上的客户端分组业务数据,并基于所得到的数据来执行一个或多个分析以产生并输出所述覆盖网络和/或网络基底(所述覆盖网络在该网络基底上实现)的拓扑和/或性能信息。为特定的客户端资源实例收集的客户端业务数据可被分析以产生在所述实例之间的所述覆盖网络的性能度量。特定客户端的聚合的客户端业务数据还可被分析以产生在所述覆盖网络上的客户端的专用网络实现的映射以及在所述覆盖网络上的客户端的专用网络的性能度量。此外,来自多个客户端的客户端业务数据可被聚合并分析以产生作为整体的覆盖网络的映射和性能度量。
Description
背景
很多公司和其它组织操作计算机网络,其使很多计算系统互连以支持它们的操作,例如计算系统位于同一地点(例如作为本地网络的部分)或替代地位于多个不同的地理位置(例如经由一个或多个专用或公共中间网络而连接)上。例如,安置相当大数量的互连的计算系统的数据中心变得普通,例如由且代表单个组织操作的专用数据中心和由实体如企业操作以向消费者或客户端提供计算资源的公共数据中心。一些公共数据中心运营商为各种客户端拥有的硬件提供网络访问、能力和安全安装设施,而其它公共数据中心运营商提供也包括变得可用来由它们的客户端使用的硬件资源的“全部服务”设施。然而,当一般数据中心的规模和范围增加时,供应、支配和管理物理计算资源的任务变得日益复杂。
商用硬件的虚拟化技术的出现提供了关于为具有多种需要的很多客户端管理大规模计算资源的益处,允许各种计算资源有效和安全地由多个客户端共享。例如,虚拟化技术可通过给每个用户提供由单个物理计算机器托管的一个或多个虚拟机来允许单个物理计算机器在多个用户当中被共享,其中每个这样的虚拟机是充当不同的逻辑计算系统的软件模拟,其给用户提供他们是给定硬件计算资源的唯一操作员和管理员的错觉,同时还提供在各种虚拟机当中的应用隔离和安全。此外,一些虚拟化技术能够提供跨越两个或多个物理资源的虚拟资源,例如具有跨越多个不同的物理计算系统的多个虚拟处理器的单个虚拟机。
作为另一示例,虚拟化技术可通过给每个用户提供可分布在多个数据存储设备上的虚拟化数据存储来允许数据存储硬件在多个用户当中被共享,其中每个这样的虚拟化数据存储充当不同的逻辑数据存储,其给用户提供他们是数据存储资源的唯一操作员和管理员的错觉。
附图说明
图1是根据至少一些实施方案的覆盖网络分析方法的高级流程图。
图2是示出根据至少一些实施方案的在如在图1中示出的覆盖网络分析方法中的数据流程和操作的高级方框图。
图3示出根据至少一些实施方案的在提供者网络环境中的示例覆盖网络分析服务。
图4示出根据至少一些实施方案的得到并分析在客户端资源实例之间的特定的隧道或路线的性能数据。
图5A到图5C示出根据至少一些实施方案的示例覆盖网络数据分组和示例覆盖网络确认分组。
图6是根据至少一些实施方案的用于根据客户端的覆盖网络业务来分析在覆盖网络上的客户端的专用网络实现的性能的方法的流程图。
图7是根据至少一些实施方案的用于根据聚合的客户端网络业务来映射并分析覆盖网络的性能的方法的流程图。
图8A到图8D示出根据至少一些实施方案的覆盖网络分析方法的示例输出。
图9示出根据至少一些实施方案的示例提供者网络环境。
图10示出根据一些实施方案的使用IP隧道技术来在网络基底上实现覆盖网络的示例数据中心。
图11是根据至少一些实施方案的向客户端提供存储虚拟化服务和硬件虚拟化服务的示例提供者网络的方框图。
图12示出根据至少一些实施方案的向至少一些客户端提供虚拟化专用网络的示例提供者网络。
图13是示出可在一些实施方案中使用的示例计算机系统的方框图。
虽然在本文通过示例方式针对几个实施方案和说明性附图描述了各实施方案,但是本领域中的技术人员将认识到,实施方案并不限于所描述的实施方案或附图。应理解,附图及对其的详细描述并不意欲将实施方案限制到所公开的特定形式,而是相反,本发明应涵盖落在如所附权利要求限定的精神和范围内的所有修改、等效和可选形式。在本文使用的标题仅仅为了组织目的,且并不打算用于限制说明书或权利要求的范围。如在整个这个申请中使用的,词“可以(may)”在许可意义(即意指有可能)而不是强制意义(即意指必须)上被使用。类似地,词“包括(include)”、“包括(including)”和“包括(includes)”意指包括但不限于。
具体实施方式
描述了网络业务映射和性能分析的方法和装置的各种实施方案。具体地,描述了覆盖网络分析方法的实施方案,其得到数据(包括但不限于在覆盖网络上的客户端分组业务数据),并基于所得到的数据执行一个或多个分析以产生并输出覆盖网络和/或网络基底(覆盖网络在该网络基底上实现)的拓扑和/或性能信息。为特定的客户端资源实例收集的客户端业务数据可被分析以产生在实例之间的覆盖网络的性能度量。特定客户端的聚合的客户端业务数据还可被分析以产生在覆盖网络上的客户端的专用网络实现的映射以及在覆盖网络上的客户端的专用网络的性能度量。此外,来自多个客户端的客户端业务数据可被聚合并分析以产生作为整体的覆盖网络的映射和性能度量。
覆盖网络分析方法的实施方案可被实现为覆盖网络分析模块或在覆盖网络分析模块中实现。覆盖网络分析模块可在网络环境内的一个或多个计算系统上或由在网络环境内的一个或多个计算系统例如由如图3所示的在服务提供者的提供者网络环境中的覆盖网络分析服务实现。在图13中示出示例计算机系统,覆盖网络分析模块和/或覆盖网络分析服务的实施方案可在示例计算机系统上实现。
在本文在服务提供者的背景中总体描述了覆盖网络分析方法和装置的实施方案,服务提供者经由中间网络例如互联网向客户端提供在服务提供者的提供者网络上实现的虚拟化资源(例如虚拟化计算和存储资源)。图9到图12和标题为“示例提供者网络环境”的章节示出和描述了示例环境,其中如在本文所述的方法和装置的实施方案可被实现,且并不意欲是限制性的。在至少一些实施方案中,经由提供者网络被提供到服务提供者的客户端的至少一些资源可以是在与其它客户端共享的多租户硬件上和/或在专用于特定客户端的硬件上实现的虚拟化计算资源。每个虚拟化计算资源可被称为资源实例。资源实例可例如被出租或租借给服务提供者的客户端。例如,服务提供者的客户端可经由至服务的API访问提供者网络的一个或多个服务以得到并配置资源实例并建立和管理包括资源实例的虚拟网络配置,例如如图12所示的虚拟化专用网络。
可例如根据使多个操作系统能够同时在主机计算机上运行的硬件虚拟化技术,即作为在主机上的虚拟机(VM),来实现资源实例。在主机上的管理程序或虚拟机监视器(VMM)给主机上的VM显现虚拟平台并监视VM的执行。可给每个VM提供一个或多个专用IP地址;在主机上的VMM可以知道在主机上的VM的专用IP地址。对于关于硬件虚拟化技术的另外的信息,见图10。
VMM可使用互联网协议(IP)隧道技术来封装客户端数据分组并通过在提供者网络内的不同主机上的客户端资源实例之间的网络基底路由客户端数据分组。提供者网络可包括物理网络基底,其包括联网设备例如路由器、交换机、网络地址转换器(NAT)等以及在设备当中的物理连接。提供者网络可使用IP隧道技术来提供覆盖网络,封装的分组(也就是说,用覆盖网络元数据(包括但不限于用于通过覆盖网络路由的覆盖网络地址信息)加标签的客户端分组)可经由隧道或覆盖网络路线被传递通过网络基底。IP隧道技术可提供用于在网络基底上创建覆盖网络的映射和封装系统,并可为覆盖网络层(公共IP地址)和网络基底层(专用IP地址)提供单独的命名空间。在至少一些实施方案中,可对照映射目录检查在覆盖网络层中的封装的分组以确定它们的隧道基底目标(专用IP地址)应是什么。IP隧道技术提供覆盖在物理网络基底上的虚拟网络拓扑;显现给客户端的界面(例如服务API)附接到覆盖网络,使得当客户端资源实例提供分组将被发送到的IP地址时,IP地址通过与映射服务通信而在虚拟空间中运行,映射服务可确定IP覆盖地址在哪里。对于关于覆盖网络技术的另外的信息,见图10。
在主机上的客户端资源实例可根据状态协议例如传输控制协议(TCP)和/或根据无状态协议例如用户数据报协议(UDP)与在同一主机上或在不同主机上的其它客户端资源实例通信。然而,客户端分组根据覆盖网络协议由发送VMM封装并由接收VMM解封装。主机上的VMM在从主机上的客户端资源实例接收到客户端分组(例如TCP或UDP分组)并在另一客户端资源实例的IP地址处被作为目标时根据覆盖网络(或IP隧道)协议来封装客户端分组或给客户端分组加标签并将封装的分组发送到覆盖网络上用于分发。封装的分组可接着根据IP隧道技术经由覆盖网络路由到另一VMM。另一VMM从分组剥去覆盖网络封装并将客户端分组(例如TCP或UDP分组)分发到主机上的适当VM,其实现目标客户端资源实例。
照惯例,覆盖网络是根据无连接(或无状态)IP协议实现的无状态网络。发送VMM将封装的分组发送到覆盖网络上用于路由和分发,但不接收确认(ACK)或关于分组的分发的其它响应。
覆盖网络分析方法
在覆盖网络分析方法的至少一些实施方案中,为了使用于性能统计和其它目的的覆盖网络业务的监视和分析变得可能,覆盖网络协议可扩展到在覆盖网络协议分组信息中包括额外的信息(例如确认标记、时间戳、分组序列号等)。此外,覆盖网络协议可扩展到使通过VMM确认所接收的覆盖网络分组变得可能。因此,在VMM将一个或多个覆盖网络分组发送到覆盖网络之后,VMM可响应于覆盖网络分组的接收而从另一VMM接收一个或多个确认消息。在一些实施方案中,每个覆盖网络分组可产生确认消息。可选地,只有每第N个覆盖网络分组可产生确认消息。对于根据至少一些实施方案的示例覆盖网络数据分组和示例覆盖网络确认分组,见图5A到图5C。扩展的覆盖网络协议可允许分组的性能数据例如遍历时间(例如往返时间或单向遍历时间)被确定并收集,对于在VMM之间的特定隧道或覆盖网络路线,可从性能数据确定性能度量例如平均往返时间、时延、吞吐量和分组丢失率。来自多个VMM的聚合的数据可被分析以确定性能统计、映射和/或在客户端专用网络级处和/或作为整体的覆盖网络的其它信息。在至少一些实施方案中,来自多个客户端的聚合的数据连同网络基底的拓扑信息一起可被分析以确定在网络基底上的位置或特定部件,其中关于覆盖网络的问题出现。在至少一些实施方案中,时间同步技术或工艺可用于在实现VMM的主机设备当中使时间同步,使得基于时间的数据和度量例如往返时间、吞吐量和时延可准确地被计算。
图1是根据至少一些实施方案的覆盖网络分析方法的高级流程图。如在100指示的,可例如从在提供者网络中的主机设备上的虚拟机监视器(VMM)得到与基于在覆盖网络上的客户端资源实例之间的分组业务的覆盖网络性能有关的数据。VMM可收集根据扩展的覆盖网络协议得到的数据,并周期性或非周期性地向覆盖网络分析部件提供所收集的数据。如在102指示的,所得到的数据可被分析以确定性能统计、映射和覆盖网络的其它信息。所确定的信息可包括基于为特定的客户端资源实例收集的数据的在资源实例/隧道级处的信息、基于为客户端特有的多个客户端资源实例/隧道收集的数据的在客户端级处的信息和/或基于为多个客户端的多个客户端资源实例/隧道收集的数据的在覆盖网络的聚合级处的信息。如在104指示的,可提供指示所确定的信息的输出。输出可包括在客户端资源实例级处、在客户端级处和/或在覆盖网络的聚合级处的性能统计和/或映射输出。下面关于图2到图13进一步描述如图1所示的方法的元素。
图2是示出根据至少一些实施方案的在如在图1中示出的覆盖网络分析方法中的数据流程和操作的高级方框图。覆盖网络数据收集部件200和覆盖网络分析部件202可在提供者网络上例如在提供者网络上的一个或多个服务器系统上实现。覆盖网络数据收集部件200可从覆盖网络上的一个或多个源得到与覆盖网络客户端业务数据流有关的数据。例如在至少一些实施方案中,在提供者网络中的主机上的虚拟机监视器(VMM)可各自收集起源于对应于在VMM处的虚拟机(VM)的客户端资源实例的客户端业务的覆盖网络隧道(或路线)业务数据,并周期性或非周期性地向覆盖网络数据收集部件200提供所收集的数据。由VMM提供到数据收集部件200的隧道业务数据可以在每个隧道的分组级处,或可选地可以是每个隧道的多个分组的总计数据。此外,由VMM提供到数据收集部件200的隧道业务数据可以是特定客户端的资源实例特有的数据,或可以是为多个客户端资源实例收集的聚合数据。隧道业务数据可包括但不限于识别信息例如识别特定客户端和/或作为分组的源或目标的特定客户端资源实例的信息以及性能信息或度量例如往返时间和丢失的分组的指示。
覆盖网络数据收集部件200可因此从提供者网络上的每个VMM得到与在覆盖网络隧道或路线上的覆盖网络客户端业务数据流有关的数据。从每个VMM得到的数据可包括为在VMM处的一个、两个或多个客户端资源实例收集的数据。对应于给定客户端资源实例的数据可包括为在相应的VMM处起源的一个或多个覆盖网络隧道收集的数据,在客户端资源实例处起源的客户端数据经由VMM被发送到在另一VMM处的另一客户端资源实例。此外,客户端资源实例可在与其它客户端共享的多租户硬件(主机设备或系统)上实现,且因此从每个VMM得到的数据可以但不是必须包括为具有在相应的主机设备上实现的客户端资源实例的提供者网络的两个或多个不同的客户端收集的数据。
覆盖网络分析部件202可通过覆盖网络数据收集部件200得到从VMM收集的分组级、隧道级或总计数据。在至少一些实施方案中,数据收集部件200可将所收集的数据直接馈送到分析部件202。可选地,所收集的数据可由数据收集部件200存储到存储器或数据存储,分析部件202可从存储器或数据存储访问数据。在至少一些实施方案中,分析部件202可得到特定的资源实例或特定客户端的资源实例特有的数据或对应于两个或多个或全部客户端的资源实例的聚合数据。
在至少一些实施方案中,覆盖网络分析部件202还可从一个或多个源得到网络基底拓扑信息。可以例如经由用户输入和/或其它源(例如文本或图形文件输入)来得到网络基底拓扑信息。网络基底拓扑信息可例如指示网络基底的物理配置或布局以及指示网络基底(电缆跨度、联网设备等)的特定部件的信息连同每个部件的位置信息。
分析部件202可周期性地分析从数据收集部件得到的数据以产生覆盖网络映射和/或性能信息204。在至少一些实施方案中,可在客户端级处或在聚合(多客户端)级处执行分析。可根据特定客户端的资源实例特有的数据来执行客户端级分析以产生性能、健康和/或客户端的提供者网络实现(例如如在图4和图12中示出的客户端的虚拟化专用网络)特有的其它信息。在一些实施方案中,还可在客户端资源实例级处执行分析以产生性能、健康和/或在客户端的提供者网络实现中的特定的客户端资源实例之间的一个或多个特定覆盖网络隧道特有的其它信息。
可根据对应于两个或多个客户端的资源实例的聚合数据来执行聚合分析以产生性能、健康、网络映射和/或作为整体的覆盖网络的其它信息。此外,可执行聚合分析以确定物理网络基底的部件的性能度量,虚拟化覆盖网络在物理网络基底上实现。在后一情况下,覆盖网络分析部件202可使用来自与多个客户端相关的多个隧道的聚合数据连同网络基底拓扑信息一起来找出在网络基底例如网络部件(路由器、交换机、电缆等)中的问题点,其引起延迟和/或导致在覆盖网络上的丢失的分组。
在至少一些实施方案中,可例如经由如在图3中示出的覆盖网络分析服务320所提供的一个或多个API将由覆盖网络分析部件202产生的客户端级覆盖网络映射和/或性能信息204提供给相应的客户端。作为示例,在提供者网络上的特定客户端的专用网络实现的客户端级信息204可被提供到在客户端的外部网络上的设备例如在如图11所示的客户端网络1150上的控制台1194并显示在客户端的外部网络上的设备例如在如图11所示的客户端网络1150上的控制台1194上,用于由客户端的代理查看。在至少一些实施方案中,一个或多个客户端的客户端级信息204还可经由在提供者网络上的设备例如网络管理控制台由服务提供者的代理(例如网络管理员或工程师)访问。可经由在提供者网络上的设备例如网络管理控制台例如经由如图3所示的覆盖网络分析服务320所提供的一个或多个API将由覆盖网络分析部件202产生的聚合级覆盖网络映射和/或性能信息204提供给服务提供者的代理(例如网络管理员或工程师)。在一些实施方案中,聚合级(多客户端)信息可以不被提供给单独的客户端。在其它实施方案中,至少一些聚合级信息可在至少一些情况下变成客户端例如经由至服务的API可访问的。
在至少一些实施方案中,可经由动态显示来提供覆盖网络信息204,动态显示周期性或非周期性地更新以报告最新分析的客户端专属或聚合信息。替代地或此外,覆盖网络信息204可作为周期性或非周期性报告而产生,或可经由至服务的API应提供者网络的代理或客户端的代理的请求而产生。图8A到图8D示出客户端级和聚合报告的示例。
覆盖网络分析服务
在至少一些实施方案中,如本文所述的覆盖网络业务映射和性能分析可由服务提供者的提供者网络环境的覆盖网络分析服务提供。图3示出根据至少一些实施方案的在提供者网络环境中的示例覆盖网络分析服务。在图9到图12中进一步示出了示例提供者网络环境。在图13中示出了示例计算机系统,覆盖网络分析服务或其部件可在该计算机系统上实现。
参考图3,每个虚拟机监视器(VMM)312监视在提供者网络300中的相应主机310设备上的多个虚拟机(VM)。客户端资源实例314可在VM上实现,其中每个VM有一个客户端资源实例314。注意,主机310可以是由服务提供者的两个或多个客户端共享的多租户硬件。因此,给定主机310可托管服务提供者的两个或多个不同客户端的客户端资源实例314,且在主机310上的VMM312可监视实现两个或多个不同客户端的客户端资源实例314的VM。VMM312可以起在客户端资源实例314和在网络基底302上的覆盖网络例如根据互联网协议(IP)隧道技术实现的覆盖网络之间的媒介物的作用。
在至少一些实施方案中,为了使用于性能统计和其它目的的覆盖网络业务的监视和分析变得可能,覆盖网络协议可扩展到在覆盖网络协议分组信息中包括额外的信息(例如确认标记、时间戳、分组序列号等)。此外,在至少一些实施方案中,覆盖网络协议可扩展到使通过VMM312确认所接收的覆盖网络分组变得可能。扩展的覆盖网络协议可允许分组的性能数据例如往返时间被确定并收集,对于在特定的客户端资源实例314之间的隧道,可从性能数据确定性能度量例如平均往返时间、吞吐量和时延。来自多个VMM312的聚合的数据可被分析以确定性能统计、映射和/或在客户端专用网络级处和/或作为整体的覆盖网络的其它信息。在至少一些实施方案中,来自多个客户端的聚合的数据连同网络基底的拓扑信息一起可被分析以确定在网络基底上的位置或特定部件,其中关于覆盖网络的问题出现。在至少一些实施方案中,时间同步技术或工艺可用于在实现VMM312的主机310当中使时间同步,使得基于时间的度量例如往返时间、吞吐量和时延可准确地被计算。
VMM312可从主机310上的一个或多个客户端资源实例314接收客户端数据分组(例如TCP或UDP分组)。例如,VMM312A可从主机310A上的资源实例314A接收客户端数据分组。可在提供者网络300上的其它主机310上实现的其它客户端资源实例314处例如对于在主机310B上的资源实例314B和/或在主机314C上的资源实例314C以至少一些客户端数据分组作为目标。VMM312(例如VMM312A)根据覆盖网络协议来封装客户端数据分组,包括扩展的信息(例如时间戳、客户端资源实例标识符、分组序列号、确认标记等),并将覆盖网络数据分组发送到覆盖网络上用于分发到监视目标客户端资源实例314(例如VMM314B和314C)的VMM312。对于根据至少一些实施方案的覆盖网络数据分组的示例,见图5A。在至少一些实施方案中,可在发送VMM312处使用IP隧道技术以将IP覆盖地址(公共IP地址)映射到基底302IP地址(专用IP地址),并根据IP隧道(或覆盖网络)协议来封装客户端数据分组或给客户端数据分组加标签用于经由在这两个命名空间之间的覆盖网络隧道306来路由。可接着经由在网络基底302上的隧道306将封装的客户端数据分组分发到正确的端点(接收VMM312);在接收VMM312处从客户端数据分组剥去封装,并将客户端数据分组分发到适当的资源实例314。
在至少一些实施方案中,发送VMM312(例如VMM312A)还可例如在如图4所示的已发送分组日志中在本地记录关于被发送到覆盖网络上的一些或所有覆盖网络数据分组的信息。已发送分组的所记录的信息可包括但不限于下列项中的一个或多个:唯一地识别到VMM312的分组的信息,例如数据流/序列号信息;数据分组被发送时的时间,其被称为时间戳;发起在覆盖网络数据分组中封装的客户端数据分组的VM、客户端和/或客户端资源实例的指示;以及客户端数据分组的目标的指示。
在至少一些实施方案中,接收覆盖网络数据分组的一个或多个VMM312(例如VMM312B和312C)可响应于每个接收到的分组而经由覆盖网络将确认消息或分组返回到发送VMM312(例如VMM312A)。对于根据至少一些实施方案的示例覆盖网络确认分组,见图5B和图5C。确认分组可包括识别被确认的覆盖网络数据分组的信息,例如数据流/序列标识符。在至少一些实施方案中,确认分组可包括额外的信息,例如当覆盖网络数据分组在VMM312处被接收到时的时间戳和/或当确认分组由VMM312发送时的时间戳。如图5B所示,在一些情况下,覆盖网络确认分组可以不包括客户端数据。然而在其它情况下,覆盖网络确认分组还可以包括客户端数据(例如客户端确认分组)。
在一些实施方案中,作为响应于每个所接收的分组而发送确认消息的可选方案,只有每第N个(例如第2个、第12个、第100个等)所接收的分组可产生确认消息。例如,确认消息可以响应于来自发送VMM312的对确认的请求而只由接收VMM312发送。例如,发送VMM312可对数据流中的每个分组发送时间戳和序列号,但只请求每N个分组一个确认消息,例如通过设置在分组的覆盖网络分组头部中的确认请求标记。N(这个请求所针对的分组的数量)的指示还可包括在覆盖网络分组头部中。注意,N可以是但不是必须是固定的数字。接收VMM312可收集所接收的分组的度量,并在接收到对确认的请求时返回对自从最后一个确认被做出以来接收到的所有分组或对最后N个接收到的分组的统计。返回的统计可包括但不限于下列项中的一个或多个:分组的平均或聚合的渡越时间和多少分组实际上被接收到的计数。例如,如果如在对确认的请求中指示的N=100和接收VMM312自从对确认的最后请求以来只接收到98个分组,则接收VMM312可在确认消息中指示只有98个分组被接收到。可选地,在一些实施方案中,被接收的N个分组中的每个的接收时间和序列号可在确认分组中被返回。
如前面提到的,在主机310上的客户端资源实例314可根据状态协议例如传输控制协议(TCP)和/或无状态协议例如用户数据报协议(UDP)与在不同主机314上的其它客户端资源实例314通信。在使用状态协议例如TCP的客户端资源实例之间的通信会话中,确认(ACK)消息可从接收客户端资源实例314发送到发送客户端资源实例314。一些实施方案可通过在被发送回到发送客户端资源实例314的客户端ACK消息上捎带覆盖网络协议确认消息来利用状态协议的这个方面。在这些实施方案中,不是根据覆盖网络协议产生单独的确认消息,接收VMM312可检测从接收客户端资源实例发送的ACK消息(例如TCPACK消息),并将它为一个或多个接收到的分组收集的覆盖网络分析信息包括在覆盖网络头部中,ACK分组被封装在覆盖网络头部中。无状态协议例如UDP一般不产生确认消息,至于在客户端之间的数据流(其中无状态协议被使用),合成确认消息可如前所述被产生。
在至少一些实施方案中,当接收到确认分组时,发送VMM312(例如VMM312A)可使用包括在分组中的信息来找出在已发送分组日志中的对应条目(或多个条目)。VMM312可接着使用在确认分组中的或关于确认分组的信息(例如确认分组在VMM312处被接收到时的时间)和/或来自对应的一个或多个日志条目的信息(例如当对应的分组被发送时的时间戳)以计算在网络基底302上的覆盖网络隧道306的一个或多个性能度量,例如往返时间。注意,隧道306对应于在发送VMM312(例如VMM312A)的主机310处的客户端资源实例314和在接收VMM312(例如VMM312B)的主机310处的另一客户端资源实例314之间的网络基底302上的路线或路径。还注意,多个分组可在给定隧道306上从在一个VMM312处的一个客户端资源实例314流到在另一VMM312处的另一客户端资源实例314。
在一些情况下,覆盖网络数据分组可能由于某个原因而丢失,且因而发送VMM312可以没有接收先前发送的覆盖网络数据分组的确认。在至少一些实施方案中,发送VMM312可例如根据时间阈值来检测丢失的分组,并记录丢失的分组。例如,如果在已发送分组日志中记录的分组未在由阈值规定的时期内接收到确认,则VMM312可在已发送分组日志中将分组标记为丢失的。
在提供者网络300中的每个VMM312可充当发送和接收VMM。每个VMM312可跟踪从相应的VMM312发送到其它VMM312的覆盖网络数据分组,并记录与如上所述从VMM312到其它VMM312的覆盖网络客户端业务数据流有关的数据。每个VMM312可周期性或非周期性地将所收集的覆盖网络业务数据发送到在提供者网络300上的覆盖网络分析服务320的覆盖网络数据收集模块322。数据可根据IP隧道协议通过覆盖网络隧道被发送到数据收集模块322,或可选地,数据可根据某个其它联网协议例如TCP或UDP通过网络基底被发送。虽然没有示出,但是覆盖网络分析服务320可提供面向网络基底302和/或覆盖网络的一个或多个API,VMM312可经由网络基底302和/或覆盖网络与服务320通信,例如以将所收集的覆盖网络业务数据发送到服务320。
在至少一些实施方案中,覆盖网络数据收集模块322可将从VMM312收集的至少一些覆盖网络业务数据存储到数据存储330。替代地或此外,覆盖网络数据收集模块322将一些或所有所收集的数据直接提供到覆盖网络分析模块324。
覆盖网络分析模块324可从覆盖网络数据收集模块322、从数据存储330或从这两者得到覆盖网络业务数据。分析模块324可得到客户端专属业务数据以执行客户端级分析326。分析模块324可例如得到由特定的VMM312收集的客户端专属业务数据以执行对特定的客户端资源实例314的分析,或从多个VMM312聚合的客户端专属业务数据以执行特定客户端的作为整体的专用网络实现的分析。分析模块324还可从VMM312得到聚合的覆盖网络业务数据以执行作为整体的覆盖网络的聚合分析或确定在出现问题的网络基底302上的位置或特定部件。
在至少一些实施方案中,覆盖网络分析模块324还可从一个或多个源得到网络基底拓扑信息。网络基底拓扑信息可例如指示网络基底302的物理配置或布局以及指示网络基底302(电缆跨度、联网设备等)的特定部件的信息连同每个部件的位置信息。
覆盖网络分析模块324可基于所收集的覆盖网络业务数据和网络基底拓扑信息来执行客户端级分析326和/或聚合分析328。可使用在某个时期内从多个VMM312聚合的客户端专属业务数据执行客户端级分析326。可执行客户端级分析326以产生包括客户端的资源实例的客户端的专用网络配置的图和在覆盖网络上的客户端的资源实例之间的连接(隧道)。客户端级分析326还可根据覆盖网络协议基于在一段时期内由发送VMM312收集的覆盖网络分组数据(例如往返时间、丢失的分组信息等)来产生客户端的专用网络配置的所产生的图的性能度量或统计,例如在客户端资源实例之间的连接的平均往返时间、时延、吞吐量和分组损失率统计。客户端级分析326还可基于在客户端的资源实例之间的连接的性能度量或统计例如总网络时延、分组丢失率等产生客户端的作为整体的专用网络的性能度量或统计。客户端级分析326还可分析在特定的客户端资源实例314之间的特定数据流,例如,如在图4中所示的。
可使用来自多个客户端和多个VMM312的聚合的业务数据和网络基底拓扑信息来执行聚合分析328。可执行聚合分析328以产生在网络基底302上的VMM312之间的覆盖网络的路线的映射。聚合分析328还可产生覆盖网络的所产生的图的性能度量或统计,例如在VMM312之间的路线或在一段时期内作为整体的覆盖网络的时延、吞吐量和分组损失统计。此外,聚合分析328可确定网络基底302的特定部件的性能统计,并确定在可出现问题的网络基底上的特定位置或部件。例如,可根据三角测量技术来分析在横越如通过映射所确定的基底302的公共部分的网络基底302上的两个或多个路线的性能统计以确定网络基底302的特定部件的性能统计并用针标出可出现网络通信问题(促成时延的传输延迟、分组损失等)的网络基底上的位置。
覆盖网络分析模块324可产生各种覆盖网络映射和/或性能报告作为输出。覆盖网络分析模块324的客户端级分析326可产生一个或多个客户端级报告作为输出。覆盖网络分析模块324的聚合分析328可产生一个或多个聚合报告作为输出。客户端代理和提供者网络代理可经由一个或多个API332来访问覆盖网络分析服务320以请求和/或查看由覆盖网络分析服务320的覆盖网络分析模块324产生的覆盖网络映射和/或性能报告。客户端代理可经由API332访问服务320以请求并查看客户端级报告340。客户端级报告340可例如经由在客户端的外部网络中的控制台例如在如图11所示的客户端网络1150上的控制台1194上的界面被提供给客户端。可经由浏览器界面或在控制台上的其它程序提供客户端级报告340。提供者网络代理可经由API332访问服务320以请求并查看聚合报告350。客户端级报告340可例如经由在提供者网络中的控制台上的界面被提供给代理。可经由浏览器界面或在控制台上的其它程序提供聚合报告340。在一些实施方案中,还可允许客户端请求并查看至少一些聚合报告340。图8A到图8D示出客户端级和聚合报告的示例。
在至少一些实施方案中,可经由动态显示提供客户端报告340和聚合报告350,动态显示周期性或非周期性地更新以报告最新分析的客户端专属或聚合信息。替代地或此外,客户端报告340和聚合报告350可作为周期性或非周期性报告而产生,或可经由至服务的API332应提供者网络的代理或客户端的代理的请求而产生。
数据流分析
图4示出根据至少一些实施方案的得到并分析在提供者网络上的客户端专用网络中的客户端资源实例之间的特定的隧道或数据流的性能数据。客户端可在提供者网络上建立专用网络410。专用网络410可包括在由VMM412监视的VM上实现的多个客户端资源实例414。例如,客户端资源实例414A可由VMM412A监视,且客户端资源实例414B可由VMM412B监视。
客户端资源实例414A可将客户端数据分组发送到客户端资源实例414B。VMM412A可接收客户端数据分组,根据覆盖网络协议来封装客户端数据分组,并根据IP隧道技术将覆盖网络数据分组发送到在网络基底402上实现的覆盖网络。可根据在覆盖网络分组中的信息经由根据IP隧道技术的隧道406将覆盖网络数据分组路由到VMM412B。对于关于覆盖网络、隧道和IP隧道技术的更多信息,见图10。除了在路由中使用的信息以外,VMM412A还可在覆盖网络分组中包括额外信息(例如确认标记、时间戳、分组序列号等)。对于根据至少一些实施方案的示例覆盖网络数据分组,见图5A。
注意,可以存在从客户端资源实例414A到客户端资源实例414B的一个、两个或多个单独的数据流,每个数据流对应于在资源实例414A的特定端点和资源实例414B的特定端点之间的通信会话,且因而可以存在在这两个资源实例414之间的一个、两个或多个隧道406。此外注意,客户端资源实例414A和414B可根据状态协议例如传输控制协议(TCP)、无状态协议例如用户数据报协议(UDP)或这两者进行通信。此外注意,客户端资源实例414A和414B还可经由覆盖网络与客户端专用网络410中的其它客户端资源实例通信,且因而每个可以与网络基底402上的其它隧道相关。
在至少一些实施方案中,VMM412A还可在已发送分组日志416中记录关于一些或所有覆盖网络数据分组的信息。所记录的信息可包括但不限于下列项中的一个或多个:唯一地识别到VMM412A的分组的信息,例如数据流/序列号信息;数据分组被发送时的时间,其被称为时间戳;发起覆盖网络数据分组中封装的客户端数据分组的VM、客户端和/或客户端资源实例的指示;以及客户端数据分组的目标的指示。
当通过隧道406接收到覆盖网络数据分组时,VMM412B可从客户端数据分组剥去封装并将客户端数据分组转发到客户端资源实例414B。此外,在至少一些实施方案中,VMM412B可经由隧道406将确认(ACK)消息返回到VMM412A。对于根据至少一些实施方案的覆盖网络确认分组的示例,见图5B和图5C。确认分组可包括识别被确认的覆盖网络数据分组的信息,例如数据流/序列号标识符。在至少一些实施方案中,确认分组可包括额外的信息,例如当覆盖网络数据分组在VMM412B处被接收到时的时间戳和/或当确认分组由VMM412B发送时的时间戳。如图5B所示,在一些情况下,覆盖网络确认分组可以不包括客户端数据。然而在其它情况下,覆盖网络确认分组还可以包括客户端数据(例如客户端确认分组,例如TCPACK)。
如前面提到的,在一些实施方案中,VMM412B可响应于每个接收到的分组而将确认(ACK)消息返回到VMM412A。在一些实施方案中,作为响应于每个接收到的分组而发送确认消息的可选方案,确认消息可以每第N个分组由VMM412B发送,例如只有当被VMM412A请求时。在一些实施方案中,如果根据状态协议(例如TCP)建立在客户端资源实例414A和414B之间的通信会话,则VMM412B可通过在被发送回到发送客户端资源实例414A的客户端ACK消息上捎带确认覆盖网络协议确认消息来利用状态协议。
在至少一些实施方案中,当经由隧道406从VMM412B接收到确认分组时,VMM412A可使用包括在分组中的信息来找出在已发送分组日志416中的对应的一个或多个条目。在至少一些实施方案中,VMM412A可接着使用在确认分组中的或关于确认分组的信息(例如确认分组在VMM412A处被接收到时的时间)和/或来自对应的一个或多个日志条目的信息(例如当对应的分组被发送时的时间戳)以计算在网络基底402上的覆盖网络隧道406的一个或多个性能度量,例如往返时间。
不同的技术可用于计算往返时间。例如,在一些实施方案中,VMM412A可在隧道406上发送的每个分组的已发送分组日志416中记录时间戳。当接收到确认分组时,VMM412A可在对应于已发送分组(对其的确认被接收到)的日志416的条目中记录当确认分组在VMM412A处被接收到时的时间戳。往返时间可被计算为在这两个时间之间的差异。注意,这种方法并不需要时间戳被包括在确认分组中。
作为可选方案,在一些实施方案中,VMM412A可在隧道406上发送的每个分组的已发送分组日志416中记录时间戳。当接收到确认分组时,VMM412A可在对应于已发送分组(对其的确认被接收到)的日志416的条目中读取并记录当确认分组被接收到时的时间戳。此外,确认分组可包括当覆盖网络数据分组在VMM412B处被接收到时的时间戳和/或当确认分组由VMM412B发送时的时间戳。来自确认分组的这个时间戳信息还可记录在已发送分组日志415中。可接着根据时间戳来计算覆盖网络数据分组和确认分组的覆盖网络遍历时间。往返时间可接着被计算为这两个时间的和。在一些实施方案中,作为计算往返时间的可选方案,覆盖网络数据分组的单向遍历时间可替代地从时间戳信息被计算为例如在如在已发送日志416中记录的发送时间和在确认分组中记录的接收时间之间的差异。注意,这些方法需要时间戳包括在确认分组中,且也需要在VMM412之间的时间同步。因此,时间同步技术或工艺可用于在实现VMM412的主机设备当中使时间同步,使得往返时间可被准确地计算。
在一些情况下,覆盖网络数据分组和/或确认分组可能由于某个原因而丢失,且因而VMM412A可以没有接收先前发送的覆盖网络数据分组的确认分组。在至少一些实施方案中,VMM412A可例如根据时间阈值来检测丢失的分组,并记录丢失的分组。例如,如果在已发送分组日志416中记录的分组在由阈值规定的时期内未接收到确认,则VMM412A可在已发送分组日志416中将分组标记为丢失的。
在一些实施方案中,作为对响应于每个接收到的覆盖网络数据分组而发送确认分组的可选方案,接收VMM412B可替代地保持接收到的分组日志,其中关于接收到的分组的信息被记录。接收到的分组的所记录的信息可包括但不限于下列项中的一个或多个:唯一地识别接收到的分组的信息,例如数据流/序列号信息;指示数据分组何时被接收到的时间戳;以及指示分组从哪个VMM接收的信息。VMM412B可接着将为多个分组记录的信息周期性或非周期性地发送到VMM412A,例如当VMM412A周期性或非周期性地请求确认分组时。当从VMM412B接收到信息时,VMM412A可接着比较这个信息与记录在已发送分组日志416中的信息以计算隧道406的性能信息。注意,因为不为每个分组发送确认分组,可以不计算往返时间。替代地,覆盖网络数据分组的单向遍历时间可被计算为例如在如在已发送分组日志416中记录的发送时间和在从VMM412B接收的信息中记录的接收时间之间的差异。此外,可通过比较从VMM412B接收的信息与已发送分组日志416来确定丢失的分组。例如,如果在已发送分组日志416中记录的分组根据接收自VMM412B的信息遗失,则分组可被标记为丢失的。
VMM412A可将在隧道406上发送的每个覆盖网络数据分组的数据发送到覆盖网络分析服务420,或可选地可以周期性或非周期性地将在对应于隧道406的已发送分组日志416中收集的数据发送到覆盖网络分析服务420。覆盖网络分析服务420可收集并存储这个数据,并可在某个时间间隔内执行数据的分析以产生在客户端资源实例414A和414B之间的隧道406特有的性能统计,例如隧道406的时延、吞吐量和分组丢失率。性能统计可作为资源实例数据流报告430经由至服务420的API例如被输出到客户端。图8A示出根据至少一些实施方案的资源实例数据流报告的示例。注意,可以存在从客户端资源实例414A到客户端资源实例414B的一个、两个或多个隧道,且可为每个隧道产生单独的数据流报告430。
此外,从VMM412A接收的关于隧道406的数据可与从VMM412A和/或从在客户端专用网络410上的客户端的资源实例414之间的其它隧道特有的其它VMM接收的其它数据聚合在一起。客户端的资源实例的这个聚合的数据可被分析以产生客户端报告440,例如指示资源实例414的客户端专用网络410的拓扑和在实例之间的连接(隧道)的映射和/或连接的性能统计(例如时延、分组丢失率、吞吐量等)。图8B示出根据至少一些实施方案的客户端级报告的示例。
此外,客户端的数据可与来自一个或多个其它客户端的数据聚合在一起。来自多个客户端的聚合的数据可被分析以产生覆盖网络的聚合报告450,例如在VMM412之间的连接(隧道)的映射和连接的性能统计(例如时延、分组丢失率、吞吐量等)。聚合的数据还可用于确定网络基底的特定部件的性能统计并识别在网络基底中的问题点。图8C和8D示出根据至少一些实施方案的示例聚合报告。
覆盖网络分组
图5A到图5C示出根据至少一些实施方案的示例覆盖网络数据分组和示例覆盖网络确认分组。图5A示出根据至少一些实施方案的示例覆盖网络数据分组500。分组500可包括根据覆盖网络协议例如由发送VMM封装或加标签的客户端数据分组510。覆盖网络协议可包括覆盖网络头部502。覆盖网络协议可以但不是必须也包括覆盖网络脚注508。覆盖网络头部502可包括覆盖网络地址信息504,其可用于将分组500在覆盖网络上路由到目的地(例如到接收或目标VMM)。发送方(例如发送VMM)可在封装客户端数据分组510时填充这个信息504。覆盖网络头部502还可包括覆盖网络分析信息506。覆盖网络分析信息506可包括但不限于下列项中的一个或多个:指示这个分组500将被确认的确认标记、当这个分组500被发送时的时间戳和这个分组500的分组序列号。分析信息506可包括其它信息,例如识别这个分组500的特定数据流/隧道的信息。在一些实施方案中,覆盖网络头部502还可包括可用于指示确认消息是否响应于这个消息而被发送的标记以及对确认的这个请求所针对的分组的数量的指示。
图5B示出根据至少一些实施方案的示例覆盖网络确认分组520。确认分组520可包括覆盖网络头部522。确认分组520可以但不是必须也包括覆盖网络脚注528。覆盖网络头部522可包括可用于将分组520在覆盖网络上路由到目的地(例如到发送覆盖网络数据分组500的VMM,对覆盖网络数据分组500产生这个确认分组520)的覆盖网络地址信息524。发送方(例如接收覆盖网络数据分组500的VMM,为覆盖网络数据分组500发送这个确认分组520)将填充这个信息524。覆盖网络头部522还可包括覆盖网络分析信息526。覆盖网络分析信息526可包括但不限于下列项中的一个或多个:一个或多个时间戳(例如指示数据分组500何时被接收到的时间戳和/或指示确认分组520何时被发送的时间戳)以及对应于这个确认分组520的数据分组500的分组序列号。分析信息526可包括其它信息,例如识别对应于这个确认分组520的数据分组500的特定的数据流/隧道的信息。
图5C示出根据至少一些实施方案的可在状态协议ACK消息上捎带确认消息时使用的示例覆盖网络确认分组530。在一些实施方案中,如果在客户端资源实例之间的通信会话根据状态协议(例如TCP)而建立,则覆盖网络分析方法可通过在被发送回到发送客户端资源实例的客户端ACK消息上捎带覆盖网络协议确认消息来利用状态协议。在这些情况下,除了用包括地址信息534和分析信息536的覆盖网络头部532以及任选的覆盖网络脚注538封装或加标签以外,封装的客户端数据(例如客户端确认分组540)也可包括在覆盖网络分组中。
分析方法
图6到图8是根据至少一些实施方案的用于收集并分析覆盖网络客户端业务以确定覆盖网络性能和在各种级别处的其它信息的几种方法的流程图。这些方法基于如在图1和图2中所示的一般方法且并不意欲是限制性的。
图6是根据至少一些实施方案的用于根据客户端的覆盖网络业务来分析在覆盖网络上的客户端的专用网络实现的性能的方法的流程图。可根据在一段时期内收集的特定客户端的资源实例特有的数据来执行客户端级分析以产生性能、健康和/或客户端的提供者网络实现(例如如图4和图12所示的客户端的虚拟化专用网络)特有的其它信息。
如在图6的600所指示的,在提供者网络上的一个或多个VMM可基于在覆盖网络上的特定客户端的资源实例之间的业务来收集与覆盖网络性能有关的数据。数据可对应于在特定客户端资源实例之间的隧道上的覆盖网络分组业务,例如,如图4所示。所收集的数据可包括例如从在隧道上的数据分组和确认分组计算的往返时间。替代地或此外,所收集的数据可包括覆盖网络数据分组的单向遍历时间。所收集的数据还可包括丢失的分组的指示。数据可例如被记录在已发送分组日志中,例如,如图4所示。
如在图6的602所指示的,VMM可周期性或非周期性地向提供者网络的覆盖网络分析服务提供所收集的数据。数据可根据IP隧道协议通过覆盖网络隧道被发送到覆盖网络分析服务,或可选地,数据可根据某个其它联网协议例如TCP或UDP通过覆盖基底被发送。在至少一些实施方案中,覆盖网络分析服务可提供面向网络基底和/或覆盖网络的一个或多个API,VMM可经由网络基底和/或覆盖网络与服务通信,例如以将所收集的覆盖网络业务数据发送到服务。
如在图6的604所指示的,覆盖网络分析服务分析客户端的所收集的数据以确定在提供者网络上的客户端的专用网络实现的映射和性能统计。例如,可分析为每个隧道收集的往返或单向渡越时间以确定隧道的时延。作为另一示例,可分析数据以确定隧道的分组丢失率。可分析隧道的所计算的性能度量以确定整个专用网络实现的性能统计,例如总时延和/或分组丢失率。
如在图6的606所指示的,覆盖网络分析服务可经由至服务的API向客户端提供由分析产生的客户端的专用网络实现的信息。例如,客户端专属信息可经由在客户端的外部网络中的控制台例如如图11所示的客户端网络1150的控制台1194上的界面被提供给客户端。
图7是根据至少一些实施方案的用于根据聚合的客户端网络业务来映射并分析覆盖网络的性能的方法的流程图。可根据在某个时期内为多个客户端收集的数据来执行聚合分析以产生映射、性能、健康和/或作为整体的覆盖网络的其它信息。
如在图7的700所指示的,在提供者网络上的VMM基于在覆盖网络上的客户端的资源实例之间的业务来收集与覆盖网络性能有关的数据。数据可对应于在客户端资源实例之间的隧道上的覆盖网络分组业务,例如,如图4所示。所收集的数据可包括例如从在隧道上的数据分组和确认分组计算的往返时间。替代地或此外,所收集的数据可包括覆盖网络数据分组的单向遍历时间。所收集的数据还可包括丢失的分组的指示。为VMM上的所有客户端收集的数据可例如被记录在一个或多个已发送分组日志中,例如,如图4所示。
如在图7的702所指示的,VMM可周期性或非周期性地向提供者网络的覆盖网络分析服务提供所收集的数据。数据可根据IP隧道协议通过覆盖网络隧道被发送到覆盖网络分析服务,或可选地,数据可根据某个其它联网协议例如TCP或UDP通过网络基底被发送。在至少一些实施方案中,覆盖网络分析服务可提供面向网络基底和/或覆盖网络的一个或多个API,VMM可经由网络基底和/或覆盖网络与服务通信,例如以将所收集的覆盖网络业务数据发送到服务。
如在图7的704所指示的,覆盖网络分析服务分析一些或所有客户端的所收集的数据以确定作为整体的覆盖网络的映射和性能统计。例如,可在VMM之间的客户端的所有隧道计算性能信息(例如时延和分组丢失率)。隧道的所计算的性能信息可共同被分析以确定在特定的VMM之间和/或对整个覆盖网络的性能统计,例如总时延和/或分组丢失率。可根据聚合的数据和网络基底拓扑信息来产生在网络基底上的VMM之间的覆盖网络的路线的映射。可产生网络基底的特定部件的性能统计。例如,可根据三角测量技术来分析在横越如通过映射所确定的基底的公共部分的网络基底上的两个或多个路线的性能统计以确定网络基底的特定部件的性能统计并确定可出现问题的网络基底上的特定位置或部件。
如在图7的706所指示的,覆盖网络分析服务可经由至服务的API提供由为多个客户端聚合的数据的分析产生的覆盖网络信息。例如,信息可经由在提供者网络中的控制台上的界面被提供给提供者网络的代理。
分析输出
图8A到图8D示出根据至少一些实施方案的覆盖网络分析方法的示例输出,并不意欲是限制性的。图8A和图8B是客户端级报告的示例,而图8C和图8D是聚合级报告的示例。实施方案可输出呈图形和/或文本格式的客户端级和聚合报告。报告可作为静态报告被输出,或可选地可以在新数据被接收到和分析时动态地显示和更新。
图8A示出根据至少一些实施方案的如图4所示的示例资源实例数据流报告。标识字段800可指示数据流的源资源实例A和目的地资源实例B,且还可包括识别在资源实例之间的特定数据流的信息。资源实例数据流报告可包括指示数据流或隧道的所计算的吞吐量802、时延804和分组损失率806的字段。在源资源实例A和目的地资源实例B之间可以有两个或多个隧道。如图8A所示的单独资源实例数据流报告可产生,并可单独地或共同地被显示。此外,资源实例数据流报告可为其它资源实例产生并单独地或共同地被显示。
图8A意欲表示在两个资源实例之间的特定数据流或隧道的性能统计。然而,在至少一些实施方案中,来自在两个资源实例之间的多个隧道的性能统计可组合以产生在两个资源实例之间的总数据流统计。
图8B示出根据至少一些实施方案的示例客户端级报告。这个示例示出根据在覆盖网络上的客户端的资源实例之间的客户端的聚合的分组业务数据的分析而产生的在提供者网络上的示例客户端专用网络实现的图形映射。示出客户端资源实例814A到814E。在客户端资源实例814之间的连接或数据流被示为隧道806A到806G。每个资源实例814可以是隧道806到一个、两个或多个其它资源实例814的端点。此外,可以存在在两个给定的资源实例814之间的两个或多个隧道806,例如在客户端资源实例814A和814B之间的隧道806C和806D。单独隧道806的例如如图8A所示的性能统计可相邻于相应的隧道806而显示。在至少一些实施方案中,客户端级报告可以是交互式的。例如,用户可选择特定的隧道806或资源实例814来显示隧道806或资源实例814的性能统计。
图8C示出根据至少一些实施方案的在提供者网络上的VMM之间的路线的示例聚合报告。可根据在这两个VMM之间的覆盖网络上的所有隧道的聚合数据流信息的分析来产生报告。标识字段830可指示路线的源VMMA和目的地VMMB,并且还可包括识别在VMM之间的特定路线的信息。路线聚合报告可包括指示路线的所计算的吞吐量832、时延834和分组损失率836的字段。
图8D示出根据至少一些实施方案的覆盖网络的示例聚合报告。可结合网络基底(覆盖网络在该网络基底上被实现)的拓扑信息根据在VMM之间的覆盖网络上的一些或所有隧道的聚合数据流信息的分析来产生覆盖网络级聚合报告。这个示例示出根据来自在覆盖网络上的多个客户端的聚合的数据的分析产生的在提供者网络的网络基底上的示例覆盖网络实现的映射的图形表示。
图8D示出具有在提供者网络上的虚拟机监视器的示例主机设备(主机/VMM812A到812C)的图形表示以及在主机/VMM812之间的路线820。可以存在在每对主机/VMM812之间的一个或多个路线820(例如路线820A到820E)。圆代表在网络基底上的节点(例如网络设备),例如路由器、交换机等。在主机/VMM812和节点之间的线代表在节点之间或在节点和主机设备之间的连接或链接,例如光纤连接。注意,两个或多个路线820可穿过给定节点。例如,路线820D和820E都穿过节点822A,且路线820C和820E都穿过节点822B。此外,两个路线820可共享连接(例如光纤电缆)。例如,路线820C和820E共享在节点822B和主机/VMM812B之间的连接。例如如图8C所示的路线820的性能统计可相邻于相应的路线而显示。在至少一些实施方案中,聚合报告可以是交互式的。例如,用户可选择特定的路线820或主机/VMM812来显示相应的路线820或主机/VMM812的性能统计。此外,节点和连接的性能统计可根据聚合分析来计算,并可使用相应的节点和连接被显示在聚合报告上或交互地被访问。在至少一些实施方案中,问题节点或连接可根据聚合分析而被识别出并例如使用视觉(例如颜色)、文本或其它指示在聚合报告上被指示。
示例提供者网络环境
本章描述示例提供者网络环境,其中可实现网络业务映射和性能分析方法和装置的实施方案。然而,这些示例提供者网络环境并不意欲是限制性的。
图9示出根据至少一些实施方案的示例提供者网络环境。提供者网络900可经由一个或多个虚拟化服务910来向客户端提供资源虚拟化,虚拟化服务910允许客户端购买、租借或以其它方式得到在一个或多个数据中心中的一个或多个提供者网络内的设备上实现的虚拟化资源(包括但不限于计算和存储资源)的实例912。专用IP地址916可与资源实例912相关;专用IP地址是在提供者网络900上的资源实例912的内部网络地址。在一些实施方案中,提供者网络900还可提供客户端可从提供者900得到的公共IP地址914和/或公共IP地址范围(例如互联网协议版本4(IPv4)或互联网协议版本6(IPv6)地址)。
照惯例,提供者网络900经由虚拟化服务910可允许服务提供者的客户端(例如操作客户端网络950A的客户端)动态地使被分派或分配给客户端的至少一些公共IP地址914与被分派给客户端的特定资源实例912相关。提供者网络900还可允许客户端将先前映射到被分配给客户端的一个虚拟化计算资源实例912的公共IP地址914重新映射到也被分配给客户端的另一虚拟化计算资源实例912。使用虚拟化计算资源实例912和由服务提供者提供的公共IP地址914,服务提供者的客户端例如客户端网络950A的运营商可例如实现客户端专属应用并在中间网络940例如互联网上显现客户端的应用。在中间网络940上的其它网络实体920可接着产生到由客户端网络950A公布的目的地公共IP地址914的业务;业务被路由到服务提供者数据中心,且在数据中心处经由网络基底被路由到当前映射到目的地公共IP地址914的虚拟化计算资源实例912的专用IP地址916。类似地,来自虚拟化计算资源实例912的响应业务可经由网络基底路由回到中间网络940上到源实体920。
如在本文使用的专用IP地址指在提供者网络中的资源实例的内部网络地址。专用IP地址仅仅在提供者网络内是可路由的。在提供者网络外部起源的网络业务不直接路由到专用IP地址;替代地,业务使用映射到资源实例的公共IP地址。提供者网络可包括提供网络地址转换(NAT)或类似的功能以执行从公共IP地址到专用IP地址和从专用IP地址到公共IP地址的映射的网络设备或装置。
如在本文使用的公共IP地址是由服务提供者或由客户端分派到资源实例的互联网可路由网络地址。路由到公共IP地址的业务例如经由1:1网络地址转换(NAT)被转换并转发到资源实例的相应专用IP地址。
一些公共IP地址可由提供者网络基础设施分派到特定的资源实例;这些公共IP地址可被称为标准公共IP地址,或简称为标准IP地址。在至少一些实施方案中,资源实例的标准IP地址到专用IP地址的映射是所有资源实例类型的默认发起配置。
至少一些公共IP地址可被分配给提供者网络900的客户端或由提供者网络900的客户端得到;客户端可接着将他们的所分配的公共IP地址分派到被分配给客户端的特定资源实例。这些公共IP地址可被称为客户端公共IP地址,或简称为客户端IP地址。不是如在标准IP地址的情况中的由提供者网络900分派到资源实例,客户端IP地址可例如经由服务提供者所提供的API由客户端分派到资源实例。与标准IP地址不同,客户端IP地址被分配到客户端账户并可在必要或需要时由相应的客户端重新映射到其它资源实例。客户端IP地址与客户端的账户而不是特定的资源实例相关,且客户端控制那个IP地址,直到客户端选择释放它为止。与常规静态IP地址不同,客户端IP地址允许客户端通过将客户端的公共IP地址重新映射到与客户端的账户相关的任何资源实例来掩蔽资源实例或可用性区故障。客户端IP地址例如使客户端能够通过将客户端IP地址重新映射到替代资源实例使用客户端的资源实例或软件来巧妙地处理问题。
图10示出根据一些实施方案的使用IP隧道技术来在网络基底上实现覆盖网络的示例数据中心。提供者数据中心1000可包括网络基底,其包括联网设备1012,例如路由器、交换机、网络地址转换器(NAT)等。至少一些实施方案可使用互联网协议(IP)隧道技术来提供覆盖网络,封装的分组可使用隧道经由覆盖网络被传递通过网络基底1010。IP隧道技术可提供用于在网络(例如在图10的数据中心1000中的本地网络)上创建覆盖网络的映射和封装系统,并可提供覆盖层(公共IP地址)和网络基底1010层(专用IP地址)的单独的命名空间。可对照映射目录(例如由映射服务1030提供)检查在覆盖层中的分组以确定它们的隧道基底目标(专用IP地址)应是什么。IP隧道技术提供虚拟网络拓扑(覆盖网络);显现给客户端的界面(例如服务API)附接到覆盖网络,使得当客户端提供客户端想要将分组发送到的IP地址时,IP地址通过与映射服务(例如映射服务1030)通信而在虚拟空间中运行,映射服务知道IP覆盖地址在哪里。
在至少一些实施方案中,IP隧道技术可将IP覆盖地址(公共IP地址)映射到基底IP地址(专用IP地址),封装在这两个命名空间之间的隧道中的分组,并经由隧道将分组分发到正确的端点,其中封装从分组被剥去。在图10中,示出从在主机1020A上的虚拟机(VM)1024A到在中间网络1050上的设备的示例覆盖网络隧道1034A和在主机1020B上的VM1024B和在主机1020C上的VM1024C之间的示例覆盖网络隧道1034B。在一些实施方案中,分组在发送之前可被封装在覆盖网络分组格式中,且覆盖网络分组可在接收到之后被剥去。在其它实施方案中,不是将分组封装在覆盖网络分组中,覆盖网络地址(公共IP地址)可在发送之前嵌在分组的基底地址(专用IP地址)中,并在接收到时从分组地址剥去。作为示例,可使用32位IPv4(互联网协议版本4)地址作为公共IP地址来实现覆盖网络,且IPv4地址可作为在基底网络上作为专用IP地址使用的128位IPv6(互联网协议版本6)地址的部分被嵌入。
参考图10,实施方案可被实现的至少一些网络可包括使多个操作系统能够同时在主机计算机(例如图10的主机1020A和1020B)上运行的硬件虚拟化技术,即作为在主机1020上的虚拟机(VM)1024。VM1024可例如被出租或租借给网络提供者的客户端。在主机1020上的管理程序或虚拟机监视器(VMM)1022给在主机上的VM1024显现虚拟平台并监视VM1024的执行。可给每个VM1024提供一个或多个专用IP地址;在主机1020上的VMM1022可以知道在主机上的VM1024的专用IP地址。映射服务1030可以知道路由器或提供在本地网络上的IP地址的其它设备的所有网络IP前缀和IP地址。这包括服务于多个VM1024的VMM1022的IP地址。映射服务1030可集中在例如服务器系统上,或可选地可分布在两个或多个服务器系统或网络上的其它设备当中。网络可例如使用映射服务技术和IP隧道技术来例如在数据中心1000的网络内的不同主机1020上的VM1024之间路由数据分组;注意,内部网关协议(IGP)可用于在这样的本地网络内交换路由信息。
此外,网络例如提供者数据中心1000的网络(其有时被称为自主系统(AS))可使用映射服务技术、IP隧道技术和路由服务技术来将分组从VM1024路由到互联网目的地并从互联网源路由到VM1024。注意,外部网关协议(EGP)或边界网关协议(BGP)一般用于在互联网上的源和目的地之间的互联网路由。图10示出根据至少一些实施方案的示例提供者数据中心1000,其实现提供资源虚拟化技术并经由连接到互联网中转提供者的边缘路由器1014来提供完全的互联网访问的网络。提供者数据中心1000可例如给客户端提供经由硬件虚拟化服务来实现虚拟计算系统(VM1024)的能力和经由存储虚拟化服务在存储资源1018上实现虚拟化数据存储1016的能力。
数据中心1000的网络可实现IP隧道技术、映射服务技术和路由服务技术来将业务路由到虚拟化资源并从虚拟化资源路由业务,例如将分组从在数据中心1000中的主机1020上的VM1024路由到互联网目的地,并从互联网源路由到VM1024。互联网源和目的地可例如包括连接到中间网络1040的计算系统1070和连接到本地网络1050的计算系统1052,本地网络1050连接到中间网络1040(例如经由将网络1050连接到互联网中转提供者的边缘路由器1014)。提供者数据中心1000的网络还可在数据中心1000中的资源之间例如从在数据中心1000中的主机1020上的VM1024到在同一主机上或在数据中心1000中的其它主机1020上的其它VM1024路由分组。
提供数据中心1000的服务提供者还可提供额外的数据中心1060,其包括类似于数据中心1000的硬件虚拟化技术并且还可连接到中间网络1040。分组可从数据中心1000转发到其它数据中心1060,例如从在数据中心1000中的主机1020上的VM1024转发到在另一类似的数据中心1060中的另一主机上的另一VM,反之亦然。
虽然上文描述了使多个操作系统能够作为在主机上的虚拟机(VM)同时在主机计算机上运行的硬件虚拟化技术,其中VM可被出租或租借给网络提供者的客户端,但是硬件虚拟化技术还可用于以类似的方式向网络提供者的客户端提供其它计算资源例如存储资源1018作为虚拟化资源。
图11是根据至少一些实施方案的向客户端提供存储虚拟化服务和硬件虚拟化服务的示例提供者网络的方框图。硬件虚拟化服务1120向客户端提供多个计算资源1124(例如VM)。计算资源1124可例如被出租或租借给提供者网络1100的客户端(例如实现客户端网络1150的客户端)。可给每个计算资源1124提供一个或多个专用IP地址。提供者网络1100可被配置成将分组从计算资源1124的专用IP地址路由到公共互联网目的地,并从公共互联网源路由到计算资源1124。
提供者网络1100可以给例如经由本地网络1156耦合到中间网络1140的客户端网络1150提供经由耦合到中间网络1140和提供者网络1100的硬件虚拟化服务1120实现虚拟计算系统1192的能力。在一些实施方案中,硬件虚拟化服务1120可提供一个或多个API1102,例如web服务界面,客户端网络1150可例如经由控制台1194经由web服务界面访问由硬件虚拟化服务1120提供的功能。在至少一些实施方案中,在提供者网络1100处,在客户端网络1150处的每个虚拟计算系统1192可对应于被租借、出租或以其它方式提供到客户端网络1150的计算资源1124。
从虚拟计算系统1192和/或另一客户端设备1190或控制台1194的实例中,客户端可例如经由一个或多个API1102访问存储虚拟化服务1110的功能,以访问来自由提供者网络1100提供的虚拟数据存储1116的数据并将数据存储到虚拟数据存储1116。在一些实施方案中,可在客户端网络1150处提供虚拟化数据存储网关(未示出),其可在本地缓存至少一些数据,例如被频繁地访问的或关键的数据,并可经由一个或多个通信信道与虚拟化数据存储服务1110通信以从本地缓存器上传新的或修改的数据,使得数据的主要存储(虚拟化数据存储1116)被维持。在至少一些实施方案中,用户经由虚拟计算系统1192和/或在另一客户端设备1190上可安装并访问虚拟数据存储1116卷,其在用户看来作为本地虚拟化存储装置1198。
虽然未在图11中示出,但是还可经由API1102从在提供者网络1100内的资源实例访问虚拟化服务。例如,客户端、装置服务提供者或其它实体可经由API1102从在提供者网络1100上的相应专用网络内访问虚拟化服务以请求在专用网络内或在另一专用网络内的一个或多个资源实例的分配。
图12示出根据至少一些实施方案的向至少一些客户端提供在提供者网络上的专用网络的示例提供者网络。在提供者网络1200上的客户端的虚拟化专用网络1260例如使客户端能够将在客户端网络1250上的他们的现有基础设施(例如设备1252)连接到一组逻辑上隔离的资源实例(例如VM1224A和1224B和存储装置1218A和1218B),并将管理能力例如安全服务、防火墙和入侵检测系统扩展到包括它们的资源实例。
客户端的虚拟化专用网络1260可经由专用通信信道1242连接到客户端网络1250。专用通信信道1242可以例如是根据网络隧道技术而实现的隧道或在中间网络1240上的某个其它对等连接。中间网络可以例如是共享网络或公共网络例如互联网。可选地,专用通信信道1242可通过虚拟化专用网络1260和客户端网络1250之间的直接专用连接来实现。
公共网络可广泛地被定义为提供对多个实体的开放访问和在多个实体当中的互连接性的网络。互联网或万维网(WWW)是公共网络的示例。共享网络可广泛地被定义为对其的访问被限制到两个或多个实体的网络,与对其的访问通常未被限制的公共网络相反。共享网络可以例如包括一个或多个局域网(LAN)和/或数据中心网络或被互连以形成广域网(WAN)的两个或多个LAN或数据中心网络。共享网络的示例可包括但不限于公司网络和其它企业网络。共享网络可以在从覆盖本地区域的网络到全球网络的范围中的任何地方。注意,共享网络可与公共网络共享至少一些网络基础设施,并且共享网络可耦合到可包括公共网络的一个或多个其它网络,在其它网络和共享网络之间有受控制的访问。共享网络还可被视为专用网络,与公共网络例如互联网相反。在实施方案中,共享网络或公共网络可用作在提供者网络和客户端网络之间的中间网络。
为了为客户端在提供者网络1200上建立虚拟化专用网络1260,一个或多个资源实例(例如VM1224A和1224B和存储装置1218A和1218B)可被分配到虚拟化专用网络1260。注意,其它资源实例(例如存储装置1218C和VM1224C)可在提供者网络1200上保持可用,以供其它客户端使用。公共IP地址的范围还可被分配到虚拟化专用网络1260。此外,提供者网络1200的一个或多个联网设备(路由器、交换机等)可被分配到虚拟化专用网络1260。可在虚拟化专用网络1260处的专用网关1262和在客户端网络1250处的网关1256之间建立专用通信信道1242。
在至少一些实施方案中,除了或代替专用网关1262,虚拟化专用网络1260还可包括公共网关1264,其使在虚拟化专用网络1260内的资源能够,代替或除了经由专用通信信道1242以外,还经由中间网络1240与实体(例如网络实体1244)直接通信,反之亦然。
虚拟化专用网络1260可以但不是必须被细分成两个或多个子网1270。例如,在包括专用网关1262和公共网关1264的实现中,专用网络可被细分成包括通过专用网关1262可到达的资源(VM1224A和存储装置1218A,在这个示例中)的子网1270A和通过公共网关1264可到达的资源(VM1224B和存储装置1218B,在这个示例中)的子网1270B。
客户端可将特定的客户端公共IP地址分派到在虚拟化专用网络1260中的特定资源实例。在中间网络1240上的网络实体1244可接着将业务发送到由客户端公布的公共IP地址;业务由提供者网络1200路由到相关的资源实例。来自资源实例的返回业务通过中间网络1240由提供者网络1200路由回到网络实体1244。注意,在资源实例和网络实体1244之间路由业务可能需要网络地址转换以在资源实例的公共IP地址和专用IP地址之间转换。
至少一些实施方案可允许客户端将如在图12中示出的客户端的虚拟化专用网络1260中的公共IP地址重新映射到在客户端的外部网络1250上的设备。当分组被接收到(例如从网络实体1244)时,网络1200可确定由分组指示的目的地IP地址被重新映射到在外部网络1250上的端点并经由专用通信信道1242或经由中间网络1240操纵分组到相应的端点的路由。响应业务可通过提供者网络1200从端点路由到网络实体1244,或可选地可以由客户端网络1250直接路由到网络实体1244。从网络实体1244的观点看,看起来好像网络实体1244与在提供者网络1200上的客户端的公共IP地址通信。然而,网络实体1244实际上与客户端网络1250上的端点通信。
虽然图12示出在中间网络1240上和在提供者网络1200外部的网络实体1244,但是网络实体可以是在提供者网络1200上的实体。例如,由提供者网络1200提供的资源实例之一可以是将业务发送到由客户端公布的公共IP地址的网络实体。
示例实施方案
可鉴于下面的条款来描述本公开的实施方案:
1.一种提供者网络,其包括:
网络基底;
多个多租户主机设备,其中每个主机设备包括多个客户端资源实例,其中每个客户端资源实例被分派给所述提供者网络的多个客户端中的一个,并且其中在至少一个主机设备上的至少两个客户端资源实例被分派给所述多个客户端中的不同的客户端;以及
一个或多个计算设备,其实现覆盖网络分析服务;
其中每个主机设备被配置成收集一个或多个覆盖网络隧道的性能数据,其中每个覆盖网络隧道通过所述网络基底将覆盖网络分组从相应的主机设备传送到所述主机设备中的另一个,其中在相应的覆盖网络隧道上的每个覆盖网络分组包括从所述相应的主机设备上的所述客户端资源实例之一得到的并将另一主机设备上的所述客户端资源实例之一处作为目标的客户端数据,其中所述性能数据包括为经由所述覆盖网络隧道分发的覆盖网络分组确定的往返时间;以及
其中所述覆盖网络分析服务被配置成:
从所述多个主机设备得到所述性能数据;以及
根据所得到的性能数据产生所述覆盖网络的性能信息,其中所述性能信息包括根据针对隧道的所确定的往返时间计算的所述覆盖网络隧道的时延度量。
2.如条款1所述的提供者网络,其中为覆盖网络隧道收集的所述性能数据还指示所述覆盖网络隧道的丢失的分组,并且其中所述性能信息还包括根据所述覆盖网络隧道的丢失的分组的指示为至少一个覆盖网络隧道计算的分组损失率。
3.如条款1所述的提供者网络,其中每个主机设备还被配置成对于经由覆盖网络隧道发送到另一主机设备的至少一个覆盖网络分组:
记录指示所述覆盖网络分组何时在所述覆盖网络隧道上被发送的发送时间;
经由所述覆盖网络隧道从所述另一主机设备接收所述覆盖网络分组的接收的确认;以及
根据所记录的发送时间和所述确认来计算所述覆盖网络分组的往返时间。
4.如条款1所述的提供者网络,其中每个主机设备还被配置成对于经由覆盖网络隧道发送到另一主机设备的两个或多个覆盖网络分组:
经由所述覆盖网络隧道从所述另一主机设备接收所述两个或多个覆盖网络分组的单个确认消息;以及
根据所述确认消息确定针对所述两个或多个覆盖网络分组的性能数据。
5.如条款1所述的提供者网络,其中通过所述覆盖网络分析服务得到的所述性能数据包括为在所述提供者网络上的特定客户端的专用网络实现中的客户端资源实例之间的覆盖网络隧道收集的性能数据,并且其中所述性能信息为在所述提供者网络上的特定客户端的专用网络实现而产生。
6.如条款5所述的提供者网络,其中所述覆盖网络分析服务还被配置成根据所述性能数据产生客户端的专用网络实现的映射,其中所述映射指示所述客户端资源实例和在所述客户端的专用网络实现中的所述客户端资源实例之间的所述覆盖网络隧道。
7.如条款1所述的提供者网络,其中通过所述覆盖网络分析服务得到的所述性能数据包括为在所述多个客户端中的两个或多个的客户端资源实例之间的覆盖网络隧道收集的性能数据,并且其中所述性能信息是根据针对两个或多个客户端的聚合的性能数据而产生。
8.如条款7所述的提供者网络,其中所述覆盖网络分析服务还被配置成:
根据所述聚合的性能数据和所述网络基底的拓扑信息来产生所述覆盖网络的映射,其中所述映射指示所述主机设备和在所述主机设备之间的所述网络基底上的路线;以及
根据所述聚合的性能数据和所述拓扑信息为所述网络基底的一个或多个部件中的每个产生性能度量。
9.一种方法,其包括:
通过在提供者网络上的一个或多个计算设备上实现的服务来得到针对通过在所述提供者网络中的不同主机之间的网络基底上的覆盖网络发送的客户端数据分组的性能数据,其中每个客户端数据分组以覆盖网络元数据被加标签用于经由所述覆盖网络在所述网络基底上路由所述客户端数据分组;
根据所述性能数据确定所述覆盖网络的一个或多个性能度量,其中所述性能度量包括在所述网络基底上的一个或多个覆盖网络路线中的每个的时延度量;以及
产生指示所述覆盖网络的所述一个或多个性能度量的输出。
10.如条款9所述的方法,其中每个主机包括多个客户端资源实例,其中每个客户端资源实例被分派给所述提供者网络的多个客户端中的一个,并且其中在至少一个主机上的至少两个客户端资源实例被分派给所述提供者网络的不同客户端。
11.如条款10所述的方法,其中所述客户端资源实例被实现为在所述主机上的虚拟机(VM),其中每个主机包括虚拟机监视器(VMM),虚拟机监视器(VMM)监视在相应的主机上的多个虚拟机(VM)并经由覆盖网络路线在所述网络基底上发送所述主机上的客户端资源实例处起源的客户端数据分组。
12.如条款10所述的方法,其还包括在所述主机处产生所述性能数据,其中所述产生所述性能数据包括在每个主机处收集针对在所述主机处的一个或多个客户端资源实例处起源的并根据覆盖网络协议在所述主机处用覆盖网络元数据加标签用于作为覆盖网络分组经由相应的覆盖网络路线分发到在一个或多个其它主机处的一个或多个其它客户端资源实例的客户端数据分组的性能数据。
13.如条款12所述的方法,其中在每个主机处产生所述性能数据包括对于经由覆盖网络路线发送到另一主机的一个或多个覆盖网络分组中的每个:
记录指示所述覆盖网络分组何时在所述覆盖网络路线上被发送的发送时间;
经由所述覆盖网络路线从所述另一主机接收覆盖网络分组的接收的确认;以及
根据所记录的发送时间和所述确认来计算在所述覆盖网络路线上的所述覆盖网络分组的往返时间。
14.如条款12所述的方法,其中在每个主机处产生所述性能数据包括对于经由覆盖网络路线发送到另一主机的覆盖网络分组:
由所述主机在被发送到所述另一主机的每第N个覆盖网络分组处从所述另一主机请求确认消息;
由所述主机从所述另一主机接收指示N个已发送覆盖网络分组中的两个或多个的接收的单个确认消息;以及
根据所述确认消息为所述N个已发送覆盖网络分组产生性能数据。
15.如条款12所述的方法,其中在每个主机处产生所述性能数据包括对于经由覆盖网络路线发送到另一主机的至少一个覆盖网络分组,经由所述覆盖网络路线从所述另一主机接收所述覆盖网络分组的接收的确认。
16.如条款15所述的方法,其中所述接收的确认与在所述另一主机处用覆盖网络元数据加标签的客户端确认分组包括在一起用于经由所述覆盖网络在所述网络基底上路由所述客户端确认分组。
17.如条款9所述的方法,其中所述性能数据包括为每个覆盖网络路线确定的往返时间,并且其中每个覆盖网络路线的时延度量从所述相应的覆盖网络路线的往返时间确定。
18.如条款9所述的方法,其中所述性能数据指示所述覆盖网络路线的丢失的分组,并且其中为每个覆盖网络路线确定的性能度量还包括根据所述覆盖网络路线的丢失的分组的指示而计算的分组损失率。
19.如条款9所述的方法,其中通过服务得到的性能数据包括为在所述提供者网络上的特定客户端的专用网络实现中的客户端资源实例之间的覆盖网络路线收集的性能数据,并且其中一个或多个性能度量为在所述提供者网络上的所述特定客户端的专用网络实现而确定。
20.如条款19所述的方法,其还包括根据所述性能数据产生客户端的专用网络实现的映射,其中所述映射指示所述客户端资源实例和在所述专用网络实现中的所述客户端资源实例之间的所述覆盖网络路线。
21.如条款9所述的方法,其中通过所述覆盖网络分析服务得到的所述性能数据包括为在所述提供者网络的多个客户端中的两个或多个的客户端资源实例之间的覆盖网络路线收集的性能数据,并且其中性能度量根据针对两个或多个客户端的聚合的性能数据来确定。
22.如条款21所述的方法,其还包括根据所述聚合的性能数据和所述网络基底的拓扑信息产生所述覆盖网络的映射,其中所述映射指示所述主机和在所述主机之间的所述网络基底上的路线。
23.如条款21所述的方法,其还包括根据所述聚合的性能数据和所述网络基底的拓扑信息产生所述网络基底的一个或多个部件中的每个的性能度量。
24.一种存储程序指令的非临时计算机可访问存储介质,所述程序指令是计算机可执行的以实现:
收集针对经由在提供者网络中的不同主机之间的覆盖网络通过网络基底发送的客户端数据分组的性能数据,其中所述性能数据包括为经由所述覆盖网络分发的覆盖网络分组确定的往返时间,其中覆盖网络分组是根据覆盖网络协议封装的用于通过所述覆盖网络路由的客户端数据分组;
根据所述性能数据确定所述覆盖网络的性能信息,其中所述性能信息包括一个或多个覆盖网络路线中的每个的时延度量,其中每个覆盖网络路线的所述时延度量从相应的覆盖网络路线的往返时间确定;以及
产生指示所述覆盖网络的所述性能信息的输出。
25.如条款24所述的非临时计算机可访问存储介质,其中每个主机包括多个客户端资源实例,其中每个客户端资源实例被分派给所述提供者网络的多个客户端中的一个,并且其中在至少一个主机上的至少两个客户端资源实例被分派给所述提供者网络的不同客户端。
26.如条款24所述的非临时计算机可访问存储介质,其中所收集的性能数据还指示所述覆盖网络路线的丢失的分组,并且其中所述性能信息还包括根据所述相应的覆盖网络路线的丢失的分组的指示而计算的覆盖网络路线中的一个或多个中的每个的分组损失率。
27.如条款24所述的非临时计算机可访问存储介质,其中所收集的性能数据包括为在所述提供者网络上的特定客户端的专用网络实现中的客户端资源实例之间的覆盖网络路线收集的性能数据,并且其中所述性能信息为在所述提供者网络上的所述特定客户端的专用网络实现而确定。
28.如条款24所述的非临时计算机可访问存储介质,其中所收集的性能数据包括为在所述提供者网络的多个客户端中的两个或多个的客户端资源实例之间的覆盖网络路线收集的性能数据,并且其中所述性能信息根据针对两个或多个客户端的聚合的性能数据而确定。
29.如条款24所述的非临时计算机可访问存储介质,其中所述程序指令还是计算机可执行的以实现根据所收集的性能数据和所述网络基底的拓扑信息产生所述覆盖网络的映射,其中所述映射指示所述主机和在所述主机之间的所述网络基底上的所述主机之间的所述覆盖网络路线。
30.如条款24所述的非临时计算机可访问存储介质,其中所述程序指令还是计算机可执行的以实现根据所收集的性能数据和所述网络基底的拓扑信息产生所述网络基底的一个或多个部件中的每个的性能度量。
说明性系统
在至少一些实施方案中,实现如本文所述的网络业务映射和性能分析方法和装置的一部分或全部的服务器可包括通用计算机系统,其包括或被配置成访问一个或多个计算机可访问介质,例如图13所示的计算机系统2000。在所示实施方案中,计算机系统2000包括经由输入/输出(I/O)接口2030耦合到系统存储器2020的一个或多个处理器2010。计算机系统2000还包括耦合到I/O接口2030的网络接口2040。
在各种实施方案中,计算机系统2000可以是包括一个处理器2010的单处理器系统或包括几个处理器2010(例如两个、四个、八个或另一适当数量)的多处理器系统。处理器2010可以是能够执行指令的任何适当的处理器。例如,在各种实施方案中,处理器2010可以是实现各种指令集体系结构(ISA)中的任一个例如x86、PowerPC、SPARC或MIPSISA或任何其它适当的ISA的通用或嵌入式处理器。在多处理器系统中,处理器2010中的每个可通常但不是必须实现相同ISA。
系统存储器2020可被配置成存储由处理器2010可访问的指令和数据。在各种实施方案中,系统存储器2020可使用任何适当的存储器技术例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存类型的存储器或任何其它类型的存储器来实现。在所示实施方案中,实现一个或多个期望功能的程序指令和数据例如上面对网络业务映射和性能分析方法和装置描述的那些方法、技术和数据被示为存储在系统存储器2020内作为代码2025和数据2026。
在一个实施方案中,I/O接口2030可被配置成协调在处理器2010、系统存储器2020和设备中的任何外围设备包括网络接口2040或其它外围接口之间的I/O业务。在一些实施方案中,I/O接口2030可执行任何必要的协议、定时或其它数据变换以将数据信号从一个部件(例如系统存储器2020)转换成适合于由另一部件(例如处理器2010)使用的格式。在一些实施方案中,I/O接口2030可包括例如对通过各种类型的外围总线附接的设备的支持,例如外围部件互连(PCI)总线标准或通用串行总线(USB)标准的变形。在一些实施方案中,I/O接口2030的功能可分成例如两个或多个单独的部件,例如北桥和南桥。此外,在一些实施方案中,I/O接口2030的一些或所有功能例如系统存储器2020的接口可直接合并到处理器2010中。
网络接口2040可被配置成允许数据在计算机系统2000和附接到一个或多个网络2050的其它设备2060例如如在图1到图12中所示的其它计算机系统或设备之间被交换。在各种实施方案中,网络接口2040可例如经由任何适当的有线或无线通用数据网络例如以太网网络的类型来支持通信。此外,网络接口2040可经由电信/电话网络例如模拟语音网络或数字光纤通信网络、经由存储区域网络例如光纤信道SAN或经由任何其它适当类型的网络和/或协议来支持通信。
在一些实施方案中,系统存储器2020可以是被配置成存储如上面对图1到图12所述的用于实现网络业务映射和性能分析方法的实施方案的程序指令和数据的计算机可访问介质的一个实施方案。然而在其它实施方案中,程序指令和/或数据可被接收、发送或存储在不同类型的计算机可访问介质上。一般说来,计算机可访问介质可包括非临时存储介质或存储器介质例如磁性或光学介质,例如经由I/O接口2030耦合到计算机系统2000的磁盘或DVD/CD。非临时计算机可访问存储介质还可包括可被包括在计算机系统2000的一些实施方案中作为系统存储器2020或另一类型的存储器的任何易失性或非易失性介质,例如RAM(例如SDRAM、DDRSDRAM、RDRAM、SRAM等)、ROM等。此外,计算机可访问介质可包括传输介质或经由传输介质例如网络和/或无线链路(例如可经由网络接口2040实现的)传送的例如电、电磁或数字信号的信号。
结论
各种实施方案还可包括接收、发送或存储根据前述描述在计算机可访问介质上实现的指令和/或数据。一般来说,计算机可访问介质可包括存储介质或存储器介质,例如磁性或光学介质例如磁盘或DVD/CD-ROM、易失性或非易失性介质例如RAM(例如SDRAM、DDR、RDRAM、SRAM等)、ROM等以及传输介质或经由传输介质例如网络和/或无线链路传送的信号,例如电、电磁或数字信号。
如在附图中所示和在本文所述的各种方法代表方法的示例性实施方案。方法可在软件、硬件或其组合中实现。方法的顺序可改变,且各种元件可被添加、重新排序、组合、省略、修改等。
可做出如对受益于本公开的在本领域中的技术人员明显的各种修改和改变。意图是包括所有这样的修改和改变,且相应地,上面的描述在说明性而不是限制性的意义上被看待。
Claims (15)
1.一种提供者网络,其包括:
网络基底;
多个多租户主机设备,其中每个主机设备包括多个客户端资源实例,其中每个客户端资源实例被分派给所述提供者网络的多个客户端中的一个,并且其中在至少一个主机设备上的至少两个客户端资源实例被分派给所述多个客户端中的不同的客户端;以及
一个或多个计算设备,其实现覆盖网络分析服务;
其中每个主机设备被配置成收集一个或多个覆盖网络隧道的性能数据,其中每个覆盖网络隧道通过所述网络基底将覆盖网络分组从相应的主机设备传送到所述主机设备中的另一个,其中在所述相应的覆盖网络隧道上的每个覆盖网络分组包括从所述相应的主机设备上的所述客户端资源实例之一得到的并将另一主机设备上的所述客户端资源实例之一处作为目标的客户端数据,其中所述性能数据包括为经由所述覆盖网络隧道分发的覆盖网络分组确定的往返时间;以及
其中所述覆盖网络分析服务被配置成:
从所述多个主机设备得到所述性能数据;以及
根据所得到的性能数据产生所述覆盖网络的性能信息,其中所述性能信息包括根据针对所述隧道的所确定的往返时间计算的所述覆盖网络隧道的时延度量。
2.如权利要求1所述的提供者网络,其中每个主机设备还被配置成对于经由覆盖网络隧道发送到另一主机设备的至少一个覆盖网络分组:
记录指示所述覆盖网络分组何时在所述覆盖网络隧道上被发送的发送时间;
经由所述覆盖网络隧道从所述另一主机设备接收所述覆盖网络分组的接收的确认;以及
根据所记录的发送时间和所述确认来计算所述覆盖网络分组的所述往返时间。
3.如权利要求1所述的提供者网络,其中每个主机设备还被配置成对于经由覆盖网络隧道发送到另一主机设备的两个或多个覆盖网络分组:
经由所述覆盖网络隧道从所述另一主机设备接收所述两个或多个覆盖网络分组的单个确认消息;以及
根据所述确认消息确定针对所述两个或多个覆盖网络分组的性能数据。
4.如权利要求1所述的提供者网络,其中通过所述覆盖网络分析服务得到的所述性能数据包括为在所述多个客户端中的两个或多个的客户端资源实例之间的覆盖网络隧道收集的性能数据,并且其中所述性能信息根据针对所述两个或多个客户端的聚合的性能数据而产生。
5.如权利要求4所述的提供者网络,其中所述覆盖网络分析服务还被配置成:
根据所述聚合的性能数据和所述网络基底的拓扑信息来产生所述覆盖网络的映射,其中所述映射指示所述主机设备和在所述主机设备之间的所述网络基底上的路线;以及
根据所述聚合的性能数据和所述拓扑信息为所述网络基底的一个或多个部件中的每个产生性能度量。
6.一种方法,其包括:
通过在提供者网络上的一个或多个计算设备上实现的服务来得到针对通过在所述提供者网络中的不同主机之间的网络基底上的覆盖网络发送的客户端数据分组的性能数据,其中每个客户端数据分组以覆盖网络元数据被加标签用于经由所述覆盖网络在所述网络基底上路由所述客户端数据分组;
根据所述性能数据确定所述覆盖网络的一个或多个性能度量,其中所述性能度量包括在所述网络基底上的一个或多个覆盖网络路线中的每个的时延度量;以及
产生指示所述覆盖网络的所述一个或多个性能度量的输出。
7.如权利要求6所述的方法,其中每个主机包括多个客户端资源实例,其中每个客户端资源实例被分派给所述提供者网络的多个客户端中的一个,并且其中在至少一个主机上的至少两个客户端资源实例被分派给所述提供者网络的不同客户端。
8.如权利要求7所述的方法,其中所述客户端资源实例被实现为在所述主机上的虚拟机(VM),其中每个主机包括虚拟机监视器(VMM),所述虚拟机监视器(VMM)监视在相应的主机上的多个虚拟机(VM)并经由覆盖网络路线在所述网络基底上发送所述主机上的客户端资源实例处起源的客户端数据分组。
9.如权利要求7所述的方法,其还包括在所述主机处产生所述性能数据,其中所述产生所述性能数据包括在每个主机处收集针对在所述主机处的一个或多个客户端资源实例处起源的并根据覆盖网络协议在所述主机处用覆盖网络元数据加标签用于作为覆盖网络分组经由相应的覆盖网络路线分发到在一个或多个其它主机处的一个或多个其它客户端资源实例的客户端数据分组的性能数据。
10.如权利要求9所述的方法,其中在每个主机处产生所述性能数据包括对于经由覆盖网络路线发送到另一主机的一个或多个覆盖网络分组中的每个:
记录指示所述覆盖网络分组何时在所述覆盖网络路线上被发送的发送时间;
经由所述覆盖网络路线从所述另一主机接收所述覆盖网络分组的接收的确认;以及
根据所记录的发送时间和所述确认来计算在所述覆盖网络路线上的所述覆盖网络分组的往返时间。
11.如权利要求9所述的方法,其中在每个主机处产生所述性能数据包括对于经由覆盖网络路线发送到另一主机的覆盖网络分组:
由所述主机在被发送到所述另一主机的每第N个覆盖网络分组处从所述另一主机请求确认消息;
由所述主机从所述另一主机接收指示所述N个已发送覆盖网络分组中的两个或多个的接收的单个确认消息;以及
根据所述确认消息为所述N个已发送覆盖网络分组产生性能数据。
12.如权利要求6所述的方法,其中所述性能数据包括为每个覆盖网络路线确定的往返时间,并且其中每个覆盖网络路线的时延度量从所述相应的覆盖网络路线的所述往返时间确定。
13.如权利要求6所述的方法,其中所述性能数据指示所述覆盖网络路线的丢失的分组,并且其中为每个覆盖网络路线确定的所述性能度量还包括根据所述覆盖网络路线的丢失的分组的指示而计算的分组损失率。
14.如权利要求6所述的方法,其中通过所述服务得到的所述性能数据包括为在所述提供者网络上的特定客户端的专用网络实现中的客户端资源实例之间的覆盖网络路线收集的性能数据,并且其中所述一个或多个性能度量为在所述提供者网络上的所述特定客户端的专用网络实现而确定。
15.如权利要求14所述的方法,其还包括根据性能数据产生所述客户端的专用网络实现的映射,其中所述映射指示所述客户端资源实例和在所述专用网络实现中的所述客户端资源实例之间的所述覆盖网络路线。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/833,945 US10389608B2 (en) | 2013-03-15 | 2013-03-15 | Network traffic mapping and performance analysis |
US13/833,945 | 2013-03-15 | ||
PCT/US2014/028967 WO2014144520A2 (en) | 2013-03-15 | 2014-03-14 | Network traffic mapping and performance analysis |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105144633A true CN105144633A (zh) | 2015-12-09 |
CN105144633B CN105144633B (zh) | 2019-06-04 |
Family
ID=51533657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480023091.9A Active CN105144633B (zh) | 2013-03-15 | 2014-03-14 | 网络业务映射和性能分析 |
Country Status (9)
Country | Link |
---|---|
US (2) | US10389608B2 (zh) |
EP (1) | EP2974141B1 (zh) |
JP (1) | JP6030805B2 (zh) |
KR (1) | KR101755390B1 (zh) |
CN (1) | CN105144633B (zh) |
AU (1) | AU2014228998B2 (zh) |
CA (1) | CA2906719C (zh) |
SG (1) | SG11201507191TA (zh) |
WO (1) | WO2014144520A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205504A (zh) * | 2016-12-16 | 2018-06-26 | 广州杰赛科技股份有限公司 | 终端usb映射方法、虚拟机usb映射方法及系统 |
CN112334901A (zh) * | 2018-06-27 | 2021-02-05 | 亚马逊科技公司 | 自动化无分组网络可达性分析 |
CN112887185A (zh) * | 2019-11-29 | 2021-06-01 | 华为技术有限公司 | 一种叠加网络的通信方法及装置 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8230050B1 (en) | 2008-12-10 | 2012-07-24 | Amazon Technologies, Inc. | Providing access to configurable private computer networks |
US9106540B2 (en) | 2009-03-30 | 2015-08-11 | Amazon Technologies, Inc. | Providing logical networking functionality for managed computer networks |
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
US9036504B1 (en) | 2009-12-07 | 2015-05-19 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to associate network addresses with computing nodes |
US8966027B1 (en) | 2010-05-24 | 2015-02-24 | Amazon Technologies, Inc. | Managing replication of computing nodes for provided computer networks |
JP5618886B2 (ja) * | 2011-03-31 | 2014-11-05 | 株式会社日立製作所 | ネットワークシステムおよび計算機振り分け装置、計算機振り分け方法 |
US9385917B1 (en) | 2011-03-31 | 2016-07-05 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US8937870B1 (en) | 2012-09-11 | 2015-01-20 | Amazon Technologies, Inc. | Network link monitoring and testing |
US10389608B2 (en) * | 2013-03-15 | 2019-08-20 | Amazon Technologies, Inc. | Network traffic mapping and performance analysis |
US9197553B2 (en) * | 2013-03-29 | 2015-11-24 | Cisco Technology, Inc. | Using a virtual internet protocol address to represent dually connected hosts in an internet protocol overlay network |
US10320628B2 (en) * | 2013-06-19 | 2019-06-11 | Citrix Systems, Inc. | Confidence scoring of device reputation based on characteristic network behavior |
US9742638B1 (en) * | 2013-08-05 | 2017-08-22 | Amazon Technologies, Inc. | Determining impact of network failures |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
US10225342B2 (en) * | 2014-02-07 | 2019-03-05 | VCE IP Holding Company LLC | System and method for generating converged views of a virtual computing environment |
US10069753B2 (en) * | 2014-03-17 | 2018-09-04 | Cloud Physics, Inc. | Relationship-based resource-contention analysis system and method |
US10044581B1 (en) | 2015-09-29 | 2018-08-07 | Amazon Technologies, Inc. | Network traffic tracking using encapsulation protocol |
US10271225B2 (en) * | 2014-08-20 | 2019-04-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Performance index determination for a communication service |
WO2016048382A1 (en) * | 2014-09-26 | 2016-03-31 | Hewlett Packard Enterprise Development Lp | Storage of hypervisor messages in network packets generated by virtual machines |
EP3041254A1 (en) * | 2014-12-30 | 2016-07-06 | Telefonica Digital España, S.L.U. | Method for providing information on network status from telecommunication networks |
US10075337B2 (en) | 2015-01-23 | 2018-09-11 | Cisco Technology, Inc. | Mechanism for serving hardware resource information to an attached appliance |
US9967231B2 (en) * | 2015-03-18 | 2018-05-08 | Cisco Technology, Inc. | Inter-pod traffic redirection and handling in a multi-pod network environment |
US9979616B2 (en) * | 2015-03-23 | 2018-05-22 | Amazon Technologies, Inc. | Event-driven framework for filtering and processing network flows |
US9667656B2 (en) * | 2015-03-30 | 2017-05-30 | Amazon Technologies, Inc. | Networking flow logs for multi-tenant environments |
US10411867B2 (en) * | 2015-04-30 | 2019-09-10 | Sony Corporation | Communication apparatus and communication method |
CN113676308B (zh) | 2015-07-07 | 2024-04-12 | 索尼公司 | 通信设备和通信方法 |
US10320644B1 (en) * | 2015-09-14 | 2019-06-11 | Amazon Technologies, Inc. | Traffic analyzer for isolated virtual networks |
US10033602B1 (en) * | 2015-09-29 | 2018-07-24 | Amazon Technologies, Inc. | Network health management using metrics from encapsulation protocol endpoints |
US10397353B2 (en) * | 2015-10-01 | 2019-08-27 | Nicira, Inc. | Context enriched distributed logging services for workloads in a datacenter |
US10298720B1 (en) * | 2015-12-07 | 2019-05-21 | Amazon Technologies, Inc. | Client-defined rules in provider network environments |
US10447800B2 (en) * | 2015-12-17 | 2019-10-15 | Dell Products L.P. | Network cache deduplication analytics based compute cluster load balancer |
GB2546118B (en) | 2016-02-09 | 2018-11-14 | Spatialbuzz Ltd | Fault monitoring by assessing spatial distribution of queries in a utility supply network |
GB2546120B (en) | 2016-02-09 | 2018-02-14 | Spatialbuzz Ltd | Fault monitoring in a utility supply network |
KR101816718B1 (ko) | 2016-09-22 | 2018-02-22 | 고려대학교 산학협력단 | Cpu 네트워크 통합 스케줄링 시스템 및 그 제어방법 |
US10397189B1 (en) * | 2016-09-27 | 2019-08-27 | Amazon Technologies, Inc. | Peered virtual private network endpoint nodes |
US10862777B2 (en) * | 2016-09-28 | 2020-12-08 | Amazon Technologies, Inc. | Visualization of network health information |
US20180088977A1 (en) * | 2016-09-28 | 2018-03-29 | Mark Gray | Techniques to determine and mitigate latency in virtual environments |
US10680933B2 (en) | 2017-02-02 | 2020-06-09 | Microsoft Technology Licensing, Llc | Electronic mail system routing control |
US11522828B2 (en) * | 2017-07-31 | 2022-12-06 | Cisco Technology, Inc. | Virtualized network functions through address space aggregation |
EP4184896A1 (en) | 2017-08-28 | 2023-05-24 | Bright Data Ltd. | Content fetching through intermediate device |
US10892999B1 (en) * | 2017-11-01 | 2021-01-12 | Amazon Technologies, Inc. | Detection of hardware assistance for an overlay network |
US11019027B2 (en) | 2018-06-27 | 2021-05-25 | Cisco Technology, Inc. | Address translation for external network appliance |
US10834044B2 (en) | 2018-09-19 | 2020-11-10 | Amazon Technologies, Inc. | Domain name system operations implemented using scalable virtual traffic hub |
US11463399B2 (en) * | 2018-12-15 | 2022-10-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Efficient network address translation (NAT) in cloud networks |
US11398955B2 (en) | 2020-02-19 | 2022-07-26 | Accedian Networks Inc. | Topology and event monitoring system |
CN111327471B (zh) * | 2020-02-24 | 2023-04-28 | 中移(杭州)信息技术有限公司 | 网络质量分析方法、装置、计算机设备及存储介质 |
US11778025B1 (en) * | 2020-03-25 | 2023-10-03 | Amazon Technologies, Inc. | Cross-region directory service |
CN114666249B (zh) * | 2020-12-03 | 2023-07-07 | 腾讯科技(深圳)有限公司 | 云平台上的流量采集方法、设备以及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100094990A1 (en) * | 2008-10-15 | 2010-04-15 | Shmuel Ben-Yehuda | Platform-level Indicators of Application Performance |
CN102948132A (zh) * | 2010-06-22 | 2013-02-27 | 微软公司 | 分布式虚拟网络网关 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06508008A (ja) | 1991-06-12 | 1994-09-08 | ヒューレット・パッカード・カンパニー | パケットベースネットワークをテストするための方法および装置 |
US5812528A (en) | 1995-11-17 | 1998-09-22 | Telecommunications Techniques Corporation | Measuring round trip time in ATM network virtual connections |
US7085854B2 (en) | 2000-04-12 | 2006-08-01 | Corente, Inc. | Methods and systems for enabling communication between a processor and a network operations center |
FR2809900B1 (fr) * | 2000-05-31 | 2002-11-29 | Mitsubishi Electric Inf Tech | Procede et systeme de transmission de donnees bi-mode, emetteur et recepteur correspondant |
US6760769B2 (en) * | 2001-08-31 | 2004-07-06 | Adaptec, Inc. | Apparatus and methods for transmitting data at high speed using TCP/IP |
US7975043B2 (en) * | 2003-02-25 | 2011-07-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus for monitoring a network |
US20040236855A1 (en) * | 2003-05-23 | 2004-11-25 | Amir Peles | Multi-link tunneling |
GB2418326B (en) | 2004-09-17 | 2007-04-11 | Hewlett Packard Development Co | Network vitrualization |
US7792956B2 (en) | 2005-01-24 | 2010-09-07 | Daintree Networks, Pty. Ltd. | Network analysis system and method |
US8462624B2 (en) | 2005-07-28 | 2013-06-11 | Riverbed Technologies, Inc. | Congestion management over lossy network connections |
US8924524B2 (en) | 2009-07-27 | 2014-12-30 | Vmware, Inc. | Automated network configuration of virtual machines in a virtual lab data environment |
US8145760B2 (en) * | 2006-07-24 | 2012-03-27 | Northwestern University | Methods and systems for automatic inference and adaptation of virtualized computing environments |
US8064391B2 (en) | 2006-08-22 | 2011-11-22 | Embarq Holdings Company, Llc | System and method for monitoring and optimizing network performance to a wireless device |
US8274905B2 (en) | 2006-08-22 | 2012-09-25 | Embarq Holdings Company, Llc | System and method for displaying a graph representative of network performance over a time period |
JP4749392B2 (ja) | 2007-08-03 | 2011-08-17 | 日本電信電話株式会社 | オーバーレイネットワークにおける通信経路決定方法とオーバーレイノードおよびオーバーレイネットワークとプログラム |
US7778165B2 (en) * | 2007-11-08 | 2010-08-17 | University Of Washington | Information plane for determining performance metrics of paths between arbitrary end-hosts on the internet |
US10127059B2 (en) | 2008-05-02 | 2018-11-13 | Skytap | Multitenant hosted virtual machine infrastructure |
WO2010118255A2 (en) | 2009-04-08 | 2010-10-14 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer program products for network server performance anomaly detection |
US20100315958A1 (en) | 2009-06-11 | 2010-12-16 | Luo Xiapu | Method for non-cooperative measurement of network data-path quality |
US8532108B2 (en) | 2009-09-30 | 2013-09-10 | Alcatel Lucent | Layer 2 seamless site extension of enterprises in cloud computing |
US20110110377A1 (en) | 2009-11-06 | 2011-05-12 | Microsoft Corporation | Employing Overlays for Securing Connections Across Networks |
US8369345B1 (en) | 2009-11-13 | 2013-02-05 | Juniper Networks, Inc. | Multi-router system having shared network interfaces |
WO2011066435A2 (en) | 2009-11-25 | 2011-06-03 | Citrix Systems, Inc. | Systems and methods for client ip address insertion via tcp options |
WO2011079857A1 (en) | 2009-12-29 | 2011-07-07 | Telecom Italia S.P.A. | Performing a time measurement in a communication network |
US9111280B2 (en) * | 2010-04-16 | 2015-08-18 | Visa International Service Association | General purpose messaging |
US8239572B1 (en) | 2010-06-30 | 2012-08-07 | Amazon Technologies, Inc. | Custom routing decisions |
US20120099602A1 (en) | 2010-10-25 | 2012-04-26 | Brocade Communications Systems, Inc. | End-to-end virtualization |
US9325525B2 (en) | 2010-12-28 | 2016-04-26 | Citrix Systems, Inc. | Systems and methods for VLAN tagging via cloud bridge |
US20120170586A1 (en) | 2010-12-31 | 2012-07-05 | Zebra Imaging, Inc. | Transmitting Data to Multiple Nodes |
JP5686027B2 (ja) * | 2011-04-07 | 2015-03-18 | 富士通株式会社 | 仮想マシン環境におけるネットワーク障害検知方法、装置、およびプログラム |
WO2012170016A1 (en) | 2011-06-07 | 2012-12-13 | Hewlett-Packard Development Company, L.P. | A scalable multi-tenant network architecture for virtualized datacenters |
US9571406B2 (en) * | 2011-10-25 | 2017-02-14 | Vmware, Inc. | Network congestion management based on communication delay |
US8824274B1 (en) * | 2011-12-29 | 2014-09-02 | Juniper Networks, Inc. | Scheduled network layer programming within a multi-topology computer network |
US8787154B1 (en) * | 2011-12-29 | 2014-07-22 | Juniper Networks, Inc. | Multi-topology resource scheduling within a computer network |
US9916545B1 (en) | 2012-02-29 | 2018-03-13 | Amazon Technologies, Inc. | Portable network interfaces for authentication and license enforcement |
US20140241173A1 (en) | 2012-05-16 | 2014-08-28 | Erik J. Knight | Method for routing data over a telecommunications network |
US9253061B2 (en) * | 2012-09-12 | 2016-02-02 | International Business Machines Corporation | Tunnel health check mechanism in overlay network |
US9015714B2 (en) * | 2012-11-27 | 2015-04-21 | Citrix Systems, Inc. | Diagnostic virtual machine created to monitor cluster of hypervisors based on user requesting assistance from cluster administrator |
US9686189B2 (en) * | 2012-12-26 | 2017-06-20 | Microsoft Technology Licensing, Llc | Routing data in a bi-directional communication session over an overlay network using relay nodes |
US10389608B2 (en) * | 2013-03-15 | 2019-08-20 | Amazon Technologies, Inc. | Network traffic mapping and performance analysis |
-
2013
- 2013-03-15 US US13/833,945 patent/US10389608B2/en active Active
-
2014
- 2014-03-14 CA CA2906719A patent/CA2906719C/en active Active
- 2014-03-14 WO PCT/US2014/028967 patent/WO2014144520A2/en active Application Filing
- 2014-03-14 SG SG11201507191TA patent/SG11201507191TA/en unknown
- 2014-03-14 KR KR1020157029805A patent/KR101755390B1/ko active IP Right Grant
- 2014-03-14 JP JP2016502948A patent/JP6030805B2/ja active Active
- 2014-03-14 AU AU2014228998A patent/AU2014228998B2/en active Active
- 2014-03-14 EP EP14763564.3A patent/EP2974141B1/en active Active
- 2014-03-14 CN CN201480023091.9A patent/CN105144633B/zh active Active
-
2019
- 2019-08-16 US US16/543,123 patent/US11469984B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100094990A1 (en) * | 2008-10-15 | 2010-04-15 | Shmuel Ben-Yehuda | Platform-level Indicators of Application Performance |
CN102948132A (zh) * | 2010-06-22 | 2013-02-27 | 微软公司 | 分布式虚拟网络网关 |
Non-Patent Citations (1)
Title |
---|
MASAHIRO SATOU等: "Server Side Networking for Cloud Data Centers", 《2012 IEEE 1ST INTERNATIONAL CONFERENCE ON CLOUD NETWORKING (CLOUDNET)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205504A (zh) * | 2016-12-16 | 2018-06-26 | 广州杰赛科技股份有限公司 | 终端usb映射方法、虚拟机usb映射方法及系统 |
CN108205504B (zh) * | 2016-12-16 | 2021-01-12 | 广州杰赛科技股份有限公司 | 终端usb映射方法、虚拟机usb映射方法及系统 |
CN112334901A (zh) * | 2018-06-27 | 2021-02-05 | 亚马逊科技公司 | 自动化无分组网络可达性分析 |
CN112887185A (zh) * | 2019-11-29 | 2021-06-01 | 华为技术有限公司 | 一种叠加网络的通信方法及装置 |
CN112887185B (zh) * | 2019-11-29 | 2024-03-15 | 华为云计算技术有限公司 | 一种叠加网络的通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6030805B2 (ja) | 2016-11-24 |
US20190372875A1 (en) | 2019-12-05 |
CN105144633B (zh) | 2019-06-04 |
EP2974141A2 (en) | 2016-01-20 |
US20140280884A1 (en) | 2014-09-18 |
AU2014228998A1 (en) | 2015-10-01 |
SG11201507191TA (en) | 2015-10-29 |
US10389608B2 (en) | 2019-08-20 |
WO2014144520A2 (en) | 2014-09-18 |
CA2906719A1 (en) | 2014-09-18 |
US11469984B2 (en) | 2022-10-11 |
EP2974141B1 (en) | 2020-08-26 |
KR101755390B1 (ko) | 2017-07-11 |
KR20150131337A (ko) | 2015-11-24 |
JP2016512416A (ja) | 2016-04-25 |
WO2014144520A3 (en) | 2015-01-08 |
AU2014228998B2 (en) | 2016-09-01 |
CA2906719C (en) | 2021-07-27 |
EP2974141A4 (en) | 2016-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105144633A (zh) | 网络业务映射和性能分析 | |
CA3143107C (en) | Systems and methods providing a multi-cloud microservices gateway using a sidecar proxy | |
CN105262615B (zh) | 针对虚拟网络分组流的物理路径确定 | |
EP3881495A1 (en) | Algorithmic problem identification and resolution in fabric networks by software defined operations, administration, and maintenance | |
EP3884624B1 (en) | Active targeted data plane traffic monitoring for wired networks | |
JP6307597B2 (ja) | 大規模ネットワークにおける帯域使用量の計測 | |
US20220116290A1 (en) | Application performance management integration with network assurance | |
EP4032327A1 (en) | Automated access point mapping systems and methods | |
CN105450526B (zh) | 一种报文处理方法和设备 | |
CN116569531A (zh) | 用于路径跟踪和延迟测量的遥测数据优化 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |