网络性能的分析的制作方法

文档序号:14036420阅读:160来源:国知局
网络性能的分析的制作方法

本发明涉及数据网络,并且涉及用于分析关于数据网络的性能的方法和设备。具体地,本发明的实施方式涉及分析或测试关于使用诸如数据分组或其它这种消息的数据项的数字数据网络(诸如因特网、企业网络、数据中心或局域网)的网络性能。



背景技术:

为了获取指示网络性能的测量结果而分析网络可以使用各种技术来进行,包括涉及主动测试(在主动测试中,通信量通过特别用于进行测试目的的网络来发送)的技术和涉及被动测试(在被动测试中,分析由于用户活动导致已经流经网络的通信量)的技术。

涉及被动测试的技术可以示出如由真实用户使用的真实应用程序的性能,但通常限于测试在特定时间使用的应用程序和网络,并且可能因为应用测试的通信量变化而使得难以比较网络性能。使用跨网络发送的参考通信量的主动测试通常不具有该缺点。

然而,涉及主动测试的技术还具有可以测试什么的问题。通常,主动测试技术测试服务本身(例如,网页或视频性能)或基础网络二者之一。测试通常从测试点到服务或到位于网络中的测试服务器来执行。通过使用多个测试服务器,网络运营商可以取得跨网络的不同路径或子路径的性能的观察,但大规模部署并维护测试服务器昂贵,并且这无法给出不在运营商的控制下的网络的观察,除非测试服务器位于这些网络中。因此,关注使用基本网络路由设备来进行测试,使用诸如“跟踪路由(traceroute)”和“查验(ping)”的基本工具。

“跟踪路由”是在存活时间(ttl)或跳限制计数到期时利用因特网协议(ip)网络的特征来生成对消息的发送者的回复消息的技术。

“查验”是可以用于测试网络中的节点的可靠性并测量用于从源节点(诸如计算机、服务器、路由器等)向目的地节点发送并返回的消息的往返时间(rtt)的技术。被称为“icmp探测”、“探测消息”或简称为“探测”的根据因特网控制消息协议(icmp)的消息通常可以经由一个或更多个中间节点从充当测试点的发送者被发送到远程网络节点,如果该远程网络节点是用于探测的预期目的地或目标(通常在被包括在探测中的报头信息中指示),则该远程网络节点将关联探测响应消息发回给发送者,这允许发送者确认已经达到目标,并且允许发送者测量rtt(还被称为时延)。

在本背景以及下文中,将注意,词语“探测”通常在“调查”或一个或更多个“调查性消息”的意义上使用,而不是在“传感器”的意义上使用。因此,所涉及的探测可以为经由网络发送的一个或更多个分组或一个或更多个另一种消息。

诸如上述的技术通常用于确定沿着网络路径定位的节点,而且分析多对节点之间的时延或时延变化。总时延可以确定节点有多远,同时可能由网络队列的填充而引起的时延变化可以用作网络拥塞的指示。这种技术可以提供每一个网络路径的相应节点处的网络性能的非常细粒度观察,这允许网络运营商甚至关于不在运营商的所有权或控制下的节点和跨网络的路径查看性能。

这种技术的问题是结果不总是网络性能的可靠指示器。虽然穿过节点的实际网络通信量通常在节点的优化转发元件中处理(“快速路径”处理),但“跟踪路由”响应或“查验”通常将由节点的一般中央处理单元(cpu)来处理,并且通常涉及新分组或其它这种消息的生成(“慢速路径”处理)。由此,跟踪路由和查验测量结果通常指示所转发的用户通信量实际上未经历的延迟和损失。

因此,使用诸如跟踪路由和查验的基本路由器功能确定网络性能的之前尝试由于由标准网络设备(诸如路由器和其它节点)进行的这些探测(即,探测分组或其它消息)的可能缓慢或可变处理而经常有缺陷,这导致网络问题的错误诊断。因此,许多系统已经使用专业测试基础设施(例如,专用测试服务器),但如以上所指示的,这些基础设施可能通常仅给出测试点与这些测试服务器所在的任何地点之间的总端到端路径性能。

由此,需要即使当在ip网络中使用基本探测技术(诸如“跟踪路由”和“查验”)时也可应用的测试网络性能的改进方式。

“应用因特网数据分析中心”(“caida”)已经开发了在被称为“archipelago”项目的项目中使用的被称为“scamper”的工具。该工具旨在允许批量跟踪路由和查验测量结果。它们已经发布以下论文:

