一般来说,本发明涉及网络管理,且具体来说,涉及用于使用网络断层扫描(networktomography)监视网络性能的方法和装置。
背景技术:
性能评估和诊断是对于所有种类的网络的网络管理的重要方面。在过去几年中,网络从主要递送通信演变为递送包括内容(视频、游戏、实时流播)和/或数据的多元化服务。因此,网络在基础设施(已被增加的路由器和链路)以及它们支持的用户数量方面已经历了惊人增长。在这个背景下,故障诊断和性能监视对于网络服务提供商而言已变得极其重要。精确、及时地了解网络的内部状态(例如,各个链路上的延迟、拥塞级别)对于诸如路线选择、资源分配和故障诊断的各种网络操作都是必不可少的。
在可能基本上不受监管并且高度异构的大规模网络的情况下,单个网络运营商或提供商可能不能对影响该运营商或提供商的相关性能数据的网络的所有段具有控制。网络的某些段可因此不可观察,因为无法获得那些段内的网络元件的协作。
网络断层扫描已作为一种有前景的技术而出现,其使得在不要求内部网络组件的协作的情况下能够推断出不可观察的网络性能参数。仅仅在使用边缘节点进行的端到端(e2e)测量的基础上推断不可观察的参数。参考图6中示出的网络600,穿过网络定义一系列探测路径,所述探测路径从边缘节点602-614起始和终止并穿越内部节点616-622。可在边缘节点602-614的协作下进行对在探测路径上传送的数据分组的e2e测量。
网络断层扫描能够使用被动和主动测量二者进行工作。在第一种情形中,系统能够使用已经存在于网络中的连接来获得聚合路径-级别信息,而不会影响业务负载。但是,由此类连接所提供的覆盖无法跨越所有感兴趣的路径。如果可用连接不足以从路径测量来独特地标识所有链路度量,那么要求主动探测。在这种情况下,假设,边界节点的集合能够将探测分组发送到边缘节点的另一集合,以便测量端到端路径上的分组属性。但是,这种途径能够具有与自由选择通过其发送探测分组的路径的可能性有关的潜在限制。确实,从单个源点到特定目的地的连续探测分组能会因为能够将一定百分比的业务强加到备选链路上的路由改变或配置的负载平衡而遵循不同路径。因此,如果使用网络断层扫描来推断网络性能参数,那么结果可能并不可靠,因为沿不同路线行进的探测分组经历沿路线的不同延迟、不同抖动(jitter)和/或分组损失。因此,基于一对源和目的地节点的网络断层扫描发现将是不精确的。
技术实现要素:
本发明的目标是消除以上所讨论的挑战中的至少一些。
根据本发明的第一方面,提供有一种在网络断层扫描装置中执行的监视网络性能的方法。该方法包括获得指示网络的拓扑的信息以及计算用于监视网络的多个路径。此外,该方法包括:命令所计算的路径的源节点向所计算的路径的目的地节点发送探测分组,其中所述探测分组在所述网络中经历分段路由;以及命令所计算的路径的目的地节点基于由目的地节点接收的探测分组来实行网络性能测量。在接下来的步骤中,从目的地节点接收性能测量,并且该方法还包括使用网络断层扫描推断关于网络中的节点的性能的信息,其中推断过程包括使所计算的路径的性能测量相关联。
根据本发明的第二方面,提供有一种用于使用网络断层扫描监视网络性能的装置,该装置包括处理器和存储器。存储器包含由所述处理器可执行的指令。该装置操作以:获得指示网络的拓扑的信息;以及计算用于监视网络的多个路径。此外,该装置操作以:命令所计算的路径的源节点向所计算的路径的目的地节点发送探测分组,其中所述探测分组在所述网络中经历分段路由;以及命令所计算的路径的目的地节点基于由目的地节点接收的探测分组来实行网络性能测量。用于监视网络性能的装置还操作以:从目的地节点接收性能测量;以及使用网络断层扫描推断关于网络中的节点的性能的信息,其中推断过程包括使所计算的路径的性能测量相关联。
根据本发明的第三方面,提供有一种用于使用网络断层扫描监视网络性能的装置。该装置包括路径选择模块、监视模块和网络断层扫描模块。路径选择模块配置成获得指示网络的拓扑的信息并计算用于监视网络的多个路径。监视模块配置成命令所计算的路径的源节点向所计算的路径的目的地节点发送探测分组,其中所述探测分组在所述网络中经历分段路由。监视模块还配置成命令所计算的路径的目的地节点基于由目的地节点接收的探测分组来实行网络性能测量。网络断层扫描模块配置成从目的地节点接收性能测量并使用网络断层扫描推断关于网络中的节点的性能的信息,其中推断过程包括使所计算的路径的性能测量相关联。
从属权利要求中要求保护了本发明的进一步特征。
本发明提供以下优势:
·它允许建立网络的全覆盖以便进行不知道源和目的地节点之间的网络的技术的性能监视;
·提供监视动态网络的有效方法,该方法不需要(或降低对其的需要)使用拓扑发现功能性来发现网络路径改变;
·允许用于搜集性能测量的简单、有效且精确的方法;
·改善对由试图为各种类型的网络提供集成化和集中化管理的网络管理系统处置的分段路由网络的监视。
附图说明
根据以下详细描述并结合绘图,将更全面地理解和领会本发明,图中:
图1是示出在本发明的一个实施例中使用网络断层扫描监视网络性能的方法的图;
图2a和图2b是示出在本发明的一个实施例中命令网络节点的步骤的图;
图3是示出在本发明的一个实施例中用于使用网络断层扫描监视网络性能的装置的图;
图4是示出用于使用网络断层扫描监视网络性能的装置的实现的图;
图5是示出在本发明的一备选实施例中使用网络断层扫描监视网络性能的装置的图;以及
图6是网络的示意性表示。
具体实施方式
在以下描述中,出于解释而非限制的目的,阐述了诸如特定架构、接口、技术等的具体细节,以便提供本发明的充分理解。但是,对本领域中那些技术人员将显而易见的是,可在偏离这些具体细节的其它实施例中实践本发明。在其它实例中,省略了对公知装置、电路和方法的详细描述,以免用不必要的细节使本发明的描述难以理解。
整篇说明书中对于“一个实施例”或“一实施例”的引用意味的是,联系一实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,整篇说明书的各个地方中出现短语“在一个实施例中”或“在一实施例中”并不一定都指相同的实施例。此外,在一个或多个实施例中,特定特征、结构或特性可以任何合适的方式组合。
本发明者意识到,可通过使用称为分段路由(sr)的技术来提高网络断层扫描的精度,并且sr可使得在该领域中使用网络断层扫描变得更加容易。分段路由是一种如segmentroutingarchitecture,ietfdraft:draft-filsfils-spring-segment-routing-04中所描述的用于管理ip和ip/mpls域中的连接的技术。sr架构利用每流源路由范例:对于每个流,入口节点在分组中插入称为段的关于sr域的其它节点必须如何对待该分组的指令列表。用称为段标识符(sid)的32位字段来表示段。sr的主要好处是,以更简单且更具缩放性的方式来路由和管理分组域中的路径。sr中的路由和管理的简单性以及可缩放性由于以下原因而是可能的:
·只有入口节点知道流的状态,而其它传输节点和出口节点只根据它的报头处理分组。使用类似rsvp的其它技术,路径中涉及的每个节点保持该状态。这种分段路由特性对于网络断层扫描是有优势的,因为它允许对分组将遵循的路线进行控制;
·不再需要信令协议(rsvp、ldp)。只使用路由协议(类似ospf、is-is等)来在sr域中分发sid信息。
·分段路由导致数据库(例如,信令数据库)减少多达两个数量级,并简化了路由器架构。
·另外,sr允许通过使得该解决方案适合于sdn方案的灵活且更快速的方式来执行现有ip和ip/mpls规程(类似快速重路由、ecmp、te路径)。
而且,本发明者认识到,sr包括允许选择预定路径用于在源节点和目的地节点之间传送业务而不受自动路由改变或负载平衡的影响的本地机制。这与不采用sr、而是采用rsvp的网络形成鲜明对比,在后者中不存在对建立的路径的控制。
参考图1,现在将描述使用网络断层扫描监视网络性能的方法的实施例。在一个优选实施例中,在包括多个节点的网络中实现该方法,其中的一些节点是边缘节点,即,形成到网络或网络域的入口的节点。该方法包括获得102指示网络的拓扑的信息。取决于实施例,可自运营商构建网络的一开始就知道拓扑,或者可使用拓扑发现算法(例如在网络中广播分组并在所有接收点检查它们的延迟以便试图推断网络中的节点和链路的存在的统计方法)来收集拓扑信息。一旦拓扑信息可用,该方法便演算104用于监视网络的多个路径。演算的路径连接源节点和目的地节点,在优选实施例中,这些节点是网络的边缘(或边界)节点。在接下来的步骤中,命令110计算的路径的源节点向计算的路径的目的地节点发送探测分组,其中所述探测分组在所述网络中经历分段路由。进而命令114目的地节点基于它们从源节点接收的探测分组实行网络性能测量。在接下来的步骤中,实现网络断层扫描的装置从目的地节点接收116由所述目的地节点实行的性能测量的结果,然后使用网络断层扫描来推断118关于网络中的节点的性能的信息。推断过程包括使接收的计算的路径的性能测量相关联。网络断层扫描的各种实现是已知的,且这里将不做讨论。在本发明的实施例中,一个重要的优势是,通过使用经历分段路由的分组用于网络断层扫描,大大提高了监视网络性能的精度。知道网络的物理结构所需的拓扑信息可从一开始就已知,或者能够通过拓扑发现来提供该拓扑信息。但是,一旦拓扑已知,并且如果它在物理上不发生改变,那么就无需进行发现。分段路由对路径赋予了完全控制,这在不使用sr时是不可能的。在后一情形中,每次网络优化它的逻辑路径时,就必需执行拓扑发现,以便于发现使用中的路径。
从源发送到目的地并用于网络断层扫描的分组被称作为探测分组,且所述探测分组可以用不同的方式实现。在一个实施例中,探测分组是在网络断层扫描(nt)装置中或在源节点生成的并被递送202到源节点以便朝向目的地节点向前传送的虚构分组。在使用虚构分组作为探测分组的情况下,命令204或2041源节点将这些探测分组朝向目的地节点进行传送。图2a和2b中示出该实施例的两个变型。在一优选实施例中,已经以正确步调(或频率)从nt装置发送出虚构分组,并且nt装置命令源节点将这些探测分组发送到目的地节点,但没有命令源节点控制它们的频率(图2a)。在一备选实施例中,位于源节点内部的业务整形器可设置成基于来自nt装置的输入控制探测分组步调(或发送探测分组的频率)(图2b)。在还有的另一备选方案中,业务整形器可自主地设置传送探测分组的步调,并向nt装置报告指示步调的值以便稍后分析(图中没有示出)。这些实施例使得测量和它们的分析相对容易,因为在目的地节点被检测的业务的任何延迟、抖动、分组损失和其它特性是分组沿计算的路径穿越网络的结果。
在一备选实施例中,可使用常规业务的分组作为探测分组。但是,由于这些分组在它们到达源节点以便进一步朝向目的地节点向前传送之前已经行进穿过网络,所以它们已经携带以抖动、路径延迟和/或分组损失的形式的一定“历史”。为了将这些特性包括在内,该方法包括命令106源节点在将常规业务分组朝向目的地节点进行转发之前记录所述常规业务分组的特性。例如,如果在源节点的抖动已知,那么通过测量在目的地节点的总抖动来演算沿源节点和目的地节点之间的路径已增加了多少抖动是相对容易的。这同样适用于例如ber(位错误率)。如果实现了这个实施例,那么除了从目的地节点接收的测量之外,网络断层扫描装置还从源节点接收112记录的特性。
在网络断层扫描中,沿路径的内部节点不知道被监视。知道与该方法有关的事情的节点只是源节点和目的地节点。通常,在监视网络的性能时,我们感兴趣的是理解网络中哪里正出现拥塞或者故障位于哪里(导致分组损失或ber增加)。因此,操作和维护(oam)操作通常涉及ber、分组损失和拥塞测量。所述前两者还用于标识网络(节点和/或链路)中的损坏。
为了确定类似ber、拥塞和抖动的参数,测量探测分组在目的地节点的到达间隔时间或检查到达的探测分组的内容(例如,对于ber)是足够的。但是,类似路径延迟或分组损失的其它测量要求将一定的oam控制信息插入到分组的分段路由信息中以便沿计算的路径传送到目的地节点。优选地,将oam控制信息插入到探测分组的报头中。为了测量路径延迟,优选将时间戳信息添加到探测分组以便允许确定该参数。例如,在路径延迟估计的情况下,在源节点引入时间戳(由源节点本身在来自网络断层扫描装置的命令下进行或由网络断层扫描装置进行)。一旦在目的地节点接收到探测分组,便从在目的地节点的到达时间减去时间戳值,以检测沿路径的延迟。
在另一实施例中,为了测量分组损失,插入到分段路由信息中的oam控制信息可包括分组序列号。对于从源发送的每个探测分组,序列号的值递增一。目的地能够使用该值来检测探测分组是否沿路径损失,并估计损失比。
优选地,只在目的地节点使用插入在探测分组中的oam信息,并且不知道监视的内部节点不对它进行处理。除了提供必需的输入数据之外,oam控制信息还指示将在目的地节点执行的测量。
在目的地节点的测量指的是作为整体的完整路径。然后,网络断层扫描推断每个节点和链路的贡献,从而以此方式标识关键节点和链路。网络断层扫描对来自所述多个路径的测量信息执行交叉关联,以便推断各个节点的性能。在一优选实施例中,网络断层扫描还推断连接网络的节点的链路的性能。
如较早前所讨论的,sr包括允许在不受自动路由改变或负载平衡的影响下选择预定路径的本地机制。在操作分段路由的网络中存在节点或链路故障(涉及用于监视的路径的元件)的情况下,无需修改探测路径,因为该探测路径被用来检测此类问题。因此,如果链路中断,那么目的地节点不从对应路径(即,具有故障链路的路径)接收分组。此时,网络断层扫描将此类信息与来自其它探测路径的信息进行整合,并推断中断链路的位置。在设立探测路径之前链路就损坏的情况下,路由协议(类似ospf、is-is)无论如何能够在sr域中分发分段标识符(sid)信息,因此该机制仍正确工作。
在还有的另一备选实施例中,可通过网络断层扫描装置直接生成具有或不具有oam信息的探测分组,并且相同的网络断层扫描装置还可对通过目的地节点而路由给它的接收的探测分组流来执行测量。在这种情况下,目的地节点不执行测量,而是将探测分组路由给网络断层扫描装置。在这个备选实施例中,用以下步骤取代命令114目的地节点实行网络性能测量和接收116性能测量的步骤:
-命令目的地节点将接收的探测分组转发给网络断层扫描装置;
-从目的地节点接收探测分组;以及
-基于从目的地节点接收的探测分组实行网络性能测量。
参考图3、4和6,现在将描述用于使用网络断层扫描监视网络600的性能的装置300的一实施例。网络600包括多个边缘节点602-614和多个内部节点616-622,所述节点通过链路连接,并且连接两个端节点的一系列链路形成路径。在某个情形中,两个端节点之间的路径可只包括一个链路(例如,连接节点602和604的路径624)。在图6中,人们能够看到多个e2e路径,例如602-616-622-608、614-622-610、604-618-620-622-610、610-622-620-606。正如在节点610的示例中所能够看到的,同一个节点可以是一个路径的源节点,也可以是另一个路径的目的地节点。
在图3中示出的一优选实施例中,用于使用网络断层扫描监视网络性能的装置300包括处理器302和存储器304。存储器304包含由所述处理器302可执行的指令,当由处理器执行指令时,装置300根据较早前联系图1和图2描述的方法的实施例进行操作。简言之,所述装置300操作以获得指示网络的拓扑的信息并计算用于监视网络的多个路径。装置300在计算监视路径中使用拓扑信息。在一优选实施例中,计算的监视路径穿越受监视网络或域中的所有节点和连接节点的所有链路。装置300配置成命令计算的路径的源节点向计算的路径的目的地节点发送探测分组。取决于实施例,该发送命令可采取不同的形式。
在一个实施例中,该命令可指的是无论如何都会传送到目的地节点的常规业务的分组。在该实施例中,使用常规业务的分组作为探测分组。常规业务的这些分组当它们在源节点被接收以便朝向目的地节点进行向前传送之前行进穿过其它网络域时可能已经具有一定的抖动、路径延迟、分组损失和/或错误。在该实施例中,还命令源节点记录常规业务分组的特性。通过这种方式,抖动、路径延迟、分组损失和/或错误在受监视网络或网络域的入口就被已知。
在一备选实施例中,该命令可指的是在网络断层扫描装置中或在源节点生成的并被递送到源节点以便朝向目的地节点进行向前传送的探测分组。当在网络断层扫描装置300中生成探测分组时,该命令本身可以是隐式的。在该实施例中,如果源节点从装置300接收探测分组,那么它等同于如探测分组的报头中所定义的向源节点发送该分组的命令。备选的是,将探测分组发送到目的地节点的命令可以是以从装置300到源节点602的消息形式的显式命令。当在源节点生成探测分组时以及当在装置300中生成它们并将它们递送到源节点602时,可使用该显式命令。在一个实施例中,探测分组是虚构分组,即,它们不携带任何信息。在使用在源节点或在装置300中生成的探测分组的实施例中,来自装置300的命令包括按照定义的频率向目的地节点传送这些探测分组的命令,这使得测量和它们的分析相对容易,因为在目的地节点检测到的业务的任何延迟、抖动、分组损失和其它特性是分组沿计算的路径穿越网络的结果。
从源节点602向目的地节点608发送的探测分组在网络600中经历分段路由。尽管这里的描述只指的是一对源-目的地节点,但是在实际实施例中,装置300命令多个源节点向相应的目的地节点发送探测分组。
此外,装置300配置成命令计算的路径的目的地节点(例如,节点608)基于由目的地节点接收的探测分组来实行网络性能测量。然后,装置300经由网络接口从目的地节点接收性能测量。网络接口可以是众所周知的网络接口之一,例如以太网卡。在备选实施例中,取决于实现的特定需要,可使用不同类型的接口。在一优选实施例中,经由接口将测量递送到处理器302,其中根据已知的网络断层扫描算法之一进行操作的处理功能推断关于网络中的节点的性能的信息。推断过程包括使接收的计算的路径的性能测量相关联。在一备选实施例中,在装置300执行测量。在这种情况下,目的地节点不直接执行测量,而是将接收的探测分组转发给装置300,装置300对所有流执行测量。但是,在该备选实施例中,在装置300的测量能够因为从目的地节点行进到装置300而降低精度。类似地,与其中由源节点来插入时间戳的实施例相比,在装置300将时间戳插入到探测分组中时的情形中还会发生少量的精度损失。
在操作中,如图4中示出的实施例中所示,装置300可连接到多个边缘节点602、608、610(监视节点)。在一优选实施例中,装置300可向监视节点602、608、610发送探测分组和/或配置数据。如果特定实施例使用常规业务的分组作为探测分组,那么不发送探测分组。配置数据是发送到作为源节点或目的地节点操作的监视节点的各种命令的部分。配置数据指的是提供给源节点的要被遵循的路径以及用来提取测量的目的地节点的配置。源节点接收该路径,并使用它来创建分组报头。分组报头包括关于遵循的路线的信息。告知内部节点在报头中使用的sid以便通过使用路由协议(类似ospf、is-is)(如同其在分段路由中通常被使用地那样)进行路由。
如较早前在描述该方法的实施例以便确定类似ber、拥塞和抖动的参数中时所讨论的,测量在目的地节点分组的到达间隔时间或检查到达的分组的内容(例如,对于ber)是足够的。但是,为了实行类似路径延迟或分组损失的测量,在一个实施例中,装置300配置成命令源节点将一定的oam控制信息插入到分组的分段路由信息中以便沿计算的路径传送到目的地节点。在该实施例中,源节点将该oam控制信息插入到探测分组的报头,而与分组的起源无关(即,插入到常规业务的分组中或插入到从装置300接收的分组中)。
在一备选实施例中,如果源节点从装置300接收探测分组,那么可由装置300将oam控制信息插入到报头中。
为了测量路径延迟,优选在探测分组中添加时间戳信息。一旦在目的地节点接收探测分组,便从在目的地节点的到达时间减去时间戳值,以便检测沿路径的延迟。
在另一实施例中,为了测量分组损失,插入到分段路由信息中的oam控制信息包括分组序列号。对于从源发送的每个探测分组,序列号的值递增一。然后,能够使用该值来检测探测分组是否沿路径损失并估计损失比。
在装置300还有的另一备选实施例中,可由网络断层扫描装置300直接生成具有或不具有oam信息的探测分组,并且相同的网络断层扫描装置300还可对由目的地节点而路由给它的接收的探测分组流来执行测量。在这种情况下,目的地节点不执行测量,网络断层扫描装置300操作以从目的地节点接收探测分组。在该备选实施例中,步骤装置300不命令目的地节点实行网络性能测量,并且不接收性能测量。反而,装置300操作以:
-命令目的地节点将接收的探测分组转发给网络断层扫描装置300;
-从目的地节点接收探测分组;以及
-基于从目的地节点接收的探测分组实行网络性能测量。
参考图4和5,现在将描述用于使用网络断层扫描监视网络600的性能的装置500的实施例。在一优选实施例中,装置500包括路径选择模块502、监视模块504和网络断层扫描模块506。在一个实施例中,这些模块可被意识到作为在运行软件从而实现如在本文档中的各种实施例中描述的方法的方法的处理器中操作的进程和/或功能。在一备选实施例中,这些模块可作为离散模块或离散和软件模块的组合而实现。路径选择模块502配置成获得指示网络的拓扑的信息并计算用于监视网络的多个路径。在一优选实施例中,可从构建网络的一开始时就知道拓扑信息,并将它作为配置数据输入到装置500中。备选的是,可使用已知的拓扑发现算法之一收集该信息。监视模块504配置成命令计算的路径的源节点朝向计算的路径的目的地节点发送探测分组,其中所述探测分组在所述网络中经历分段路由。监视模块504还配置成命令计算的路径的目的地节点基于它们接收的探测分组来实行网络性能测量。网络断层扫描模块506配置成从目的地节点接收性能测量并使用网络断层扫描推断关于网络中的节点的性能的信息。推断过程包括使接收的计算的路径的性能测量相关联。
优选地,监视模块504还配置成命令源节点将oam控制信息插入到探测分组的分段路由信息中以便沿计算的路径传送到目的地节点。取决于实施例,插入到sr探测分组的报头中的oam控制信息包括时间戳和/或分组序列号。
同样优选地,监视模块504配置成给源节点提供探测分组以便以定义的频率传送到目的地节点。
在还有的另一优选实施例中,监视模块504配置成命令源节点在将所述常规业务分组作为探测分组朝向目的地节点进行转发之前记录常规业务分组的特性(例如,抖动和/或位错误率)。为了执行网络断层扫描分析,网络断层扫描模块506配置成从源节点接收所记录的特性。
装置500经由网络接口(未示出)与监视节点(源节点和目的地节点)通信。网络接口可以是众所周知的网络接口之一,例如以太网卡。在备选实施例中,取决于实现的特定需要,可使用不同类型的接口。
如较早前所解释的,网络断层扫描是一种允许根据只在网络的边界执行的测量推断网络的内部元件的状态而无需通过内部节点的协作的技术。常见节点不支持所有通信和oam协议(例如,twamp、owamp…),从而妨碍对网络进行监视的oam功能。所述节点也能属于不能够为了oam目的而一起交互操作的不同域(类似ip/mpls和mpls-tp),因为它们不支持相同的功能性和协议(ip/mpls具有差的oam功能性)。其中网络断层扫描尤其有效的另一示例是多供应商网络,其中服务提供商不能获悉不同网络段的特性,因为运营商将它们保密。在所有这些情形中,网络断层扫描是避开这个问题的一种方式,因为它对于网络是透明的。当网络断层扫描与监视路径(基于经历分段路由的探测分组)组合时,大大提高了网络断层扫描的发现精度。
使用的缩略词: