CN117319275A - 一种测量方法及相关设备 - Google Patents

一种测量方法及相关设备 Download PDF

Info

Publication number
CN117319275A
CN117319275A CN202210912607.1A CN202210912607A CN117319275A CN 117319275 A CN117319275 A CN 117319275A CN 202210912607 A CN202210912607 A CN 202210912607A CN 117319275 A CN117319275 A CN 117319275A
Authority
CN
China
Prior art keywords
measurement
key
attribute
resource
computing
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.)
Pending
Application number
CN202210912607.1A
Other languages
English (en)
Inventor
张亚丽
杨仝
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.)
Peking University
Huawei Technologies Co Ltd
Original Assignee
Peking University
Huawei Technologies Co Ltd
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 Peking University, Huawei Technologies Co Ltd filed Critical Peking University
Publication of CN117319275A publication Critical patent/CN117319275A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

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

本申请提供了一种测量方法及相关设备,用于在处理数据流的过程中,网络设备无需中止当前的网络流量,就可以基于获取的键(key)和/或属性(attribute)所确定测量任务的资源对数据流进行测量,避免网络流量对应的业务不连续,以期提升网络的通信效率。在该方法中,网络设备在处理数据流的过程中,该网络设备获取测量任务的键和/或属性,其中,键指示该数据流的标识,属性指示对该数据流的测量信息的操作;该网络设备基于该键和/或属性确定该测量任务的计算资源和存储资源;该网络设备基于该计算资源和存储资源对该数据流进行测量。

Description

一种测量方法及相关设备
本申请要求于2022年06月29日提交中国国家知识产权局、申请号为202210785152.1、申请名称为“一种通用的交换机统计的方法、设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种测量方法及相关设备。
背景技术
随着通信网络的发展,网络测量对网络的管理和优化非常重要。例如,网络状态监测、网络故障分析、网络安全防御,乃至于网络智能化等,都依赖于网络测量。
目前,网络测量的一种实现方式中,网络设备在出厂的时候为一个或多个测量任务中的每一个测量任务预配置专用的处理资源。并且,网络管理员可以通过可编程设备实现新增其它的测量任务。例如,当需要执行一个新的测量任务的情况下,网络管理员中止网络设备当前的网络流量,并通过人工配置的方式为该新的测量任务预配置专用的处理资源。
然而,上述实现过程中,依赖于中止网络设备当前的网络流量的方式才能够实现网络测量,这将导致该网络流量对应的业务不连续,影响网络的通信效率。
发明内容
本申请提供了一种测量方法及相关设备,用于在处理数据流的过程中,网络设备无需中止当前的网络流量,就可以基于获取的键和/或属性所确定的测量任务的资源对数据流进行测量,避免网络流量对应的业务不连续,以期提升网络的通信效率。
本申请第一方面提供了一种测量方法,该方法由网络设备执行,或者,该方法由网络设备中的部分组件(例如处理器、芯片或芯片系统等)执行,或者该方法还可以由能实现全部或部分网络设备功能的逻辑模块或软件实现。在第一方面及其可能的实现方式中,以该方法由网络设备执行为例进行描述,该网络设备可以为路由器、交换机、虚拟机等。在该方法中,网络设备在处理数据流的过程中,该网络设备获取测量任务的键(key)和/或属性(attribute),其中,键指示该数据流的标识,属性指示对该数据流的测量信息的操作;该网络设备基于该键和/或属性确定该测量任务的计算资源和存储资源;该网络设备基于该计算资源和存储资源对该数据流进行测量。
基于上述技术方案,网络设备在处理数据流的过程中,该网络设备基于获取得到的测量任务的键和/或属性确定该测量任务的计算资源和存储资源之后,该网络设备基于该计算资源和存储资源对该数据流进行测量。换言之,网络设备在处理数据流的过程中,该网络设备无需中止当前的网络流量,就可以基于确定测量任务的计算资源和存储资源对数据流进行测量,避免网络流量对应的业务不连续,以期提升网络的通信效率。
可选地,网络设备获取测量任务的键和/或属性的实现过程可以有多种实现方式。例如,该网络设备接收来自其他网络设备的信息,该信息用于指示测量任务的键和/或属性,该其他网络设备可以是数据流的发送方,数据流的接收方,或者是数据流的监控设备等。又如,该网络设备接收用户操作指令,该用户操作指令用于指示测量任务的键和/或属性。或者,该网络设备通过其他实现方式获取测量任务的键和/或属性,此处不做限定。
在第一方面的一种可能的实现方式中,在该计算资源和该存储资源被该测量任务释放之后,该计算资源和该存储资源被其它测量任务使用。
基于上述技术方案,网络设备在执行测量任务之后,该网络设备可以将该测量任务对应的计算资源和存储资源释放,以便于该计算资源和该存储资源被其它测量任务使用。从而,该网络设备无需为测量任务配置专用的计算资源和存储资源,即,该网络设备中的计算资源和存储资源可以用于执行不同的测量任务,以提升资源利用率。
在第一方面的一种可能的实现方式中,该网络设备基于该键和/或属性确定该测量任务的计算资源和存储资源包括:该网络设备获取该测量任务的测量精度信息;该网络设备基于该测量任务的测量精度信息确定该存储资源。
基于上述技术方案,该网络设备可以基于测量任务的测量精度信息确定该存储资源,以期为测量任务提供足够的存储资源,以提升基于该存储资源得到的测量结果的准确率。
在第一方面的一种可能的实现方式中,该网络设备基于该键和/或属性确定该测量任务的计算资源和存储资源包括:该网络设备基于该键确定该测量任务的该计算资源和该存储资源,其中,该计算资源包括该键对应的哈希计算资源,该存储资源包括该键对应的计算结果的存储资源。
基于上述技术方案,在网络设备至少获取测量任务的键的情况下,该网络设备所确定的测量任务的计算资源包括该键对应的哈希计算资源,且该网络设备所确定的测量任务的存储资源包括该键对应的计算结果的存储资源。
在第一方面的一种可能的实现方式中,该网络设备基于该键和/或属性确定该测量任务的计算资源和存储资源包括:该网络设备基于该属性确定该测量任务的该计算资源和该存储资源,其中,该计算资源包括该属性对应的算子资源,该存储资源包括该属性对应的计算结果存储资源。
基于上述技术方案,在网络设备至少获取测量任务的属性的情况下,该网络设备所确定的测量任务的计算资源包括该属性对应的算子资源,该网络设备所确定的测量任务的存储资源包括该属性对应的计算结果存储资源。
可以理解的是,当网络设备获取测量任务的键和属性的情况下,该网络设备所确定的测量任务的计算资源包括键对应的哈希计算资源以及属性对应的算子资源,该网络设备所确定的测量任务的存储资源包括键对应的计算结果的存储资源以及属性对应的计算结果存储资源。
此外,当网络设备获取测量任务的键但未获取到测量任务的属性的情况下,该网络设备可以基于预配置的属性(或默认的属性)作为该测量任务的属性执行后续的数据流测量。或者,当网络设备获取测量任务的属性但未获取到测量任务的键的情况下,该网络设备可以基于预配置的键(或默认的键)作为该测量任务的键执行后续的数据流测量。
在第一方面的一种可能的实现方式中,网络设备获取的属性指示对数据流的测量信息的操作,其中,该测量信息包括数据流对应的报文计数。
可选地,该测量信息包括数据流中报文大小高于阈值的报文的计数,或,该测量信息包括数据流中报文大小低于阈值的报文的计数。
在第一方面的一种可能的实现方式中,该测量任务为草图(sketch)任务。
在第一方面的一种可能的实现方式中,该键包括以下至少一项:源网际协议(internet protocol,IP)地址,源端口,目的IP地址,目的端口,传输层协议,虚拟局域网(virtual local area network,vlan)值、区分服务代码点(differentiated servicescode point,dscp)值。
在第一方面的一种可能的实现方式中,该属性包括以下至少一项:加操作,减操作,或操作,同或操作,异或操作,比较操作(该比较操作用于求最大值、最小值等),数据流对应的报文时间戳。
本申请第二方面提供了一种测量装置,该装置可以实现上述第一方面或第一方面任一种可能的实现方式中的方法。该装置包括用于执行上述方法的相应的单元或模块。该装置包括的单元或模块可以通过软件和/或硬件方式实现。例如,该装置可以为网络设备,或者,该装置可以为网络设备中的组件(例如处理器、芯片或芯片系统等),或者该装置还可以为能实现全部或部分网络设备功能的逻辑模块或软件。
该装置包括收发单元和处理单元;该收发单元用于在该处理单元处理数据流的过程中,获取测量任务的键和/或属性,其中,键指示该数据流的标识,属性指示对该数据流的测量信息的操作;该处理单元用于基于该键和/或属性确定该测量任务的计算资源和存储资源;该处理单元用于基于该计算资源和存储资源对该数据流进行测量。
在第二方面的一种可能的实现方式中,在该计算资源和该存储资源被该测量任务释放之后,该计算资源和该存储资源被其它测量任务使用。
在第二方面的一种可能的实现方式中,该处理单元具体用于:获取该测量任务的测量精度信息;基于该测量任务的测量精度信息确定该存储资源。
在第二方面的一种可能的实现方式中,该处理单元具体用于:基于该键确定该测量任务的该计算资源和该存储资源,其中,该计算资源包括该键对应的哈希计算资源,该存储资源包括该键对应的计算结果的存储资源。
在第二方面的一种可能的实现方式中,该处理单元具体用于:基于该属性确定该测量任务的该计算资源和该存储资源,其中,该计算资源包括该属性对应的算子资源,该存储资源包括该属性对应的计算结果存储资源。
在第二方面的一种可能的实现方式中,该测量任务为sketch任务。
在第二方面的一种可能的实现方式中,该键包括以下至少一项:源网际协议IP地址,源端口,目的IP地址,目的端口,传输层协议,虚拟局域网vlan值、区分服务代码点dscp值。
在第二方面的一种可能的实现方式中,该属性包括以下至少一项:加操作,减操作,或操作,同或操作,异或操作,比较操作,数据流对应的报文时间戳。
本申请第三方面提供了一种通信装置。该通信装置包括至少一个处理器。该至少一个处理器与存储器耦合。该存储器用于存储程序或指令。该至少一个处理器用于执行该程序或指令,以使该装置实现前述第一方面或第一方面任意一种可能的实现方式所述的方法,或。
本申请第四方面提供了一种通信装置,包括至少一个逻辑电路和输入输出接口;该逻辑电路用于执行如前述第一方面或第一方面任意一种可能的实现方式所述的方法。
本申请第五方面提供一种计算机可读存储介质,用于存储计算机指令;当计算机指令被处理器执行时,该处理器执行如上述第一方面或第一方面任意一种可能的实现方式所述的方法。
本申请第六方面提供一种计算机程序产品(或称计算机程序),该计算机程序产品包括指令,当该计算机程序产品中的指令被处理器执行时,该处理器执行上述第一方面或第一方面任意一种可能实现方式的方法。
本申请第七方面提供了一种芯片系统,该芯片系统包括通信接口和处理器,该通信接口和处理器耦合,用于支持通信装置实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。
在一种可能的设计中,该芯片系统还可以包括存储器,存储器,用于保存该通信装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。可选的,该芯片系统还包括接口电路,该接口电路为该至少一个处理器提供程序指令和/或数据。
本申请第八方面提供了一种通信系统,该通信系统包括上述任一方面中的网络设备。
可选地,该通信系统还包括上述实施例中的其它网络设备。
其中,第二方面至第八方面中任一种设计方式所带来的技术效果可参见上述第一方面中不同实现方式所带来的技术效果,在此不再赘述。
附图说明
图1为本申请提供的应用场景的一个示意图;
图2为本申请提供的网络设备的一个实现示意图;
图3为本申请提供的测量方法的一个示意图;
图4为本申请提供的测量方法的另一个实现示意图;
图5为本申请提供的测量方法的另一个实现示意图;
图6为本申请提供的测量方法的另一个实现示意图;
图7为本申请提供的测量方法的另一个实现示意图;
图8为本申请提供的通信装置的一个示意图;
图9为本申请提供的通信装置的另一个实现示意图。
具体实施方式
参见图1,为本申请实施例提供的通信系统的架构示意图。如图1所示,该系统包括多个用户边缘(customer edge,CE)设备,例如用户边缘设备101和用户边缘设备102,以及可能存在的其他用户边缘设备;该系统还包括多个网络设备,例如网络设备103、网络设备104、网络设备105、网络设备106和网络设备107,以及可能存在的其他网络设备。
在图1中,用户边缘设备可以作为通信系统传输的数据流的入口设备,在这种情况下,该用户边缘设备可以连接数据流的发送端,即数据流的源地址信息所指示的设备。或者,用户边缘设备可以作为通信系统传输的数据流的出口设备,在这种情况下,该用户边缘设备可以连接数据流的接收端,即数据流的目的地址信息所指示的设备。其中,数据流的发送端或数据流的接收端可以为终端设备、服务器、虚拟机等具备数据收发需求的设备。
可选的,在图1中,网络设备可以是路由器(router)、交换机(switch)、虚拟机等设备。这些网络设备可以用于将数据流从某一个用户边缘设备传输至另一个用户边缘设备并对该数据流进行测量;或者,这些网络设备可以作为数据流的测量设备,用于对某一个用户边缘设备传输至另一个用户边缘设备的数据流进行测量。
随着通信网络的发展,网络测量对网络的管理和优化非常重要。例如,网络状态监测、网络故障分析、网络安全防御,乃至于网络智能化等,都依赖于网络测量。
可选地,本申请中用于执行测量方法的网络设备可以是图1中任一用于转发数据流的网络设备,换言之,该网络设备对自身传输的数据流进行测量。
可选地,本申请中用于执行测量方法的网络设备可以是与图1中任一用于转发数据流的网络设备连接的网络设备,换言之,该网络设备对其它网络设备传输的数据流进行测量。
在网络测量的实现过程中,为了收集特定的测量数据,网络管理员发起一个测量任务,通常是指定一个流-键(flow-key)和一个流-属性(flow-attribute)的组合。然后测量系统从数据包中选择flow key作为输入传入到特定的标量算术逻辑单元(scalararithmetic and logic unit,SALU)中,该单元测量flow attribute并将测量值存储在交换机的静态随机存取存储器(static random-access memory,SRAM)当中。
可选地,flow-key可以包括源IP(SrcIP),SrcIP/24,目的IP,源端口,目的端口,传输层协议,服务类型以及接口索引等中的一项或多项信息。例如,当包含其中一项信息的情况下,该flow-key可以称为一元组。又如,当包含其中两项信息的情况下,该flow-key可以称为二元组。又如,当包含其中四项信息的情况下,该flow-key可以称为四元组。又如,当包含其中五项信息的情况下,该flow-key可以称为五元组。又如,当包含其中七项信息的情况下,该flow-key可以称为七元组。
可选地,flow-attribute可以包括时间戳,连接数等。
如今,sketch因其高效性和准确性而被广泛运用于各种网络测量场景中。然而,目前业界很少关注基于sketch的测量任务动态配置。对于实际的网络环境(例如:数据中心,广域网等),一个理想的测量系统应该在不中断网络流量的情况下,根据不断变化的需求灵活地在不同的测量任务之间切换。
示例性的,设想一个云租户声称其网络性能明显下降,那么网络管理者需要在通过多种测量任务的部署(例如流量基数(flow cardinality)、分布式拒绝服务攻击(distributed denial of service attack,DDoS)检测以及所有相关设备的流拥塞检测),来逐步定位问题的根本原因。假设问题最终确定为该租户的数据流在某个交换机中发生了拥塞,那么网络管理员需要测量这台交换机中的频繁项(heavy hitters)来检测是否某些大流支配了该交换机的某些链路。网络管理员然后就可以均匀地调度这些流来消除拥塞。而在实际应用中,以上测量任务在不同场景中需要flow-key通常不同,一些场景下需要五元组,而另外一些场景下只需要目的IP。这进一步增加了交换机中需要支持的任务类型。
目前,网络测量的一种实现方式中,网络设备在出厂的时候为一个或多个测量任务中的每一个测量任务预配置专用的处理资源。网络管理员通过人工配置的方式,使能启动或禁止启动该一个或多个测量任务,以使得网络设备基于该专用的处理资源执行测量任务。但是,由于数据平面的资源限制,通常无法在启动时为所有潜在的测量任务分配资源,从而在运行中根据需求动态地打开或者关闭某个测量任务。这就可能导致,在该实现方式中,在网络设备无法执行(出厂预配置的一个或多个测量任务之外)其它测量任务。
目前,对于特定任务,它在可编程交换机上的实现方式是在芯片的编译阶段和硬件紧绑定的。假设网络管理员需要由配置m个不同的flow-key和n个flow-attribute组成的的任务,最坏条件下的硬件资源需求高达O(m·n)。由于可编程交换机的硬件资源有限,为每个任务预先分配专有计算和内存资源是不切实际的。这种任务切换的要求在实际的网络环境很常见,为此,当前亟需一种可以实现测量任务重新配置的测量方法。
一种可能实现的解决方案是设计可同时支持多个测量任务的通用算法。目前,这部分通用算法可以进一步细分为两类:多属性(multi-attribute)算法和多键(multi-key)算法。其中,multi-attribute算法可以支持给定一个flow key的多种属性测量。相反,multi-key算法可以支持对给定flow attribute进行多种流键测量。然而,由于不同应用场景可能有不同的测量需求,multi-attribute算法或者multi-key算法不能够涵盖来自不同flow-key和flow-attribute的所有测量任务,当存在一个未被multi-attribute算法或multi-key算法覆盖的新的测量任务时,需要中止当前网络流量重新配置算法才可以执行该新的测量任务。
另一种可能实现的解决方案是根据实时需求定期重新配置数据平面的测量功能。特别是随着可编程交换机的出现,使得无需更换硬件设备就可以修改数据平面的测量功能。不幸的是,重新配置可编程数据平面将中断运行在交换机中的网络流量。例如,当需要执行一个新的测量任务的情况下,网络管理员需要中止网络设备当前的网络流量,并通过人工配置的方式为该新的测量任务预配置专用的处理资源。
综上所述,上述解决方案都需要依赖于中止网络设备当前的网络流量的方式才能够实现网络测量,这将导致该网络流量对应的业务不连续,影响网络的通信效率。
为了解决上述问题,本申请提供了一种测量方法及相关设备,用于在处理数据流的过程中,网络设备无需中止当前的网络流量,就可以基于获取的键和/或属性所确定的测量任务的资源对数据流进行测量,避免网络流量对应的业务不连续,以期提升网络的通信效率。下面将结合附图进一步介绍。
请参阅图2,为本申请提供的用于执行测量方法的网络设备的一个示意图。如图2所示,该网络设备至少由两个部分组成,分别是数据面功能模块(简称数据面)和控制面功能模块(简称控制面)。其中,控制面向数据面下发相关的测量任务(例如后文图3所示步骤S301和步骤S302),数据面可以基于该测量任务实现在网络设备的数据流转发路径上,执行测量任务对应的数据流测量(例如后文图3所示步骤S303)。
请参阅图3,为本申请提供的测量方法的一个示意图,该方法包括如下步骤。
需要说明的是,本申请提供的测量方法可以由网络设备执行,或者,该方法由网络设备中的部分组件(例如处理器、芯片或芯片系统等)执行,或者该方法还可以由能实现全部或部分网络设备功能的逻辑模块或软件实现。在下文实施例中,以该方法由网络设备执行为例进行描述,其中,该网络设备可以为路由器、交换机、虚拟机等。
S301.在处理数据流的过程中,网络设备获取测量任务的键和/或属性。
本实施例中,网络设备在处理数据流(例如接收数据流,生成数据流,转发数据流等)的过程中,该网络设备在步骤S301中获取测量任务的键(key)和/或属性(attribute)。其中,键指示该数据流的标识,属性指示对该数据流的测量信息的操作。
可选地,在步骤S301中,网络设备获取测量任务的键和/或属性的实现过程可以有多种实现方式。例如,该网络设备接收来自其他网络设备的信息,该信息用于指示测量任务的键和/或属性,该其他网络设备可以是数据流的发送方,数据流的接收方,或者是数据流的监控设备等。又如,该网络设备接收用户操作指令,该用户操作指令用于指示测量任务的键和/或属性。或者,该网络设备通过其他实现方式获取测量任务的键和/或属性,此处不做限定。
可选地,本申请涉及的测量任务为草图(sketch)任务。其中,Sketch是一种高效的信息存储、查询技术,该方法主要是通过哈希函数把报文流信息映射到较小空间进行存储,不用单独看每流的信息,因此能够很好地适应数据流到达速度快、海量等特点。
在一种可能的实现方式中,网络设备在步骤S301中获取的键包括以下至少一项:源网际协议(internet protocol,IP)地址,源端口,目的IP地址,目的端口,传输层协议,虚拟局域网(virtual local area network,vlan)值、区分服务代码点(differentiatedservices code point,dscp)值。可选地,若网络设备在步骤S301中获取的键包括至少一项信息中的某一项,则该键可以称为一元组;类似地,若网络设备在步骤S301中获取的键包括至少一项信息中的某两项,则该键可以称为二元组。以此类推,该键还可以通过四元组,五元组,七元组或者其它方式实现,此处不做限定。
在一种可能的实现方式中,网络设备在步骤S301中获取的属性包括以下至少一项:加操作,减操作,或操作,同或操作,异或操作,比较操作(该比较操作用于求最大值、最小值等),数据流对应的报文时间戳。例如,属性指示对数据流的测量信息的操作为比较操作时,网络设备首先获取数据流的测量信息,例如,网络设备基于五元组确定第一数据流和第二数据流,网络设备分别确定第一数据流和第二数据流的测量信息,例如,测量信息是与数据流对应的数据包的计数时,网络设备分别确定第一数据流的第一数据包计数和第二数据流的第二数据包计数,然后对第一数据包计数和第二数据包计数进行比较。又例如,属性指示对数据流的测量信息的操作为比较操作时,网络设备首先获取数据流的测量信息,例如,网络设备基于五元组确定第一数据流,网络设备确定第一数据流的测量信息,例如,测量信息是与数据流对应的数据包的计数时,网络设备确定第一数据流的第一数据包计数,然后将第一数据包计数和预设阈值进行比较操作。可以理解的是,上述至少一项键的实现和至少一项属性的实现仅仅为示例,在方案实际应用中,本领域技术人员还可以应用其它的键的实现或属性的实现。
S302.网络设备基于键和/或属性确定测量任务的计算资源和存储资源。
本实施例中,网络设备在步骤S301中获取测量任务的键和/或属性之后,该网络设备在步骤S302中基于键和/或属性确定测量任务的计算资源和存储资源。
在一种可能的实现方式中,在步骤S302中,网络设备基于该键和/或属性确定该测量任务的存储资源的过程包括:该网络设备获取该测量任务的测量精度信息;该网络设备基于该测量任务的测量精度信息确定该存储资源。具体地,该网络设备可以基于测量任务的测量精度信息确定该存储资源,以期为测量任务提供足够的存储资源,以提升基于该存储资源得到的测量结果的准确率。
在一种可能的实现方式中,在步骤S302中,网络设备基于该键和/或属性确定该测量任务的计算资源和存储资源包括:该网络设备基于该键确定该测量任务的该计算资源和该存储资源,其中,该计算资源包括该键对应的哈希计算资源,该存储资源包括该键对应的计算结果的存储资源。具体地,在网络设备至少获取测量任务的键的情况下,该网络设备所确定的测量任务的计算资源包括该键对应的哈希计算资源,且该网络设备所确定的测量任务的存储资源包括该键对应的计算结果的存储资源。
在一种可能的实现方式中,在步骤S302中,网络设备基于该键和/或属性确定该测量任务的计算资源和存储资源包括:该网络设备基于该属性确定该测量任务的该计算资源和该存储资源,其中,该计算资源包括该属性对应的算子资源,该存储资源包括该属性对应的计算结果存储资源。具体地,在网络设备至少获取测量任务的属性的情况下,该网络设备所确定的测量任务的计算资源包括该属性对应的算子资源,该网络设备所确定的测量任务的存储资源包括该属性对应的计算结果存储资源。
可以理解的是,当网络设备在步骤S301中获取测量任务的键和属性的情况下,该网络设备在步骤S302中确定的测量任务的计算资源包括键对应的哈希计算资源以及属性对应的算子资源,并且,该网络设备在步骤S302中确定的测量任务的存储资源包括键对应的计算结果的存储资源以及属性对应的计算结果存储资源。
此外,当网络设备在步骤S301中获取测量任务的键但未获取到测量任务的属性的情况下,该网络设备可以基于预配置的属性(或默认的属性)作为该测量任务的属性执行步骤S302以及后续的步骤S303。或者,当网络设备在步骤S301中获取测量任务的属性但未获取到测量任务的键的情况下,该网络设备可以基于预配置的键(或默认的键)作为该测量任务的键执行步骤S302以及后续的步骤S303。
S303.网络设备基于计算资源和存储资源对数据流进行测量。
本实施例中,网络设备在步骤S302中确定计算资源和存储资源之后,该网络设备在步骤S303中基于该计算资源和存储资源对数据流进行测量。
在一种可能的实现方式中,在该计算资源和该存储资源被该测量任务释放之后,该计算资源和该存储资源被其它测量任务使用。具体地,网络设备在步骤S303中执行测量任务之后,该网络设备可以将该测量任务对应的计算资源和存储资源释放,以便于该计算资源和该存储资源被其它测量任务使用。从而,该网络设备无需为测量任务配置专用的计算资源和存储资源,即,该网络设备中的计算资源和存储资源可以用于执行不同的测量任务,以提升资源利用率。换言之,在该实现方式中,计算资源和存储资源可以被不同的资源所使用,下面将结合图4所示示例进行描述。
如图4所示,不同的TB(包括TB0,TB1和TB2)分别代表不同时刻下某一计算资源和存储资源的硬件装置。
在时刻1,网络设备执行任务0(Task0),任务1(Task1)和任务2(Task2),相应的,网络设备中的资源(记为TB0)被这三个任务所占用。
在时刻1之后的时刻2,此时网络设备需要执行新的任务3(Task3),相应的,网络设备中的资源(记为TB1)被这四个任务所占用,此时可以调用Task2的部分资源被Task3所使用。
在时刻2之后的时刻3,此时网络设备需要执行新的任务4(Task4),且Task0,Task1和Task2任务已结束,相应的,网络设备中的资源(记为TB2)被这两个任务所占用,此时可以调用已被释放的资源被Task3和Task4所使用。
示例性的,以该存储资源为SRAM为例。由于网络设备中的SRAM资源大小有限,将SRAM切分成多块以后,如果每个只能做一种统计任务的话,会限制统计任务的数量。因此,该实现方式中采用同一SRAM中做多个统计任务的方法,每个统计任务根据资源需要动态划分。
可选地,一般认为芯片上每个SRAM只能读取一次,部署多个测量任务意味着每个报文不能进行所有的测量(每个task都做的话需要读写SRAM多次,芯片能力不支持)。为此,可以通过采用采样的方式执行多个测量任务。即,数据流中的每个报文进来后,基于预设的采样率概率性的选择哪个任务执行,该算法对准确率的保证可以根据采样定律,估算每个任务准确率的影响,如果不满足统计任务的准确率,可动态调整采样率。
可选地,多个测量任务可以并行起来,最大化的利用数据面的资源。如图5所示,上述网络设备的执行过程可以理解为四个独立的阶段:压缩阶段(compress,记为C)、初始化阶段(initialzation,记为I)、准备阶段(preparation,记为P)和执行阶段(Operation,记为O)。其中,该四个阶段所对应的资源要求不同。示例性的,压缩阶段占用大量地哈希单元来生成压缩的flow-key。初始化阶段需要更多的指令字来动态选择不同的flow-key和parameters。准备阶段占用更多的TCAM资源来进行地址转换和参数处理(如one-hot编码)。操作阶段占用所有SALU资源。
为此,逐个部署多个测量过程会导致每个阶段的各种资源利用不均。受中央处理器(central processing unit,CPU)指令流水地启发,可以将一个硬件阶段(HardwareStage)理解为一个CPU的指令周期,多个测量过程可以通过交叉堆叠方式部署来充分利用数据平面地各种资源。如图5所示,多个测量过程的四个阶段逐个进行部署,到S4所指示的第四个阶段时,后续其它阶段(例如图示中的S5、S6等)的各项硬件资源,都得到了充分地利用。
基于图3所示技术方案,网络设备在处理数据流的过程中,该网络设备在步骤S302中基于获取得到的测量任务的键和/或属性确定该测量任务的计算资源和存储资源之后,该网络设备在步骤S303中基于该计算资源和存储资源对该数据流进行测量。换言之,网络设备在处理数据流的过程中,该网络设备无需中止当前的网络流量,就可以基于确定测量任务的计算资源和存储资源对数据流进行测量,避免网络流量对应的业务不连续,以期提升网络的通信效率。
下面将结合更多的实施例对本申请提供的测量方法进行介绍。
一种实现示例中,上述网络设备在图3所示方法中的实现步骤可以通过图6所示模块实现。如图6所示,该网络设备可以包括图中的可组合测量单元,动态内存以及硬件资源,下面将分别进行详细介绍。
首先,对图6中的可组合测量单元进行介绍。
在图6中,可组合测量单元可以用于执行前述步骤S301的实现过程。该可组合测量单元可以包括键选择模块和属性选择模块,其中,键选择模块用于获取步骤S301中的测量任务的键,属性选择模块用于获取步骤S301中的测量任务的属性。
可选地,在图6中的可组合测量单元中的键选择模块和属性选择模块还可以通过图7所示示例实现。在图7中,键选择模块包括键候选池,该键候选池包括一个或多个候选的键,以供控制面在该一个或多个候选的键选择测量任务对应的键。该键候选池还可以调用硬件资源中的哈希单元,使得该哈希单元基于控制面所选择的键执行一次或多次哈希运算,以得到哈希计算结果。并且,该哈希计算结果可以作为SALU的一个输入信息。类似地,在图7中,属性模块包括属性候选池,该属性候选池包括一个或多个候选的属性,以供控制面在该一个或多个候选的属性选择测量任务对应的属性。该属性候选池还可以调用硬件资源中的SALU,使得该SALU基于哈希计算结果以及控制面所选择的属性进行进一步的计算。
可以理解的是,该键候选池所包含的一个或多个候选的键(或该属性候选池所包含的一个或多个候选的属性)可以为网络设备预配置,也可以为用户在控制面中自定义的配置,此处不做限定。
可选地,若控制面选择多个属性,则可以将所选择的多种属性进行组合,以节省SALU的算子消耗。例如,若选择的多个属性包括加操作(例如+1)以及比较操作(例如取最大值)的情况下,可以将这两个操作合并成一个操作,以节省SALU的算子消耗。
其次,对图6中的动态内存进行介绍。
在图6中,动态内存可以用于执行前述步骤S302的实现过程。该动态内存可以包括地址转换模块,其中,该动态内存用于基于可测量单元输入的键和/或属性,确定该键和/或属性对应的计算资源以及存储资源。
最后,对图6中的硬件资源进行介绍。
在图6中,硬件资源至少用于执行前述步骤S303的实现过程。
可选地,图6所示硬件资源中的PHV用于提取报文头(也就是键)。
可选地,图6所示硬件资源中的哈希单元用于对控制面所选择的键进行一次或多次哈希运算。
可选地,图6所示硬件资源中的SALU用于对控制面所选择的属性进行相应的计算操作。其中,该SALU还可以通过其它的方式实现。
可选地,图6所示硬件资源中的SRAM用于存储属性对应的计算结果以及键对应的计算结果。其中,该SRAM还可以通过其它的方式实现,例如片外外挂记忆(memory)存储等。
综上所述,基于上述测量方法的实现,在硬件交换芯片上可以支持测量任务运行时重配置的测量。从而,在不修改硬件的情况下,网络设备可动态支持多种统计任务,同时可以支持新增加的统计任务。
可选地,在一些实施例中,还提供一种抽象的接口来表达测量操作,包括key和attribute的组合任务可以灵活构建。
可选地,在一些实施例中,还可以根据测量需求为测量任务动态分配内存空间提升资源利用率,并支持执行多种测量任务。
请参阅图8,本申请实施例提供了一种通信装置,该通信装置800可以实现上述方法实施例中通信装置(即网络设备)的功能,因此也能实现上述方法实施例所具备的有益效果。
当该通信装置800用于实现前述网络设备的功能时,该通信装置所包含收发单元801和处理单元802;该收发单元801用于在该处理单元802处理数据流的过程中,获取测量任务的键和/或属性,其中,键指示该数据流的标识,属性指示对该数据流的测量信息的操作;该处理单元802用于基于该键和/或属性确定该测量任务的计算资源和存储资源;该处理单元802用于基于该计算资源和存储资源对该数据流进行测量。
在一种可能的实现方式中,在该计算资源和该存储资源被该测量任务释放之后,该计算资源和该存储资源被其它测量任务使用。
在一种可能的实现方式中,该处理单元802具体用于:获取该测量任务的测量精度信息;基于该测量任务的测量精度信息确定该存储资源。
在一种可能的实现方式中,该处理单元802具体用于:基于该键确定该测量任务的该计算资源和该存储资源,其中,该计算资源包括该键对应的哈希计算资源,该存储资源包括该键对应的计算结果的存储资源。
在一种可能的实现方式中,该处理单元802具体用于:基于该属性确定该测量任务的该计算资源和该存储资源,其中,该计算资源包括该属性对应的算子资源,该存储资源包括该属性对应的计算结果存储资源。
在一种可能的实现方式中,该测量任务为sketch任务。
在一种可能的实现方式中,该键包括以下至少一项:源网际协议IP地址,源端口,目的IP地址,目的端口,传输层协议,虚拟局域网vlan值、区分服务代码点dscp值。
在一种可能的实现方式中,该属性包括以下至少一项:加操作,减操作,或操作,同或操作,异或操作,比较操作,数据流对应的报文时间戳。
需要说明的是,上述通信装置800的各单元的信息执行过程等内容,具体可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种通信装置900,参见图9所示,图9为本申请实施例提供的一种通信装置900的结构示意图。
可选地,该通信装置900执行附图3及相关实施例中网络设备的功能;其中,通信装置1000执行附图3及相关实施例中其它网络设备的功能。
附图9所示通信装置900包括存储器902和至少一个处理器901。
可选地,处理器901通过读取存储器902中保存的指令实现上述实施例中的方法,或者,处理器901也可以通过内部存储的指令实现上述实施例中的方法。在处理器901通过读取存储器902中保存的指令实现上述实施例中的方法的情况下,存储器902中保存实现本申请上述实施例提供的方法的指令。
可选地,至少一个处理器901是一个或多个CPU,或者是单核CPU,也可以是多核CPU。
进一步可选地,至少一个处理器901还可以用于执行前述图8所示实施例中处理单元802对应的实现过程,并实现相应的有益效果,此处不做赘述。
存储器902包括但不限于是RAM、ROM、EPROM、快闪存储器、或光存储器等。存储器902中保存有操作系统的指令。
存储器902中存储的程序指令被所述至少一个处理器901读取后,通信装置执行前述实施例中对应的操作。
可选地,附图9所示的通信装置还包括网络接口903。网络接口903可以是有线接口,例如FDDI,GE接口;网络接口903也可以是无线接口。网络接口903用于在附图3及相关实施例中执行数据的收发。
进一步可选地,网络接口903还可以用于执行前述图8所示实施例中收发单元801对应的实现过程,并实现相应的有益效果,此处不做赘述。
应理解,网络接口903具备接收数据和发送数据的功能,“接收数据”的功能和“发送数据”的功能可以集成在同一个收发接口中实现,或者,“接收数据”的功能和“发送数据”的功能可以分别在不同的接口中实现,此处不做限定。换言之,网络接口903可以包括一个或多个接口,用于实现“接收数据”的功能和“发送数据”的功能。
处理器901读取存储器902中的程序指令后,通信装置900能够执行的其他功能请参照前面各个方法实施例中的描述。
可选地,通信装置900还包括总线904,上述处理器901、存储器902通常通过总线904相互连接,也可以采用其他方式相互连接。
可选地,通信装置900还包括输入输出接口905,输入输出接口905用于与输入设备连接,接收用户、或者与通信装置900能够联动的其他设备通过输入设备输入的相关配置信息。输入设备包括但不限于键盘、触摸屏、麦克风等等。
本申请实施例提供的通信装置900用于执行上述各个方法实施例提供的通信装置(第一网络设备)执行的方法,并实现对应的有益效果。
例如,当通信装置900执行附图3及相关实施例中网络设备的功能的情况下;通信装置900在处理数据流的过程中,获取测量任务的键(key)和/或属性(attribute),其中,键指示该数据流的标识,属性指示对该数据流的测量信息的操作;该通信装置900基于该键和/或属性确定该测量任务的计算资源和存储资源;该通信装置900基于该计算资源和存储资源对该数据流进行测量。换言之,该通信装置900在处理数据流的过程中,无需中止当前的网络流量,就可以基于确定测量任务的计算资源和存储资源对数据流进行测量,避免网络流量对应的业务不连续,以期提升网络的通信效率。
可选地,通信装置900获取测量任务的键和/或属性的过程可以包括:通信装置900接收来自其他通信装置1000的信息,该信息用于指示测量任务的键和/或属性。
图9所示通信装置的具体实现方式,均可以参考前述的各个方法实施例中的叙述,此处不再一一赘述。
本申请实施例还提供了一种通信系统,该通信系统至少包括用于执行前述方法实施例的网络设备。
可选地,该通信系统还包括其它网络设备,该其他网络设备用于向该网络设备发送信息,该信息用于指示测量任务的键和/或属性。
应理解,在该通信系统中,各个网络设备还可以应用前述实施例所涉及的其它方法,并实现相应的技术效果,此处不做赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (22)