m.luckie、a.dhamdhere、d.clark、b.huffaker以及k.claffy的“challengesininferringinternetinterdomaincongestion”,internetmeasurementconference(imc),2014年11月,15-22页(该论文可在以下位置在线获得:https://www.caida.org/publications/papers/2014/challenges_inferring_interdomain_congestion/)和d.clark、s.bauer、k.claffy、a.dhamdhere、b.huffaker、w.lehr以及m.luckie的“measurementandanalysisofinternetinterconnectionandcongestion”,telecommunicationspolicyresearchconference(tprc),2014年9月(该论文可在以下位置在线获得:https://www.caida.org/publications/papers/2014/measurement_analysis_internet_interconnection/)。这些论文考虑数据可以如何用于推断拥塞(特别是网络域之间的拥塞),并且讨论如何分析数据来检测网络问题。

参考其它现有技术引用,us2010103822(“montwill”)涉及网络评估和故障隔离,具体涉及使用跟踪路由包识别两个端点之间的问题节点。

us2007274227(“rauscher”)涉及分组交换网络中的网络时延的测量,具体涉及用于遍历网络以计算网络时延的方法。

ep2557731(“huawei”)涉及用于中间节点独立定位故障的方法和系统,其中,中间节点用来在第一端节点与第二端节点之间转发分组。

ep1206085(“infonet”)涉及用于自动化服务等级协议的方法和设备。

日期为1998年11月且由g.almes、s.kalidindi以及m.zekauskas创作的标题为“around-tripdelaymetricforippm”的ietf网络工作组互联网草案定义了用于分组跨因特网路径的往返延迟的度量。

日期为2010年1月的标题为“understandingthepingandtraceroutecommands”(http://www.cisco.com/image/gif/paws/12778/ping_traceroute.pdf)的来自思科系统(ciscosystem)的“technotes”公开出版物例示了查验和跟踪路由命令的使用,并且在一些调试命令的帮助下捕获这些命令如何工作的更详细观察。

us2010/315958(“luo等人”)涉及用于以非协作方式测量网络路径质量的方法和设备,并且涉及向远程节点发送由探测数据分组构成的探测并从其接收由至少一个响应数据分组构成的响应。



技术实现要素:

以上所讨论的caida论文讨论了如何分析数据来检测网络问题,但未考虑与对网络探测具有很差或可变响应的特定节点本身关联的问题,更不用说处理这种问题的方法。

本发明的实施方式基于以下认识:由从“测试”网络节点向“目标”网络节点发送诸如“查验”消息的探测消息作出的测量结果(假设这些测量结果(至少主要)指示关于相应节点之间的路径的网络性能)还可能过度地受目标节点本身执行探测消息的本地、机载、“慢速路径”处理所花费的时间影响。这种“慢速路径”处理仅关于节点是“目标”节点的探测消息发生,如果同一节点仅是向为目标节点的随后节点转发探测消息的中间节点,则它通常将仅执行关于该探测消息的“快速路径”处理(即,检查该消息的报头并转发它)。本发明人已经认识到,这提供隔离并估计特定节点的“慢速路径”处理的影响的机会,并且如果该节点在它是目标节点的情况下被估计为对测量结果的可靠性具有特别有破坏性的影响,则网络性能分析可能(至少主要)基于对探测测量结果的自身影响不那么具有破坏性的其它节点。

根据本发明的第一方面,提供了一种分析包括多个网络节点的网络的网络性能的方法,该方法包括以下步骤:

关于第一目标节点获取多个探测测量结果,关于第一目标节点的探测测量结果包括:

-从以下得到的至少一个探测测量结果:经由从测试节点到所述第一目标节点的网络路径发送的一个或更多个探测测试消息、以及通过在第一目标节点处接收并且本地处理一个或更多个探测测试消息触发的由测试节点从第一目标节点经由网络路径接收的一个或更多个关联探测响应消息;以及

-从以下得到的至少一个探测测量结果:经由从测试节点经由第一目标节点到随后目标节点的网络路径发送的一个或更多个探测测试消息、以及通过在所述随后目标节点处接收并且本地处理一个或更多个探测测试消息触发的由测试节点从随后目标节点经由网络路径接收的一个或更多个关联探测响应消息;

相应探测测量结果均与关于由相应探测测试消息和与其关联的探测响应消息采取的网络路径的一个或更多个网络性能特性有关,并且还取决于相应探测测试消息在相应目标节点处的本地处理;

将从被发送到所述第一目标节点的一个或更多个探测测试消息得到的所述一个或更多个探测测量结果中的至少一个与从经由第一目标节点发送到随后目标节点的一个或更多个探测测试消息得到的所述一个或更多个探测测量结果中的至少一个进行比较,并且根据比较,关于所述目标节点中的至少一个分配权重;

根据取决于关于所述目标节点中的至少一个的至少一个探测测量结果且取决于关于所述至少一个目标节点分配的权重的预定函数确定网络性能分析量度。

优选实施方式可以用于通过以下方式来识别特定目标节点是否很可能提供不期望结果:将通过向特定目标节点发送探测获取的结果与通过经由第一目标节点向随后(更远)目标节点发送类似探测而获取的结果进行比较。如果关于更远节点的结果指示比关于更近节点的结果更少的往返时间(尽管这为沿着路径到更远节点的更短距离),则例如这是以下内容的强指示:关于更近节点的结果过度受更近节点本身内的内部处理影响,因此在分析网络性能时应被忽视或给予更低权重。

预定功能可以被选择为使得总性能分析量度可以基于或最强烈地基于关于从其获取“最佳”测量结果的节点或大量节点获取的探测测量结果,或者基于关于该目标节点或这些目标节点随后获取的一个或更多个探测测量结果。将理解,术语“最佳”的意义将取决于所做出的测量结果的类型,但通常,关于诸如“时间”或“可变性”测量结果的一些类型的测量结果,最低将通常被视为最佳,而关于其它测量结果(例如,可靠性或数据量测量结果),最高将通常被视为最佳。

由特定探测尝试的探测响应消息采取的“返回”网络路径通常将是由关联探测测试消息采取的“向外”网络路径的反向,但不是必须为这种情况,甚至可以不是在控制讨论中的测试节点或目标节点时在实体的控制下的因素。

根据优选实施方式,关于第一目标节点获取探测测量结果的步骤可以包括获取相应探测测量结果,这些探测测量结果从以下得到:经由第一目标节点向多个随后目标节点发送的探测测试消息和从随后目标节点接收的由探测测试消息在随后目标节点处的接收并且本地处理触发的关联探测响应消息。

根据优选实施方式,相应权重可以关于多个目标节点来分配,使得网络性能分析量度取决于关于相应目标节点中的一个或更多个(例如,分配正权重的所述目标节点或相应目标节点)的一个或更多个探测测量结果。相应地,相应权重可以关于多个目标节点来分配,使得网络性能分析量度独立于关于相应目标节点中的一个或更多个(例如,分配零权重的任意目标节点)的一个或更多个探测测量结果。

权重可以为“1”(即,完全或100%)和“0”(即,零或0%),以在总分析量度中包括或排除关于特定目标节点的测量结果,或者在从1到0的规模上,以允许总分析量度在更大或更小程度上受关于被视为提供更可靠/不那么可靠单独测量结果的目标节点作出的测量结果影响。

根据优选实施方式,预定函数可以使得网络性能分析量度取决于关于多个相应目标节点中的每一个(例如,分配正权重的所述目标节点或相应目标节点)获取的一个或更多个探测测量结果。相应地,预定函数可以使得网络性能分析量度独立于关于多个相应目标节点中的每一个(例如,分配零权重的任意目标节点)获取的一个或更多个探测测量结果。

根据优选实施方式,探测测量结果可以关于多个目标节点来获取并且比较,由此关于这些节点确定权重。

根据优选实施方式,关于从多个目标节点选择的一个或更多个目标节点的子集可以获取随后探测测量结果,子集包括根据比较选择的一个或更多个目标节点。

根据优选实施方式,探测测量结果中的一个或更多个可以从以下得到:在不同时间经由从测试节点到同一目标节点的网络路径发送的多个探测测试消息。

根据优选实施方式,关于第一目标节点获取多个探测测量结果的步骤可以包括获取从被发送到同一目标节点的探测测试消息得到的多个探测测量结果,并且比较的步骤可以涉及将从被发送到同一目标节点发送的探测测试消息得到的多个探测测量结果与从被发送到另一个目标节点的一个或更多个探测测试消息得到的一个或更多个探测测量结果中的至少一个进行比较。从被发送到同一目标节点的探测测试消息得到的多个探测测量结果可以从在不同时间被发送到同一目标节点的探测测试消息得到。

根据优选实施方式,关于相应目标节点获取的探测测量结果可以包括关于以下内容中的一个或更多个的测量结果:

与响应时间(例如,对“查验”消息的往返响应时间)关联的一个或更多个特性;

与通信速度关联的一个或更多个特性;

与通信延迟和/或延迟变化关联的一个或更多个特性;

与通信量关联的一个或更多个特性;

与可靠性关联的一个或更多个特性;

与数据丢失关联的一个或更多个特性;

与通信质量关联的一个或更多个特性;

与安全性关联的一个或更多个特性;以及

与服务使用关联的一个或更多个特性;

或一个或更多个其它类型的特性。

根据本发明的第二方面,提供了一种被构造为执行根据第一方面的方法的设备。

该设备例如可以包括一个或更多个网络节点(诸如路由器)或与一个或更多个这种节点关联的一个或更多个处理器。

根据本发明的第三方面,提供了一种计算机程序元件,该计算机程序元件包括计算机程序代码,该计算机程序代码在被加载到计算机系统并在其上执行时,使得计算机执行根据第一方面的方法的步骤。

以上关于第一方面提及的各种选项和优选实施方式关于第二方面和第三方面也可应用。

本发明的优选实施方式能够使用基于在ip路由器中发现的现有功能的现有测试。跟踪路由和查验可连同允许跟踪路由和查验测试的批量自动化的更全面工具(诸如scamper)一起用作客户端工具。跟踪路由在存活时间(ttl)到期时利用ip网络的特征来生成对发送者的回复。查验将特殊icmp探测反射到网络节点并返回到发送者,以便测试往返时间(还被称为时延)。

本发明的优选实施方式能够使用这种工具来产生用于沿着从测试点开始的路径的路由器的独立测试结果。这种测试结果可以记录执行测试的时间、被测试的ip节点以及性能数据(诸如响应是否连同响应所花费的延迟(或往返时间)一起返回)。

这些独立结果然后可以用于执行关于大量节点中的每一个的性能的分析。所考虑的性能通常为到达节点的总(平均)时延以及时延变化(这可能指示拥塞)。以上所讨论的caida开发的技术可以用于寻找从峰值时间网络使用期望的时延的日变化,然而,在网络不拥塞时,这种日变化还可能存在于节点对跟踪路由和查验的响应中。

附图说明

将参照附图描述本发明的优选实施方式,附图中:

图1示出了网络节点和两个相邻节点;

图2示出了路径上的多个网络节点;

图3例示了不同节点处的“快速路径”和“慢速路径”处理;以及

图4是例示了根据优选实施方式的方法的流程图。

具体实施方式

参照附图,将描述根据优选实施方式的方法和设备。

在描述本发明的优选实施方式之前,将参照图1、图2以及图3更详细地说明以上简要提及的网络节点(诸如路由器)中的“慢速路径”和“快速路径”处理的问题。

参照图1,图1示出了网络节点10和两个相邻节点10’和10”,这两个相邻节点分别被称为“上游”节点10’和“下游”节点10”。网络节点10通过所示独立/内部功能模块(注意,这些模块可以被实现为软件或硬件模块,并且注意,它们之间的分离实际上可以为功能的,而不是为空间的)被展开并且具体地示出,以辅助说明网络节点10的主要功能。两个相邻节点10’和10”通常将具有类似或对应独立/内部功能模块,但为了避免使附图不必要地复杂,未示出这些模块。

将理解,术语“上游”和“下游”为相对的,并且取决于特定节点关于数据的特定交换扮演的角色,第一节点可以关于由一个分组采取的路径为第二节点的上游,并且关于由另一个分组采取的路径为第二节点的下游,但对于本讨论,这些术语关于以下场景来使用:

(i)上游节点10’沿着经由节点10的路径向“下游”网络节点10”发送数据(例如,一个或更多个探测消息,包括一个或更多个数据分组),在这种情况下,节点10的功能是从上游节点10’接收数据并将其转发到下游节点10”;以及

(ii)上游节点10’向节点10本身发送数据并从其接收响应。

在图1中,实线箭头(h1、h1、h2、h2)涉及场景(i),并且指示由从上游节点10’发送的数据采取的单向路径,该数据以下游节点10”作为其(预期)目的地地址(如在其报头中或以其它方式指示的),该数据到达节点10并由节点10在其路径上从上游节点10’转发到下游节点10”。这些箭头中,具有大写字母“h”(即,h1和h2)的箭头指示路径上的外部跳(hop),即,节点10’与10之间的跳h1和节点10与10”之间的跳h2。具有小写字母“h”的箭头(即,h1和h2)指示用于数据的节点10内的内部处理路径,该数据由节点10的第一输入/输出(i/o)接口101从节点10’接收并被传递到节点10的转发处理器103(h1),然后从节点10的转发处理器103传递到节点10的第二i/o接口109(h2),该第二i/o接口呈现用于从节点10转发到节点10”的数据。

如以上所指示的,ip网络中的数据分组通常在它们的ip报头中指示它们的目的地ip地址(以及它们的源地址和其它信息),这些ip地址通常将关于“查验”测试被使用。对于跟踪路由请求,报头(还)可以指示存活时间(ttl)跳计数,但在该场景中,目标ip地址可能不与跟踪路由目的地/目标相同。

虚线箭头(h3、h4、h5以及h3,并且目前忽略h1/3和h4/5)涉及场景(ii),并且连同实线箭头h1和h3一起指示在数据以节点10作为其(预期)目的地地址从上游节点10’被发送时、在该数据到达节点10且在那里被处理时、以及在由节点10向上游节点10’发回关联响应时采取的双向路径。再次,具有大写字母“h”(即,h1和h3)的箭头指示路径上的外部跳,即,节点10’与10之间的跳h1(也在场景(i)中执行)和从节点10返回到节点10’的跳h3。具有小写字母“h”的那些箭头(即,h1、h3、h4以及h5)指示用于数据的节点10内的内部处理路径,该数据由节点10的i/o接口101从节点10’接收并被传递到节点10的转发处理器103(h1,与场景(i)共用),由节点10发现该数据的目标为节点10本身,该数据因此被传递用于由节点10的cpu105处理(h3),在那里被处理,被传递回到节点10的转发处理器103(h4),从那里传递回到节点10的i/o接口101(h5)并被呈现以便从节点10转发回到节点10’(h3)。cpu105被示出为具有关联存储器107,在该存储器107中,可以存储诸如路由表、接口的ip地址等的信息。

由此,关于场景(i),如果节点10充当上游节点10’与下游节点10”之间的中间节点且因此仅需要将诸如探测消息的数据从节点10’转发到节点10”,则数据所采取的路径为:

h1->h1->h2->h2。

然而,关于场景(ii),如果节点10充当用于从上游节点10’发送到它的诸如探测消息的数据的目标或目的地节点且因此请求向上游节点10’发送探测响应(因此需要在将响应消息发回节点10’之前在其cpu105中处理探测消息),则数据所采取的路径为:

h1->h1->h3->h4->h5->h3。

(注意,关于如上所述的目前所描述的实施方式,节点10的i/o接口101和109简单地充当功能是向转发处理器103转发从外部节点(例如,节点10’或节点10”)接收的数据并向外部节点(例如,节点10”或10’)转发从转发处理器103接收的数据的接口。转发处理器103的功能是检查所接收的数据,并且在包括诸如“查验”请求的消息的大多数数据分组的情况下,确定(例如,从读取分组或其它这种消息的报头中的“目的地地址”指示)节点本身是否是用于数据的预期目的地(在这种情况下,数据被传递到cpu105)或另一个节点是否是用于数据的预期目的地(在这种情况下,数据被传递到适当i/o接口以便转发)。(然而,对于“跟踪路由”测试,问题可能是分组的报头是否指示到期ttl,而不是分组是否到达其预期目的地)。然而,在任何情况下,将注意,图1中示出被称为“h1/3”和“h4/5”的弯曲虚线箭头。这些箭头例示了与另选实施方式有关的情形,在另选实施方式中,检查所接收数据并确定节点本身是否是用于数据的预期目的地或另一个节点是否是用于数据的预期目的地的功能可以由接收数据的i/o接口来执行。在这种实施方式中,需要由cpu105处理的数据可以沿着由弯曲虚线箭头h1/3指示的内部处理路径从i/o接口101内部地传递到cpu105,而不经过转发处理器103,并且响应数据可以沿着由弯曲虚线箭头h4/5指示的路径从cpu105内部地传递回到i/o接口101,再次不经过转发处理器103。以上和以下所讨论的“快速路径”和“慢速路径”处理的问题可关于这两种实施方式来应用。)

关于上文注意的重要问题是在转发探测(诸如“跟踪路由”或“查验”消息)时,普通节点(如与专用测试服务器相对的)通常以与它处理其它分组相同的方式来处理该探测(nb,也就是在“快速路径”上被处理,其中,这里的词语“路径”是指“节点内部处理路径,而不是网络路径”);节点被优化以用于转发分组,并且操作可以整体在硬件中执行。然而,在这种节点对探测响应时(比如,因为跟踪路由分组的ttl已经达到零,或者因为节点是“查验”分组的目标或预期目的地),那么也就是节点在“慢速路径”上处理分组(词语“路径”再次是指“节点内部处理路径”);“响应”操作涉及节点的cpu,并且通常包括生成朝向探测的源发送回的新分组/消息。

作为这样的结果,期望使用一个或更多个探测消息测量的与沿着网络路径的性能有关的特性(例如,往返响应时间或延迟、往返响应时间或延迟的变化等)的测量结果可能由于探测的目标节点本身的内部处理(并且具体是由于目标节点本身的cpu的速度、拥塞状态、可靠性或另一个特性)导致关于探测的“目标节点”本身的探测消息的“慢速路径”处理而失真。如果所期望的性能测量结果是指示测试节点与目标节点之间的路径的性能状态的性能测量结果,则受由过慢的目标节点本身的“慢速路径”处理过度影响的这种测量结果的失真通常是不期望的。

由此,可能期望识别由于由它们自己的“慢速路径”处理引起(或被视为很可能引起)对独立探测测量结果的显著失真的节点,和/或期望识别引起(或被视为很可能引起)最少或最多失真的节点,因此允许整个网络分析至少主要基于来自被发现(或被视为很可能)引起最少失真的一个或更多个节点的探测测量结果,并且可能期望允许从整个网络分析去除或忽略可能更失真的测量结果。

为了简化以上问题的说明,图1仅例示了涉及必要的最少数量节点的情形,但将理解,跨网络的路径可以涉及多个节点及其之间的跳,并且网络通常分支,因此节点之间的其它路线也是可能的。

进一步地,虽然节点10被示出为具有两个i/o接口,用于从节点10’接收数据并向节点10’发送数据的第一接口(101)和用于从节点10”接收数据并向节点10”发送数据的第二接口(109),但节点可以仅具有用于所有发送和接收的一个接口、用于发送的一个接口和用于接收的另一个接口、多个接口、用于大量相邻节点中的每一个的一个接口、或接口的另一个这种布置。

例如,参照示出了路径上的多个网络节点的图2,将理解,跨网络的路径在诸如探测消息的消息的初始发送者(例如,测试源s,20)与用于该数据的目标之间通常可以具有多个中间节点。例如,如果节点e20e是用于来自测试源s的探测消息22e的目标节点,并且从测试源s向节点e行进的数据在到达节点e之前由节点a、b、c以及d(20a、20b、20c、20d)分别接收并转发,则节点a、b、c以及d中的每一个充当与从测试源s到节点e的探测消息22e有关的中间节点,并且还可以充当与从节点e返回到测试源s的关联响应消息24e有关的中间节点(但应注意,该“返回”路径可以不必须是“向外”路径的反向)。在这种场景中,消息将经受由节点a、b、c以及d中的每一个进行的“快速路径”处理,并且经受仅由节点e进行的“慢速路径”处理。

还将理解,虽然测试源s被示出为向节点a、b、c、d以及e中的每一个发送探测消息22a、22b、22c、22d以及22e(即,节点a、b、c、d以及e中的每一个充当与发送到其的探测消息有关的目标节点),并从其接收关联响应消息24a、24b、24c、24d以及24e,但所示节点中的任一个可以充当测试源,并且同时或不同时向其它节点中的任一个发送探测消息和从其接收关联响应消息,消息可以在任一方向上沿着链接节点的任意路径行进。特定节点在特定探测尝试中被涉及作为测试源、作为中间节点还是作为目标节点将确定其角色通常将涉及发送、转发还是接收并响应探测消息,这转而通常将确定特定节点将仅经由其“快速路径”处理路线来处理探测(以便向另一个节点下游发送或转发探测消息或朝向讨论中的测试源转发回响应消息)还是(另外)经由其“慢速路径”处理路线来处理探测(以便在其自己的cpu中处理探测消息,产生响应消息,并且朝向讨论中的测试源呈现该消息,以便传输回上游)。

图3例示了可以如何根据节点是充当与特定探测有关的目标节点还是仅充当在测试源与目标节点之间的路径上的中间节点在不同节点处执行“快速路径”和“慢速路径”处理。为了简单起见,图3简单地例示了从测试源s30发送的两个探测消息,两个探测消息中的一个在节点a30a作为其目标节点的情况下被发送,并且两个探测消息中的另一个在节点b30b作为其目标节点的情况下沿着节点a30a是中间节点的路径被发送。将理解,在不同实施方式中,相应探测消息可以由测试源s30同时或不同时地被发送,并且多个消息可以被发送到每个目标节点,并且其它节点还可以同时或不同时地涉及作为测试源、中间节点以及目标节点。将使用该简单示例,以说明可以如何进行并使用(使用“查验”、“跟踪路由”或其它这种探测技术)所作出的不同探测测量结果的比较。

在可应用时以缩写形式示出节点30、30a以及30b的独立功能模块(即,i/o接口、转发处理器、cpu及其关联存储器),但因为早先已经参照图1解释了这些模块,所以图3中不对它们独立编号,以便不使附图过分复杂。图3中使用虚线箭头来示出所涉及的路径(即,节点之间的外部跳以及节点内的内部处理路径),这些路径关于相应探测被遍历(即,由从测试源s到相应目标节点的相应探测测试消息采取的相应“向外”路径和由从相应目标节点返回到测试源s的相应探测响应消息采取的相应“返回”路径),但是再次,不标记这些路径,因为认为这将使得附图不必要地复杂。

凭借本发明的优选实施方式,以以下这种方式来比较从在不同路径上和/或在不同测试源和/或目标节点之间发送的不同探测消息获取的性能测量结果:指示哪些测量结果已经或很可能已经受在充当用于讨论中的探测消息的目标节点的节点中的过度慢、不可靠、误导或另外很差的“慢速路径”处理过度影响。这种比较的结果可以指示哪一个节点或哪些节点以关于提供讨论中的网络路径上的性能的真实或实际指示的这种方式来响应。

参照图3的左手侧,考虑从测试源s到节点a的探测涉及在允许作出单个探测测量结果的过程中遍历的以下元素:

(i)从始发测试点(测试源s)到节点a的“向外”网络路径(该网络路径本身包括在测试源s内从测试源的cpu开始且到其到节点a的i/o接口上的虚线箭头、和从测试源s的i/o接口到节点a的i/o接口的虚线箭头,但因为部件为附图的左手侧和右手侧共用的,所以该细分不重要);

(ii)节点a上来自测试源s的入接口;

(iii)与节点a内的探测有关的响应处理(该探测本身由节点a内的从节点a的i/o接口经由其转发处理器到其cpu并经由其转发处理器返回到其i/o接口的虚线箭头来表示);

(iv)节点a上朝向测试源s返回的出接口;以及

(v)到测试源s的“返回”网络路径。

简化术语,我们以下可以说:

总节点a测量结果=从s到a的返回路径+a的探测响应,

其中,被称为“从s到a的返回路径”对总节点a测量结果的贡献包括以下四个子贡献:

(i)与从测试源s到节点a的“向外”网络路径有关的子贡献;

(ii)与节点a上的入接口有关的子贡献;

(iv)与节点a上朝向测试源s返回的出接口有关的子贡献;以及

(v)与从节点a到测试源s的“返回”网络路径有关的子贡献。

将注意,不形成“从s到a的返回路径”贡献的一部分的总测量结果的唯一部分是与以上(iii)有关的部分(即,与节点a本身内的探测有关的响应处理)。

现在,参照图3的右手侧,考虑经由节点a30a发送的从同一测试源s到随后节点b30b的探测。除了与节点a本身内的探测有关的“慢速路径”响应处理之外,该探测测量与到节点a的探测相同的元素(当到节点b的探测仅跨节点a经由其“快速路径”处理被转发,而不是经由节点a的“慢速路径”处理由节点a的cpu来处理,但是另外,该探测现在包括节点a与节点b之间的网络路径(“向外”和“返回”贡献,如由节点a与节点b之间的虚线箭头表示的)和节点b本身的探测响应(由在节点b内从其i/o接口经由其转发处理器到其cpu并经由其转发处理器返回到其i/o接口的虚线箭头表示)时)。

使用与上文相同的约定,总测量结果的贡献可以如下考虑:

总节点b测量结果=从s到b的返回路径+b的探测响应

总节点b测量结果=从s到a的返回路径+a与b之间的返回路径+b的探测响应

总节点b测量结果=总节点a测量结果-节点a与节点b之间的节点a返回路径的探测响应+节点b的探测响应

以及

总节点b测量结果-总节点a测量结果=节点a与节点b之间的返回路径+节点b的探测响应-节点a的探测响应

从上文可以看到,在节点b是目标节点时看到的性能(可以在速度、吞吐量、可靠性、一致性或各种其它类型的特性中的任一个方面来测量)将不总是比在节点a是目标节点时(例如,在节点a探测响应过度慢时)看到的性能更低、更长、更小、更大或另外更差(取决于讨论中的性能特性的类型)。然而,到节点a的路径的任意网络性能必须被包括在在节点b处看到的性能中。由此,虽然可能不可以清楚或完全地隔离到节点a的网络性能,但如果例如与从测试源s到节点a的探测有关的往返时间测量结果具有比与从同一测试源s经由节点a到随后节点b的探测有关的并发测量结果更大的rtt,则可以识别强烈地看起来被节点a的探测响应时间危害的节点测量结果。

有问题节点测量结果的识别和处理

凭借本发明的优选实施方式,将如由关于充当“目标节点”的第一节点作出的一个或更多个测量结果指示的性能与如由关于作为“目标节点”的一个或更多个随后节点(在经由第一节点的路径上)作出的一个或更多个测量结果指示的性能进行比较。整体动机是如果所获取的结果指示讨论中的网络路径上的真实转发性能,那么在随后节点处还应看到任意劣化。

现在将参照图4描述根据优选实施方式的方法,图4是例示了在与目标节点和一个或更多个随后目标节点有关的探测测量结果之间进行的比较可以如何用于分析网络性能,并且具体是可以如何用于识别并减小或去除对有问题节点数据的依赖(实现a)。

对于该说明,我们将考虑由“查验”探测获取的往返时间(rtt)的测量结果,但将理解,可以使用其它探测技术测量其它特性。我们将考虑可以收集多批探测测量结果的实施方式,这些探测测量结果可以包括与多个可能“第一目标节点”及其关联“随后目标节点”有关的测量结果,但将理解,在其它实施方式中,处理可以简单地执行一次与一个“第一目标节点”及其关联“随后目标节点”有关的分析。

在优选实施方式中,收集探测测量结果(步骤s40),一个或更多个探测测量结果与至少两个目标节点(诸如图3中的节点a和b)中的每一个有关,目标节点中的一个(例如,节点a)在公共测试源(例如,节点s)与另一个节点(例如,节点b)之间的网络路径上。如果与相应节点有关的多于一个测量结果可用,则根据讨论中的特性,可以使用结果的平均、总数、最高、最低、变化或标准差、分位数(例如,第95个百分位)或可用的那些结果的某一其它适当函数。

在可能的目标节点中,选择第一目标节点(步骤s41),该第一目标节点在图3所示的简单情况下将为节点a;并且选择随后目标节点(步骤s42),该随后目标节点在图3所示的简单情况下将为节点b。然后将来自相应目标节点(a和b)的探测测量结果进行比较(步骤s43)。

如果在步骤s44处发现与目标节点a有关的测量结果给出比来自随后目标节点b的测量结果更低的rtt,则可以推断出(在步骤s45处)节点a测量结果至少可能是有效的(即,没有它们有问题的清楚暗示)。在这种情况下,可以向节点a或从其获取的测量结果分配可以为“1”或在“0”至“1”之间的值的正权重,这指示节点a测量结果可以在网络性能量度的整个确定中使用。如果发现(在步骤s46处)从任意其它随后目标节点到节点a的测量结果可用,则处理可以返回到步骤s42,并且执行来自这些节点(作为随后目标节点)与作为目标节点的节点a的测量结果之间的类似比较,以便获取关于节点a内的内部处理是否过度影响到节点a的rtt测量结果的更多证据。如果发现(在步骤s46处)没有来自其它随后目标节点的测量结果可用,则处理可以继续到步骤s47,在步骤s47处,可以基于在节点a作为目标节点的情况下已经或随后获取的测量结果确定整体网络性能量度。处理然后可以返回到步骤s40或s41,并且可以关于新测量结果或关于不同“第一目标节点”重复(即,以便执行关于新测量结果或不同第一目标节点执行对应调查)。

如果发现(在步骤s44处)与目标节点a有关的测量结果给出比来自随后目标节点b的测量结果更高的rtt,则可以推断出(在步骤s48处)节点a测量结果有问题。虽然这未给出节点b测量结果有效的具体暗示,但它指示节点b测量结果比来自节点a的测量结果更没有问题。由此,可以向节点b或向从节点b获取的测量结果分配正权重,这指示节点b测量结果可以在整体网络性能量度的整个确定中使用。如前所述,根据是期望单独基于来自“最佳”节点(例如,节点b)的测量结果确定整体网络性能量度(在步骤s49处)还是基于来自具有正权重的节点的测量结果的加权和,权重可以为“1”或“0”至“1”之间的值。如前所述,处理然后可以返回到步骤s40或s41,并且可以关于新测量结果或关于不同“第一目标节点”重复。

可以将单个节点测量结果与一个或更多个随后节点测量结果进行比较。如果节点具有很少或没有探测响应延迟,那么所有随后节点例如应具有更多延迟和/或探测故障。在随后节点中的一个或更多个也可能具有有问题响应时间时,将特定节点的测量结果与更大数量的随后节点进行比较通常将增大检测具有显著探测响应延迟的节点的可能性,并且允许这些节点被忽略或加权,以便不对整体网络性能量度具有显著影响。

该方法可以滤除、加权清楚地具有一定程度的节点探测延迟且因此对于用于分析网络路径性能有问题的节点测量结果或向该节点测量结果应用置信等级。

在考虑结果是否真正高于另一个结果时,优选地还应考虑值的误差或置信度。例如,如果以90%置信等级(例如)确定节点的延迟超过随后节点的延迟,则即使测量结果样本的平均值实际上更高,也可以决定丢弃节点的测量结果。

时间分析

简单地比较两个节点之间的平均延迟或探测故障并丢弃在早先节点中太高的测量结果仍然可能留下仍然被节点探测响应延迟损害的测量结果。例如,节点a可能具有非常易变的探测响应延迟。在时间上取平均,一个节点处的延迟可能看起来低于随后节点处的延迟。然而,在单个时间点,可能可以看到节点a上的延迟实际上远远超过同时在随后节点上的延迟。因此,在这种情况下,仍然可以推断节点a处的测量结果对于网络性能分析是有问题的。

为了滤除更有问题的节点测量结果,可以在时空中划分相应节点处的测量结果。例如,测量结果可以被简单地分成峰值时间网络使用时段和非峰值网络使用时段。如果节点具有比随后节点更高的峰值或非峰值测量结果,那么可以认为该节点有问题。凭借足够结果,相应节点例如可以进一步细分成一天中的小时(例如,下午8-9点),或者简单地在沿着连续时间轴的桶(bucket)内(例如,2015年8月20日下午8-9点)。可以决定,对于被认为有效的节点的测量结果,应发现(对于预定置信度)时空的相应划分中的延迟和/或故障等级在所有随后节点处更高。

在所描述的本发明的实施方式至少部分使用软件控制可编程处理装置(诸如微处理器、数字信号处理器或其它处理装置)、数据处理设备或系统可实现的情况下,将理解,用于配置可编程装置、设备或系统配置以实现前面所描述的方法的计算机程序被设想为本发明的一个方面。例如,计算机程序可以被具体实现为源代码或者经受编译以用于在处理装置、设备或系统上实现或者例如可以被具体实现为对象代码。

适当地,计算机程序被存储在为机器或装置可读形式的载体介质上,例如存储在固态存储器、磁存储器(诸如盘或带)、光或磁光可读存储器(诸如光盘或数字通用光盘)等中,并且处理装置使用程序或其部分来配置它以便操作。计算机程序可以从以通信介质(诸如电子信号、射频载波或光载波)具体实现的远程源供应。这种载体介质也被设想为本发明的多个方面。

本领域技术人员将理解,虽然已经关于以上所描述的示例实施方式描述了本发明,但本发明不限于此,并且存在落在本发明范围内的许多可能的变型例和修改例。

本发明的范围包括任意新特征或这里所公开的特征的组合。申请人据此预示,可以在本申请或从其衍生的任意这种另外申请的审查期间对这种特征或特征的组合制定新权利要求。具体地,参照附图,来自从属权利要求的特征可以与独立权利要求的特征组合,并且来自各独立权利要求的特征可以以任意适当方式组合,并且不仅仅是采用权利要求中列举的特定组合。

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