端口丢包检测方法、装置及通信设备与流程

文档序号:14124511阅读:380来源:国知局
端口丢包检测方法、装置及通信设备与流程

本申请涉及通信技术领域,具体而言,涉及一种端口丢包检测方法、装置及通信设备。



背景技术:

用于进行数据转发的通信设备(例如,交换机、路由器等)通常会包括多个通信端口,在进行设备维护或者开发测试时可能需要了解不同通信端口的丢包情况,以利于维护人员进行问题排查以及开发人员进行产品开发。现有的一些通信设备中提供了丢包检测模块,例如博通公司的交换芯片中提供的tcb(transientcapturebuffer,瞬态捕捉缓存)模块。

发明人经研究发现,目前通信设备的丢包检测模块,一般是通过人为的配置,一次设置只能对一个通信端口进行丢包检测。同时,手动重新配置的方式在操作上则十分不便,效率不高。另外,若设置多个丢包检测模块同事同时对多个通信端口进行丢包检测,则会增加通信设备的成本。



技术实现要素:

基于以上内容,为了达到一个丢包检测模块可以对多个通信端口进行丢包检测的目的,本申请实施例采用如下技术方案。

第一方面,本申请实施例提供一种端口丢包检测方法,应用于通信设备,通信设备包括多个待测端口及丢包检测模块。端口丢包检测方法包括:

控制丢包检测模块逐个对多个待测端口分别进行预设时长的丢包检测,以检测每个待测端口是否出现丢包;

在当前检测的待测端口出现丢包时,将丢包检测模块记录的丢包信息存储至待测端口对应的信息缓存区。

第二方面,本申请实施例还提供一种端口丢包检测装置,应用于通信设备,通信设备包括多个待测端口及用于对待测端口进行丢包检测的丢包检测模块。端口丢包检测装置包括:

检测控制模块,用于控制丢包检测模块逐个对多个待测端口分别进行预设时长的丢包检测,以检测每个待测端口是否出现丢包;

记录模块,用于在当前检测的待测端口出现丢包时,将丢包检测模块记录的丢包信息存储至待测端口对应的信息缓存区。

第三方面,本申请实施例还提供一种通信设备,通信设备包括多个待测端口、用于对多个待测端口进行丢包检测的丢包检测模块及本申请实施例提供的上述端口丢包检测装置。

第四方面,本申请实施例还提供一种计算机可读存储介质,应用于通信设备,通信设备包括多个待测端口及用于对多个待测端口进行丢包检测的丢包检测模块,计算机可读存储介质存储有可执行的指令,指令在被一个或多个处理器执行时,实现本申请实施例提供上述端口丢包检测方法。

相对于现有技术而言,本申请具有以下有益效果:

综上所述,本申请提供的端口丢包检测方法、装置及通信设备,通过将丢包检测模块进行分时复用,自动地控制丢包检测模块逐个对多个待测端口进行循环检测,如此,简单高效地实现了一个丢包检测模块对多个待测端口的检测,提高了检测效率。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的通信设备的示意图之一;

图2为本申请实施例提供的通信设备的示意图之二;

图3为本申请实施例提供的丢包检测模块的工作原理示意图;

图4为本申请实施例提供的端口丢包检测方法的流程示意图;

图5为本申请实施例提供的丢包检测模块软件节点的示意图;

图6为本申请实施例提供的待测端口软件节点的示意图;

图7为本申请实施例提供的端口丢包检测装置的方框示意图之一;

图8为本申请实施例提供的端口丢包检测装置的方框示意图之二。

图标:10-通信设备;100-转发芯片;111-通信端口;200-丢包检测模块;300-端口丢包检测装置;310-检测控制模块;311-选取子模块;312-检测子模块;313-重置子模块;320-记录模块;330-读取模块。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个组件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

请参照图1,图1为本实施例提供的一种通信设备10,通信设备10可以包括一个或多个转发芯片100,转发芯片100可能包括(或控制)一个或多个通信端口111。其中,每个通信端口111包括用于进行报文接收或发送的报文缓存队列。

通信设备10还包括丢包检测模块200。在本实施例的一种实施方式中,请再次参照图1,丢包检测模块200可以为一种转发芯片100提供的丢包检测模块200,用于对转发芯片100包括(或控制)的通信端口111进行丢包检测。例如,丢包检测模块200可以为tcb(transientcapturebuffer,瞬态捕捉缓存)模块。

在本实施例的另一种实施方式中,请参照图2,丢包检测模块200也可能为一种可以对不同的多个转发芯片100包括(或控制)的通信端口111进行丢包检测的模块。也就是说,可以使用一个丢包检测模块200对多个转发芯片100包括或控制的通信端口111进行丢包检测。

请参照图3,在本实施例中,丢包检测模块200可以包括用于记录当前检测的通信端口111的丢包信息的丢包信息缓存队列。丢包信息缓存队列可以包括报文记录队列和丢包事件队列。

其中,报文记录队列可以是一个循环队列,用于通过循环覆盖的方式存储当前检测的通信端口111的报文缓存队列在没有出现丢包时存储的现场报文数据。

丢包事件队列用于存储当前检测的通信端口111在出现丢包时的丢包事件信息,例如,包括丢弃原因、报文所在队列、队列的使用率、时间戳等信息。

请参照图4,图4为本实施例提供的一种应用于上述通信设备10的端口丢包检测方法的流程示意图。本实施例中,方法包括步骤s110和步骤s120,下面对各个步骤进行详细阐述。

在步骤s110中,控制丢包检测模块200逐个对多个待测的通信端口111(以下简称“待测端口”)分别进行预设时长的丢包检测,以检测每个待测端口是否出现丢包。

在一些情形中,通信设备10可能具有多个通信端口111,但可能仅需要对其中一部分通信端口111进行丢包检测。故在本实施例中,丢包检测模块200预先存储有待测端口列表,待测端口列表记录有需要进行丢包检测的通信端口111的端口信息,在进行检测的过程中,将待测端口列表中记录的通信端口111作为待测端口。

为了直观方便的对丢包检测模块200及待测端口列表进行管控,在本实施例中,请参照图5,可以为丢包检测模块200预先配置一个对应的丢包检测模块软件节点。待测端口列表可配置于丢包检测模块软件节点中,以使丢包检测模块200可根据待测端口列表中记录的端口信息进行丢包检测。

通信设备10还可以响应接收到的待测端口调整指令,对待测端口列表中记录的待测端口进行调整。例如,进行端口添加、端口删除和端口修改中的任意一种或多种。通过对待测端口列表的管理,可以管控丢包检测模块200的检测范围。

在本实施例中,每个待测端口可对应一个检测标记,用于指示对应的待测端口是否已经被丢包检测模块200检测过。例如,检测标记可以为1个比特的标记位,通过将检测标记置为1表示对应的待测端口已经被丢包检测模块200检测过,通过将检测标记置为0表示对应的待测端口未被丢包检测模块200检测过。

请再次参照图5,丢包检测模块软件节点可以包括一个监控对象状态序列,在监控对象状态序列中,记录有每个待测端口对应的检测标记。

在对多个待测端口进行检测时,通信设备10在待测端口列表中记录的待测端口中,可根据各待测端口的检测标记,选取其中一个未被检测的待测端口作为目标待测端口。

对于不同的待测端口可能需要不同的检测策略信息,故在本实施例中,待测端口可以对应有预设的检测策略信息,检测策略信息可以包括待测端口的队列类型(如接收队列或发送队列)、缓存报文的采样率等配置信息。

请参照图6,在本实施例中,还可以预先为每个待测端口生成一个对应的待测端口软件节点,检测策略信息可以配置于待测端口软件节点中。

在确定目标待测端口后,获取目标待测端口的检测策略信息,然后控制丢包检测模块200根据检测策略信息对目标待测端口进行预设时长(例如50ms)的检测。如此,可以使丢包检测模块200根据不同待测端口的检测策略信息对多个待测端口111进行自动循环检测,相比于现有通过手动配置进行检测的方法效率更高且不容易出错。

本实施例中,在完成对当前的目标待测端口的检测后,可进一步将目标待测端口的检测标记进行修改,使检测标记指示目标待测端口已被检测,例如将目标待测端口的检测标记修改为1,然后重新选取另一个待测端口作为目标待测端口进行丢包检测。

另外,在每个待测端口的检测标记指示均为已被检测时,可以将每个待测端口的检测标记进行修改,使每个检测标记指示对应的待测端口为未被检测,然后再进行新一轮的丢包检测。例如,在检测到所有待测端口的检测标记均为1时,则认为本轮已经对所有待测端口进行过检测,将所有待测端口的检测标记修改为0,然后开始新一轮的检测。

如此,通过对丢包检测模块200的分时复用,可实现一个丢包检测模块200对多个待测端口的自动检测。

进一步地,在本实施例中,请再次参照图5,丢包检测模块200还具有一个配置于丢包检测模块软件节点中的丢包状态标识,丢包状态标识用于指示丢包检测模块200当前检测的待测端口是否出现丢包。

在对多个待测端口的检测过程中,通信设备10检测丢包检测模块200的丢包状态标识,根据丢包状态标识判断丢包检测模块200当前检测的待测端口是否出现丢包。

若丢包状态标识指示当前检测的待测端口出现丢包,则进入步骤s120;若丢包状态标识在预设时长内均未指示当前检测的待测端口出现丢包,则修改目标待测端口的检测标记,使检测标记指示目标待测端口已被检测,然后重新选取下一个待测端口进行检测。

在步骤s120中,将丢包检测模块200记录的当前检测的待测端口的丢包信息存储至待测端口对应的信息缓存区。

在本实施例中,请再次参照图6,每个待测端口对应一个信息缓存区。其中,信息缓存区包括第一信息缓存区及第二信息缓存区。第一信息缓存区用于存储当前出现丢包时的丢包信息,第二信息缓存区用于存储上一次丢包时的丢包信息。

在步骤s110中检测到待测端口出现丢包时,通信设备10可将待测端口的第一信息缓存区当前记录的数据存入第二信息缓存区,然后将丢包检测模块200记录的丢包信息存储至第一信息缓存区。

如此,在需要对待测端口出现的丢包进行分析时,可以直接读取待测端口当前和前一次的丢包信息,可以使分析更加方便准确。

进一步地,在本实施例中,每个待测端口还可以包括对应的端口信息,例如待测端口的端口号、所属转发芯片100的芯片号等。

在需要对某一待测端口进行丢包分析时,通信设备10可以获取待分析的待测端口的端口信息,根据端口信息确定待分析的待测端口对应的信息缓存区,读取信息缓存区中的丢包信息,以用于进一步的分析。请参照图7,本实施例还提供一种应用于通信设备10的端口丢包检测装置300,装置包括检测控制模块310及记录模块320。

检测控制模块310,用于控制丢包检测模块200逐个对多个待测端口分别进行预设时长的丢包检测,以检测每个待测端口是否出现丢包。本实施例中,检测控制模块310可用于执行图4所示的步骤s110,关于检测控制模块310的进一步描述,可以参步骤s110的描述。

在本实施例中,每个待测端口对应一个检测标记,用于指示对应的待测端口是否已经被丢包检测模块200检测过。

检测控制模块310可以包括选取子模块311、检测子模块312及重置子模块313。

选取子模块311,用于根据各待测端口的检测标记,选取一个未被检测的待测端口作为目标待测端口。

进一步地,在本实施例中,通信设备10预先存储有待测端口列表,待测端口列表记录有每个待测端口的端口信息。

选取子模块311用于根据待测端口列表中记录的每个待测端口的检测标记,选取一个未被检测的待测端口作为目标待测端口。

检测子模块312,用于控制丢包检测模块200对目标待测端口进行预设时长的丢包检测,并在检测完成后将目标待测端口的检测标记进行修改,使检测标记指示目标待测端口已被检测。

进一步地,在本实施例中,待测端口具有对应的预设的检测策略信息。检测子模块312获取目标待测端口的检测策略信息,控制丢包检测模块200根据检测策略信息对目标待测端口进行预设时长的检测。

重置子模块313,用于在每个待测端口的检测标记均指示为已被检测时,对每个待测端口的检测标记进行修改,使每个检测标记指示对应的待测端口为未被检测。然后,使选取子模块311根据每个待测端口的检测标记,选取一个未被检测的待测端口作为目标待测端口进行新一轮的检测。

进一步地,在本实施例中,端口丢包检测装置300还可以包括修改模块。

修改模块,用于响应接收到的待测端口调整指令,对待测端口列表中记录的待测端口进行调整,调整包括端口添加、端口删除和端口修改中的任意一种或多种。

进一步地,在本实施例中,丢包检测模块200可以对应有一个丢包状态标识,丢包状态标识用于指示丢包检测模块200当前检测的待测端口是否出现丢包。

检测控制模块310通过检测丢包检测模块200的丢包状态标识,根据丢包状态标识判断丢包检测模块200当前检测的待测端口是否出现丢包。

记录模块320,用于在当前检测的待测端口出现丢包时,将丢包检测模块200记录的丢包信息存储至待测端口对应的信息缓存区。本实施例中,记录模块320可用于执行图4所示的步骤s120,关于记录模块320的进一步描述,可以参步骤s120的描述。

进一步地,在本实施例中,信息缓存区包括第一信息缓存区及第二信息缓存区。记录模块320在检测到待测端口出现丢包时,将待测端口的第一信息缓存区当前记录的数据存入第二信息缓存区,然后将丢包检测模块200记录的丢包信息存储至第一信息缓存区。

进一步地,在本实施例中,如图8所示,端口丢包检测装置300还可以包括读取模块330。

读取模块330用于接收丢包信息获取请求,根据丢包信息获取请求中包括的待分析的待测端口的端口信息确定待分析的待测端口对应的信息缓存区,读取对应的信息缓存区中的丢包信息。

本实施例还提供一种可读存储介质,在本实施例中,可读存储介质可以为应用于通信设备10中的存储器,可读存储介质存储有可执行的指令,指令在被通信设备10的一个或多个处理器执行时,使通信设备10实现本实施例提供的端口丢包检测方法。

其中,可读存储介质可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等、u盘、移动硬盘、磁盘或者光盘等各种可以存储程序代码的介质。

综上所述,本申请提供的端口丢包检测方法、装置及通信设备,通过将丢包检测模块进行分时复用,自动地控制丢包检测模块逐个对多个待测端口进行循环检测,简单高效地实现了一个丢包检测模块对多个待测端口的检测,大大提高了检测效率。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1