首页 / 专利库 / 资料储存系统 / 智能卡 / 智能芯片 / 数据流检测方法、装置及存储介质

数据流检测方法、装置及存储介质

阅读:510发布:2020-05-08

专利汇可以提供数据流检测方法、装置及存储介质专利检索,专利查询,专利分析的服务。并且本 申请 实施例 提供一种数据流检测方法、装置及存储介质,所述方法包括:通过转发芯片根据 访问 控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文,并将所述目标报文发送给检测装置,以便于所述检测装置检测所述目标报文对应的数据流的性能指标。本申请实施例提供的转发芯片可以应用于支持ACL的传统交换机中,因此,无需更换传统交换机便可检测所述目标报文对应的数据流的性能指标,从而可以满足 软件 定义网络SDN对网络智能运维的需求,同时节省了成本。,下面是数据流检测方法、装置及存储介质专利的具体信息内容。

1.一种数据流检测方法,其特征在于,所述方法应用于包括转发芯片的交换机,所述方法包括:
所述转发芯片根据访问控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文;其中,所述匹配规则用于识别待检测的报文;
所述转发芯片将所述目标报文发送给检测装置,所述目标报文用于所述检测装置检测所述目标报文对应的数据流的性能指标。
2.根据权利要求1所述的方法,其特征在于,所述匹配规则包括:控制报文匹配规则和/或连续数据报文匹配规则;其中,所述控制报文匹配规则用于识别待检测的控制报文,所述连续数据报文匹配规则用于识别待检测的连续的至少两个数据报文。
3.根据权利要求2所述的方法,其特征在于:
所述连续数据报文匹配规则包括:序列号参考值和第一掩码;其中,所述第一掩码用于与所述序列号参考值结合确定数据报文的序列号的范围;
和/或,
所述连续数据报文匹配规则包括:确认号参考值和第二掩码;其中,所述第二掩码用于与所述确认号参考值结合确定数据报文的确认号的范围。
4.根据权利要求2所述的方法,其特征在于,所述控制报文匹配规则包括:至少一个目标控制位标识;其中,
所述确定与所述匹配规则相匹配的目标报文,包括:
确定包括所述目标控制位标识的报文为所述控制报文。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述转发芯片为特定应用集成电路ASIC转发芯片或网络处理器NP芯片。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述检测装置为以下任意一个:所述交换机中的中央处理器CPU;所述交换机中的现场可编程逻辑阵列FPGA;以及位于所述交换机外部的具有数据分析功能的装置。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述目标报文包括控制报文,所述目标报文对应的数据流的性能指标包括所述数据流的建立时间,断开时间和流量统计中的至少一项。
8.根据权利要求1-6中任意一项所述的方法,其特征在于,所述目标报文包括连续的至少两个数据报文,所述目标报文对应的数据流的性能指标包括所述数据流的时延信息和/或丢包信息。
9.一种转发芯片,其特征在于,所述转发芯片应用于交换机,所述转发芯片包括:
确定模,用于根据访问控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文;其中,所述匹配规则用于识别待检测的报文;
发送模块,用于将所述目标报文发送给检测装置,所述目标报文用于所述检测装置检测所述目标报文对应的数据流的性能指标。
10.根据权利要求9所述的转发芯片,其特征在于,所述匹配规则包括:控制报文匹配规则和/或连续数据报文匹配规则;其中,所述控制报文匹配规则用于识别待检测的控制报文,所述连续数据报文匹配规则用于识别待检测的连续的至少两个数据报文。
11.根据权利要求10所述的转发芯片,其特征在于:
所述连续数据报文匹配规则包括:序列号参考值和第一掩码;其中,所述第一掩码用于与所述序列号参考值结合确定数据报文的序列号的范围;
和/或,
所述连续数据报文匹配规则包括:确认号参考值和第二掩码;其中,所述第二掩码用于与所述确认号参考值结合确定数据报文的确认号的范围。
12.根据权利要求10所述的转发芯片,其特征在于,所述控制报文匹配规则包括:至少一个目标控制位标识。
13.一种转发芯片,其特征在于,所述转发芯片应用于交换机,所述转发芯片包括:
处理器和存储器
其中,所述存储器,用于存储程序指令;
所述处理器,用于调用并执行所述存储器中存储的程序指令,当所述处理器执行所述存储器存储的程序指令时,所述转发芯片执行如权利要求1至8中任一项所述的方法。
14.一种交换机,其特征在于,包括:如权利要求9-13中任意一项所述的转发芯片。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至8中任一项所述的方法。

说明书全文

数据流检测方法、装置及存储介质

技术领域

[0001] 本申请涉及网络技术领域,尤其涉及一种数据流检测方法、装置及存储介质。

背景技术

[0002] 目前的传统交换机大部分是采用特定应用的集成电路(application-specific integrated circuit,ASIC)转发芯片,通常可以对大带宽流量实现快速转发。但采用ASIC转发芯片的传统交换机无法感知转发报文对应的数据流的性能指标,难以满足软件定义网络(software-defined networking,SDN)对网络智能运维的需求。
[0003] 图1为相关技术中提供的数据流检测示意图。如图1所示,通过在交换机的转发芯片中添加流表(flowtable)功能,检测转发的数据流的性能指标;进一步地,该转发芯片将检测结果发送给位于交换机外部的分析器。
[0004] 但相关技术中提供的交换机必须采用添加流表功能的转发芯片,为了满足SDN对网络智能运维的需求,可能需要大量更换传统交换机,成本较高。发明内容
[0005] 本申请实施例提供一种数据流检测方法、装置及存储介质,解决了相关技术中需要大量更换传统交换机,成本较高的技术问题。
[0006] 第一方面,本申请实施例提供一种数据流检测方法,所述方法应用于包括转发芯片的交换机,所述方法包括:
[0007] 所述转发芯片根据访问控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文;其中,所述匹配规则用于识别待检测的报文;
[0008] 所述转发芯片将所述目标报文发送给检测装置,所述目标报文用于所述检测装置检测所述目标报文对应的数据流的性能指标。
[0009] 第一方面提供的数据流检测方法中,通过交换机中的转发芯片根据访问控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文,并将所述目标报文发送给检测装置,以便于所述检测装置检测所述目标报文对应的数据流的性能指标。本申请实施例提供的转发芯片可以应用于支持ACL的传统交换机中,因此,无需更换传统交换机便可检测所述目标报文对应的数据流的性能指标,从而可以满足SDN对网络智能运维的需求,同时节省了成本。
[0010] 在一种可能的实现方式中,所述匹配规则包括:控制报文匹配规则和/或连续数据报文匹配规则;其中,所述控制报文匹配规则用于识别待检测的控制报文,所述连续数据报文匹配规则用于识别待检测的连续的至少两个数据报文。
[0011] 在一种可能的实现方式中,所述连续数据报文匹配规则包括:序列号参考值和第一掩码;其中,所述第一掩码用于与所述序列号参考值结合确定数据报文的序列号的范围;
[0012] 和/或,
[0013] 所述连续数据报文匹配规则包括:确认号参考值和第二掩码;其中,所述第二掩码用于与所述确认号参考值结合确定数据报文的确认号的范围。
[0014] 本实现方式,实现了对携带序列号的数据报文与携带对应确认号的数据报文的连续采样,从而可以保证每次采集到连续的数据报文至少包括双向交互的数据报文,以便于所述检测装置可以检测对应数据流的性能指标。
[0015] 在一种可能的实现方式中,所述控制报文匹配规则包括:至少一个目标控制位标识;其中,所述确定与所述匹配规则相匹配的目标报文,包括:
[0016] 确定包括所述目标控制位标识的报文为所述控制报文。
[0017] 本实现方式,实现了对控制报文的采样,以便于所述检测装置可以检测对应数据流的性能指标。
[0018] 在一种可能的实现方式中,所述转发芯片为特定应用集成电路ASIC转发芯片或网络处理器NP芯片。
[0019] 在一种可能的实现方式中,所述检测装置为以下任意一个:所述交换机中的中央处理器CPU;所述交换机中的现场可编程逻辑阵列FPGA;以及位于所述交换机外部的具有数据分析功能的装置。
[0020] 在一种可能的实现方式中,所述目标报文包括控制报文,所述目标报文对应的数据流的性能指标包括所述数据流的建立时间,断开时间和流量统计中的至少一项。
[0021] 在一种可能的实现方式中,所述目标报文包括连续的至少两个数据报文,所述目标报文对应的数据流的性能指标包括所述数据流的时延信息和/或丢包信息。
[0022] 第二方面,本申请实施例提供一种转发芯片,所述转发芯片应用于交换机,所述转发芯片包括:
[0023] 确定模,用于根据访问控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文;其中,所述匹配规则用于识别待检测的报文;
[0024] 发送模块,用于将所述目标报文发送给检测装置,所述目标报文用于所述检测装置检测所述目标报文对应的数据流的性能指标。
[0025] 在一种可能的实现方式中,所述匹配规则包括:控制报文匹配规则和/或连续数据报文匹配规则;其中,所述控制报文匹配规则用于识别待检测的控制报文,所述连续数据报文匹配规则用于识别待检测的连续的至少两个数据报文。
[0026] 在一种可能的实现方式中,所述连续数据报文匹配规则包括:序列号参考值和第一掩码;其中,所述第一掩码用于与所述序列号参考值结合确定数据报文的序列号的范围;
[0027] 和/或,
[0028] 所述连续数据报文匹配规则包括:确认号参考值和第二掩码;其中,所述第二掩码用于与所述确认号参考值结合确定数据报文的确认号的范围。
[0029] 在一种可能的实现方式中,所述控制报文匹配规则包括:至少一个目标控制位标识;其中,所述确定模块具体用于:
[0030] 确定包括所述目标控制位标识的报文为所述控制报文。
[0031] 在一种可能的实现方式中,所述转发芯片为特定应用集成电路ASIC转发芯片或网络处理器NP芯片。
[0032] 在一种可能的实现方式中,所述检测装置为以下任意一个:所述交换机中的中央处理器CPU;所述交换机中的现场可编程逻辑门阵列FPGA;以及位于所述交换机外部的具有数据分析功能的装置。
[0033] 在一种可能的实现方式中,所述目标报文包括控制报文,所述目标报文对应的数据流的性能指标包括所述数据流的建立时间,断开时间和流量统计中的至少一项。
[0034] 在一种可能的实现方式中,所述目标报文包括连续的至少两个数据报文,所述目标报文对应的数据流的性能指标包括所述数据流的时延信息和/或丢包信息。
[0035] 上述第二方面的实现方式所提供的转发芯片,其有益效果可以参见上述第一方面的实现方式所带来的有益效果,在此不再赘述。
[0036] 第三方面,本申请实施例提供一种转发芯片,所述转发芯片应用于交换机,所述转发芯片包括:
[0037] 处理器和存储器
[0038] 其中,所述存储器,用于存储程序指令;
[0039] 所述处理器,用于调用并执行所述存储器中存储的程序指令,当所述处理器执行所述存储器存储的程序指令时,所述转发芯片能够执行上述第一方面的任意实现方式所述的方法。
[0040] 第四方面,本申请实施例提供一种交换机,包括:如上述第二方面或第三方面的任意实现方式所述的转发芯片。
[0041] 第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面的任意实现方式所述的方法。
[0042] 第六方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面的任意实现方式所述方法中转发芯片的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
[0043] 第七方面,本申请实施例提供一种程序,该程序在被处理器执行时用于执行上述第一方面的任意实现方式所述的方法。
[0044] 第八方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面的任意实现方式所述的方法。附图说明
[0045] 图1为相关技术中提供的数据流检测示意图;
[0046] 图2A为本申请实施例提供的应用场景示意图;
[0047] 图2B为本申请实施例提供的客户端与服务器之间的通信流程示意图;
[0048] 图3为本申请一实施例提供的数据流检测方法的流程示意图;
[0049] 图4为本申请一实施例提供的转发芯片的结构示意图;
[0050] 图5为本申请另一实施例提供的转发芯片的结构示意图。

具体实施方式

[0051] 首先,对本申请实施例所涉及的应用场景和部分词汇进行解释说明。
[0052] 图2A为本申请实施例提供的应用场景示意图。如图2A所示,本申请实施例提供的应用场景可以包括:检测装置以及转发芯片(可以位于交换机中)。示例性地,所述转发芯片用于根据访问控制列表(access control list,ACL)中的匹配规则,从接收的报文中采集与所述匹配规则相匹配的待检测的目标报文,并将所述目标报文发送给所述检测装置;所述检测装置用于检测所述目标报文对应的数据流的性能指标。当然,本申请实施例提供的应用场景示意图中还可以包括其它装置,本申请实施例中对此并不作限制。
[0053] 本申请实施例中涉及的交换机为支持ACL功能的交换机。
[0054] 本申请实施例中涉及的转发芯片可以为ASIC转发芯片或网络处理器(network processor,NP)芯片;当然,所述转发芯片还可以为其它类型的芯片,本申请对此并不作限制。
[0055] 本申请实施例中涉及的检测装置可以为以下任意一个:所述交换机中的中央处理器(central processing unit,CPU);所述交换机中的现场可编程逻辑门阵列(field-programmable gate array,FPGA);以及位于所述交换机外部的具有数据分析功能的装置;当然,所述检测装置还可以为其它类型的装置,本申请实施例中对此并不作限制。
[0056] 本申请实施例中涉及的访问控制列表ACL中的匹配规则用于识别待检测的报文。示例性地,所述匹配规则可以包括但不限于:控制报文匹配规则(用于识别待检测的控制报文)和/或连续数据报文匹配规则(用于识别待检测的连续的至少两个数据报文)。
[0057] 本申请实施例中涉及的目标报文可以包括但不限于:控制报文和/或连续的至少两个数据报文。
[0058] 示例性地,若所述目标报文包括控制报文,所述目标报文对应的数据流的性能指标可以包括但不限于:所述数据流的建立时间,断开时间和流量统计中的至少一项。
[0059] 示例性地,若所述目标报文包括连续的至少两个数据报文,所述目标报文对应的数据流的性能指标可以包括但不限于:所述数据流的时延信息和/或丢包信息。
[0060] 本申请实施例中涉及的报文、转发报文或目标报文可以包括但不限于:传输控制协议(transmission control protocol,TCP)报文。
[0061] 示例性地,本申请实施例中涉及的TCP报文可以包括但不限于:TCP数据报文和/或TCP控制报文。例如,所述TCP控制报文可以包括但不限于以下至少一个:同步(synchronize,SYN)报文、结束(finish,FIN)报文或重置(reset,RST)报文。
[0062] 图2B为本申请实施例提供的客户端与服务器之间的通信流程示意图。如图2B所示,客户端与服务器首先通过三次握手协议建立连接,其次进行数据传输,最后通过四次握手协议断开连接。
[0063] 1)建立连接过程
[0064] 客户端发送第一SYN报文给服务器,其中,所述第一SYN报文中的序列号(sequence number,seq)=x;
[0065] 所述服务器在收到所述第一SYN报文后,向所述客户端回应第二SYN报文,从而进入SYN_RECV状态,其中,所述第二SYN报文中的seq=y,确认号(acknowledgment number,ACK)=x+1;
[0066] 所述客户端在收到所述服务器发送的所述第二SYN报文后,向所述服务器回应第一ACK报文,从而进入建立完成(established)状态,其中,所述第一ACK报文中的ACK=y+1。
[0067] 2)数据传输过程
[0068] 当所述客户端与所述服务器建立连接后,所述客户端向所述服务器发送数据报文,其中,所述数据报文中的seq=x+1,ACK=y+1;
[0069] 所述服务器在接收所述数据报文后,向所述客户端回应第二ACK报文,其中,所述第二ACK报文中的ACK=x+2。
[0070] 3)断开连接过程
[0071] 所述客户端向所述服务器发送第一FIN报文(用于指示数据报文发送完毕),其中,所述第一FIN报文中的seq=x+2,ACK=y+1;
[0072] 所述服务器在接收到所述第一FIN报文后,向所述客户端回应第三ACK报文和第二FIN报文,其中,所述第三ACK报文中的ACK=x+3,所述第二FIN报文中的seq=y+1;
[0073] 所述客户端接收到所述第三ACK报文和所述第二FIN报文后,向所述服务器回应第四ACK报文,从而断开连接,其中,所述第四ACK报文中的ACK=y+2。
[0074] 本申请实施例中的编号“第一”以及“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,不应对本申请实施例构成任何限定。
[0075] 本申请实施例中的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0076] 本申请实施例提供的数据流检测方法、装置及存储介质,通过交换机中的转发芯片根据访问控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文,并将所述目标报文发送给检测装置,以便于所述检测装置检测所述目标报文对应的数据流的性能指标。本申请实施例提供的转发芯片可以应用于支持ACL的传统交换机中,因此,无需更换传统交换机便可检测所述目标报文对应的数据流的性能指标,从而解决了相关技术中需要大量更换传统交换机,成本较高的技术问题。
[0077] 下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
[0078] 图3为本申请一实施例提供的数据流检测方法的流程示意图。本申请实施例提供的数据流检测方法可以应用于包括转发芯片的交换机。结合图2A和图3所示,本申请实施例的方法可以包括:
[0079] 步骤S301、转发芯片根据访问控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文。
[0080] 本申请实施例中涉及的转发芯片中具有ACL功能,其中,ACL功能可以过滤网络中的流量,是控制访问的一种网络技术手段,也是物联网中保障系统安全性的重要技术。本申请实施例中,所述转发芯片的ACL中可以包括匹配规则(用于识别待检测的报文);示例性地,所述匹配规则可以为检测装置配置的,或者为其它装置配置的。
[0081] 本步骤中,所述转发芯片根据所述ACL中的匹配规则(用于识别待检测的报文)监测接收的报文,确定与所述匹配规则相匹配的目标报文。示例性地,所述匹配规则可以包括但不限于:控制报文匹配规则和/或连续数据报文匹配规则;其中,所述控制报文匹配规则用于识别待检测的控制报文,所述连续数据报文匹配规则用于识别待检测的连续的至少两个数据报文。
[0082] 例如,若所述匹配规则包括所述控制报文匹配规则,则所述目标报文可以包括与所述控制报文匹配规则相匹配的控制报文;若所述匹配规则包括所述连续数据报文匹配规则,则所述目标报文可以包括与所述连续数据报文匹配规则相匹配的至少两个数据报文;若所述匹配规则包括所述控制报文匹配规则和所述连续数据报文匹配规则,则所述目标报文可以包括:与所述控制报文匹配规则相匹配的控制报文,以及与所述连续数据报文匹配规则相匹配的至少两个数据报文。
[0083] 本申请下述实施例中,对“当所述匹配规则包括所述控制报文匹配规则,或所述连续数据报文匹配规则时,所述转发芯片根据所述匹配规则确定与所述匹配规则相匹配的目标报文”的可实现方式进行详细介绍。
[0084] 一种可能的实现方式中,当匹配规则包括控制报文匹配规则时,所述转发芯片根据所述控制报文匹配规则确定与所述控制报文匹配规则相匹配的控制报文。
[0085] 示例性地,所述控制报文匹配规则可以包括:至少一个目标控制位标识;任一所述目标控制位标识可以唯一标识对应的控制报文。例如,对于TCP控制报文,所述至少一个目标控制位标识可以包括但不限于:SYN、FIN、RST中的至少一个;其中,SYN用于标识SYN控制报文,FIN用于标识FIN控制报文,RST用于标识RST控制报文。
[0086] 本实现方式中,所述转发芯片根据所述控制报文匹配规则(可以包括:至少一个目标控制位标识)确定包括任意目标控制位标识的报文即为控制报文。例如,假设所述至少一个目标控制位标识可以包括:SYN、FIN和RST,若所述转发芯片监测到报文1中包括SYN,则确定所述报文1为SYN控制报文;若所述转发芯片监测到报文2中包括FIN,则确定所述报文2为FIN控制报文;若所述转发芯片监测到报文3中包括RST,则确定所述报文3为RST控制报文。
[0087] 可见,实现了对控制报文的采样方案,以便于所述检测装置可以检测对应数据流的建立时间,断开时间和/或流量统计等信息。
[0088] 另一种可能的实现方式中,当匹配规则包括连续数据报文匹配规则时,所述转发芯片根据所述连续数据报文匹配规则确定与所述连续数据报文匹配规则相匹配的连续的至少两个数据报文。
[0089] 示例性地,所述连续数据报文匹配规则可以包括:序列号参考值和第一掩码;其中,所述第一掩码用于与所述序列号参考值结合确定数据报文的序列号的范围;和/或,所述连续数据报文匹配规则可以包括:确认号参考值和第二掩码;其中,所述第二掩码用于与所述确认号参考值结合确定数据报文的确认号的范围。
[0090] 本实现方式中,若连续数据报文匹配规则可以包括:序列号参考值和第一掩码,则所述转发芯片根据所述连续数据报文匹配规则确定序列号中包括根据所述第一掩码与所述序列号参考值结合所确定的序列号范围的各数据报文,即为与所述连续数据报文匹配规则相匹配的数据报文。
[0091] 例如,假设实现每8M字节数据中连续采样8K字节报文,所述连续数据报文匹配规则可以包括:l4-head(4层头偏移)字段、0x12345678(即序列号参考值)字段和0x007ff000(即第一掩码)字段,则所述转发芯片确定序列号中包括根据所述第一掩码与所述序列号参考值结合所确定的序列号范围(例如分别将0x12345678和0x007ff000转换为二进制后相与运算,并将运算结果转换为16进制得到0x00345000)的各数据报文,是与所述连续数据报文匹配规则相匹配的数据报文(即序列号中按照由高位到低位顺序的第三位为3、第四位为4、第五位为5和其它位为任意值的各数据报文)。
[0092] 本实现方式中,连续数据报文匹配规则可以包括:确认号参考值和第二掩码,则所述转发芯片根据所述连续数据报文匹配规则确定确认号中包括根据所述第二掩码与所述确认号参考值结合所确定的确认号范围的各数据报文,即为与所述连续数据报文匹配规则相匹配的数据报文。
[0093] 例如,假设实现每8M字节数据中连续采样8K字节报文,所述连续数据报文匹配规则可以包括:l4-head字段、0x12345678(即确认号参考值)字段和0x00fff000(即第二掩码)字段,则所述转发芯片确定确认号中包括根据所述第二掩码与所述确认号参考值结合所确定的确认号范围(例如分别将0x12345678和0x00fff000转换为二进制后相与运算,并将运算结果转换为16进制得到0x00345000)的各数据报文,是与所述连续数据报文匹配规则相匹配的数据报文(即确认号中按照由高位到低位顺序的第三位为3、第四位为4、第五位为5和其它位为任意值的各数据报文)。
[0094] 本实现方式中,若连续数据报文匹配规则可以包括:序列号参考值、第一掩码、确认号参考值和第二掩码,则所述转发芯片根据所述连续数据报文匹配规则确定序列号中包括根据所述第一掩码与所述序列号参考值结合所确定的序列号范围的各数据报文,以及确认号中包括根据所述第二掩码与所述确认号参考值结合所确定的确认号范围的各数据报文,即为与所述连续数据报文匹配规则相匹配的数据报文。
[0095] 例如,假设实现每8M字节数据中连续采样8K字节报文,所述连续数据报文匹配规则可以包括:匹配规则1和匹配规则2,其中,所述匹配规则1:l4-head(4层头偏移)字段、0x12345678(即序列号参考值)字段和0x007ff000(即第一掩码)字段;所述匹配规则2:l4-head字段、0x12345678(即确认号参考值)字段和0x00fff000(即第二掩码)字段。
[0096] 则所述转发芯片确定序列号中包括根据所述第一掩码与所述序列号参考值结合所确定的序列号范围(例如0x00345000)的各数据报文,以及确认号中包括根据所述第二掩码与所述确认号参考值结合所确定的确认号范围(例如0x00345000)的各数据报文,是与所述连续数据报文匹配规则相匹配的数据报文(即序列号中按照由高位到低位顺序的第三位为3、第四位为4、第五位为5和其它位为任意值的各数据报文,以及确认号中按照由高位到低位顺序的第三位为3、第四位为4、第五位为5和其它位为任意值的各数据报文)。
[0097] 可见,本申请实施例实现了对携带序列号的数据报文与携带对应确认号的数据报文的连续采样,从而可以保证每次采集到连续的数据报文至少包括双向交互的数据报文,以便于所述检测装置可以检测对应数据流的时延信息和/或丢包信息等。
[0098] “当所述匹配规则包括所述控制报文匹配规则和所述连续数据报文匹配规则时,所述转发芯片根据所述匹配规则确定与所述匹配规则相匹配的目标报文”的可实现方式,可以参考本申请上述实施例中关于“当所述匹配规则包括所述控制报文匹配规则,或所述连续数据报文匹配规则时,所述转发芯片根据所述匹配规则确定与所述匹配规则相匹配的目标报文”的可实现方式,此处不再赘述。
[0099] 本申请实施例中,配置所述匹配规则的装置可以根据所述检测装置的处理性能灵活地配置所述转发芯片中的所述匹配规则,从而可以灵活地控制所述转发芯片上报给所述检测装置的所述目标报文和所述目标报文的数量。
[0100] 步骤S302、所述转发芯片将所述目标报文发送给检测装置,所述目标报文用于所述检测装置检测所述目标报文对应的数据流的性能指标。
[0101] 本申请实施例中的检测装置可以包括但不限于以下任意一个:所述交换机中的CPU、所述交换机中的FPGA以及位于所述交换机外部的具有数据分析功能的装置。
[0102] 示例性地,当所述检测装置为所述交换机中的CPU时,由于所述转发芯片只向所述检测装置上传与所述匹配规则相匹配的目标报文,因此,所述CPU只需检测所述目标报文对应的数据流的性能指标,从而不会影响所述CPU的处理性能。
[0103] 示例性地,当所述检测装置为所述交换机中的FPGA或者位于所述交换机外部的具有数据分析功能的装置时,一方面不会影响所述CPU的处理性能,另一方面也无需对所述交换机作任何更改,即无需更换交换机。
[0104] 本申请实施例中的所述目标报文可以包括但不限于:控制报文和/或连续的至少两个数据报文。
[0105] 本步骤中,所述转发芯片将上述步骤S301中所确定的所述目标报文发送给检测装置,所述目标报文用于所述检测装置检测所述目标报文对应的数据流的性能指标。
[0106] 示例性地,若所述目标报文包括控制报文,所述目标报文对应的数据流的性能指标可以包括但不限于:所述数据流的建立时间,断开时间和流量统计中的至少一项。
[0107] 又一示例性地,若所述目标报文包括连续的至少两个数据报文,所述目标报文对应的数据流的性能指标可以包括但不限于:所述数据流的时延信息和/或丢包信息。
[0108] 具体地,所述检测装置检测所述目标报文对应的数据流的性能指标的可实现方式,可以参考相关技术中检测数据流性能指标的可实现方式,本申请实施例中对此并不作限制。
[0109] 本申请实施例中,通过交换机中的转发芯片根据访问控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文,并将所述目标报文发送给检测装置,以便于所述检测装置检测所述目标报文对应的数据流的性能指标。本申请实施例提供的转发芯片可以应用于支持ACL功能的传统交换机中,因此,无需更换传统交换机便可检测所述目标报文对应的数据流的性能指标,从而可以满足SDN对网络智能运维的需求,同时节省了成本。
[0110] 另一方面,所述转发芯片只将与所述匹配规则相匹配的目标报文发送给所述检测装置进行进一步地检测分析,从而可以大幅度减少需要上报的目标报文的数量,节省了数据传输资源。
[0111] 进一步地,所述检测装置在对所述目标报文对应的数据流的性能指标检测之后,还可以将检测结果发送给位于所述交换机外部的分析器,以便于所述分析器可以对所述检测装置所发送的各检测结果进行分析和/或显示分析结果。
[0112] 图4为本申请一实施例提供的转发芯片的结构示意图。本申请实施例提供的所述转发芯片可以应用于交换机。如图4所示,本实施例提供的转发芯片40可以包括:确定模块401以及发送模块402。
[0113] 其中,确定模块401,用于根据访问控制列表ACL中的匹配规则确定与所述匹配规则相匹配的目标报文;其中,所述匹配规则用于识别待检测的报文;
[0114] 发送模块402,用于将所述目标报文发送给检测装置,所述目标报文用于所述检测装置检测所述目标报文对应的数据流的性能指标。
[0115] 在一种可能的实现方式中,所述匹配规则包括:控制报文匹配规则和/或连续数据报文匹配规则;其中,所述控制报文匹配规则用于识别待检测的控制报文,所述连续数据报文匹配规则用于识别待检测的连续的至少两个数据报文。
[0116] 在一种可能的实现方式中,所述连续数据报文匹配规则包括:序列号参考值和第一掩码;其中,所述第一掩码用于与所述序列号参考值结合确定数据报文的序列号的范围;
[0117] 和/或,
[0118] 所述连续数据报文匹配规则包括:确认号参考值和第二掩码;其中,所述第二掩码用于与所述确认号参考值结合确定数据报文的确认号的范围。
[0119] 在一种可能的实现方式中,所述控制报文匹配规则包括:至少一个目标控制位标识;其中,所述确定模块401具体用于:
[0120] 确定包括所述目标控制位标识的报文为所述控制报文。
[0121] 在一种可能的实现方式中,所述转发芯片为特定应用集成电路ASIC转发芯片或网络处理器NP芯片。
[0122] 在一种可能的实现方式中,所述检测装置为以下任意一个:所述交换机中的中央处理器CPU;所述交换机中的现场可编程逻辑门阵列FPGA;以及位于所述交换机外部的具有数据分析功能的装置。
[0123] 在一种可能的实现方式中,所述目标报文包括控制报文,所述目标报文对应的数据流的性能指标包括所述数据流的建立时间,断开时间和流量统计中的至少一项。
[0124] 在一种可能的实现方式中,所述目标报文包括连续的至少两个数据报文,所述目标报文对应的数据流的性能指标包括所述数据流的时延信息和/或丢包信息。
[0125] 本申请实施例提供的转发芯片,可以用于执行本申请上述数据流检测方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0126] 图5为本申请另一实施例提供的转发芯片的结构示意图。本申请实施例提供的所述转发芯片可以应用于交换机。如图5所示,本实施例提供的转发芯片50可以包括:处理器501和存储器502。
[0127] 其中,所述存储器502,用于存储程序指令;
[0128] 所述处理器501,用于调用并执行所述存储器502中存储的程序指令,当所述处理器501执行所述存储器502存储的程序指令时,所述转发芯片执行本申请上述数据流检测方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0129] 可以理解的是,图5仅仅示出了所述转发芯片的简化设计。在其他的实施方式中,所述转发芯片还可以包含任意数量的收发器、处理器、存储器和/或通信单元等,本申请实施例中对此并不作限制。
[0130] 本申请实施例还提供一种交换机,包括:如本申请上述实施例提供的转发芯片40或本申请上述实施例提供的转发芯片50,其实现原理和技术效果类似,此处不再赘述。
[0131] 本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行本申请上述数据流检测方法实施例中关于转发芯片的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0132] 本申请实施例还提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现本申请上述数据流检测方法实施例中关于转发芯片的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
[0133] 本申请实施例还提供一种程序,该程序在被处理器执行时用于执行本申请上述数据流检测方法实施例中关于转发芯片的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0134] 本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请上述数据流检测方法实施例中关于转发芯片的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0135] 本申请实施例中涉及的处理器可以是通用处理器、数字信号处理器、专用集成电路现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接由硬件处理器执行完成,或者由处理器中的硬件及软件模块组合执行完成。
[0136] 本申请实施例中涉及的存储器可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0137] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0138] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0139] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0140] 本领域普通技术人员可以理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