1.一种测量方法,其特征在于,包括:
在处理数据流的过程中,获取测量任务的键和/或属性,所述键指示所述数据流的标识,所述属性指示对所述数据流的测量信息的操作;
基于所述键和/或所述属性确定所述测量任务的计算资源和存储资源;
基于所述计算资源和所述存储资源对所述数据流进行测量。
2.根据权利要求1所述的方法,其特征在于,
在所述计算资源和所述存储资源被所述测量任务释放之后,所述计算资源和所述存储资源被其它测量任务使用。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述键和/或所述属性确定所述测量任务的计算资源和存储资源包括:
获取所述测量任务的测量精度信息;
基于所述测量任务的测量精度信息确定所述存储资源。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述键和/或所述属性确定所述测量任务的计算资源和存储资源包括:
基于所述键确定所述测量任务的所述计算资源和所述存储资源,其中,所述计算资源包括所述键对应的哈希计算资源,所述存储资源包括所述键对应的计算结果的存储资源。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述键和/或所述属性确定所述测量任务的计算资源和存储资源包括:
基于所述属性确定所述测量任务的所述计算资源和所述存储资源,其中,所述计算资源包括所述属性对应的算子资源,所述存储资源包括所述属性对应的计算结果存储资源。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述测量信息包括所述数据流对应的报文计数。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述测量任务为草图sketch任务。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述键包括以下至少一项:
源网际协议IP地址,源端口,目的IP地址,目的端口,传输层协议,虚拟局域网vlan值、区分服务代码点dscp值。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述属性包括以下至少一项:
加操作,减操作,或操作,同或操作,异或操作,比较操作,数据流对应的报文时间戳。
10.一种通信装置,其特征在于,包括收发单元和处理单元;
所述收发单元用于在所述处理单元处理数据流的过程中,获取测量任务的键和/或属性,所述键指示所述数据流的标识,所述属性指示对所述数据流的测量信息的操作;
所述处理单元用于基于所述键和/或所述属性确定所述测量任务的计算资源和存储资源;
所述处理单元用于基于所述计算资源和所述存储资源对所述数据流进行测量。
11.根据权利要求10所述的装置,其特征在于,
在所述计算资源和所述存储资源被所述测量任务释放之后,所述计算资源和所述存储资源被其它测量任务使用。
12.根据权利要求10或11所述的装置,其特征在于,所述处理单元具体用于:
获取所述测量任务的测量精度信息;
基于所述测量任务的测量精度信息确定所述存储资源。
13.根据权利要求10至12任一项所述的装置,其特征在于,所述处理单元具体用于:
基于所述键确定所述测量任务的所述计算资源和所述存储资源,其中,所述计算资源包括所述键对应的哈希计算资源,所述存储资源包括所述键对应的计算结果的存储资源。
14.根据权利要求10至13任一项所述的装置,其特征在于,所述处理单元具体用于:
基于所述属性确定所述测量任务的所述计算资源和所述存储资源,其中,所述计算资源包括所述属性对应的算子资源,所述存储资源包括所述属性对应的计算结果存储资源。
15.根据权利要求10至14任一项所述的装置,其特征在于,所述测量信息包括所述数据流对应的报文计数。
16.根据权利要求10至15任一项所述的装置,其特征在于,所述测量任务为草图sketch任务。
17.根据权利要求10至16任一项所述的装置,其特征在于,所述键包括以下至少一项:
源网际协议IP地址,源端口,目的IP地址,目的端口,传输层协议,虚拟局域网vlan值、区分服务代码点dscp值。
18.根据权利要求10至17任一项所述的装置,其特征在于,所述属性包括以下至少一项:
加操作,减操作,或操作,同或操作,异或操作,比较操作,数据流对应的报文时间戳。
19.一种通信装置,其特征在于,包括至少一个处理器,所述至少一个处理器与存储器耦合;
所述存储器用于存储程序或指令;
所述至少一个处理器用于执行所述程序或指令,以使所述通信装置实现如权利要求1至9中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述介质存储有指令,当所述指令被处理器执行时,实现权利要求1至9中任一项所述的方法。
21.一种计算机程序产品,其特征在于,包括指令,当所述指令在处理器上运行时,实现如权利要求1至9中任一项所述的方法。
22.一种芯片,其特征在于,所述芯片包括处理器和通信接口;
其中,所述通信接口和所述处理器耦合,所述处理器用于运行计算机程序或指令,以实现如权利要求1至9中任一项所述的方法。
CN202210912607.1A 2022-06-29 2022-07-30 一种测量方法及相关设备 Pending CN117319275A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210785152 2022-06-29
CN2022107851521 2022-06-29

Publications (1)

Publication Number Publication Date
CN117319275A true CN117319275A (zh) 2023-12-29

Family

ID=89236071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210912607.1A Pending CN117319275A (zh) 2022-06-29 2022-07-30 一种测量方法及相关设备

Country Status (1)

Country Link
CN (1) CN117319275A (zh)

Similar Documents

Publication Publication Date Title
US11611637B2 (en) Scheduling services on a platform including configurable resources
Rizzo et al. Transparent acceleration of software packet forwarding using netmap
CN110178342B (zh) Sdn网络的可扩缩应用级别监视
US20210318885A1 (en) Accelerating network security monitoring
Jouet et al. Bpfabric: Data plane programmability for software defined networks
US9219689B2 (en) Source-driven switch probing with feedback request
CN113867883A (zh) 用于分布式计算系统内的遥测数据收集的可缩放控制平面
US11336545B2 (en) Network device measurements employing white boxes
JP2022532731A (ja) スライスベースネットワークにおける輻輳回避
CN113328902A (zh) 网络性能检测方法、装置及网络设备
CN112788060A (zh) 数据包传输方法和装置、存储介质和电子设备
Riccobene et al. Automated generation of VNF deployment rules using infrastructure affinity characterization
Bruschi et al. Openvolcano: An open-source software platform for fog computing
KR20120062174A (ko) 다양한 특성의 패킷을 동적으로 처리하는 패킷 처리장치 및 방법
US10263807B2 (en) Hierarchical statistics acceleration
CN109076027B (zh) 网络服务请求
CN117319275A (zh) 一种测量方法及相关设备
Rezende et al. Analysis of monitoring and multipath support on top of OpenFlow specification
US20220321403A1 (en) Programmable network segmentation for multi-tenant fpgas in cloud infrastructures
KR20180134219A (ko) 가상머신 패킷의 처리방법과 그 장치
Kovacs et al. Evaluation of layer 3 multipath solutions using container technologies
Baldi et al. Network Function Modeling and Performance Estimation.
US11973667B2 (en) Data transmission processing networking method and apparatus in a host supporting quality assurance of hyper-precision communication services
EP4117241A1 (en) Service execution method, apparatus and system, and storage medium
US20240267340A1 (en) Time ordered switching

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication