CN110912727B - 用于非侵入式网络性能监测的系统和方法 - Google Patents

用于非侵入式网络性能监测的系统和方法 Download PDF

Info

Publication number
CN110912727B
CN110912727B CN201910860801.8A CN201910860801A CN110912727B CN 110912727 B CN110912727 B CN 110912727B CN 201910860801 A CN201910860801 A CN 201910860801A CN 110912727 B CN110912727 B CN 110912727B
Authority
CN
China
Prior art keywords
packet
copy
network
session
network performance
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.)
Active
Application number
CN201910860801.8A
Other languages
English (en)
Other versions
CN110912727A (zh
Inventor
D·A·舒卡勒弗
N·S·帕特尔
A·巴班
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.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
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 Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN110912727A publication Critical patent/CN110912727A/zh
Application granted granted Critical
Publication of CN110912727B publication Critical patent/CN110912727B/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/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5006Creating or negotiating SLA contracts, guarantees or penalties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及用于非侵入式网络性能监测的系统和方法。一种第一网络设备可以接收分组作为互联网协议会话的业务流的一部分,基于规则选择分组,并且向所选择的分组的分组副本添加能够用于生成与IP会话相关联的性能指示符的路由信息。第一网络设备可以修改分组副本的一部分以包括将引起分组副本无法到达与IP会话相关联的目的地设备的值,并且将分组副本提供给其他网络设备以引起第二网络设备执行验证过程以确定无法基于这些值验证分组副本,使用分组副本或已经修改的一组分组副本生成性能指示符,并且将性能指示符提供给特定设备。

Description

用于非侵入式网络性能监测的系统和方法
背景技术
分组交换是一种将通过数字网络传输的数据分组为由报头和有效载荷组成的分组的方法。报头中的数据可以由网络设备用来将分组引导到可以将有效载荷用作服务的一部分的目的地。
发明内容
根据一些可能的实现,一种第一网络设备可以包括一个或多个存储器和一个或多个处理器,一个或多个处理器用于:基于规则选择作为业务流的一部分的分组。一个或多个处理器可以生成已经选择的分组的分组副本。一个或多个处理器可以向分组副本添加能够用于生成与IP会话相关联的网络性能指示符的路由信息。一个或多个处理器可以修改分组副本的一部分以包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值。一个或多个处理器可以将分组副本提供给一个或多个其他网络设备以引起一个或多个其他网络设备中的第二网络设备:执行验证过程以确定无法基于分组副本中包括的一个或多个值验证分组副本,使用分组副本或已经修改的一组分组副本生成网络性能指示符或者引起另一设备使用分组副本或已经修改的一组分组副本生成网络性能指示符,并且将网络性能指示符提供给特定设备,或者引起另一设备将网络性能指示符提供给特定设备。
根据一些可能的实现,一种方法可以包括由第一网络设备接收分组作为互联网协议(IP)会话的业务流的一部分。该方法可以包括由第一网络设备选择作为业务流的一部分的分组。该方法可以包括由第一网络设备生成已经选择的分组的分组副本。该方法可以包括由第一网络设备向分组副本添加能够用于生成与IP会话相关联的网络性能指示符的路由信息。该方法可以包括由第一网络设备修改分组副本以包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值。该方法可以包括由第一网络设备作为IP会话的业务流的一部分将分组副本提供给一个或多个其他网络设备,以引起一个或多个其他网络设备中的第二网络设备:基于分组副本包括已经修改的一个或多个值从IP会话的业务流中移除分组副本,并且执行引起生成网络性能指示符并且将其提供给另一设备的一个或多个动作。
根据一些可能的实现,一种非暂态计算机可读介质可以存储指令,这些指令包括在由网络设备的一个或多个处理器执行时引起一个或多个处理器进行以下操作的一个或多个指令:从另一网络设备接收分组副本作为互联网协议(IP)会话的业务流的一部分。分组副本可以包括能够用于生成与IP会话相关联的网络性能指示符的路由信息。分组副本可能已经被修改为包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值。一个或多个指令可以引起一个或多个处理器通过处理分组副本来执行验证过程。分组副本可能无法基于分组副本中包括的一个或多个值而通过验证过程。一个或多个指令可以引起一个或多个处理器基于分组副本无法通过验证过程来标识分组副本中包括的路由信息。一个或多个指令可以引起一个或多个处理器使用分组副本或已经随着时间被修改和接收的一组分组副本来生成网络性能指示符。一个或多个指令可以引起一个或多个处理器将网络性能指示符提供给特定设备。
根据一些可能的实现,一种第一网络设备,包括:一个或多个存储器;以及一个或多个处理器,用于:接收分组作为互联网协议(IP)会话的业务流的一部分;基于规则选择作为业务流的一部分的分组;生成已经选择的分组的分组副本;向分组副本添加能够用于生成与IP会话相关联的网络性能指示符的路由信息;修改分组副本的一部分以包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值;以及将分组副本提供给一个或多个其他网络设备以引起一个或多个其他网络设备中的第二网络设备:执行验证过程以确定分组副本无法基于分组副本中包括的一个或多个值被验证,使用分组副本或已经修改的一组分组副本生成网络性能指示符,或者引起另一设备使用分组副本或已经修改的一组分组副本生成网络性能指示符,以及将网络性能指示符提供给特定设备,或者引起另一设备将网络性能指示符提供给特定设备。
根据一些可能的实现,当修改分组副本的一部分时,第一网络设备的转发平面不被修改。
根据一些可能的实现,当将分组副本提供给一个或多个其他网络设备时,一个或多个处理器用于:将分组副本提供给一个或多个其他网络设备作为IP会话的业务流的一部分。
根据一些可能的实现,分组副本或一组分组副本具有与作为IP会话的业务流的一部分的分组的IP地址信息相匹配的IP地址信息。
根据一些可能的实现,规则是:第一规则,指示在阈值时间段之后选择特定分组,第二规则,指示随机选择特定分组,第三规则,指示基于包括特定IP地址或标识符的特定分组来选择特定分组,或者第四规则,指示基于特定分组的路由或转发路径来选择特定分组。
根据一些可能的实现,业务流由标签交换网络支持;以及路由信息包括分段路由操作、管理和维护(OAM)信息。
根据一些可能的实现,当修改分组副本的一部分时,一个或多个处理器用于:将IP报头校验和值设置为第一不正确值,将分组长度值设置为第二不正确值,或者将IP报头生存时间(TTL)值设置为第三不正确值。
根据一些可能的实现,一种方法,包括:由第一网络设备接收分组作为互联网协议(IP)会话的业务流的一部分;由第一网络设备选择作为业务流的一部分的分组;由第一网络设备生成已经选择的分组的分组副本;由第一网络设备向分组副本添加能够用于生成与IP会话相关联的网络性能指示符的路由信息;由第一网络设备修改分组副本以包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值;以及由第一网络设备作为IP会话的业务流的一部分将分组副本提供给一个或多个其他网络设备,以引起一个或多个其他网络设备中的第二网络设备基于分组副本包括已经修改的一个或多个值从IP会话的业务流中移除分组副本,并且执行引起网络性能指示符被生成并且被提供给另一设备的一个或多个动作。
根据一些可能的实现,当修改分组副本的一部分时,第一网络设备的转发平面不被修改。
根据一些可能的实现,网络性能指示符是基于分组副本或一组分组副本而被生成的;以及分组副本或一组分组副本具有与作为IP会话的业务流的一部分的分组的IP地址信息相匹配的IP地址信息。
根据一些可能的实现,选择作为业务流的一部分的分组包括:根据以下中的至少一项选择分组:第一规则,指示在阈值时间段之后选择特定分组,第二规则,指示随机选择特定分组,第三规则,指示基于包括特定IP地址或标识符的特定分组来选择特定分组,或者第四规则,指示基于特定分组的路由或转发路径来选择特定分组。
根据一些可能的实现,路由信息包括以下中的至少一项:IP会话的会话信息,或者分组副本或一组分组副本的分组副本信息。
根据一些可能的实现,添加路由信息包括:将路由信息添加到分组副本作为分组副本的附加报头或者作为分组副本的有效载荷的一部分。
根据一些可能的实现,修改分组副本包括:将IP报头校验和值设置为第一不正确值,将分组长度值设置为第二不正确值,或者将IP报头生存时间(TTL)值设置为第三不正确值。
根据一些可能的实现,一种存储指令的非暂态计算机可读介质,指令包括:在由网络设备的一个或多个处理器执行时引起一个或多个处理器进行以下操作的一个或多个指令:从另一网络设备接收分组副本作为互联网协议(IP)会话的业务流的一部分,分组副本包括能够用于生成与IP会话相关联的网络性能指示符的路由信息,以及分组副本已经被修改为包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值;通过处理分组副本执行验证过程,分组副本将无法基于分组副本中包括的一个或多个值而通过验证过程;基于分组副本无法通过验证过程,标识分组副本中包括的路由信息;使用分组副本或已经随着时间被修改和接收的一组分组副本生成网络性能指示符;以及将网络性能指示符提供给特定设备。
根据一些可能的实现,当分组副本的一个或多个值被修改时,用于路由业务流的转发平面不被修改。
根据一些可能的实现,分组副本或一组分组副本具有与作为IP会话的业务流的一部分的分组的IP地址信息相匹配的IP地址信息。
根据一些可能的实现,IP会话的业务流服从服务水平协议(SLA),SLA要求网络性能指示符符合特定标准。
根据一些可能的实现,引起一个或多个处理器执行验证过程的一个或多个指令引起一个或多个处理器:处理分组副本以确定分组副本的报头包括引起分组副本无法通过验证过程的第一值,第一值是:IP报头校验和值,分组长度值,或者IP报头生存时间(TTL)值。
根据一些可能的实现,网络性能指示符包括以下中的至少一项:第一网络性能指示符,用于验证分组被接收的顺序,第二网络性能指示符,用于标识分组丢失,或者第三网络性能指示符,用于标识分组延迟。
附图说明
图1A-1C是本文中描述的示例实现的图。
图2是可以实现本文中描述的系统和/或方法的示例环境的图。
图3是图2的一个或多个设备的示例组件的图。
图4-6是用于非侵入式监测用于支持互联网协议(IP)会话的业务流的一组网络设备的网络性能的示例过程的流程图。
具体实施方式
以下对示例实现的详细描述参考附图。不同附图中的相同附图标记可以标识相同或相似的元素。
分组交换网络可以包括网络设备(例如,交换机、路由器等),网络设备可以发送和/或接收分组作为服务的会话(例如,互联网协议(IP)会话)的业务流的一部分。在某些情况下,网络拥塞可能导致网络设备丢弃分组或延迟分组的分组传输。另外,由于与网络设备相关联的硬件故障和/或软件故障,通过分组交换网络的路径可能改变。
当通过分组交换网络提供服务时,可以在网络服务提供商与客户之间商定关键性能度量(本文中称为网络性能指示符)。例如,网络服务提供商与客户之间的服务水平协议(SLA)可以包括要监测和/或满足某些网络性能指示符的规定(例如,网络设备可能需要遵守阈值性能水平以符合SLA的条款)。
在一些情况下,为了测试网络性能指示符,网络服务提供商可以将网络设备配置为在整个分组交换网络中生成和传输合成探测分组,并且可以处理合成探测分组以确定网络性能指示符。
然而,合成探测分组可能是用于测试网络性能指示符的无效解决方案,因为合成探测分组可能显示出与IP会话的实际业务流的分组不同的转发行为。例如,合成探测分组可能具有与IP会话的实际业务流的分组不同的IP地址(例如,不同的源IP地址、不同的目的地IP地址等),可能是与IP会话的实际业务流的分组不同的分组大小(例如,以字节为单位),可能采用与IP会话的实际业务流的分组不同的通过分组交换网络的路径,等等。其他解决方案可以依赖于用于路由IP会话的实际业务流的一个或多个网络设备的转发平面的改变(例如,通过向作为IP会话的实际业务流的一部分的分组添加附加报头)。这些解决方案可能是破坏性的并且难以在现有的分组交换网络中实现。
本文中描述的一些实现提供了一种第一网络设备,第一网络设备用于生成作为IP会话的业务流的一部分的分组的分组副本,并且智能地修改分组副本使得第二网络设备将能够使用分组副本生成与IP会话相关联的网络性能指示符。例如,第一网络设备可以接收分组作为IP会话的业务流的一部分,并且可以选择用于进一步处理的分组。所选择的分组可以是被选择用于进一步处理的一组分组的一部分。在这种情况下,第一网络设备可以生成分组的分组副本,并且可以向分组副本添加可以用于生成网络性能指示符的路由信息(例如,分段路由操作、管理和维护(OAM)信息)。
另外,第一网络设备可以修改分组副本以包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值(例如,通过修改分组副本的报头中的值,使得第二网络设备不能作为修改的结果来验证分组副本)。此外,第一网络设备可以将分组副本提供给一个或多个其他网络设备(例如,下游网络设备)作为IP会话的业务流的一部分。
此外,可以将分组副本提供给第二网络设备,第二网络设备可以对分组副本执行验证过程并且确定分组副本不能被验证。基于第一网络设备对分组副本所做的修改,分组副本可能无法通过验证过程。这可能导致第二网络设备从IP会话的业务流中移除分组副本。另外,第二网络设备可以使用分组副本(或者随着时间接收的一组分组副本)来生成网络性能指示符,并且可以将网络性能指示符提供给网络性能管理平台,该网络性能管理平台可以负责提供遵守SLA的各种条款的证据。
以这种方式,第一网络设备和/或第二网络设备有效且高效地协调与IP会话相关联的网络性能的准确监测和报告。例如,通过创建包括与作为IP会话的业务流的一部分的分组相同的IP地址信息的分组副本,第一网络设备通过使得分组副本能够表现出与作为IP会话的业务流的一部分的分组相同的转发行为来提高网络性能指示符的准确性。另外,与需要修改一个或多个网络设备的转发平面的解决方案相比,使用分组副本来确定网络性能指示符节省了资源(例如,处理资源、网络资源等)。例如,使用分组副本来确定网络性能指示符可以节省可能花费在修改转发平面配置上的资源、花费在处理添加到将成为IP会话的业务流的一部分的每个分组的新报头上的资源等。
图1A-1C是本文中描述的示例实现100的图。例如,示例实现100可以包括用于互联网协议(IP)会话的第一会话端点(示出为会话端点A)、用于IP会话的第二会话端点(示出为会话端点B)、作为要用于路由IP会话的业务流的网络的一部分并且生成和/或报告与IP会话相关联的网络性能指示符的一组网络设备、以及可以接收网络性能指示符的一个或多个设备(示出为网络性能管理平台和用户设备)。该组网络设备可以包括第一边缘设备(例如,示出为边缘设备(ED)1)、核心网络设备(例如,示出为核心网络设备(CND)1至CND N)、以及第二边缘设备(例如,示出为ED 2)。虽然未示出,但是在其他情况下,客户设备可以充当网络的会话端点与边缘设备之间的中间设备,并且可以帮助路由IP会话的业务流。
如图1A和附图标记105所示,作为IP会话的业务流的一部分的分组可以经由网络在第一会话端点与第二会话端点之间路由。作为IP会话的一部分的分组可以是IP版本4(IPv4)分组、IP版本6(IPv6)分组等。
网络可以是分组交换网络,并且作为网络的一部分的一组网络设备可以使用隧道技术来路由业务流,诸如通用路由封装(GRE)技术、多协议标签交换(MPLS)技术(例如,使用用户数据报协议(UDP)的MPLS技术、使用GRE的MPLS技术等)、虚拟可扩展局域网(VXLAN)技术(例如,使用通用协议扩展(GPE))、通用网络虚拟化封装(GENEVE)技术等。另外,尽管可以说本文中描述的一组网络设备是路由第3层(L3)业务,但是应当理解,这是作为示例提供的。实际上,该组网络设备可以用于路由第2层(L2)业务或其他类型的业务。
如附图标记110所示,第一边缘设备可以选择作为业务流的一部分的分组以供进一步处理。例如,第一边缘设备可以选择要用于生成分组副本的分组,分组副本然后可以由一个或多个其他设备用来确定与IP会话相关联的网络性能指示符,如本文中进一步所述。另外,虽然图1A示出了对单个分组的选择,但是第一边缘设备可以随着时间周期性地选择分组,使得分组的样本被收集并且能够被用于生成一组分组副本。
在一些实现中,第一边缘设备可以基于规则来选择分组。该规则可以包括第一规则、第二规则、第三规则、第四规则等,第一规则指示在阈值时间段之后周期性地选择分组(例如,通过选择在阈值时间段过去之后接收的第一分组),第二规则指示随机选择分组(例如,通过随机选择直到要选择下一传入分组的时间,通过随机选择指示要在选择分组之前要接收的传入分组的数目,等等),第三规则指示选择包括特定IP地址和/或标识符(例如,端口标识符、协议标识符等)的分组,第四规则指示基于分组的路由或转发路径来选择分组。
为了提供一些示例,假定随着时间(例如,几秒、几分钟、几小时等),将一千个分组发送到第一边缘设备作为IP会话的业务流的一部分。在该示例中,如果第一边缘设备配置有第一规则,则第一边缘设备可以在阈值时间段过去之后(例如,毫秒、秒等)选择分组。作为另一示例,假定第一边缘设备配置有指示随机选择分组的第二规则。在该示例中,第一边缘设备可以使用随机数生成器来生成随机数(例如,五),该随机数可以指示所选择的下一分组(例如,第一边缘设备可以等待五秒并且选择所接收的下一分组,第一边缘设备可以选择第五传入分组,等等)。以这种方式,与选择和生成作为IP会话的业务流的一部分的每个分组的分组副本相比,第一边缘设备节省了处理资源和/或网络资源。
如附图标记115所示,第一边缘设备可以生成分组的分组副本。例如,第一边缘设备可以生成具有与分组相同的值和/或属性的分组的分组副本。为了提供一些示例,用于分组的IP地址可以是用于分组副本的相同的IP地址,分组和副本分组可以是相同的大小或长度,分组和分组副本的有效载荷可以包括相同的数据,等等。
以这种方式,当IP会话的业务流正在通过网络路由时,第一边缘设备能够选择作为业务流的一部分的分组,并且生成所选择的分组的分组副本以供进一步处理,如本文中进一步所述。
如图1B和附图标记120所示,第一边缘设备可以将路由信息添加到分组副本。例如,第一边缘设备可以将路由信息(例如,路由操作、管理和维护(OAM)信息)添加到分组副本的有效载荷(例如,通过覆盖作为原始分组的有效载荷的副本的有效载荷)。另外地或替代地,第一边缘设备可以将新报头(例如,传输报头)添加到分组副本,并且可以将路由信息包括在新报头中。
路由信息可以包括可以对第一边缘设备可用并且可以由其他网络设备用于确定网络性能指示符(例如,等待时间、抖动、分组丢失等)的任何信息。例如,路由信息可以包括IP会话的会话信息、作为IP会话的一部分通过网络发送的分组副本的分组副本信息等。
会话信息可以包括IP会话的会话标识符、会话的开始时间、会话已经有效的总时间、与IP会话相关联的客户标识符等。分组副本信息可以包括分组副本的分组序列标识符(例如,其可以用于确定发送或接收分组副本的顺序)、分组时间戳(例如,指示由网络设备发送或接收分组副本的时间)、一个或多个接口标识符(例如,指示从其发送或在其处接收分组副本的接口)、标识用于在网络内路由或转发分组副本的路径的路径标识符(例如,通过标识分组副本行进通过的特定网络设备或网络设备的组件)等。
如附图标记125所示,第一边缘设备可以修改分组副本。例如,第一边缘设备可以修改分组副本的报头以包括将引起分组副本无法到达第二会话端点(例如,会话端点B)的一个或多个值。在这种情况下,第二边缘设备(例如,边缘设备2)可以被配置为尝试验证作为IP会话的业务流的一部分的所有分组,并且可能无法基于报头中已经修改的一个或多个值来验证分组副本,如本文中进一步所述。
在一些实现中,第一边缘设备可以修改分组副本的报头中的校验和值。例如,如果分组副本是IPv4分组,则第一边缘设备可以将IPv4报头校验和值设置为当由第二边缘设备处理分组副本时可能导致校验和验证错误的不正确值。
另外地或替代地,第一边缘设备可以修改分组副本的报头中的分组长度值。例如,第一边缘设备可以将分组长度值设置为与分组副本的实际长度不匹配的不正确值。当由第二边缘设备处理分组副本时,这可能导致分组长度验证错误。
另外地或替代地,第一边缘设备可以修改分组副本的报头中的生存时间(TTL)值。例如,第一边缘设备可以将TTL值设置为可能在由第二边缘设备处理分组副本时触发验证错误的特定值(例如,0、1等)。
如附图标记130所示,第一边缘设备可以将分组副本提供给第一核心网络设备作为IP会话的业务流的一部分。例如,第一边缘设备可以使用转发平面来确定如何路由IP会话的业务流(例如,其可以指示下一跳是第一核心网络设备)。这可以引起分组副本使用也由作为IP会话的业务流的一部分的分组使用的路径通过网络被路由到第二边缘设备。
如附图标记135所示,第二边缘设备可以从IP会话的业务流中移除分组副本。例如,第二边缘设备可以基于确定分组副本不符合验证过程的一个或多个要求而从IP会话的业务流中移除分组副本。在这种情况下,第二边缘设备可以对分组副本执行验证过程,并且分组副本可以无法基于对分组副本的报头所做的修改而通过验证过程。
作为示例,假定第一边缘设备修改了分组副本的报头中的校验和值。在该示例中,第二边缘设备可以通过将校验和值与所配置的校验和值进行比较来执行校验和验证过程。如果校验和值和所配置的校验和值不匹配,则第二边缘设备可以生成验证错误,递增错误计数器,等等,这可以引起第二边缘设备从IP会话的业务流中移除分组副本。
作为另一示例,假定第一边缘设备修改了分组副本的报头中的分组长度值。在该示例中,第二边缘设备可以执行分组长度验证过程,该过程涉及处理分组副本以生成标识实际分组长度的值,并且将标识实际分组长度的值与报头中包括的分组长度值进行比较。如果标识实际分组长度的值与报头中的分组长度值不匹配,则第二边缘设备可以生成验证错误,递增错误计数器,等等,这可以引起第二边缘设备从IP会话的业务流中移除分组副本。
作为另一示例,假定第一边缘设备修改了分组副本的报头中的TTL值。在该示例中,第二边缘设备可以执行TTL验证过程,该过程涉及处理分组副本以确定TTL值满足误差阈值(例如,值0、值0或1等)。如果TTL值满足错误阈值,则第一边缘设备可以生成验证错误,递增错误计数器,执行协议特定的动作(例如,向源设备发送消息,诸如互联网控制消息协议(ICMP)TTL到期消息,等等。这可以引起第二边缘设备从IP会话的业务流中移除分组副本。
如附图标记140所示,第二边缘设备可以标识分组副本中包括的路由信息。例如,在从业务流中移除分组副本之后,在分组副本无法通过验证过程之后,等等,第二边缘设备可以标识路由信息。在这种情况下,第二边缘设备可以被配置为标识通常没有包括在作为IP会话的业务流的一部分的分组中的值。这样,第二边缘设备可以通过处理分组副本的新报头或分组副本的有效载荷来标识路由信息。这可以允许第二边缘设备使用路由信息来生成网络性能指示符或者引起另一设备生成网络性能指示符,如本文中进一步所述。
通过将路由信息添加到分组副本,第一网络设备确保了分组副本包括监测网络性能所需要的信息。此外,通过修改分组副本的一个或多个值,第一边缘设备确保了第二网络设备将从IP会话的业务流中检测和移除分组副本,从而防止分组副本通过到达第二会话端点干扰IP会话。
如图1C所示,第二边缘设备或网络性能管理平台可以被配置为确定网络性能指示符。例如,并且如附图标记145-1所示,第二边缘设备可以通过处理分组副本或在特定时间段内标识的一组分组副本的路由信息来确定网络性能指示符(例如,等待时间、抖动、分组丢失、分组延迟等)。
在一些实现中,第二边缘设备可以确定分组副本或一组分组副本的等待时间。例如,第二边缘设备可以确定分组副本从第一网络设备到第二网络设备(例如,从第一边缘设备到第一核心网络设备,从第一边缘设备到第二边缘设备,等等)的等待时间。在这种情况下,第二边缘设备可以通过计算从第一网络设备向第二网络设备提供分组副本所需要的时间来确定等待时间。在一些情况下,第二边缘设备可以将分组副本(或一组分组副本)发送回第二网络设备,使得可以通过考虑分组副本(或一组分组副本)的往返时间(RTT)来测量等待时间。
另外地或替代地,第二边缘设备可以确定分组副本或一组分组副本的抖动。例如,当该组分组副本从第一网络设备行进到第二网络设备时,第二边缘设备可以确定该组分组副本的抖动。在这种情况下,第二边缘设备可以通过计算该组分组副本的等待时间的变化来确定抖动。
另外地或替代地,第二边缘设备可以确定分组副本或一组分组副本的分组丢失或分组延迟。例如,如果每个分组副本的路由信息指示分组序列号,则第二边缘设备可以通过标识分组副本是否丢失来确定分组丢失(例如,基于包括一些但不是全部分组序列号的一组分组副本)。可以实现类似的技术来确定分组延迟。
如附图标记150-1所示,第二边缘设备可以将网络性能指示符提供给网络性能管理平台。例如,第二边缘设备可以使用通信接口(例如,应用程序编程接口(API)或其他类型的接口)来将网络性能指示符提供给网络性能管理平台。如附图标记155-1所示,网络性能管理平台可以存储网络性能指示符。
如附图标记160-1所示,第二边缘设备可以将网络性能提供给用户设备。例如,第二边缘设备可以使用通信接口(例如,应用程序编程接口(API)或其他类型的接口)来将网络性能指示符提供给用户设备。用户设备可以是提供网络服务的组织的设备、使用网络服务的组织的设备等。
如附图标记165-1所示,用户设备的用户界面可以显示网络性能指示符。这可以允许用户标识网络性能指示符,验证IP会话的业务流是否符合服务水平协议(SLA)(其可以指定要满足的某些阈值性能度量),等等。
在一些实现中,假定网络性能管理平台被配置为确定网络性能指示符。在这种情况下,并且如附图标记145-2所示,第二边缘设备可以向网络性能管理平台提供分组副本或一组分组副本的路由信息。作为示例,第二边缘设备可以被配置为一旦标识出路由信息就提供分组副本的路由信息。作为另一示例,第二边缘设备可以被配置为周期性地提供已经随着时间标识的一组分组副本的路由信息。
如附图标记150-2所示,网络性能管理平台可以确定网络性能指示符。例如,网络性能管理平台可以以上述方式确定等待时间、抖动、分组丢失、分组延迟等。
如附图标记155-2所示,网络性能管理平台可以将网络性能提供给用户设备。例如,网络性能管理平台可以使用通信接口来将网络性能指示符提供给用户设备。如附图标记165-2所示,用户设备的用户界面可以显示网络性能指示符。
在一些实现中,第二边缘设备和/或网络性能管理平台可以执行与帮助报告和/或改善网络性能相关联的一个或多个动作。例如,第二边缘设备和/或网络性能管理平台可以被配置为自动生成并且向与网络服务提供商相关联的设备和/或与客户相关联的设备提供指示当前不满足服务水平协议(SLA)的一个或多个条款的通知。在一些情况下,可以基于网络性能指示符满足阈值性能水平(例如,与性能差相关联的水平、允许网络服务提供商在违反SLA之前解决性能问题的水平等)来生成和提供通知。
另外地或替代地,第二边缘设备和/或网络性能管理平台可以被配置为生成用于修复影响网络性能的错误(例如,硬件错误、软件错误等)和/或自动修复错误的指令。例如,第二边缘设备可以使用路由信息来标识可能导致网络性能差的错误。在这种情况下,第二边缘设备可以配置有将特定错误与特定动作相关联的规则,并且可以参考这些规则来确定要执行的特定动作或推荐另一设备执行的特定动作。
以这种方式,第一网络设备和/或第二网络设备有效且高效地协调网络性能的准确监测和报告。例如,通过创建包括与作为IP会话的业务流的一部分的分组相同的IP地址信息的分组副本,第一网络设备通过使得分组副本能够表现出与作为IP会话的业务流的一部分的分组相同的转发行为来提高网络性能指示符的准确性。
如上所述,图1A-1C仅作为示例提供。其他示例是可能的,并且可以与关于图1A-1C描述的不同。例如,可以存在与图1A-1C所示的相比更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。此外,图1A-1C所示的两个或更多个设备可以在单个设备内实现,或者图1A-1C所示的单个设备可以实现为多个分布式设备。附加地或替代地,示例实现100的一组设备(例如,一个或多个设备)可以执行被描述为由示例实现100的另一组设备执行的一个或多个功能。
图2是其中可以实现本文中描述的系统和/或方法的示例环境200的图。如图2所示,环境200可以包括一个或多个对等设备210、一组网络设备220(示出为网络设备220-1至网络设备220-N)、网络性能管理平台230、和/或网络250。环境200的设备可以经由有线连接、无线连接或有线和无线连接的组合进行互连。
对等设备210包括能够接收和/或提供网络业务的一个或多个设备。例如,对等设备210可以包括业务传输设备,诸如路由器、网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、执行虚拟机的服务器等)、安全设备、入侵检测设备、负载平衡器或类似类型的设备。附加地或替代地,对等设备210可以包括作为网络业务的源或目的地的端点设备。例如,对等设备210可以包括计算机或类似类型的设备。对等设备210可以经由网络250从其他对等设备210接收网络业务和/或向其他对等设备210提供网络业务(例如,通过使用(多个)网络设备220作为中介来路由分组)。在一些实现中,对等设备210可以向网络设备220(例如,网络中的边缘设备、核心网络设备等)提供互联网协议(IP)会话的业务流。
网络设备220包括能够以本文中描述的方式接收、处理、存储、路由和/或提供业务(例如,分组、分组副本、其他信息或元数据等)的一个或多个设备。例如,网络设备220可以包括路由器,诸如标签交换路由器(LSR)、标签边缘路由器(LER)、入口路由器、出口路由器、提供商路由器(例如,提供商边缘路由器、提供商核心路由器等)、虚拟路由器等。附加地或替代地,网络设备220可以包括网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、云服务器、数据中心服务器等)、负载平衡器和/或类似设备。在一些实现中,网络设备220可以是在诸如机箱等壳体内实现的物理设备。
在一些实现中,网络设备220可以是由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。在一些实现中,一组网络设备220可以包括第一网络设备220、一个或多个核心网络设备220、第二网络设备220等。在一些实现中,网络设备220可以使用隧道技术来路由业务流,诸如通用路由封装(GRE)技术、多协议标签交换(MPLS)技术(例如,使用用户数据报协议(UDP)的MPLS技术、使用GRE的MPLS技术等)、虚拟可扩展局域网(VXLAN)技术(例如,使用通用协议扩展(GPE))、通用网络虚拟化封装(GENEVE)技术等。
网络性能管理平台230包括能够接收、存储、处理、生成和/或提供与网络性能指示符相关联的信息的一个或多个设备。例如,网络性能管理平台230可以包括服务器设备(例如,主机服务器、web服务器、应用服务器等)、数据中心设备或类似设备。
在一些实现中,如图所示,网络性能管理平台230可以托管在云计算环境240中。值得注意的是,虽然本文中描述的实现将网络性能管理平台230描述为托管在云计算环境240中,但是在一些实现中,网络性能管理平台230可以不是基于云的(即,可以在云计算环境之外实现),或者可以是部分基于云的。
云计算环境240包括托管网络性能管理平台230的环境。云计算环境240可以提供不需要最终用户对托管网络性能管理平台230的(多个)系统和/或(多个)设备的物理位置和配置的了解的计算、软件、数据访问、存储等服务。如图所示,云计算环境240可以包括一组计算资源235(统称为“计算资源235”,并且单独地称为“计算资源235”)。
计算资源235包括一个或多个个人计算机、工作站计算机、服务器设备、或其他类型的计算和/或通信设备。在一些实现中,计算资源235可以托管网络性能管理平台230。云资源可以包括在计算资源235中执行的计算实例、在计算资源235中提供的存储设备、由计算资源235提供的数据传输设备等。在一些实现中,计算资源235可以经由有线连接、无线连接或有线和无线连接的组合与其他计算资源235通信。
如图2中进一步所示,计算资源235可以包括一组云资源,诸如一个或多个应用(“APP”)235-1、一个或多个虚拟机(“VM”)235-2、虚拟化存储装置(“VS”)235-3、一个或多个管理程序(“HYP”)235-4等。
应用235-1可以包括可以提供给本文中描述的另一设备或由其访问的一个或多个软件应用。应用235-1可以消除在这些设备上安装和执行软件应用的需要。例如,应用235-1可以包括与网络性能管理平台230相关联的软件和/或能够经由云计算环境240提供的任何其他软件。在一些实现中,一个应用235-1可以经由虚拟机235-2向一个或多个其他应用235-1发送/从其接收信息。
虚拟机235-2可以包括诸如物理机器等执行程序的机器(例如,计算机)的软件实现。虚拟机235-2可以是系统虚拟机或进程虚拟机,这取决于虚拟机235-2对任何真实机器的使用和与任何真实机器的对应程度。系统虚拟机可以提供支持完整操作系统(“OS”)的执行的完整系统平台。进程虚拟机可以执行单个程序并且可以支持单个进程。在一些实现中,虚拟机235-2可以代表另一设备执行,并且可以管理云计算环境240的基础设施,诸如数据管理、同步或长时间数据传输。
虚拟化存储装置235-3可以包括在计算资源235的存储系统或设备内使用虚拟化技术的一个或多个存储系统和/或一个或多个设备。在一些实现中,在存储系统的上下文中,虚拟化类型可以包括块虚拟化和文件虚拟化。块虚拟化可以是指逻辑存储从物理存储的抽象(或分离),使得可以访问存储系统而不考虑物理存储或异构结构。分离可以在管理员如何管理最终用户的存储方面向存储系统的管理员提供灵活性。文件虚拟化可以消除在文件级别访问的数据与物理地存储文件的位置之间的依赖性。这可以实现存储使用、服务器整合和/或无中断文件迁移性能的优化。
管理程序235-4可以提供允许多个操作系统(例如,“客户操作系统”)在主计算机(诸如计算资源235)上并发执行的硬件虚拟化技术。管理程序235-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。
网络250包括一个或多个有线和/或无线网络。例如,网络250可以包括分组交换网络、蜂窝网络(例如,第五代(5G)网络、第四代(4G)网络(诸如长期演进(LTE)网络)、第三代(3G)网络、码分多址(CDMA)网络、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网(PSTN))、专用网络、ad hoc网络、内联网、互联网、基于光纤的网络、云计算网络等、和/或这些或其他类型的网络的组合。
图2所示的设备和网络的数目和布置作为示例提供。实际上,可以存在与图2所示的相比更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。此外,图2所示的两个或更多个设备可以在单个设备内实现,或者图2所示的单个设备可以实现为多个分布式设备。附加地或替代地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
图3是设备300的示例组件的图。设备300可以对应于对等设备210和/或网络设备220。在一些实现中,对等设备210和/或网络设备220可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3所示,设备300可以包括一个或多个输入组件305-1至305-B(B≥1)(下文中统称为输入组件305并且单独地统称输入组件305)、交换组件310、一个或多个输出组件315-1至315-C(C≥1)(下文中统称为输出组件315并且单独地统称输出组件315)、以及控制器320。
输入组件305可以是物理链路的附着点,并且可以是诸如分组等传入业务的入口点。输入组件305可以处理传入业务,诸如通过执行数据链路层封装或解封装。在一些实现中,输入组件305可以发送和/或接收分组。在一些实现中,输入组件305可以包括输入线卡,输入线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个接口卡(IFC)、分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备300可以包括一个或多个输入组件305。
交换组件310可以将输入组件305与输出组件315互连。在一些实现中,交换组件310可以经由一个或多个交叉开关,经由总线和/或通过共享存储器来实现。在最终调度分组以传送到输出组件315之前,共享存储器可以充当临时缓冲器以存储来自输入组件305的分组。在一些实现中,交换组件310可以使得输入组件305、输出组件315和/或控制器320能够通信。
输出组件315可以存储分组并且可以调度分组以在输出物理链路上传输。输出组件315可以支持数据链路层封装或解封装、和/或各种更高级协议。在一些实现中,输出组件315可以发送分组和/或接收分组。在一些实现中,输出组件315可以包括输出线卡,输出线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个IFC、分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现中,设备300可以包括一个或多个输出组件315。在一些实现中,输入组件305和输出组件315可以由相同的一组组件实现(例如,并且输入/输出组件可以是输入组件305和输出组件315的组合)。
控制器320包括处理器,其形式为中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或其他类型的处理器。处理器以硬件、固件或软件和硬件的组合实现。在一些实现中,控制器320可以包括可以被编程以执行功能的一个或多个处理器。
在一些实现中,控制器320可以包括存储供控制器320使用的信息和/或指令的随机存取存储器(RAM)、只读存储器(ROM)和/或其他类型的动态或静态存储设备(例如,闪存、磁存储器、光学存储器等)。
在一些实现中,控制器320可以与连接到设备300的其他设备、网络和/或系统通信以交换关于网络拓扑的信息。控制器320可以基于网络拓扑信息创建路由表,基于路由表创建转发表,并且将转发表转发到输入组件305和/或输出组件315。输入组件305和/或输出组件315可以使用转发表以执行传入和/或传出分组的路由查找。在一些情况下,控制器320可以基于在初始化链路故障检测(例如,BFD)会话时确定的信息来创建会话表,并且可以将会话表转发到输入组件305和/或输出组件315。
控制器320可以执行本文中描述的一个或多个过程。控制器320可以响应于执行由非暂态计算机可读介质存储的软件指令来执行这些过程。计算机可读介质在本文中定义为非暂态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。
可以将软件指令从另一计算机可读介质或经由通信接口从另一设备读入与控制器320相关联的存储器和/或存储组件。当执行时,存储在与控制器320相关联的存储器和/或存储组件中的软件指令可以引起控制器320执行本文中描述的一个或多个过程。附加地或替代地,可以使用硬连线电路代替软件指令或与软件指令组合来执行本文中描述的一个或多个过程。因此,本文中描述的实现不限于硬件电路和软件的任何特定组合。
图3所示的组件的数目和布置作为示例提供。实际上,设备300可以包括与图3所示的相比更多的组件、更少的组件、不同的组件、或者不同地布置的组件。附加地或替代地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图3所示的组件的数目和布置作为示例提供。实际上,设备300可以包括与图3所示的相比更多的组件、更少的组件、不同的组件、或者不同地布置的组件。附加地或替代地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图4是用于非侵入式监测用于支持互联网协议(IP)会话的业务流的一组网络设备的网络性能的示例过程400的流程图。在一些实现中,图4的一个或多个过程框可以由第一网络设备(例如,网络设备220)执行。在一些实现中,图4的一个或多个过程框可以由与第一网络设备分离或包括第一网络设备的另一设备或一组设备执行,诸如对等设备(例如,对等设备210)、一个或多个其他网络设备220(诸如第二网络设备)、网络性能管理平台(例如,网络性能管理平台230)、计算资源(例如,计算资源235)等。
如图4所示,过程400可以包括接收分组作为互联网协议(IP)会话的业务流的一部分(框410)。例如,第一网络设备(例如,使用输入组件305、交换组件310、控制器320等)可以接收分组作为互联网协议(IP)会话的业务流的一部分,如上面关于图1A-1C所述。
如图4中进一步所示,过程400可以包括基于规则选择作为业务流的一部分的分组(框420)。例如,第一网络设备(例如,使用输入组件305、交换组件310、控制器320等)可以基于规则选择作为业务流的一部分的分组,如上面关于图1A-1C所述。
如图4中进一步所示,过程400可以包括生成已经选择的分组的分组副本(框430)。例如,第一网络设备(例如,使用交换组件310、输出组件315、控制器320等)可以生成已经选择的分组的分组副本,如上面关于图1A-1C所述。
如图4中进一步所示,过程400可以包括向分组副本添加能够用于生成与IP会话相关联的网络性能指示符的路由信息(框440)。例如,第一网络设备(例如,使用交换组件310、输出组件315、控制器320等)可以向分组副本添加能够用于生成与IP会话相关联的网络性能指示符的路由信息,如上面关于图1A-1C所述。
如图4中进一步所示,过程400可以包括修改分组副本的一部分以包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值(框450)。例如,第一网络设备(例如,使用交换组件310、输出组件315、控制器320等)可以修改分组副本的一部分以包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值,如上面关于图1A-1C所述。
如图4中进一步所示,过程400可以包括将分组副本提供给一个或多个其他网络设备以引起一个或多个其他网络设备中的第二网络设备:执行验证过程以确定无法基于分组副本中包括的一个或多个值验证分组副本,使用分组副本生成网络性能指示符或者引起另一设备使用分组副本生成网络性能指示符,并且将网络性能指示符提供给特定设备或者引起另一设备将网络性能指示符提供给特定设备(框460)。例如,第一网络设备(例如,使用交换组件310、输出组件315、控制器320等)可以将分组副本提供给一个或多个其他网络设备以引起一个或多个其他网络设备中的第二网络设备:执行验证过程以确定无法基于分组副本中包括的一个或多个值验证分组副本,使用分组副本生成网络性能指示符或者引起另一设备使用分组副本生成网络性能指示符,并且将网络性能指示符提供给特定设备或者引起另一设备将网络性能指示符提供给特定设备,如下所述并且如上面关于图1A-1C所述。
过程400可以包括另外的实现,诸如下面描述的和/或结合本文中其他地方描述的一个或多个其他过程描述的任何单个实现或任何实现的组合。
在一些实现中,当修改分组副本的一部分时,可以不修改第一网络设备的转发平面。在一些实现中,当向一个或多个其他网络设备提供分组副本时,第一网络设备可以向一个或多个其他网络设备提供分组副本作为IP会话的业务流的一部分。
在一些实现中,分组副本或一组分组副本可以具有与作为IP会话的业务流的一部分的分组的IP地址信息相匹配的IP地址信息。在一些实现中,规则可以是指示在阈值时间段之后随机选择特定分组的第一规则、指示基于包括特定IP地址或协议标识符的特定分组来选择特定分组的第二规则、或者指示基于特定分组的路由或转发路径来选择特定分组的第三规则。
在一些实现中,业务流可以由标签交换网络支持,并且路由信息可以包括分段路由操作、管理和维护(OAM)信息。在一些实现中,当修改分组副本的一部分时,第一网络设备可以将IP报头校验和值设置为第一不正确值,将分组长度值设置为第二不正确值,或者将IP报头生存时间(TTL)值设置为第三不正确值。
尽管图4示出了过程400的示例框,但是在一些实现中,过程400可以包括与图4所示的相比更多的框、更少的框、不同的框、或者不同地布置的框。附加地或替代地,过程400的两个或更多个框可以并行执行。
图5是用于非侵入式监测用于支持互联网协议(IP)会话的业务流的一组网络设备的网络性能的示例过程500的流程图。在一些实现中,图5的一个或多个过程框可以由第一网络设备(例如,网络设备220)执行。在一些实现中,图5的一个或多个过程框可以由与第一网络设备分离或包括第一网络设备的另一设备或一组设备执行,诸如对等设备(例如,对等设备210)、网络性能管理平台(例如,网络性能管理平台230)、计算资源(例如,计算资源235)等。
如图5所示,过程500可以包括接收分组作为互联网协议(IP)会话的业务流的一部分(框510)。例如,第一网络设备(例如,使用输入组件305、交换组件310、控制器320等)可以接收分组作为互联网协议(IP)会话的业务流的一部分,如上面关于图1A-1C所述。
如图5中进一步所示,过程500可以包括选择作为业务流的一部分的分组(框520)。例如,第一网络设备(例如,使用输入组件305、交换组件310、控制器320等)可以选择作为业务流的一部分的分组,如上面关于图1A-1C所述。
如图5中进一步所示,过程500可以包括生成已经选择的分组的分组副本(框530)。例如,第一网络设备(例如,使用交换组件310、控制器320等)可以生成已经选择的分组的分组副本,如上面关于图1A-1C所述。
如图5中进一步所示,过程500可以包括向分组副本添加能够用于生成与IP会话相关联的网络性能指示符的路由信息(框540)。例如,第一网络设备(例如,使用交换组件310、输出组件315、控制器320等)可以向分组副本添加能够用于生成与IP会话相关联的网络性能指示符的路由信息,如上面关于图1A-1C所述。
如图5中进一步所示,过程500可以包括修改分组副本以包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值(框550)。例如,第一网络设备(例如,使用交换组件310、输出组件315、控制器320等)可以修改分组副本以包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值,如上面关于图1A-1C所述。
如图5中进一步所示,过程500可以包括作为IP会话的业务流的一部分将分组副本提供给一个或多个其他网络设备以引起一个或多个其他网络设备中的第二网络设备:基于分组副本包括已经修改的一个或多个值而从IP会话的业务流中移除分组副本,并且执行引起生成网络性能指示符并且将其提供给另一设备的一个或多个动作(框560)。例如,第一网络设备(例如,使用交换组件310、输出组件315、控制器320等)可以作为IP会话的业务流的一部分将分组副本提供给一个或多个其他网络设备以引起一个或多个其他网络设备中的第二网络设备:基于分组副本包括已经修改的一个或多个值而从IP会话的业务流中移除分组副本,并且执行引起生成网络性能指示符并且将其提供给另一设备的一个或多个动作,如上面关于图1A-1C所述。
过程500可以包括另外的实现,诸如下面描述的和/或结合本文中其他地方描述的一个或多个其他过程描述的任何单个实现或任何实现的组合。
在一些实现中,当修改分组副本的一部分时,可以不修改第一网络设备的转发平面。在一些实现中,可以基于分组副本或一组分组副本来生成网络性能指示符,并且分组副本或一组分组副本可以具有与作为IP会话的业务流的一部分的分组的IP地址信息相匹配的IP地址信息。
在一些实现中,第一网络设备可以基于以下中的至少一项来选择分组:指示在阈值时间段之后选择特定分组的第一规则、指示随机选择特定分组的第二规则、指示基于包括特定IP地址或标识符的特定分组来选择特定分组的第三规则、或者指示基于特定分组的路由或转发路径来选择特定分组的第四规则。在一些实现中,路由信息可以包括以下中的至少一项:用于IP会话的会话信息或用于分组副本或一组分组副本的分组副本信息。
在一些实现中,添加路由信息可以包括将路由信息添加到分组副本作为分组副本的附加报头或者作为分组副本的有效载荷的一部分。在一些实现中,修改分组副本可以包括将IP报头校验和值设置为第一不正确值,将分组长度值设置为第二不正确值,或者将IP报头生存时间(TTL)值设置为第三不正确值。
尽管图5示出了过程500的示例框,但是在一些实现中,过程500可以包括与图5所示的相比更多的框、更少的框、不同的框、或者不同地布置的框。另外地或替代地,过程500的两个或更多个框可以并行执行。
图6是用于非侵入式监测用于支持互联网协议(IP)会话的业务流的一组网络设备的网络性能的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由网络设备(例如,网络设备220)执行。在一些实现中,图6的一个或多个过程框可以由与网络设备分离或包括网络设备的另一设备或一组设备执行,诸如对等设备(例如,对等设备210)、另一网络设备(例如,不同的网络设备220)、网络性能管理平台(例如,网络性能管理平台230)、计算资源(例如,计算资源235)等。
如图6所示,过程600可以包括从另一网络设备接收分组副本作为互联网协议(IP)会话的业务流的一部分,其中分组副本包括能够用于生成与IP会话相关联的网络性能指示符的路由信息,并且其中分组副本已经被修改为包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值(框610)。例如,网络设备(例如,使用输入组件305、交换组件310、控制器320等)可以从另一网络设备接收分组副本作为IP会话的业务流的一部分,如上面关于图1A-1C所述。在一些实现中,分组副本可以包括能够用于生成与IP会话相关联的网络性能指示符的路由信息,并且分组副本可以已经被修改为包括将引起分组副本无法到达与IP会话相关联的目的地设备的一个或多个值。
如图6中进一步所示,过程600可以包括通过处理分组副本来执行验证过程,其中分组副本将无法基于分组副本中包括的一个或多个值而通过验证过程(框620)。例如,网络设备(例如,使用输入组件305、交换组件310、控制器320等)可以通过处理分组副本来执行验证过程,如上面关于图1A-1C所述。在一些实现中,分组副本可以无法基于分组副本中包括的一个或多个值而通过验证过程。
如图6中进一步所示,过程600可以包括基于分组副本无法通过验证过程来标识分组副本中包括的路由信息(框630)。例如,网络设备(例如,使用输入组件305、交换组件310、控制器320等)可以基于分组副本无法通过验证过程来标识分组副本中包括的路由信息,如上面关于图1A-1C所述。
如图6中进一步所示,过程600可以包括使用分组副本或已经随着时间被修改和接收的一组分组副本来生成网络性能指示符(框640)。例如,网络设备(例如,使用交换组件310、输出组件315、控制器320等)可以使用分组副本或已经随着时间被修改和接收的一组分组副本来生成网络性能指示符,如上面关于图1A-1C所述。
如图6中进一步所示,过程600可以包括将网络性能指示符提供给特定设备(框650)。例如,网络设备(例如,使用交换组件310、输出组件315、控制器320等)可以将网络性能指示符提供给特定设备,如上面关于图1A-1C所述。
过程600可以包括另外的实现,诸如下面描述的和/或结合本文中其他地方描述的一个或多个其他过程描述的任何单个实现或任何实现的组合。
在一些实现中,当修改分组副本的一个或多个值时,可以不修改用于路由业务流的转发平面。在一些实现中,分组副本或一组分组副本可以具有与作为IP会话的业务流的一部分的分组的IP地址信息相匹配的IP地址信息。在一些实现中,IP会话的业务流可以服从需要网络性能指示符符合特定标准的服务水平协议(SLA)。
在一些实现中,当执行验证过程时,网络设备可以处理分组副本以确定分组副本的报头包括引起分组副本无法通过验证过程的第一值,其中第一值是IP报头校验和值、分组长度值或IP报头生存时间(TTL)值。在一些实现中,网络性能指示符可以包括以下中的至少一项:用于验证分组的接收顺序的第一网络性能指示符、用于标识分组丢失的第二网络性能指示符、或用于标识分组延迟的第三网络性能指示符。
尽管图6示出了过程600的示例框,但是在一些实现中,过程600可以包括与图6所示的相比更多的框、更少的框、不同的框、或者不同地布置的框。另外地或替代地,过程600的两个或更多个框可以并行执行。
前述公开内容提供说明和描述,但并非旨在穷举或将实现限于所公开的精确形式。修改和变化鉴于以上公开内容而是可能的,或者可以从实现的实践中获取。
如本文中使用的,术语“业务流”可以包括一组分组。分组可以是指用于传送信息的通信结构,诸如协议数据单元(PDU)、网络分组、数据报、段、消息、块、小区、帧、子帧、时隙、符号、上述中的任一个的一部分、和/或能够经由网络来传输的其他类型的格式化或未格式化的数据单元。
如本文中使用的,术语“组件”旨在广义地解释为硬件、固件和/或硬件和软件的组合。
本文中结合阈值描述一些实现。如本文中使用的,满足阈值可以是指值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或等于阈值、等于阈值等。
很清楚的是,本文中描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限制实现。因此,本文中描述了系统和/或方法的操作和行为,而没有参考特定的软件代码——应当理解,可以设计软件和硬件以基于本文中的描述来实现这些系统和/或方法。
尽管在权利要求中记载和/或在说明书中公开了特征的特定组合,但是这些组合并不旨在限制可能的实现的公开。实际上,这些特征中的很多特征可以以未在权利要求中具体记载和/或在说明书中公开的方式进行组合。尽管下面列出的每个从属权利要求可以直接仅从属于一个权利要求,但是可能的实现的公开包括每个从属权利要求与该组权利要求中的每个其他权利要求的组合。
除非明确地如此描述,否则本文中使用的元素、动作或指令不应当被解释为是关键或必要的。此外,如本文中使用的,冠词“一个(a)”和“一个(an)”旨在包括一个或多个项目,并且可以与“一个或多个”可互换地使用。此外,如本文中使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关和不相关项目的组合等),并且可以与“一个或多个”可互换地使用。在仅有一个项目的情况下,使用术语“一个(one)”或类似的语言。此外,如本文中使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等意图是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分基于”。

