网口测试方法及设备与流程

文档序号:14351079阅读:3166来源:国知局
网口测试方法及设备与流程

本发明实施例涉及网口测试技术领域,尤其涉及一种网口测试方法及设备。



背景技术:

随着电子设备结构的发展,很多电子设备具有多个网口。在对电子设备的性能测试过程中,需要对电子设备的多个网口进行性能测试。例如,网络连通状态检测(networkcontrollersidebandinterface,ncsi),预启动执行环境(prebootexecuteenvironment,pxe)测试等。

现有技术中,在对电子设备的多个网口进行性能测试时,可以将电子设备的网口与交换机的端口连接,交换机与主控设备连接。在进行性能测试时,需要至少一个网口处于连接状态,其它网口处于断开状态,从而对处于连接状态的网口进行性能测试。对于网口的连接或断开状态,主要通过人工插拔网线来实现。

然而,现有技术在对多个网口进行性能测试时,必须通过人工的干预才能实现,不仅浪费人力,还导致测试周期较长。



技术实现要素:

本发明实施例提供一种网口测试方法及设备,以克服人工干预网口测试,导致浪费人力、测试周期长的问题。

第一方面,本发明提供一种网口测试方法,包括:

电子设备获取交换机发送的多个链路层发现协议lldp报文;其中,所述电子设备的多个待测网口分别与交换机的端口连接,且不同的待测网口连接的端口不同,每个待测网口连接一个端口,各所述lldp报文为每个所述端口向各自连接的待测网口发送的报文,所述lldp报文包括发送所述lldp报文的端口的标识;

所述电子设备根据每个所述lldp报文和接收所述lldp报文的待测网口的标识,确定网口连接信息,所述网口连接信息用于指示每个所述待测网口与所述交换机的端口的连接关系;

所述电子设备向主控设备发送所述网口连接信息,以使所述主控设备根据所述网口连接信息对所述交换机的端口进行打开和/或关闭操作,以对打开的端口连接的待测网口进行性能测试。

在一种可能的设计中,所述电子设备根据每个所述lldp报文和接收所述lldp报文的待测网口的标识,确定网口连接信息,包括:

所述电子设备对每个所述lldp报文进行解析,获取发送各所述lldp报文的端口的标识;

所述电子设备根据每个所述lldp报文对应的待测网口的标识和端口的标识,确定所述网口连接信息。

通过发送lldp报文的端口以及接收该lldp报文的网口来获取网口连接信息,获取方式不仅快速简单易得,提高检测效率,还不会增加电子设备的处理负担。

在一种可能的设计中,所述电子设备获取交换机发送的多个链路层发现协议lldp报文之前,还包括:

所述电子设备根据处理器的平台信息,判断所述待测网口对应的网卡是否具备lldp报文解析功能,所述平台信息包括平台类型和平台版本,其中,预设平台类型和预设平台版本下的网卡具有lldp报文解析功能;

若是,则所述电子设备关闭所述待测网口对应的网卡的lldp报文解析功能。

在一种可能的设计中,所述电子设备关闭所述待测网口对应的网卡的lldp报文解析功能,包括:

所述电子设备将预设代码文件挂载到预设系统文件中,所述预设代码文件的执行用于关闭所述待测网口对应的网卡的报文解析功能;

所述电子设备向操作系统输入关闭指令,以使所述操作系统执行所述预设代码文件,所述关闭指令中携带所述待测网口对应的网卡的高速串行计算机扩展总线标准pcie地址,以指示每个所述pcie地址对应的网卡关闭报文解析功能。

在一种可能的设计中,所述电子设备将预设代码文件挂载到预设系统文件中之前,还包括:

所述电子设备获取所述操作系统的内核版本对应的配置文件;

所述电子设备判断所述配置文件中的所述预设代码文件的挂载模式配置项是否指示为可挂载;

若否,则所述电子设备将所述挂载模式配置项的指示由不可挂载修改为可挂载。

通过将预设代码文件挂载到预设系统文件中,就可以关闭网卡的报文解析功能,使得电子设备可以获取网卡接收的lldp报文,从而可以获取待测网口与端口的连接关系,即不管电子设备的处理器平台的平台类型和平台版本是什么,电子设备都可以获取该连接关系,使得本发明提供的网口测试方法具有通用性和普适性。

在一种可能的设计中,所述电子设备获取交换机发送的多个链路层发现协议lldp报文,包括:

所述电子设备根据抓包指令,通过抓包工具抓取各所述待测网口对应的网卡接收的lldp报文,所述抓包指令包括所述待测网口的标识。

通过抓包工具来获取lldp报文,不仅能够快速获取lldp报文,还保证了获取报文的精准性,且抓包工具不需要测试人员进行代码开放,可以直接使用,减轻了测试人员的工作负担。

在一种可能的设计中,所述电子设备获取交换机发送的多个链路层发现协议lldp报文之前,所述方法还包括:

所述电子设备接收所述主控设备发送的连接关系获取请求;

所述电子设备向所述主控设备发送所述网口连接信息,包括:

所述电子设备向所述主控设备发送连接关系获取响应,所述连接关系获取响应中携带所述网口连接信息。

通过主控设备来触发网口测试,使得主控设备能够根据本机工作负载等工作情况,在合适的时机来触发网口测试,从而保证了网口测试能够分配到足够的资源,保证网口测试可以顺利进行。

在一种可能的设计中,所述网口连接信息包括每个待测网口的标识、与每个待测网口连接的端口的端口号以及待测网口的标识与端口号的对应关系。该网口连接信息使得主控设备可以快速直接的获取端口与网口的连接关系,提高了主控设备的处理效率。

第二方面,本发明实施例提供一种网口测试方法,包括:

主控设备接收电子设备发送的网口连接信息,其中,所述电子设备的多个待测网口分别与交换机的端口连接,且不同的待测网口连接的端口不同,所述网口连接信息用于指示每个所述待测网口与所述交换机的端口的连接关系;

所述主控设备根据所述网口连接信息,对所述交换机的端口进行打开和/或关闭操作,以对打开的端口连接的网口进行性能测试。

在一种可能的设计中,所述主控设备接收电子设备发送的网口连接信息之前,还包括:

所述主控设备向所述电子设备发送连接关系获取请求;

所述主控设备接收所述电子设备发送的连接关系获取响应,所述连接关系获取响应中携带所述网口连接信息。

在一种可能的设计中,所述主控设备根据所述网口连接信息,对所述交换机的端口进行打开和/或关闭操作,包括:

所述主控设备根据所述交换机的ip地址,远程登录所述交换机;

所述主控设备对所述交换机进行远程操作,以控制所述交换机的端口打开和/或关闭。

在一种可能的设计中,所述主控设备对所述交换机的端口进行打开和/或关闭操作,包括:

所述主控设备对与多个所述待测网口连接的端口按照预设打开顺序依次进行打开操作,并打开第一预设时长;或者

所述主控设备对与多个所述待测网口连接的端口中至少两个端口同时进行打开操作,并打开第二预设时长。

在一种可能的设计中,所述网口连接信息包括每个待测网口的标识、与每个待测网口连接的端口的端口号以及待测网口的标识与端口号的对应关系。

第三方面,本发明实施例提供一种电子设备,包括:

报文获取模块,用于获取交换机发送的多个链路层发现协议lldp报文;其中,所述电子设备的多个待测网口分别与交换机的端口连接,且不同的待测网口连接的端口不同,各所述lldp报文为每个所述端口向各自连接的待测网口发送的报文,所述lldp报文包括发送所述lldp报文的端口的标识;

信息确定模块,用于根据每个所述lldp报文和接收所述lldp报文的待测网口的标识,确定网口连接信息,所述网口连接信息用于指示每个所述待测网口与所述交换机的端口的连接关系;

发送模块,用于向主控设备发送所述网口连接信息,以使所述主控设备根据所述网口连接信息对所述交换机的端口进行打开和/或关闭操作,以对打开的端口连接的待测网口进行性能测试。

在一种可能的设计中,所述信息确定模块具体用于:

对每个所述lldp报文进行解析,获取发送各所述lldp报文的端口的标识;

根据每个所述lldp报文对应的待测网口的标识和端口的标识,确定所述网口连接信息。

在一种可能的设计中,还包括:第一判断模块和功能关闭模块;

所述第一判断模块,用于在获取交换机发送的多个链路层发现协议lldp报文之前,根据处理器的平台信息,判断所述待测网口对应的网卡是否具备lldp报文解析功能,所述平台信息包括平台类型和平台版本,其中,预设平台类型和预设平台版本下的网卡具有lldp报文解析功能;

所述功能关闭模块,用于在所述第一判断模块确定所述电子设备具备lldp报文解析功能时,关闭所述待测网口对应的网卡的lldp报文解析功能。

在一种可能的设计中,所述功能关闭模块具体用于:

将预设代码文件挂载到预设系统文件中,所述预设代码文件的执行用于关闭所述待测网口对应的网卡的报文解析功能;

向操作系统输入关闭指令,以使所述操作系统执行所述预设代码文件,所述关闭指令中携带所述待测网口对应的网卡的高速串行计算机扩展总线标准pcie地址,以指示每个所述pcie地址对应的网卡关闭报文解析功能。

在一种可能的设计中,还包括:第二判断模块和模式修改模块;

所述第二判断模块,用于在将预设代码文件挂载到预设系统文件中之前,获取所述操作系统的内核版本对应的配置文件;判断所述配置文件中的所述预设代码文件的挂载模式配置项是否指示为可挂载;

所述模式修改模块,用于在所述第二判断模块确定所述挂载模式配置项指示为不可挂载时,将所述挂载模式配置项的指示由不可挂载修改为可挂载。

在一种可能的设计中,所述报文获取模块,具体用于根据抓包指令,通过抓包工具抓取各所述待测网口对应的网卡接收的lldp报文,所述抓包指令包括所述待测网口的标识。

在一种可能的设计中,还包括:接收模块;

所述接收模块,用于在获取交换机发送的多个链路层发现协议lldp报文之前,接收所述主控设备发送的连接关系获取请求;

所述发送模块,具体用于向所述主控设备发送连接关系获取响应,所述连接关系获取响应中携带所述网口连接信息。

在一种可能的设计中,所述网口连接信息包括每个待测网口的标识、与每个待测网口连接的端口的端口号以及待测网口的标识与端口号的对应关系。

第四方面,本发明实施例提供一种主控设备,包括:

接收模块,用于接收电子设备发送的网口连接信息,其中,所述电子设备的多个待测网口分别与交换机的端口连接,且不同的待测网口连接的端口不同,所述网口连接信息用于指示每个所述待测网口与所述交换机的端口的连接关系;

控制模块,用于根据所述网口连接信息,对所述交换机的端口进行打开和/或关闭操作,以对打开的端口连接的网口进行性能测试。

在一种可能的设计中,还包括:发送模块;

所述发送模块,用于在接收电子设备发送的网口连接信息之前,向所述电子设备发送连接关系获取请求;

所述接收模块,具体用于接收所述电子设备发送的连接关系获取响应,所述连接关系获取响应中携带所述网口连接信息。

在一种可能的设计中,所述主控设备具体用于:

根据所述交换机的ip地址,远程登录所述交换机;

对所述交换机进行远程操作,以控制所述交换机的端口打开和/或关闭。

在一种可能的设计中,所述控制模块,具体用于对与多个所述待测网口连接的端口按照预设打开顺序依次进行打开操作,并打开第一预设时长;或者

对与多个所述待测网口连接的端口中至少两个端口同时进行打开操作,并打开第二预设时长。

在一种可能的设计中,所述网口连接信息包括每个待测网口的标识、与每个待测网口连接的端口的端口号以及待测网口的标识与端口号的对应关系。

第五方面,本发明实施例提供一种电子设备,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如如上第一方面或第一方面各种可能的设计所述的网口测试方法。

第六方面,本发明实施例提供一种主控设备,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第二方面或第二方面各种可能的设计所述的网口测试方法。

第七方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面或第一方面各种可能的设计所述的网口测试方法。

第八方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二方面或第二方面各种可能的设计所述的网口测试方法。

本实施例提供的网口测试方法及设备,该方法通过电子设备获取交换机发送的多个lldp报文,该lldp报文包括发送lldp报文的端口的标识,电子设备可以根据每个lldp报文和接收lldp报文的待测网口的标识,确定用于指示每个待测网口与交换机的端口的连接关系的网口连接信息,电子设备向主控设备发送网口连接信息,主控设备接收电子设备发送的网口连接信息,主控设备在获取到该网口连接信息之后,就能够获知待测网口与端口的连接关系,主控设备通过对端口的打开和/或关闭操作,就可以对打开的端口所连接的待测网口进行性能测试,不需要人工插拔网线,避免了人工干预,不仅节省了人力,还加快了测试周期。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的网口测试系统的架构示意图;

图2为本发明提供的网络测试方法的信令流程图;

图3为本发明提供的网卡解析功能关闭的流程示意图;

图4为本发明提供的交换机的端口的开闭示意图一;

图5为本发明提供的交换机的端口的开闭示意图二;。

图6为本发明提供的电子设备的结构示意图一;

图7为本发明提供的电子设备的结构示意图二;

图8为本发明提供的电子设备的硬件结构示意图;

图9为本发明提供的主控设备的结构示意图一;

图10为本发明提供的主控设备的结构示意图二;

图11为本发明提供的主控设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明提供的网口测试系统的架构示意图。如图1所示,该系统包括电子设备、主控设备以及交换机。其中,该电子设备可以为服务器、路由器等具有多个网口的设备。交换机可以为广域网交换机或局域网交换机等。主控设备可以为服务器、计算机等具有控制功能的设备。

具体地,电子设备包括处理器、网卡等器件,每个网卡包括一个网口。在下述的实施例中,涉及电子设备所执行的方法流程时,具体的执行主体可以为电子设备内部的处理器。交换机包括处理器、端口等器件。电子设备的每个网口分别与交换机的一个端口连接,且不同的网口连接的端口不同,即网口与端口的连接关系为一一对应的连接关系。

在本实施例中,电子设备的所有网口可以均与交换机的端口连接,也可以电子设备的部分网口与交换机的端口连接。其中,与交换机的端口连接的网口在下文中称为待测网口,即可对该些与端口连接的网口进行性能测试。具体地网口与端口的连接关系,可以根据对电子设备的网口的测试需求来确定,本实施例此处不做特别赘述。

如图1所示,本实施例给出的连接关系为:网口1连接端口2、网口2连接端口3、网口3连接端口5、网口4连接端口7。本领域技术人员可以理解,电子设备的网口的数量与交换机的端口的数量可以不一致。例如图1中的交换机的端口的数量大于电子设备的网口的数量。

主控设备可以直接与交换机的端口直接连接,也可以通过通信设备与交换机的端口连接。通过主控设备与交换机的连接,可以实现主控设备与交换机和电子设备的通信。其中,该电子设备可以通过交换机与该主控设备进行通信。

通过图1所示的系统架构,主控设备可以获取电子设备的待测网口与交换机的端口的连接关系,根据该连接关系对交换机的端口进行打开或关闭操作,以对打开的端口连接的待测网口进行性能测试,从而避免了人工插拔网线,从而节省人力,缩短测试周期。

下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

图2为本发明提供的网络测试方法的信令流程图。如图2所示,本实施例提供的方法包括:

s201、交换机向电子设备发送多个链路层发现协议lldp报文。

目前,网络设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息,需要有一个标准的信息交流平台。链路层发现协议(linklayerdiscoveryprotocol,lldp)可以实现不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。

具体地,交换机作为网络设备,可以将本端设备的端口标识封装成lldp报文。在具体实现过程中,可以将端口标识等信息(例如管理地址、设备标识)组织成不同的类型/长度/值(type/length/value,tlv)封装在链路层发现协议数据单元(linklayerdiscoveryprotocoldataunit,lldpdu)中,从而形成lldp报文。然后交换机将该lldp报文发送给与自己直连的邻居,即本发明中的电子设备。

在本实施例中,针对交换机的每个端口都会生成一个lldp报文。每个lldp报文中都包括发送该lldp报文的端口的标识。该lldp报文为交换机的每个端口向各自连接的待测网口发送的报文。

s202、所述电子设备获取所述交换机发送的多个链路层发现协议lldp报文,所述lldp报文包括发送所述lldp报文的端口的标识。

交换机会向电子设备发送多个lldp报文,电子设备可以获取多个lldp报文。在本实施例中,针对电子设备的网卡所实现的功能的不同,电子设备可以采用不同的方法来获取lldp报文。

具体地,电子设备根据抓包指令,通过抓包工具抓取各待测网口对应的网卡接收的lldp报文,抓包指令包括待测网口的标识。

其中,抓包工具(dumpthetrafficonanetwork,tcpdump),是根据预设定义对网络上的数据包进行截获的包分析工具。抓包工具可以以软件工具包的形式安装在电子设备中。直接启动抓包工具将监视第一个待测网口对应的网卡上所有流过的数据包。如果指定网口,将会监视指定网口对应的网卡上流过的数据包。本实施例通过抓包指令,可以指定监视待测网口对应的网卡上接收的数据包。

通过抓包工具来获取lldp报文,不仅能够快速获取lldp报文,还保证了获取报文的精准性,且抓包工具不需要测试人员进行代码开放,可以直接使用,减轻了测试人员的工作负担。

本领域技术人员可以理解,由于网口是网卡的一部分,所以抓包指令中可以携带待测网口的标识,或者还可以携带待测网口对应的网卡的标识。在确定待测网口的标识时,根据待测网口与网卡的对应关系,就可以获取待测网口的标识。

然而,目前有一些网卡具有解析lldp报文的能力,对于能够解析lldp报文的网卡,该网卡在获取对应的端口发送的lldp报文后,由于该网卡会直接解析该lldp报文,使得抓包工具无法抓取到该网卡接收的lldp报文,进而无法获取端口的标识。此时,可以关闭该网卡解析lldp报文的功能,在该lldp报文的解析功能被关闭后,抓包工具就可以抓取到该网卡接收的lldp报文。

s203、所述电子设备根据每个所述lldp报文和接收所述lldp报文的待测网口的标识,确定网口连接信息,所述网口连接信息用于指示每个所述待测网口与所述交换机的端口的连接关系。

具体地,电子设备对每个lldp报文进行解析,获取发送该lldp报文的端口的标识。本领域技术人员可以理解,在一些情况下,还可以不关闭网卡的报文解析功能,通过对网卡进行配置,或者通过工具软件或者预设程序,使得网卡可以在获取报文的解析结果之后,向电子设备上报解析结果,即上报该网卡解析得到的端口的标识。本实施例对lldp报文的解析不做特别限制,只要电子设备能够获取发送该lldp报文的端口的标识即可。

电子设备可以根据抓包工具对lldp报文的抓取,获知每个lldp报文是针对哪个网卡或哪个网口抓取的报文,从而可以获知接收该lldp报文的待测网口的标识。

电子设备根据每个lldp报文对应的待测网口的标识和端口的标识,确定网口连接信息。其中,网口连接信息用于指示每个待测网口与交换机的端口的连接关系。

在具体实现过程中,网口连接信息的实现方式有多种。一种可能的实现方式,网口连接信息为由数字、字母、符号中的至少一种的组合形成的指示符,该指示符对应一种连接关系。即电子设备和主控设备均存储有指示符与连接关系的预设对应关系,电子设备向主控设备发送指示符,则主控设备可以根据该预设对应关系来获取待测网口与端口的连接关系。

另一种可能的实现方式,该网口连接信息可以包括每个待测网口的标识、与每个待测网口连接的端口的端口号以及待测网口的标识与端口号的对应关系。该对应关系可以通过多种方式来实现,例如该网口连接信息可以通过表格的方式实现,该表格例如可以包括两列,一列用于指示待测网口,一列用于指示端口,每行有一个待测网口和一个端口,位于同一行的待测网口与端口具有连接关系。即本发明通过表格的方式实现了对应关系的传递。在具体实现过程中,还可以通过指针、映射等方式来指示待测网口的标识与端口号的对应关系,本实施例对具体的实现方式不做特别限制。

s204、所述电子设备向主控设备发送所述网口连接信息。

s205、所述主控设备接收所述电子设备发送的网口连接信息。

电子设备向主控设备发送网口连接信息时,电子设备可以通过与交换机的端口连接的任一待测网口向交换机发送该网口连接信息,然后交换机将该网口连接信息发送给主控设备,主控设备接收电子设备发送的网口连接信息。

在具体实现过程中,电子设备向主控设备发送网口连接信息的触发方式可以包括如下可能的实现方式。

一种可能的实现方式为:由电子设备主动触发获取网口连接信息,并主动向主控设备发送网口连接信息。具体地,在电子设备获取到网口连接信息之后,即向主控设备发送该网口连接信息,主控设备在接收到该网口连接信息之后,对该网口连接信息进行存储,在需要进行网口的性能测试时,主控设备获取预先存储的网口连接信息。

另一种可能的实现方式:由主控设备来触发电子设备来获取网口连接信息。具体地,主控设备向电子设备发送连接关系获取请求,在电子设备接收到主控设备发送的连接关系获取请求后,电子设备执行上述s201至s203的步骤。对应地,在电子设备获取到网口连接信息之后,电子设备向主控设备发送连接关系获取响应,该连接关系获取响应中携带该网口连接信息。

通过主控设备来触发网口测试,使得主控设备能够根据本机工作负载等工作情况,在合适的时机来触发网口测试,从而保证了网口测试能够分配到足够的资源,保证网口测试可以顺利进行。

s206、所述主控设备根据所述网口连接信息,对所述交换机的端口进行打开和/或关闭操作,以对打开的端口连接的待测网口进行性能测试。

在具体实现过程中,主控设备可以通过多种方式控制交换机的端口的打开和/或关闭。下面列举一些示例进行说明。

在一种可能的实现方式中,主控设备可以向交换机发送关闭指令,交换机执行关闭指令来进行端口的打开和/或关闭操作。该关闭指令中可以包括需要关闭的端口的标识,而其它端口保持打开状态。

在另一种可能的实现方式中,主控设备根据交换机的ip地址,远程登录交换机;主控设备对交换机进行远程操作,以控制交换机的端口打开或关闭。

具体地,在远程登录过程中,可以通过telnet协议来进行远程登录。在主控设备上运行telnet程序,根据交换机的ip地址,就可以用telnet程序登录到交换机。主控设备可以在telnet程序中输入命令,这些命令会在交换器上运行,这些命令可以命令交换机关闭交换机的端口和/或打开端口。

在具体地测试过程中,主控设备可以根据网口测试项目与打开规则的预设对应关系,来打开和/或关闭交换机的端口,主控设备还可以通过网络测试人员当前输入的打开规则,来打开和/或关闭交换机的端口。本领域技术人员可以理解,本实施例可以对打开的端口连接的待测网口进行性能测试,而对于关闭的端口连接的待测网口,则不进行性能测试。打开的端口可以为一个也可以为两个,本实施例对端口的打开不做具体限定。

本实施例提供的网口测试方法,通过电子设备获取交换机发送的多个lldp报文,该lldp报文包括发送lldp报文的端口的标识,电子设备可以根据每个lldp报文和接收lldp报文的待测网口的标识,确定用于指示每个待测网口与交换机的端口的连接关系的网口连接信息,电子设备向主控设备发送网口连接信息,主控设备接收电子设备发送的网口连接信息,主控设备在获取到该网口连接信息之后,就能够获知待测网口与端口的连接关系,主控设备通过对端口的打开和/或关闭操作,就可以对打开的端口所连接的待测网口进行性能测试,不需要人工插拔网线,避免了人工干预,不仅节省了人力,还加快了测试周期。

由上可知,部分网卡拥有独立的lldp报文解析芯片,具有对lldp报文进行解析的功能。而当网卡进行lldp报文解析时,抓包工具则无法抓取到该网卡接收的lldp报文,使得电子设备的处理器无法获取lldp报文,从而无法获取交换机的相关信息。针对这部分网卡,本发明会先关闭网卡的解析lldp报文的功能,从而使得网卡在收到lldp报文时,不进行解析处理,使得抓包工具能够抓取到该lldp报文。下面采用具体的实施例对如何关闭网卡的lldp报文解析功能的方式进行详细说明。

图3为本发明提供的网卡解析功能关闭的流程示意图。如图3所示,该方法包括:

s301、电子设备根据处理器的平台信息,判断待测网口对应的网卡是否具备lldp报文解析功能,若是,则执行s302,若否,则流程结束。

在本实施例中,平台信息包括平台类型和平台版本。在具体实现过程中,处理器的类型不同,处理器平台不同。例如,处理器平台的平台类型可以为intelpurley平台或amd平台等。平台版本可以为在该平台类型下,所对应的平台版本。其中,平台版本为处理器平台在历次修改或增加相应的功能后的版本编号。例如,第7代处理器平台、第8代处理器平台等。

其中,预设平台类型和预设平台版本下的网卡具有lldp报文解析功能。例如,最新一代的intelpurley平台下的网卡拥有独立的lldp报文解析芯片,则该网卡具有报文解析功能。因此,电子设备可以根据处理器的平台信息,来判断该处理器平台的平台类型和平台版本是否为预设平台类型和预设平台版本,若是,则可以判断出待测网口对应的网卡具备lldp报文解析功能,则电子设备关闭网卡的报文解析功能,若不是,则流程结束。

针对电子设备关闭网卡的报文解析功能的实现方式有多种,本实施例下述的实施例中,给出一种通过debugfs文件来关闭网卡报文解析功能的方式,对于其它的实现方式,本实施例此处不再赘述,只要能够关闭网卡的解析功能即可。

s302、电子设备获取操作系统的内核版本对应的配置文件。

其中,内核版本指的是相应软件内核在历次修改或增加相应的功能后的版本编号。而内核主要是指操作系统或者相应软件中最核心的功能框架部分,它是实现该软件所有功能的基础。

电子设备根据内核版本与配置文件的对应关系,获取内核版本对应的配置文件。该配置文件中所包括的代码行例如可以为前缀或后缀中携带.config的代码。

s303、电子设备判断配置文件中的预设代码文件的挂载模式配置项是否指示为可挂载;若否,则执行s304,若是,则执行s305。

s304、电子设备将挂载模式配置项的指示由不可挂载修改为可挂载。

s305、电子设备将预设代码文件挂载到预设系统文件中,预设代码文件的执行用于关闭待测网口对应的网卡的报文解析功能。

在本发明中,通过执行预设代码文件来关闭待测网口对应的网卡的报文解析功能。该预设代码文件例如可以为debugfs文件。其中,debugfs文件是一种用于内核调试的虚拟文件系统。debugfs文件没有对应的物理设备,需要通过挂载的方式来实现。该debugfs文件的代码实现方式,本实施例此处不再赘述。

其中,在操作系统中,挂载是一个非常重要的功能,它指将一个文件挂接到一个已存在的目录上,然后通过访问这个目录来访问该文件,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。

在本实施例中,可将debugfs文件挂载到预设系统文件中,该预设系统文件的目录例如可以为sys/kernel/debug。

可选地,在挂载debugfs文件之前,还要判断一下debugfs文件是否可挂载。本领域技术人员可以理解,一般情况下,该debugfs文件可以被挂载到sys/kernel/debug目录下,为了保证挂载的准确性及可靠性,本发明可以先判断debugfs文件是否可挂载。

具体地,在配置文件所包括的代码行中,存在挂载模式配置项,该挂载模式配置项例如可以为config-debug-fs,该挂载模式配置项存在两种形式。具体为config-debug-fs=y,用于指示defugfs文件可挂载,或者config-debug-fs=n用于指示defugfs文件不可挂载。

当挂载模式配置项用于指示不可挂载时,将挂载模式配置项的指示由不可挂载修改为可挂载。例如,将挂载模式配置项config-debug-fs=n中n修改为y,得到的挂载配置项为config-debug-fs=y。此时,debugfs文件就可以挂载到sys/kernel/debug目录下,此时,电子设备将预设代码文件(debugfs文件)挂载到预设系统文件中。

当不需要debugfs文件时,可以通过函数接口来卸载debugfs文件。对于具体使用的函数接口,本实施例此处不再赘述。

由于debugfs文件为虚拟文件系统,可以在需要时通过挂载直接使用,该文件系统非常小,很容易使用,降低了研发人员的开发复杂度。

s306、电子设备向操作系统输入关闭指令,以使操作系统执行预设代码文件,关闭指令中携带待测网口对应的网卡的pcie地址,以指示每个pcie地址对应的网卡关闭报文解析功能。

当预设代码文件挂载到预设系统文件中时,电子设备向操作系统输入关闭指令,在该关闭指令中携带待测网口对应的网卡的高速串行计算机扩展总线标准(peripheralcomponentinterconnectexpress,pcie)地址,以指示每个pcie地址对应的网卡关闭报文解析功能。当操作系统收到关闭指令后,执行预设代码文件,以关闭每个pcie地址对应的网卡的报文解析功能。

本实施例提供的网卡解析功能关闭流程,通过将预设代码文件(debugfs文件)挂载到预设系统文件中,就可以关闭网卡的报文解析功能,使得电子设备可以通过抓包工具获取网卡接收的lldp报文,从而可以获取待测网口与端口的连接关系,即不管电子设备的处理器平台的平台类型和平台版本是什么,电子设备都可以获取该连接关系,使得本发明提供的网口测试方法具有通用性和普适性。

下面以具体的例子,来说明本发明提供的网口测试方法如何对交换机的端口进行打开和/或关闭操作的。

目前对网口的测试主要有网络连通状态检测(networkcontrollersidebandinterface,ncsi),预启动执行环境(prebootexecuteenvironment,pxe)测试以及bonding测试。

ncsi测试是为了检测网络的连通性,pxe测试主要是对网口的pxe功能进行测试,当网口具有pxe功能时,使得电子设备可以通过网络方式启动。bonding测试可以测试网口的吞吐率。

在一种可能的实现方式中,ncsi测试、pxe测试以及bonding测试时,可以一个待测网口打开,其它待测网口关闭。此时,主控设备对与多个待测网口连接的端口按照预设打开顺序依次进行打开操作,并打开第一预设时长。

具体地,该预设打开顺序可以为按照端口号从大到小的顺序依次打开,或者按照端口号从小到大的顺序依次打开,或者对端口号进行计算处理,根据计算处理结果从小到大或从大到小的顺序依次打开端口。本实施例对多个端口的打开或关闭操作不做具体限制。

图4为本发明提供的交换机的端口的开闭示意图一。如图4所示,可以按照端口号从小到大的顺序依次打开端口。在本实施例中,示出了端口2打开,端口3关闭、端口5关闭、端口7关闭,从而对端口2对应的待测网口1进行性能测试。

在端口2打开第一预设时长,测试完成后,再依次打开端口3、端口5以及端口7,具体的开闭示意图,与图4类似,本实施例此处不做绘图示例。

在另一种可能的实现方式中,在bonding测试中或其它网口测试中,会存在至少两个端口打开的情况。具体地,主控设备对与多个待测网口连接的端口中至少两个端口同时进行打开操作,并打开第二预设时长。

主控设备可以根据预设规则或预设算法来决定打开的端口的端口号以及打开顺序。对于具体的预设规则或预设算法,本实施例此处不做赘述。

图5为本发明提供的交换机的端口的开闭示意图二。如图5所示,端口2和端口5同时打开第二预设时长,而端口3、端口7则处于关闭状态。对于其它两个端口同时打开、三个端口同时打开等,与图5所示类似,本实施例此处不再赘述。

本实施例提供的网口测试方法,主控设备在获知待测网口与端口的连接关系,主控设备可以至少一个端口进行打开操作,从而实现ncsi测试、pxe测试以及bonding测试等多种网口性能的测试,不需要人工插拔网线,避免了人工干预,不仅节省了人力,还加快了测试周期。

上述针对电子设备以及主控设备所实现的功能,对本发明实施例提供的方案进行了介绍。可以理解的是,电子设备或主控设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。

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

图6为本发明提供的电子设备的结构示意图一。如图6所示,本发明提供一种电子设备60,该电子设备60包括:报文获取模块601、信息确定模块602以及发送模块603。其中

报文获取模块601,用于获取交换机发送的多个链路层发现协议lldp报文;其中,所述电子设备的多个待测网口分别与交换机的端口连接,且不同的待测网口连接的端口不同,各所述lldp报文为每个所述端口向各自连接的待测网口发送的报文,所述lldp报文包括发送所述lldp报文的端口的标识;

信息确定模块602,用于根据每个所述lldp报文和接收所述lldp报文的待测网口的标识,确定网口连接信息,所述网口连接信息用于指示每个所述待测网口与所述交换机的端口的连接关系;

发送模块603,用于向主控设备发送所述网口连接信息,以使所述主控设备根据所述网口连接信息对所述交换机的端口进行打开和/或关闭操作,以对打开的端口连接的待测网口进行性能测试。

本实施例提供的电子设备,通过报文获取模块获取交换机发送的多个lldp报文,该lldp报文包括发送lldp报文的端口的标识,信息确定模块根据每个lldp报文和接收lldp报文的待测网口的标识,确定用于指示每个待测网口与交换机的端口的连接关系的网口连接信息,发送模块向主控设备发送网口连接信息,主控设备接收电子设备发送的网口连接信息,主控设备在获取到该网口连接信息之后,就能够获知待测网口与端口的连接关系,主控设备通过对端口的打开和/或关闭操作,就可以对打开的端口所连接的待测网口进行性能测试,不需要人工插拔网线,避免了人工干预,不仅节省了人力,还加快了测试周期。

图7为本发明提供的电子设备的结构示意图二,如图7所示,本实施例在图6实施例的基础上,该电子设备60还包括:第一判断模块604、功能关闭模块605、第二判断模块606、模式修改模块607以及接收模块608。其中

所述信息确定模块602具体用于:

对每个所述lldp报文进行解析,获取发送各所述lldp报文的端口的标识;

根据每个所述lldp报文对应的待测网口的标识和端口的标识,确定所述网口连接信息。

可选地,所述第一判断模块604,用于在获取交换机发送的多个链路层发现协议lldp报文之前,根据处理器的平台信息,判断所述待测网口对应的网卡是否具备lldp报文解析功能,所述平台信息包括平台类型和平台版本,其中,预设平台类型和预设平台版本下的网卡具有lldp报文解析功能;

所述功能关闭模块605,用于在所述第一判断模块确定所述电子设备具备lldp报文解析功能时,关闭所述待测网口对应的网卡的lldp报文解析功能。

可选地,所述功能关闭模块605具体用于:

将预设代码文件挂载到预设系统文件中,所述预设代码文件的执行用于关闭所述待测网口对应的网卡的报文解析功能;

向操作系统输入关闭指令,以使所述操作系统执行所述预设代码文件,所述关闭指令中携带所述待测网口对应的网卡的高速串行计算机扩展总线标准pcie地址,以指示每个所述pcie地址对应的网卡关闭报文解析功能。

可选地,所述第二判断模块606,用于在将预设代码文件挂载到预设系统文件中之前,获取所述操作系统的内核版本对应的配置文件;判断所述配置文件中的所述预设代码文件的挂载模式配置项是否指示为可挂载;

所述模式修改模块607,用于在所述第二判断模块确定所述挂载模式配置项指示为不可挂载时,将所述挂载模式配置项的指示由不可挂载修改为可挂载。

可选地,所述报文获取模块601,具体用于根据抓包指令,通过抓包工具抓取各所述待测网口对应的网卡接收的lldp报文,所述抓包指令包括所述待测网口的标识。

可选地,所述接收模块608,用于在获取交换机发送的多个链路层发现协议lldp报文之前,接收所述主控设备发送的连接关系获取请求;

所述发送模块603,具体用于向所述主控设备发送连接关系获取响应,所述连接关系获取响应中携带所述网口连接信息。

可选地,所述网口连接信息包括每个待测网口的标识、与每个待测网口连接的端口的端口号以及待测网口的标识与端口号的对应关系。

本实施例提供的电子设备,可执行上述的网口测试方法中电子设备所执行的方法,其实现原理和技术效果类似,本实施例此处不再赘述。

在前述的电子设备的具体实现中,各模块可以被实现为处理器,处理器可以执行存储器中存储的计算机执行指令,使得处理器执行上述的网口测试方法。具体可参考图8所示。

图8为本发明提供的电子设备的硬件结构示意图。如图8所示,该电子设备80包括:至少一个处理器801和存储器802。该电子设备80还包括通信部件803。其中,处理器801、存储器802以及通信部件803通过总线804连接。

在具体实现过程中,至少一个处理器801执行所述存储器802存储的计算机执行指令,使得至少一个处理器801执行如上电子设备侧所执行的网口测试方法。

具体地,该通信部件803具体可以为网卡,本实施例的处理器801可以获取该网卡对应的网口与交换机的端口的连接关系,并将该连接关系通过网卡发送给主控设备,使得主控设备对交换机的端口进行打开和/或关闭操作,从而对打开的端口连接的网口进行性能测试,不需要人工插拔网线,避免了人工干预,不仅节省了人力,还加快了测试周期。

处理器801的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

图9为本发明提供的主控设备的结构示意图一,如图9所示,该主控设备90包括:接收模块901和控制模块902。其中,

接收模块901,用于接收电子设备发送的网口连接信息,其中,所述电子设备的多个待测网口分别与交换机的端口连接,且不同的待测网口连接的端口不同,所述网口连接信息用于指示每个所述待测网口与所述交换机的端口的连接关系;

控制模块902,用于根据所述网口连接信息,对所述交换机的端口进行打开和/或关闭操作,以对打开的端口连接的网口进行性能测试。

本实施例提供的主控设备,可执行上述的网口测试方法中主控设备所执行的方法,其实现原理和技术效果类似,本实施例此处不再赘述。

本实施例提供的主控设备,接收模块在获取到该网口连接信息之后,就能够获知待测网口与端口的连接关系,控制模块通过对端口的打开和/或关闭操作,就可以对打开的端口所连接的待测网口进行性能测试,不需要人工插拔网线,避免了人工干预,不仅节省了人力,还加快了测试周期。

图10为本发明提供的主控设备的结构示意图二,如图10所示,本实施例在图9实施例的基础上,还包括:发送模块903。

所述发送模块903,用于在接收电子设备发送的网口连接信息之前,向所述电子设备发送连接关系获取请求;

所述接收模块902,具体用于接收所述电子设备发送的连接关系获取响应,所述连接关系获取响应中携带所述网口连接信息。

可选地,所述控制模块902具体用于:

根据所述交换机的ip地址,远程登录所述交换机;

对所述交换机进行远程操作,以控制所述交换机的端口打开和/或关闭。

可选地,所述控制模块902,具体用于对与多个所述待测网口连接的端口按照预设打开顺序依次进行打开操作,并打开第一预设时长;或者

对与多个所述待测网口连接的端口中至少两个端口同时进行打开操作,并打开第二预设时长。

可选地,所述网口连接信息包括每个待测网口的标识、与每个待测网口连接的端口的端口号以及待测网口的标识与端口号的对应关系。

本实施例提供的主控设备,可执行上述的网口测试方法中主控设备所执行的方法,其实现原理和技术效果类似,本实施例此处不再赘述。

图11为本发明提供的主控设备的硬件结构示意图。如图11所示,本实施例提供的主控设备110包括:至少一个处理器1101和存储器1102。该电子设备110还包括通信部件1103。其中,处理器1101、存储器1102以及通信部件1103通过总线1104连接。

在具体实现过程中,至少一个处理器1101执行所述存储器1102存储的计算机执行指令,使得至少一个处理器1101执行如上主控设备侧所执行的网口测试方法。

主控设备通过通信部件1103(例如网卡)可以获取电子设备发送的网口连接关系,根据该网口连接关系,对交换机的端口进行打开和/或关闭操作,从而对打开的端口连接的网口进行性能测试,不需要人工插拔网线,避免了人工干预,不仅节省了人力,还加快了测试周期。

处理器1101的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

在上述的图8和图11所示的实施例中,在上述电子设备或者主控设备的实施例中,应理解,处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。

总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上电子设备侧所执行的网口测试方法。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上主控设备侧所执行的网口测试方法。

上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于电子设备或主控设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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