一种网络设备异常诊断方法、装置及计算机设备与流程

文档序号:18561008发布日期:2019-08-30 23:17阅读:171来源:国知局
一种网络设备异常诊断方法、装置及计算机设备与流程

本说明书涉及通信网络管理技术领域,尤其涉及一种网络设备异常诊断方法、装置及计算机设备。



背景技术:

网络设备如网关、路由器、交换机等,在初始安装或发生故障时,需要一定的诊断手段对该设备判断是否工作异常与是否满足正常工作需求。目前,通用的诊断手段有ping诊断、dns诊断、远端还回诊断等,这些方法能诊断设备的异常工作情况,但上述方法都有各自的局限性,只适用于各自的特定应用场景。上述方法在不具备测试环境或者需要简单快捷的自检手段的场合(如室外现场等)或测试效率要求更高的场合时(如出厂批量检验等),不能提供较好的自检手段。因此,研发一种简单高效、通用性强的网络设备异常诊断方法是极有必要的。



技术实现要素:

为克服相关技术中存在的问题,本说明书提供了一种网络设备异常诊断方法、装置及计算机设备。

根据本说明书实施例的第一方面,提供一种网络设备异常诊断方法,所述方法包括:

预先在待测试设备上配置两个应用程序,两个应用程序收发的数据通过不同的网络区域连接,以使两个应用程序在本测试设备上利用指定的硬件通道传输数据;

其中一个应用程序与另一个应用程序之间传输数据时,分别采集所述数据经过不同硬件通道时的特性参数;

根据所述特性参数和所接收的数据是否完整来判断所述设备是否异常。

根据本说明书实施例的第二方面,提供一种网络设备异常诊断装置,包括:

用于传输数据的第一应用程序和第二应用程序;

用于将第一应用程序和第二应用程序收发的数据通过不同的内部隔离的网络区域连接的网络配置单元,以使两个应用程序在同一设备上利用指定的硬件通道传输数据;

采集所述数据经过不同所述硬件通道时的特性参数的采集单元;

分析所接收的数据是否完整并得出数据完整性的分析单元;

根据所述特性参数和所述数据完整性来判断所述设备是否异常的测试单元。

根据本说明书实施例的第三方面,提供一种计算机设备,包括:

存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时执行如上所述方法中的操作。

本说明书的实施例提供的技术方案可以包括以下有益效果:

本说明书实施例中,两个应用程序收发的数据通过不同的网络区域连接,使两个应用程序各自相连的网络区域相互独立,不能直接转发数据,需要走完整的测试通道;在本测试设备上利用指定的硬件通道传输数据,每次传输测试时测试数据通过不同的硬件通道时得出不同的工作特性;采集数据传输过程中经过不同硬件通道时的特性参数,以及分析测试数据的传输完整性,根据所述设备特性参数和所述数据传输完整性综合判断网络设备是否异常,得出精确的诊断结果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1是本申请一示例性实施例示出的一种网络设备异常诊断方法的流程图。

图2是本申请一示例性实施例示出的另一种网络设备异常诊断方法的流程图。

图3是本申请一示例性实施例示出的一种网络设备异常诊断方法的应用场景图。

图4是本申请一示例性实施例示出的另一种网络设备异常诊断方法的应用场景图。

图5是本申请一示例性实施例网络设备异常诊断装置所在计算机设备的一种硬件结构图。

图6本本申请一示例性实施例示出的一种网络设备异常诊断装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

接下来对本说明书实施例进行详细说明。

在通信网络管理中,网络设备在初始安装或发生故障时,需要一定的诊断手段对该设备判断是否工作异常,以及是否满足正常工作需求,尤其对如网关、路由器、交换机等的嵌入式网络设备。在不具备测试环境或者需要简单快捷的自检手段的场合(如室外现场等)或测试效率要求更高的场合时(如出厂批量检验等),使用简单高效、通用性强的网络设备诊断方法将能极大程度地提高检测效率,异常的产品更容易被检出进行返修,从而降低产品的劣品率。