Claims (20)

1.一种第一网络设备,包括:
一个或多个存储器;以及
一个或多个处理器,用于:
接收分组作为互联网协议(IP)会话的业务流的一部分;
基于规则选择作为所述业务流的一部分的分组;
生成已经选择的所述分组的分组副本;
向所述分组副本添加能够用于生成与所述IP会话相关联的网络性能指示符的路由信息;
修改所述分组副本的一部分以包括将引起所述分组副本无法到达与所述IP会话相关联的目的地设备的一个或多个值;以及
将所述分组副本提供给一个或多个其他网络设备以引起所述一个或多个其他网络设备中的第二网络设备:
执行验证过程以确定所述分组副本无法基于所述分组副本中包括的所述一个或多个值被验证,
使用所述分组副本或已经修改的一组分组副本生成所述网络性能指示符,或者引起另一设备使用所述分组副本或所述已经修改的一组分组副本生成所述网络性能指示符,以及
将所述网络性能指示符提供给特定设备,或者引起所述另一设备将所述网络性能指示符提供给所述特定设备。
2.根据权利要求1所述的第一网络设备,其中当修改所述分组副本的所述一部分时,所述第一网络设备的转发平面不被修改。
3.根据权利要求1所述的第一网络设备,其中当将所述分组副本提供给所述一个或多个其他网络设备时,所述一个或多个处理器用于:
将所述分组副本提供给所述一个或多个其他网络设备作为所述IP会话的所述业务流的一部分。
4.根据权利要求1所述的第一网络设备,其中所述分组副本或所述一组分组副本具有与作为所述IP会话的所述业务流的一部分的所述分组的IP地址信息相匹配的IP地址信息。
5.根据权利要求1所述的第一网络设备,其中所述规则是:
第一规则,指示在阈值时间段之后选择特定分组,
第二规则,指示随机选择所述特定分组,
第三规则,指示基于包括特定IP地址或标识符的所述特定分组来选择所述特定分组,或者
第四规则,指示基于所述特定分组的路由或转发路径来选择所述特定分组。
6.根据权利要求1所述的第一网络设备,其中所述业务流由标签交换网络支持;以及
其中所述路由信息包括分段路由操作、管理和维护(OAM)信息。
7.根据权利要求1所述的第一网络设备,其中当修改所述分组副本的所述一部分时,所述一个或多个处理器用于:
将IP报头校验和值设置为第一不正确值,
将分组长度值设置为第二不正确值,或者
将IP报头生存时间(TTL)值设置为第三不正确值。
8.一种用于网络性能监测的方法,包括:
由第一网络设备接收分组作为互联网协议(IP)会话的业务流的一部分;
由所述第一网络设备选择作为所述业务流的一部分的分组;
由所述第一网络设备生成已经选择的所述分组的分组副本;
由所述第一网络设备向所述分组副本添加能够用于生成与所述IP会话相关联的网络性能指示符的路由信息;
由所述第一网络设备修改所述分组副本以包括将引起所述分组副本无法到达与所述IP会话相关联的目的地设备的一个或多个值;以及
由所述第一网络设备作为所述IP会话的所述业务流的一部分将所述分组副本提供给一个或多个其他网络设备,以引起所述一个或多个其他网络设备中的第二网络设备基于所述分组副本包括已经修改的所述一个或多个值从所述IP会话的所述业务流中移除所述分组副本,并且执行引起所述网络性能指示符被生成并且被提供给另一设备的一个或多个动作。
9.根据权利要求8所述的方法,其中当修改所述分组副本的所述一部分时,所述第一网络设备的转发平面不被修改。
10.根据权利要求8所述的方法,其中所述网络性能指示符是基于所述分组副本或一组分组副本而被生成的;以及
其中所述分组副本或所述一组分组副本具有与作为所述IP会话的所述业务流的一部分的所述分组的IP地址信息相匹配的IP地址信息。
11.根据权利要求8所述的方法,其中选择作为所述业务流的一部分的所述分组包括:
根据以下中的至少一项选择所述分组:
第一规则,指示在阈值时间段之后选择特定分组,
第二规则,指示随机选择所述特定分组,
第三规则,指示基于包括特定IP地址或标识符的所述特定分组来选择所述特定分组,或者
第四规则,指示基于所述特定分组的路由或转发路径来选择所述特定分组。
12.根据权利要求8所述的方法,其中所述路由信息包括以下中的至少一项:
所述IP会话的会话信息,或者
所述分组副本或一组分组副本的分组副本信息。
13.根据权利要求8所述的方法,其中添加所述路由信息包括:
将所述路由信息添加到所述分组副本作为所述分组副本的附加报头或者作为所述分组副本的有效载荷的一部分。
14.根据权利要求8所述的方法,其中修改所述分组副本包括:
将IP报头校验和值设置为第一不正确值,
将分组长度值设置为第二不正确值,或者
将IP报头生存时间(TTL)值设置为第三不正确值。
15.一种存储指令的非暂态计算机可读介质,所述指令包括:
在由网络设备的一个或多个处理器执行时引起所述一个或多个处理器进行以下操作的一个或多个指令:
从另一网络设备接收分组副本作为互联网协议(IP)会话的业务流的一部分,
其中所述分组副本包括能够用于生成与所述IP会话相关联的网络性能指示符的路由信息,以及
其中所述分组副本已经被修改为包括将引起所述分组副本无法到达与所述IP会话相关联的目的地设备的一个或多个值;
通过处理所述分组副本执行验证过程,
其中所述分组副本将无法基于所述分组副本中包括的所述一个或多个值而通过所述验证过程;
基于所述分组副本无法通过所述验证过程,标识所述分组副本中包括的所述路由信息;
使用所述分组副本或已经随着时间被修改和接收的一组分组副本生成所述网络性能指示符;以及
将所述网络性能指示符提供给特定设备。
16.根据权利要求15所述的非暂态计算机可读介质,其中当所述分组副本的所述一个或多个值被修改时,用于路由所述业务流的转发平面不被修改。
17.根据权利要求15所述的非暂态计算机可读介质,其中所述分组副本或所述一组分组副本具有与作为所述IP会话的所述业务流的一部分的所述分组的IP地址信息相匹配的IP地址信息。
18.根据权利要求15所述的非暂态计算机可读介质,其中所述IP会话的所述业务流服从服务水平协议(SLA),所述SLA要求所述网络性能指示符符合特定标准。
19.根据权利要求15所述的非暂态计算机可读介质,其中引起所述一个或多个处理器执行所述验证过程的所述一个或多个指令引起所述一个或多个处理器:
处理所述分组副本以确定所述分组副本的报头包括引起所述分组副本无法通过所述验证过程的第一值,
其中所述第一值是:
IP报头校验和值,
分组长度值,或者
IP报头生存时间(TTL)值。
20.根据权利要求15所述的非暂态计算机可读介质,其中所述网络性能指示符包括以下中的至少一项:
第一网络性能指示符,用于验证分组被接收的顺序,
第二网络性能指示符,用于标识分组丢失,或者
第三网络性能指示符,用于标识分组延迟。
CN201910860801.8A 2018-09-14 2019-09-11 用于非侵入式网络性能监测的系统和方法 Active CN110912727B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/131,806 2018-09-14
US16/131,806 US10855546B2 (en) 2018-09-14 2018-09-14 Systems and methods for non-intrusive network performance monitoring

