首页> 中国专利> 基于硬件加速器的抓包方法、装置、硬件加速器及介质

基于硬件加速器的抓包方法、装置、硬件加速器及介质

摘要

本发明提供了一种基于硬件加速器的抓包方法、装置、硬件加速器及介质,该方法应用于硬件加速器,该硬件加速器通过该硬件加速器的端口与网络设备通信,该方法包括:获取测试配置信息,该测试配置信息包括目标端口;根据该测试配置信息,在通过该目标端口接收来自该网络设备的数据包时,对该目标端口上接收的数据包进行抓包,记录数据包的调试信息。因为网络设备所收发的数据包均会经过硬件加速器,所以通过硬件加速器进行抓包时,不会出现日志丢失的情况,且时间戳是统一的。

著录项

  • 公开/公告号CN113835784A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 展讯通信(上海)有限公司;

    申请/专利号CN202111130922.0

  • 发明设计人 蔡灿婷;何利康;

    申请日2021-09-26

  • 分类号G06F9/445(20180101);G06F11/36(20060101);

  • 代理机构31286 上海恒锐佳知识产权代理事务所(普通合伙);

  • 代理人黄海霞

  • 地址 201203 上海市浦东新区祖冲之路2288弄展讯中心1号楼

  • 入库时间 2023-06-19 13:49:36

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种基于硬件加速器的抓包方法、装置、硬件加速器及介质。

背景技术

伴随着5G时代的到来,对网络带宽的要求越来越高。在5G时代的速率测试中,由于在高速场景下,且目前集成电路上整个数据通路无论是软件还是硬件都很长,这就难免会出现丢包问题。但是对于丢包问题的调试困难重重,无法定位是在发送端还是接收端出现丢包,更无法定位出是通路中哪个模块出现问题。

目前主要是在应用处理器(Application Processor,AP)侧或通信处理器(Communication Processor,CP)侧进行抓包,将收到的网络数据包缓存在AP本地或者CP本地,但是这样做有以下缺点,会出现丢失日志(log)的情况,一方面,因为出现缺少log的情况,需要进行多次复测,甚至可能无法复现问题;另一方面,抓包会严重影响AP侧或CP侧的运行速率。

为此,本发明提出了一种基于硬件加速器的抓包方法、装置、硬件加速器及介质来改善上述问题。

发明内容

本发明实施例提供了一种基于硬件加速器的抓包方法、装置、硬件加速器及介质,该方法用以避免丢失日志。

第一方面,本发明提供一种基于硬件加速器的抓包方法,该方法应用于硬件加速器,该硬件加速器通过该硬件加速器的端口与网络设备通信,该方法包括:获取测试配置信息,该测试配置信息包括目标端口;根据该测试配置信息,在通过该目标端口接收来自该网络设备的数据包时,对该目标端口上接收的数据包进行抓包,记录数据包的调试信息。

本发明提供的抓包方法的有益效果在于:因为网络设备所收发的数据包均会经过硬件加速器,所以通过硬件加速器进行抓包时,不会出现日志丢失的情况,且具有时间戳统一。这样有利于复现故障现场,另一方面也可以解决因在AP或CP侧抓包影响AP或CP的运行效率的问题。

可选地,该测试配置信息还包括待抓取的数据包的目标长度;对该目标端口上接收的数据包进行抓包,包括:对该目标端口上接收的该目标长度的数据包进行抓包。其有益效果在于:通过该测试配置信息还包括待抓取的数据包的目标长度,并且对该目标端口上接收的该目标长度的数据包进行抓包,可以根据实际测试需求,完成测试抓包,有效过滤掉不需要的数据包和调试信息。

可选地,该方法还包括:将该数据包和该数据包的调试信息复制到应用处理器AP或存储器中。其有益效果在于:通过将该数据包和该数据包的调试信息复制到应用处理器(application processor,AP)或存储器,可以便于其它网络设备从存储器获取调试信息,以便于分析本地收发的数据包是否丢失。

可选地,该获取测试配置信息之前,还包括:接收测试人员的测试配置指令;根据该测试配置指令,配置该目标端口和待抓取的数据包的目标长度至调试通用队列中;该获取测试配置信息,包括:从该调试通用队列中获取测试配置信息。其有益效果在于:通过接收测试人员提前设置的测试配置指令,配置该目标端口和待抓取的数据包的目标长度,便于对该目标端口上接收的数据包进行抓包,并且该调试通用队列可以是先进先出队列,使得数据包可以按照时间的先后顺序被抓取,而不会被打乱顺序。

可选地,该数据包的调试信息包括数据包的来源标识、数据包的时间戳、数据包的长度中的至少一个。其有益效果在于:通过该数据包的来源标识确定该数据包的来源;时间戳是统一的。

可选地,该网络设备为支持蜂窝网络的网络设备、支持USB的网络设备、支持无线保真WiFi的网络设备、或支持以太网的网络设备。其有益效果在于:硬件加速器在实际应用中可以连接多种网络设备,所以本发明的应用范围可以是蜂窝网络的网络设备、USB的网络设备、无线保真(wireless fidelity,WiFi)的网络设备、或以太网的网络设备中的一个或多个。

第二方面,本发明提供一种基于硬件加速器的抓包装置,该装置包括执行上述第一方面的任意一种可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。

第三方面,本申请实施例提供一种硬件加速器,包括处理器和存储器。其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该电子设备能够实现上述第一方面的任意一种可能的设计的方法。

第四方面,本发明提供一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现如上述实施例中任一项该的方法。

第五方面,本申请实施例另提供一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述任一方面的任意一种可能的设计的方法。

关于上述第二方面至第五方面的有益效果可以参见上述第一方面中的描述。

附图说明

图1为本申请实施例提供的一种硬件加速器与网络设备连接的示意图;

图2为本申请实施例提供的一种基于硬件加速器的抓包方法的流程图;

图3为本申请实施例提供的一种基于硬件加速器的抓包装置的示意图;

图4为本申请实施例提供的一种电子设备的示意图。

具体实施方式

下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“该”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。

在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。

在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。

本申请实施例提供了一种硬件加速器连接多个网络设备的架构图,如图1所述,该硬件加速器通过该硬件加速器的端口与网络设备通信,该硬件加速器101的端口连接多个网络设备,考虑到目前主要依赖蜂窝网络、USB、无线保真WiFi和以太网进行数据传输,所以支持抓包的网络设备包括但不局限于:支持蜂窝网络的网络设备102、支持USB的网络设备103、支持无线保真WiFi的网络设备104、或支持以太网的网络设备105。示例性地,硬件加速器可以是因特网协议(Internet Protocol,IP)数据包的硬件加速器,简称IPA。

基于图1所提供的架构图,本发明提供一种基于硬件加速器的抓包方法,该方法应用于硬件加速器,如图2所示,该方法包括以下步骤:

S201,获取测试配置信息。

该步骤中,该测试配置信息包括目标端口,该目标端口可以是一个,也可以是多个。可选地,该测试配置信息还可以包括待抓取的数据包的目标长度。目标端口和长度可以是由测试人员人为配置的。

S202,根据该测试配置信息,在通过该目标端口接收来自该网络设备的数据包时,对该目标端口上接收的数据包进行抓包。

该步骤中,因为网络设备所收发的数据包均会经过硬件加速器,所以通过硬件加速器进行抓包时,不会出现日志丢失的情况,且时间戳是统一的。

S203,记录数据包的调试信息。

该步骤中,通过记录数据包的调试(Debug)信息,这样有利于复现故障现场,另一方面也可以解决因在AP或CP侧抓包影响AP或CP的运行效率的问题。

在一些可能的实施例中,该测试配置信息还包括待抓取的数据包的目标长度;对该目标端口上接收的数据包进行抓包,包括:对该目标端口上接收的该目标长度的数据包进行抓包。因为数据包首部和数据两部分组成。首部的前一部分是固定长度,数据的长度可以根据实际情况设定,并且不同长度的同一数据包所包含的信息内容也不一样,所以通过该测试配置信息还包括待抓取的数据包的目标长度,并且对该目标端口上接收的该目标长度的数据包进行抓包,可以根据实际测试需求,完成测试抓包,有效过滤掉不需要的数据包和调试信息。

在又一些可能的实施例中,该方法还包括:将该数据包和该数据包的调试信息复制到应用处理器AP或存储器中。因为通过将该数据包和该数据包的调试信息复制到应用处理器AP或存储器中,可以便于其它网络设备从存储器获取调试信息,以便于分析本地收发的数据包是否丢失。

在还一些可能的实施例中,该获取测试配置信息之前,还包括:接收测试人员的测试配置指令;根据该测试配置指令,配置该目标端口和待抓取的数据包的目标长度至调试通用队列(debug common fifo)中;硬件加速器负责调试通用队列(debug common fifo)的读取和维护,从而从该调试通用队列中获取测试配置信息。可选地,对于调试通用队列(debug common fifo)无法写入的场景,即丢弃无法写入的报文,并统计丢弃的报文个数记录在寄存器中。另外,本发明提供的抓包方法还支持暂停(pause)和复位(resume)功能,暂停功能指的是允许在抓包过程中,测试随时暂停,然后修改待抓数据包的长度,即允许同时更新队列中的内存描述符。这样,测试人员通过软件进行配置测试配置信息,然后硬件加速器通过接收测试人员提前设置的测试配置指令,配置该目标端口和待抓取的数据包的目标长度,便于对该目标端口上接收的数据包进行抓包,并且该调试通用队列可以是先进先出队列,使得数据包可以按照时间的先后顺序被抓取,而不会被打乱顺序。

在再一些可能的实施例中,该数据包的调试信息包括数据包的来源标识、数据包的时间戳、数据包的长度中的至少一个。通过该数据包的来源标识确定该数据包的来源,有助于区分数据包的来源。示例性地,每个报文的时间戳的精度是1us,对后续定位问题的时间点有很大帮助。

在本发明的一些实施例中,本申请实施例提供了一种基于硬件加速器的抓包装置300,如图3所示,所述装置应用于硬件加速器,所述硬件加速器通过所述硬件加速器的端口与网络设备通信,包括:获取单元301、抓包单元302和调试单元303。

所述获取单元301,用于获取测试配置信息,所述测试配置信息包括目标端口。

所述抓包单元302,用于根据所述测试配置信息,在通过所述目标端口接收来自所述网络设备的数据包时,对所述目标端口上接收的数据包进行抓包。

所述调试单元303,用于记录数据包的调试信息。

可选度,所述装置还包括数据移动单元304,用于将所述数据包和所述数据包的调试信息复制到应用处理器AP或存储器中。

上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应单元模块的功能描述,在此不再赘述。

在本申请的另一些实施例中,本申请实施例公开了一种电子设备400,如图4所示,该电子设备400可以包括:一个或多个处理器401;存储器402;显示器403;一个或多个应用程序(未示出);以及一个或多个计算机程序404,上述各器件可以通过一个或多个通信总线405连接。其中该一个或多个计算机程序404被存储在上述存储器402中并被配置为被该一个或多个处理器401执行,该一个或多个计算机程序404包括指令,上述指令可以用于执行上述实施例中的各个步骤。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以该权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号