相关技术中,以网关设备为例进行示例说明。网关设备又称网间连接器、协议转换器,是多个网络间提供数据转换服务的计算机系统或设备。网关设备包括mcu和其他的外围硬件,其中mcu又称单片微型计算机或者单片机,是把中央处理器(centralprocessunit)的频率与规格做适当缩减,并将内存(memory)、计数器(timer)、usb等都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。网关设备在转发数据包时,通常会根据收发数据包的应用程序所使用的通信协议,用软件协议栈实现数据包的封装。在封装成数据包后,操作系统通常会根据数据包的源地址和目的地址访问路由表,如果数据包是本设备内部应用进程的数据传输,则无需通过硬件通道及软件协议栈底层转发,直接在软件协议栈的上层查表转发到数据包的接收方;反之,如果数据包的接收方是其他设备,则需要利用硬件通道发送至其他设备。对网关设备进行数据传输测试时,常用的简单的诊断方法有ping诊断、dns诊断、远端还回等,但上述方法仅能针对特定方面的异常,都有各自的局限性和适用范围。比如远端还回测试方法,该方法仅用于测试内部硬件通路,不能诊断软件协议栈是否异常,即使测试的是硬件通路,也不是完整硬件通路。而ping诊断等更多应用于检测设备外部环境或完整的上网通道,不能准确的检测设备内部,而且该方法仅能测试特定协议(arp和icmp)。

本实施例提供一种针对设备内部的简单又高效并适配多个应用场景的网络设备异常诊断方法及装置。

如图1所示,图1是本说明书根据一示例性实施例示出的一种网络设备异常诊断方法的流程图,包括以下步骤:

步骤s101,预先在待测试设备上配置两个应用程序,两个应用程序收发的数据通过不同的网络区域连接,以使两个应用程序在本测试设备上利用指定的硬件通道传输数据;

步骤s102,其中一个应用程序与另一个应用程序之间传输数据时,分别采集所述数据经过不同硬件通道时的特性参数;

在两个应用程序相互传输数据时,由所述设备的mcu对所述数据经过不同硬件通道时的特性参数进行采集。在一个实施例中,特性参数包括设备性能、丢包率等动态特性值。

步骤s103,根据所述特性参数和所接收的数据是否完整来判断所述设备是否异常。

为了对网关设备的内部传输通道进行检测,申请人在本设备的内部预先配置了两个应用程序,用于测试数据的接收和发送。如果应用程序发出的测试数据的源地址和目的地址在同一个网络区域时,其中一个应用程序发出的测试数据会无需经过硬件通道,从软件协议栈直接转发到另一个应用程序,达不到测试完整数据传输通道的测试需求,本申请中,完整的传输通道是指整个传输过程既包含了软件协议栈的数据包封装的过程、又包含了硬件通道的数据转发过程。因此申请人在配置应用程序时,应将两个应用程序配置于不同的网络区域内,在本设备上模拟出不同设备之间传输数据的网络环境,从而使测试数据在经由软件协议栈时转发到硬件通道,每一次传输过程都经过不同的硬件通道,达到测试不同硬件通道的工作特性的目的。

将两个应用程序配置于不同的网络区域内可以利用多种实施例实现,其中一种是将网络区域设置成内部隔离的方式。相关技术中,为了实现报文之间的二层(数据链路层)网络隔离,各个物理端口通常是有端口隔离的,可以将不同的物理端口加入不同的内部隔离的网络区域,采用端口隔离特性,可以实现同一内部隔离的网络区域内物理端口之间的隔离。但在本实施例中,为了保证在一个设备中的两个内部隔离的网络区域中的应用程序能够互相传输数据,在一个实施例中,需要预先关闭所述设备的端口隔离功能,可以将两个应用程序收发的数据通过不同的隔离的网络区域连接,将自定义的策略路由插入路由表,并将自定义的策略路由的优先级设置为最高,设定测试数据的转发顺序,其中,自定义的策略路由用于指示其中一个应用程序向另一应用程序传输数据的源虚接口和目的虚接口,使测试数据只能由两个应用程序发送和接收。

在一个实施例中,构建不同的内部隔离的网络区域可以是,每个应用程序分别与一个虚接口绑定,每个虚接口对应一个物理端口,非源/目的虚接口与源/目的虚接口对应的物理端口位于不同的内部隔离的网络区域中,非源虚接口和非目的虚接口对应的物理端口位于同一网络区域中。当一个应用程序利用源虚接口发出数据包时,因非源/目的虚接口与源/目的虚接口对应的物理端口位于不同的内部隔离的网络区域中,非源虚接口和非目的虚接口对应的物理端口位于同一网络区域中,故数据包将从源虚接口对应的物理端口转发到非源虚接口和非目的虚接口对应的物理端口,数据包根据硬件传输通道的物理端口连线逻辑在非源虚接口和非目的虚接口对应的物理端口转发,在转发到目的虚接口对应的物理端口时,目的虚接口接收数据包并传输到另一个应用程序。在该实施例中,数据包通过了不同的物理端口所在的内部隔离的网络区域传输数据,此时不同的内部隔离的网络区域的不同的连接方式组成了不同的硬件通道,可采集数据包经过不同硬件通道时的特性参数。

在网关设备被设置成多个内部隔离的网络区域时,由于因为同一个报文在设备的多个物理端口来回转发时,网关设备的交换芯片学习这个报文的源mac时,会在不同的物理端口上来回切换(mac漂移),导致这个报文的响应报文找不到真正的mac转发目的物理端口。因此,在一个实施例中,开启ivlmac学习模式。ivl为独立内部隔离的网络区域学习,在这种方式下,mac地址表在逻辑上可以被看成根据vlan信息分成了很多张表,一个mac地址可以学习到不同内部隔离的网络区域对应的“地址表”上。开启ivlmac学习模式后使得在不同的内部隔离的网络区域中,相同的mac地址会被识别为不同的mac条目。

网关设备的多个物理端口用网线连接起来形成不同的硬件通道时,也就是形成环路,此操作可能导致广播在网段内大量复制,传播数据帧,引起网络性能下降,甚至网络瘫痪,这类问题可概括为环路风暴问题。网关设备可以通过自带的环路检测功能来抑制环路风暴问题,然而该功能占用一定的设备性能,在需要测试设备的满负载状态时,该功能的开启一定程度上限制了设备的满负载上限。因此,在一个实施例中,关闭所述设备的环路检测功能,由设定内部隔离的网络区域的方式代替环路检测的抑制环路风暴功能。

在另一个实施例中,预先将两个应用程序收发的数据通过不同的网络区域连接还可以通过以下方式实现:利用命名空间功能将两个应用程序收发的数据通过不同的内部隔离的网络区域连接命名空间功能为linux系统的一个资源隔离机制,该功能将网关设备的网络区域隔离成多个不同的虚拟网络区域,隔离后的虚拟网络区域行使的功能与以上实施例类似。

为了更好地测试设备的工作特性和数据传输通道的完整性,增大测试数据包的容量和延长设备的数据传输时间从而可更大范围地得出测试过程的所需参数,避免短时间的传输过程和小容量的测试文件无法得出多组参数数据的情况。在一个实施例中,所述传输的数据为文件数据,所述文件数据利用文件传输协议传输,例如ftp协议、tftp协议等。

为了更直观的理解本申请所揭示的方案,以下结合一实例来详细阐述。如图2所示:

步骤s201,预先在待测试设备上配置两个应用程序,预先关闭所述设备的端口隔离功能;将所述应用程序分别配置于不同的内部隔离的网络区域中,以使两个应用程序在本测试设备上利用指定的硬件通道传输数据

在构建内部隔离的网络区域时,预先关闭设备的端口隔离功能。每个内部隔离的网络区域的硬件通道对应多个物理端口,同一内部隔离的网络区域内的各物理端口之间通过网线连接,在本实施例中,本网关设备有4个物理端口,物理端口间的连线及物理端口标识如图3所示,物理端口1和物理端口4分别配置为源虚接口对应的物理端口或目的虚接口对应的物理端口,两个物理端口之间可收发数据。为了保证在一个设备中的两个内部隔离的网络区域中的应用程序能够互相传输数据,预先关闭所述设备的端口隔离功能。

步骤s202,将自定义的策略路由插入路由表,并将自定义的策略路由的优先级设置为最高,其中,自定义的策略路由用于指示其中一个应用程序向另一应用程序传输数据的源虚接口和目的虚接口;

在本实施例中,加入了策略路由,将自定义的策略路由的优先级设置为最高后,为了使应用程序能按照设定的数据传输路线进行数据传输,两应用程序分别与源虚接口、目的虚接口绑定,通过与应用程序绑定的虚接口连接的物理端口进行收发数据。

步骤s203,每个应用程序分别与一个虚接口绑定,每个虚接口对应一个物理端口,非源/目的虚接口与源/目的虚接口对应的物理端口位于不同的网络区域中,非源虚接口和非目的虚接口对应的物理端口位于同一网络区域中;

为了使测试数据按照设定的数据传输路线进行数据传输,设定的数据传输路线中,非源/目的虚接口连接的物理端口与源/目的虚接口连接的物理端口位于不同的内部隔离的网络区域中,非源虚接口连接的物理端口和非目的虚接口连接的物理端口位于同一内部隔离的网络区域中,使得测试数据从与源虚接口绑定的应用程序发出,通过每一个与非源虚接口连接的物理端口和非目的虚接口连接的物理端口连接的内部隔离的网络区域,最终从与目的虚接口连接的物理端口连接的内部隔离的网络区域发送至另一个应用程序。

步骤s204,关闭所述设备的环路检测功能,所述环路检测用于抑制所述硬件通道的环路风暴;

由于在本网关设备设置内部隔离的网络区域有抑制环路风暴问题的功能,设备自带的环路检测功能占用一定的设备性能,因此关闭所述设备的环路检测功能并由设定内部隔离的网络区域代替,可增大设备的满负载上限,更好地测试设备的满负载状态。

步骤s205,开启ivlmac学习模式;

在本实施例中,开启ivlmac学习模式可在应用程序在内部隔离的网络区域之间传输数据时,避免数据包的报文会在不同的物理端口上来回切换(mac漂移),导致这个数据包的响应报文找不到真正的mac转发目的物理端口。

步骤s206,其中一个应用程序与另一个应用程序之间传输数据时,分别采集所述数据经过不同硬件通道时的特性参数;

在一个实施例中,特性参数包括设备性能、丢包率等动态特性值。

步骤s207,根据所述特性参数和所接收的数据是否完整来判断所述设备是否异常。

在一个实施例中的应用场景如图3所示,在网关设备内部配置两个应用程序,假设从与物理端口1连接的应用程序为数据包的发送端,给各个物理对应的虚接口附上标识(物理端口1对应虚接口vlan1,物理端口2对应虚接口vlan2,物理端口3对应虚接口vlan3,物理端口4对应虚接口vlan4)。在网关设备的硬件设置中,每个物理端口都可以配置vlan属性来表明此物理端口所属的vlan虚接口,以及对传输报文的处理方式。而在本实施例中,网关设备硬件中的cpu口被配置成属于两个虚接口vlan1和虚接口vlan4,该两个虚接口对转发报文中携带的标识的是不做任何处理的。

当数据包报文经过软件协议栈的层层封装后到达网关设备的cpu口,此时数据包报文按照mac转发规则转发给与源虚接口1连接的物理端口1并被打上标识1。由于物理端口1对应的虚接口vlan1和物理端口2、物理端口3、物理端口4分别对应的vlan2、vlan3、vlan4不在同一个网络区域内,而且物理端口1与物理端口2已用网线相连,因此,数据包报文将进入到物理端口2。