Publications (2)

Publication Number Publication Date
CN110912727A CN110912727A (zh) 2020-03-24
CN110912727B true CN110912727B (zh) 2022-07-29

Family

ID=67956518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910860801.8A Active CN110912727B (zh) 2018-09-14 2019-09-11 用于非侵入式网络性能监测的系统和方法

Country Status (3)

Country Link
US (1) US10855546B2 (zh)
EP (1) EP3624401B1 (zh)
CN (1) CN110912727B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835642B (zh) * 2019-04-19 2022-07-29 华为技术有限公司 业务处理方法及网络设备
US11108898B1 (en) * 2019-12-05 2021-08-31 Amazon Technologies, Inc. Packets with header replicas for contention resolution in communications systems
CN113630251A (zh) * 2020-05-08 2021-11-09 瞻博网络公司 使用签名后的统一资源定位符进行网络业务监测或存储
US11502954B1 (en) * 2020-12-04 2022-11-15 Juniper Networks, Inc. Processing segment routing packets with two policy processing instructions in a segment routing domain

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9038151B1 (en) * 2012-09-20 2015-05-19 Wiretap Ventures, LLC Authentication for software defined networks
EP3293919A1 (en) * 2016-09-13 2018-03-14 Viavi Solutions Inc. Data stream monitoring

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090154361A1 (en) 2007-12-13 2009-06-18 Nortel Networks Limited Method and system for using protocol checksums to convey data
US9912524B2 (en) * 2012-02-29 2018-03-06 Avaya Inc. System and method for dynamic session maps
US9967150B2 (en) * 2014-04-30 2018-05-08 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods and apparatuses for implementing network visibility infrastructure
US9237078B1 (en) * 2014-06-26 2016-01-12 Cisco Technology, Inc. Path validation in segment routing networks
US10440054B2 (en) * 2015-09-25 2019-10-08 Perspecta Labs Inc. Customized information networks for deception and attack mitigation
US9942631B2 (en) * 2015-09-25 2018-04-10 Intel Corporation Out-of-band platform tuning and configuration
EP3497916B1 (en) * 2016-08-05 2020-12-09 Telefonaktiebolaget LM Ericsson (publ) Supporting transport protocol server relocation
EP3282665B1 (en) * 2016-08-10 2021-01-27 Nokia Solutions and Networks Oy Anomaly detection in software defined networking
US10574546B2 (en) 2016-09-27 2020-02-25 Mellanox Technologies Tlv Ltd. Network monitoring using selective mirroring
EP3577872B1 (en) * 2017-01-31 2022-09-07 Telefonaktiebolaget LM Ericsson (PUBL) Method and attack detection function for detection of a distributed attack in a wireless network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9038151B1 (en) * 2012-09-20 2015-05-19 Wiretap Ventures, LLC Authentication for software defined networks
EP3293919A1 (en) * 2016-09-13 2018-03-14 Viavi Solutions Inc. Data stream monitoring

Also Published As

Publication number Publication date
EP3624401B1 (en) 2022-11-23
US10855546B2 (en) 2020-12-01
CN110912727A (zh) 2020-03-24
US20200092174A1 (en) 2020-03-19
EP3624401A1 (en) 2020-03-18

Similar Documents

Publication Publication Date Title
CN110912727B (zh) 用于非侵入式网络性能监测的系统和方法
US10917322B2 (en) Network traffic tracking using encapsulation protocol
US10949233B2 (en) Optimized virtual network function service chaining with hardware acceleration
CN113454598A (zh) 提供具有访客vm移动性的服务
Qi et al. Assessing container network interface plugins: Functionality, performance, and scalability
US9122507B2 (en) VM migration based on matching the root bridge of the virtual network of the origination host and the destination host
US8625448B2 (en) Method and system for validating network traffic classification in a blade server
EP3605968B1 (en) N:1 stateful application gateway redundancy model
US9929897B2 (en) Performing a protocol, such as micro bidirectional forwarding detection, on member links of an aggregated link that uses an address of the aggregated link
US10560550B1 (en) Automatic configuration of a replacement network device in a high-availability cluster
CN109104296B (zh) 虚拟网络功能与主机系统之间的同步
WO2016027213A1 (en) A method and system of checkpoint and rollback recovery for forwarding states of a software-defined networking (sdn) system
US10033602B1 (en) Network health management using metrics from encapsulation protocol endpoints
US20150331777A1 (en) System and method of generating data center alarms for missing events
US10680944B2 (en) Arbitrating mastership between redundant control planes of a virtual node
US20240129223A1 (en) Systems and methods for data plane validation of multiple paths in a network
CN107566036B (zh) 自动检测通信中的错误并且自动确定该错误的源
US11223559B2 (en) Determining connectivity between compute nodes in multi-hop paths
US20210014142A1 (en) Cross-cloud connectivity checks
US9985862B2 (en) MEP configuration method and network device
CN110300012B (zh) 用于将分组处理组件重置为操作状态的方法
US10917504B1 (en) Identifying the source of CRC errors in a computing network
Sukapuram et al. Ppcu: Proportional per-packet consistent updates for sdns using data plane time stamps
US20240073140A1 (en) Facilitating elasticity of a network device
Zhang Failure Diagnosis for Datacenter Applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant