端口测试方法及通信设备与流程

文档序号:14942800发布日期:2018-07-13 21:28阅读:339来源:国知局

本申请涉及通信领域,尤其涉及一种端口测试方法及通信设备。



背景技术:

为了评估通信设备的通信能力,通常需要针对通信设备的端口做收发包环回(loopback)测试。

目前,收发包环回测试包括端口自环和端口互环。在如图1a所示的端口自环测试场景中,通信设备包含有处理器和端口1,且端口1外接有自环头。在通信设备通过处理器为端口1配置收发包函数之后,通信设备通过端口1向自环头发送固定数量的检测报文,自环头接收到上述检测报文后向端口1转发。若通信设备通过处理器判定其通过端口1发送的检测报文,与其通过端口1接收到的检测报文数量相等且内容相同,则可确定端口1正常。

在如图1b所示的端口互环测试场景中,通信设备包含有处理器、端口1和端口2,且端口1与端口2相连。在通信设备通过处理器为端口1和端口2配置收发包函数之后,通信设备通过端口1发送固定数量的检测报文,端口1接收到上述检测报文后向端口2转发。若通信设备通过处理器判定其通过端口1发送的检测报文,与其通过端口2接收到的检测报文数量相等且内容相同,则可确定端口1正常。由此可见,图1b所示的端口互环测试方法也存在通用性较差的问题。



技术实现要素:

本申请提供一种端口测试方法及通信设备,能够提高端口测试的效率。

为达到上述目的,本申请采用如下技术方案:

第一方面,本申请提供一种端口测试方法,应用于通信设备,该方法包括:通过cpu向待测试端口发送检测报文;其中,待测试端口为通信设备所有待测试端口中的任一端口;确定接收到待测试端口发送的检测报文的接收端口;若接收端口接收的检测报文与向待测试端口发送的检测报文数量相等且内容相同,则确定待测试端口正常。

第二方面,本申请提供一种通信设备,该通信设备包括:发送模块、确定模块和存储模块。其中,发送模块,用于通过cpu向待测试端口发送检测报文;其中,待测试端口为通信设备所有待测试端口中的任一端口;确定模块,用于确定接收到待测试端口发送的检测报文的接收端口;确定模块,还用于若接收端口接收的检测报文与向待测试端口发送的检测报文数量相等且内容相同,则确定待测试端口正常;存储模块,用于缓存接收模块通过待测试端口接收的检测报文。

第三方面,本申请提供一种通信设备,该通信设备包括:处理器、收发器和存储器。其中,存储器用于存储一个或多个程序。该一个或多个程序包括计算机执行指令,当该通信设备运行时,处理器执行该存储器存储的该计算机执行指令,以使该通信设备执行第一方面及其各种可选的实现方式中任意之一所述的端口测试方法。

第四方面,本申请提供一种端口测试系统,该端口测试系统包括测试管理系统和第二方面或第三方面所述的通信设备,其中,测试管理系统用于向通信设备发送启动测试指令。

本申请提供的端口测试方法及通信设备,通信设备通过cpu向待测试端口发送检测报文,并确定接收到待测试端口转发的检测报文的接收端口;若接收端口接收的检测报文与向待测试端口发送的检测报文数量相等且内容相同,则确定待测试端口正常。其中,待测试端口和接收端口均可以为通信设备所有端口中的任一端口。由此可见,本申请提供的端口测试方法及通信设备,并不需要事先获知通信设备的待测试端口与其他端口的连接关系,也不需要为每个待测试端口和每个接收端口定制专门的收发包函数等测试程序,即可自适应地完成该通信设备中任一端口的端口测试,提高了端口测试程序的通用性,能够提高端口测试效率。

附图说明

图1a为端口自环测试场景示意图一;

图1b为端口互环测试场景示意图二;

图2为本申请实施例提供的端口测试方法的流程示意图;

图3为本申请实施例提供的通信设备的结构示意图一;

图4为本申请实施例提供的通信设备的结构示意图二;

图5为本申请实施例提供的端口测试系统的结构示意图。

具体实施方式

下面结合附图对本申请实施例提供的端口测试方法及通信设备进行详细地描述。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。

本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。

此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

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

在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。

本申请实施例提供的端口测试方法可以应用于如图1a所示的通信设备的端口自环测试场景中,也可以应用于如图1b所示的通信设备的端口互环测试场景中。其中,通信设备可以是路由器、交换机、网关等通信设备中的一种,本申请实施例不作限制。

在本申请实施例中,通信设备包括待测试端口和至少一个接收端口。在没有事先获知待测试端口与至少一个接收端口的连接关系的情况下,待测试端口在接收到检测报文之后,向至少一个接收端口转发其接收到的检测报文。若接收端口接收的检测报文与向待测试端口发送的检测报文数量相等且内容相同,则确定待测试端口正常。由此可见,本申请实施例提供的端口测试方法,不需要事先获知通信设备的待测试端口与其他端口的连接关系,也不需要为每个待测试端口和每个接收端口定制专门的收发包函数等测试程序,即可自适应地完成待测试端口测试,提高了端口测试程序的通用性,能够提高端口测试效率。

如图2所示,本申请实施例提供一种端口测试方法,应用于如图1a和图1b所示的通信设备,该方法可以包括s201-s203:

s201、通过cpu向待测试端口发送检测报文。

其中,待测试端口为通信设备所有待测试端口中的任一端口,待测试端口以有线或无线的方式与待测试端口本身、通信设备的其他端口和其他通信设备的端口中的至少一个存在连接关系。

示例性地,检测报文可以包括封装信息和有效载荷(payload)。其中,封装信息包括但不限于源端口号、目的端口号、源mac地址、目的mac地址、源ip地址、目的ip地址、报文类型中、报文长度,有效载荷为用于测试待测试端口正常与否的预设测试数据,其中预设测试数据可以为随机数。鉴于检测报文为现有技术,此处不再赘述。

可选地,在执行s201之前,该方法还包括:通过cpu确定待测试端口的端口连接状态为正常。

具体地,在执行s201之前,还需要通信设备的处理器完成待测试端口的初始化之后才能执行本申请实施例提供的端口测试方法。其中,待测试端口的初始化可以是为待测试端口配置收发包函数和端口连接状态。其中,端口连接状态包括正常(通常指端口link-up或者up)或者异常(通常指端口link-down或者down)。在本申请实施例中,待测试端口可以为通信设备的所有端口中端口连接状态为正常的任一端口。

s202、确定接收到待测试端口发送的检测报文的接收端口。

其中,接收端口可以是待测试端口本身。例如,图1a中的端口自环测试场景下,端口1既是待测试端口,也是接收端口。当然,接收端口也可以是通信设备所有端口中除待测试端口外的其他端口。例如,如图1b所示的端口互环测试场景下,端口1为待测试端口,端口2为接收端口。本申请实施例对于待测试端口和接收端口是否为同一端口不作限制。

与待测试端口的初始化相似,在执行s202之前,也需要s201中所述的主控单元完成接收端口的初始化。例如,为接收端口配置收发包函数和端口连接状态。其中,端口连接状态包括正常(通常指端口link-up或者up)或异常(通常指端口link-down或者down)。

可选地,通过cpu轮询通信设备中的所有可用端口,确定cpu是否收到来自某个端口上报的检测报文,如是则确定该上报检测报文的端口为接收端口。

其中,可用端口为端口连接状态为正常的端口。cpu通过轮询端口连接状态为正常的所有端口的方式,检测接收到检测报文的接收接口。

可选地,在执行s202之前,该方法还可以包括:通信设备通过待测试端口依次向通信设备的至少一个端口连接状态为正常的端口转发检测报文。其中,“依次”是指按照预设顺序,预设顺序可以是通信设备的至少一个端口的端口编号大小顺序,也可以是其他的预设顺序。

需要说明的是,若通信设备的所有端口中,既有端口连接状态为正常的端口,也有端口连接状态为异常的端口,则可以跳过端口连接状态为异常的端口,只向端口连接状态为正常的端口转发检测报文,以提高测试效率。

s203、若接收端口接收的检测报文与向待测试端口发送的检测报文数量相等且内容相同,则确定待测试端口正常。

其中,接收端口可以是待测试端口本身,也可以是通信设备所有端口中与待测试端口不同的另一端口,本申请实施例不作限制。若接收端口与待测试端口不同,则可以确定待测试端口与接收端口之间存在连接关系。

需要说明的是,接收端口接收的检测报文与向待测试端口发送的检测报文内容相同,是指接收端口接收的检测报文携带的有效载荷,与向待测试端口发送的检测报文携带的有效载荷相同。

可选地,若通信设备中没有接收端口,或者接收端口接收的检测报文与向待测试端口发送的检测报文数量不等和/或内容不同,则确定待测试端口故障。

示例性地,通信设备中没有接收端口,是指通信设备没有通过通信设备的任一端口接收到待测试端口发送的检测报文。例如,待测试端口的接收端与发送端没有连接或连接故障,或者待测试端口与通信设备所有端口中除待测试端口之外的其他所有端口之间没有连接或连接故障。

示例性地,接收端口接收的检测报文与向待测试端口发送的检测报文数量不等和/或内容不同,是指通信设备能够通过至少一个接收端口接收到待测试端口发送的检测报文,但是接收到的检测报文的数量,少于向待测试端口发送的检测报文的数量,和/或虽然接收到的检测报文的数量与向待测试端口发送的检测报文的数量相等,但是有效载荷不同。

可选地,为了提高测试效率,在确定待测试端口正常之后,立即结束对待测试端口的测试,并按照预设轮询规则通过cpu向下一个待测试端口发送检测报文,启动新一轮测试。

当然,无论待测试端口是否正常,待测试结束后,均可以输出文字、声音、图像和纸件等各种形式的测试报告。

本申请提供的端口测试方法,通信设备通过cpu向待测试端口发送检测报文,并确定接收到待测试端口转发的检测报文的接收端口;若接收端口接收的检测报文与向待测试端口发送的检测报文数量相等且内容相同,则确定待测试端口正常。其中,待测试端口和接收端口均可以为通信设备所有端口中的任一端口。由此可见,本申请提供的端口测试方法,并不需要事先获知通信设备的待测试端口与其他端口的连接关系,也不需要为每个待测试端口和每个接收端口定制专门的收发包函数等测试程序,即可自适应地完成该通信设备中任一端口的端口测试,提高了端口测试程序的通用性,能够提高端口测试效率。

本申请实施例可以根据上述方法示例对通信设备进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图3示出了上述实施例中所涉及的通信设备的一种可能的结构示意图。该通信设备可以是如图1a和图1b所示的通信设备。该通信设备包括发送模块31、确定模块32和存储模块33。

其中,发送模块31,用于通过cpu向待测试端口发送检测报文;其中,待测试端口为通信设备所有待测试端口中的任一端口;

确定模块33,用于确定接收到待测试端口发送的检测报文的接收端口;

确定模块33,还用于若接收端口接收的检测报文与向待测试端口发送的检测报文数量相等且内容相同,则确定待测试端口正常;

存储模块34,用于存储指令和检测报文。

可选地,确定模块32,还用于若通信设备中没有接收端口,或者接收端口接收的检测报文与向待测试端口发送的检测报文数量不等和/或内容不同,则确定待测试端口故障。

可选地,确定模块32,还用于具体用于通过cpu轮询通信设备中的所有可用端口,确定cpu是否收到来自某个端口上报的测试报文,如是则确定该上报检测报文的端口为接收端口。

可选地,确定模块32,还用于在通过cpu向待测试端口发送检测报文之前,通过cpu确定待测试端口的端口连接状态为正常。

本申请提供的通信设备,通过cpu向通信设备的待测试端口发送检测报文,并确定接收到待测试端口转发的检测报文的接收端口;若接收端口接收的检测报文与向待测试端口发送的检测报文数量相等且内容相同,则确定待测试端口正常。其中,待测试端口和接收端口均可以为通信设备所有端口中的任一端口。由此可见,本申请提供的通信设备,并不需要事先获知通信设备的待测试端口与其他端口的连接关系,也不需要为每个待测试端口和每个接收端口定制专门的收发包函数等测试程序,即可自适应地完成该通信设备中任一端口的端口测试,提高了端口测试程序的通用性,能够提高端口测试效率。

图4示出了上述实施例中所涉及的通信设备的一种可能的结构示意图。该通信设备包括:处理单元41和通信单元42。处理单元41用于对通信设备的动作进行控制管理,例如,执行上述确定模块32执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信单元42用于支持通信设备的待测试端口与通信设备的接收端口或者测试设备之间的通信,例如,执行上述发送模块31执行的步骤。通信设备还可以包括存储单元43和总线44,存储单元43用于存储通信设备的程序代码和数据。

其中,上述处理单元41可以是通信设备中的处理器或控制器,该处理器或控制器可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器或控制器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

通信单元42可以是通信设备中的收发器、收发电路或通信接口等。

存储单元43可以是通信设备中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。

总线44可以是扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线44可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

如图5所示,本申请实施例提供一种端口测试系统,包括测试管理系统52和通信设备51。其中,通信设备可以是如图1a和图1b所示的通信设备,其内部结构如图3或图4所示。测试管理系统用于向通信设备发送启动测试指令。当然,测试管理系统还可以用于接收通信设备上报的端口测试结果。

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

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当网络设备执行该指令时,该网络设备执行上述方法实施例所示的方法流程中网络设备执行的各个步骤。

其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(applicationspecificintegratedcircuit,asic)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

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

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