在此应用场景中,物理端口2和物理端口3分别对应的vlan2和vlan3同处一个网络区域,并且该网络区域与vlan1和vlan4对应的网络区域是隔离关系,因此到达物理端口2的数据包报文被剥掉标识1并被发送到虚接口vlan2从而被转发到与虚接口vlan3对应的物理端口3并被打上标识2。同理,因vlan3和vlan4的网络区域不同,而且物理端口3和物理端口4直接用网线相连,则数据包报文从物理端口3处被剥掉标识2并转发到物理端口4,报文被打上标识4。由于cpu口属于vlan4,当携带标识4的数据包报文通过cpu口进入cpu时将被发送到虚接口vlan4,又虚接口vlan4与另一个接收数据包的应用程序绑定,因此数据包报文在经过软件协议栈的层层处理后最后传输到了另一个应用程序上,完成从一个应用程序向另一个应用程序发送数据包并使数据包经过满负载的硬件通道的动作(满负载的硬件通道指的是数据包均经过物理端口1、物理端口2、物理端口3和物理端口4形成的全端口连接硬件通道)。

在本实施例中,通过网关设备的mcu采集数据包经过满负载的硬件通道时的特性参数,特性参数包括设备性能、丢包率等动态特性值。根据特性参数和所接收的数据是否完整来判断网关设备是否异常。本实施例是以其中一个应用程序为数据包发送端为例,另一个应用程序作为数据包发送端时的实施方式类似,具体不再赘述。

在一个实施例中的应用场景如图4所示,网关设备的物理端口1和物理端口4用网线相连,同样在网关设备内部配置两个应用程序通过软件协议栈和硬件通道转发数据并进行设备异常诊断测试。该实施例示意的是一种非满负载硬件通道的网络设备异常诊断方法,同理还有物理端口1和物理端口2相连、物理端口1和物理端口3相连、物理端口2和物理端口3相连、物理端口2和物理端口4相连、物理端口3和物理端口4相连的非满负载连接方式,通过软件协议栈和硬件通道传输数据包的相关技术与图3相似,并且本实施例是以其中一个应用程序为数据包发送端为例而另一个应用程序作为数据包发送端时的实施方式类似,在此不一一赘述。

当网关设备的硬件通道发生异常时,网关设备的mcu通过采集数据包经过满负载和非满负载硬件通道时的特性参数,特性参数包括设备性能、丢包率等动态特性值。根据特性参数和所接收的数据是否完整来判断网关设备是否异常,能更精确地得知具体异常位置。

与前述方法的实施例相对应,本说明书还提供了装置及其所应用的终端的实施例。

本说明书文件处理装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书实施例网络设备异常诊断装置所在计算机设备的一种硬件结构图,除了图5所示的处理器510、内存530、网络接口520、以及非易失性存储器540之外,实施例中装置531所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。

如图6所示,图6是本说明书根据一示例性实施例示出的一种装置的框图,所述装置包括:

用于传输数据的第一应用程序和第二应用程序;

用于将第一应用程序和第二应用程序收发的数据通过不同的网络区域连接的网络配置单元,以使两个应用程序在同一设备上利用指定的硬件通道传输数据;

采集所述数据经过不同所述硬件通道时的特性参数的采集单元;

分析所接收的数据是否完整并得出数据完整性的分析单元;

根据所述特性参数和所述数据完整性来判断所述设备是否异常的测试单元。

在一个实施例中,所述网络配置单元还用于指示其中一个应用程序向另一应用程序传输数据的源虚接口和目的虚接口,将所述两个应用程序收发的数据通过不同的内部隔离的网络区域连接。

在一个实施例中,所述网络配置单元还用于绑定所述应用程序和虚接口并将每个虚接口对应一个物理端口;其中,非源/目的虚接口与源/目的虚接口对应的物理端口位于不同的内部隔离的网络区域中,非源虚接口和非目的虚接口对应的物理端口位于同一网络区域中。

在一个实施例中,所述装置还包括:

开启ivlmac学习模式的开启单元。

在一个实施例中,所述网络配置单元还包括:

关闭所述设备的环路检测功能的关闭单元,所述环路检测用于抑制所述硬件通道的环路风暴。

在一个实施例中,所述传输的数据为文件数据,所述文件数据利用文件传输协议传输。

在一个实施例中,所述网络配置单元包括:

将两个应用程序收发的数据通过不同的内部隔离的网络区域连接的网络隔离单元。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

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