一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于网络协议栈的NCSI测试方法、系统、装置及存储介质与流程

2022-04-14 02:42:05 来源:中国专利 TAG:

基于网络协议栈的ncsi测试方法、系统、装置及存储介质
技术领域
1.本发明涉及计算机技术领域,更具体的说是涉及一种基于网络协议栈的ncsi测试方法、系统、装置及存储介质。


背景技术:

2.随着网络技术的飞速发展,对于服务器在带外进行管理和控制,人们提出了更高的要求,工程师可以通过带外管理在任意介电通过网络连接到相应服务器上,进而进行管理和维护,避免长时间在嘈杂的实验室环境中维护。因此,业界提出了ncsi(网络控制器边带接口)标准。ncsi是一个由分布式管理任务组定义的用于支持服务器带外管理的边带接口网络控制器的工业标准。
3.现有技术中,在进行测试ncsi时,首先将待测设备打开sharelink功能,设置sharelink ip,启用待测的ncsi链路,然后在测试时保持网口与主机的连接,在主机中运行cmd去ping通待测设备的共享网口。
4.对于百兆以及千兆网口,网口的封装形式为rj45,主机选择常用笔记本即可满足测试要求,但是随着数据中心网络流量的增加,100g qsfp28光模块需求数量激增,此时笔记本已经无法满足测试要求,通常采用的方法是选择两台服务器以及两台网卡,两端的服务器通过ncsi与网卡进行连接,网卡之间通过100g光纤进行连接,设置两端服务器bmc sharelink的ip,然后一端的bmc去ping另一端的bmc。但是该种方法需要的测试机台数量多,搭建环境需要耗费大量的时间,占用大面积的试验台。


技术实现要素:

5.针对以上问题,本发明的目的在于提供一种基于网络协议栈的ncsi测试方法、系统、装置及存储介质,只需要一台服务器以及网卡,将服务器与网卡通过ncsi线缆进行连接,在ncsi数据链路层中利用套接字实现一次ncsi的操作,从而完成了ncsi测试。
6.本发明为实现上述目的,通过以下技术方案实现:一种基于网络协议栈的ncsi测试方法,包括:
7.将一台服务器与网卡通过ncsi线缆进行连接;
8.将网卡通过网线连接到交换机上,并通过bmc加载网卡驱动;
9.检测ncsi硬件链路,确保服务器与网卡能够进行ncsi通信;
10.断开网卡与交换机之间连接,通过bmc发送ncsi控制命令与网络卡进行通信;在linux网路协议栈中利用套接字socket进行ncsi的通信;
11.通过使用示波器点测ncsi链路验证信号的完整性。
12.进一步,所述通过bmc加载网卡驱动,包括:
13.在bmc中通过输入ifconfig命令查看共享网口号;
14.如果能够查看到共享网口号,则网卡驱动已经加载成功;
15.如果不能查看到共享网口号,没有说明网卡驱动没有加载成功,则通过更新bmc固
件完成网卡驱动的加载。
16.进一步,所述检测ncsi硬件链路,确保服务器与网卡能够进行ncsi通信,包括:
17.通过输入ethtool命令查看网卡;
18.如果bmc输出的link detected项为是为yes,说明ncsi硬件链路已通,可以进行ncsi通信;
19.如果bmc输出的link detected项为是为no,说明ncsi硬件链路不通,需要检查板卡硬件链路。
20.进一步,所述在ncsi数据链路层中利用套接字socket进行ncsi的通信,包括:
21.在bmc中创建ncsi socket进行ncsi通信;
22.向已创建的ncsi socket发送ncsi命令,并向网卡发送ncsi请求;
23.网卡收到ncsi请求后进行响应;
24.bmc接收ncsi响应,获得相应后关闭ncsi socket。
25.进一步,所述ncsi命令包括指定的以太网接口号和载荷长度。
26.进一步,所述向网卡发送ncsi请求,具体为:
27.通过linux的sendmsg命令向网卡发送ncsi请求。
28.进一步,所述bmc接收ncsi响应,具体为:
29.bmc通过recvmsg命令接收ncsi响应。
30.相应的,本发明还公开了一种基于网络协议栈的ncsi测试系统,包括:连接模块,用于将一台服务器与网卡通过ncsi线缆进行连接;
31.加载模块,用于将网卡通过网线连接到交换机上,并通过bmc加载网卡驱动;链路检测模块,用于检测ncsi硬件链路,确保服务器与网卡能够进行ncsi通信;通信组建模块,用于断开网卡与交换机之间连接,通过bmc发送ncsi控制命令与网络卡进行通信;
32.套接字连接模块,用于在linux网路协议栈中利用套接字socket进行ncsi的通信;
33.验证模块,用于通过使用示波器点测ncsi链路验证信号的完整性。
34.相应的,本发明公开了一种基于网络协议栈的ncsi测试装置,包括:
35.存储器,用于存储基于网络协议栈的ncsi测试程序;
36.处理器,用于执行所述基于网络协议栈的ncsi测试程序时实现如上文任一项所述基于网络协议栈的ncsi测试方法的步骤。
37.相应的,本发明公开了一种可读存储介质,所述可读存储介质上存储有基于网络协议栈的ncsi测试程序,所述基于网络协议栈的ncsi测试程序被处理器执行时实现如上文任一项所述基于网络协议栈的ncsi测试方法的步骤。
38.对比现有技术,本发明有益效果在于:本发明公开了一种基于网络协议栈的ncsi测试方法、系统、装置及存储介质,只需要一台服务器以及网卡,将服务器与网卡通过ncsi线缆进行连接,登录服务器bmc,通过发送ncsi指令询问网卡信息,网卡将自身信息通过ncsi链路发送给服务器bmc,这样在管理控制器与网卡控制器之间建立起通信。其中,ncsi数据链路层基于以太介质,在linux网路协议栈中利用套接字socket实现ncsi的操作,首先创建ncsi socket,然后向已创建的ncsi socket发送ncsi请求,根据ncsi协议规范,网络控制器收到ncsi请求后,要向bmc发送响应,bmc从已创建的ncsi socket获得ncsi响应,最后关闭ncsi socket,实现一次ncsi通信。
39.本发明只需要一台服务器以及网卡,将服务器与网卡通过ncsi线缆进行连接,登录服务器bmc,通过发送ncsi指令询问网卡信息。无需使用两台服务器以及网卡,减少了测试机台的数量,有效缩短了搭建环境所需要的时间,减小了占用试验台的面积。
40.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
41.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
42.附图1是本发明具体实施方式的方法流程图。
43.附图2是本发明具体实施方式的系统结构图。
44.图中,1为连接模块;2为加载模块;3为链路检测模块;4为通信组建模块;5为套接字连接模块;6为验证模块。
具体实施方式
45.本发明的核心是提供一种基于网络协议栈的ncsi测试方法,现有技术中,通常采用的方法是选择两台服务器以及两台网卡,两端的服务器通过ncsi与网卡进行连接,网卡之间通过100g光纤进行连接,设置两端服务器bmc sharelink的ip,然后一端的bmc去ping另一端的bmc。但是该种方法需要的测试机台数量多,搭建环境需要耗费大量的时间,占用大面积的试验台。
46.而本发明提供的基于网络协议栈的ncsi测试方法,首先,将一台服务器与网卡通过ncsi线缆进行连接。然后,将网卡通过网线连接到交换机上,并通过bmc加载网卡驱动。此时,检测ncsi硬件链路,确保服务器与网卡能够进行ncsi通信。然后,断开网卡与交换机之间连接,通过bmc发送ncsi控制命令与网络卡进行通信;并在linux网路协议栈中利用套接字socket进行ncsi的通信。最后,通过使用示波器点测ncsi链路验证信号的完整性。由此可见,本发明无需使用两台服务器以及网卡,减少了测试机台的数量,有效缩短了搭建环境所需要的时间,减小了占用试验台的面积。
47.为了使本技术领域的人员更好地理解本发明方案,对与本发明相关的现有技术进行如下说明:
48.服务器的网络管理模块主要包括管理控制器和网络控制器,网络控制器除了连接外部网络接口与内部主机接口,又通过带外接口与管理控制器相连。通过带外接口的网络数据包主要分为两类:一类是在外部网络与管理控制器之间传输的普通数据包,网络控制器对于这类数据包只作转发处理;另一类是在管理控制器与网络控制器之间传输的携带控制信息的数据包,这些数据包一般是管理控制器对网络控制器配置的一些操作。
49.下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的
范围。
50.实施例一:
51.如图1所示,本实施例提供了一种基于网络协议栈的ncsi测试方法,包括如下步骤:
52.s1:将一台服务器与网卡通过ncsi线缆进行连接。
53.s2:将网卡通过网线连接到交换机上,并通过bmc加载网卡驱动。
54.本步骤需要确认网卡驱动是否加载成功,具体来说:
55.在bmc中通过输入ifconfig命令查看共享网口号;如果能够查看到共享网口号,则网卡驱动已经加载成功;如果不能查看到共享网口号,没有说明网卡驱动没有加载成功,则更新bmc固件完成网卡驱动的加载。
56.s3:检测ncsi硬件链路,确保服务器与网卡能够进行ncsi通信。
57.具体的,网卡驱动加载成功后,通过输入ethtool命令查看网卡;如果bmc输出的link detected项为是为yes,说明ncsi硬件链路已通,可以进行ncsi通信;如果bmc输出的link detected项为是为no,说明ncsi硬件链路不通,需要检查板卡硬件链路。
58.s4:断开网卡与交换机之间连接,通过bmc发送ncsi控制命令与网络卡进行通信。
59.确认ncsi链路已通之后,断开网卡与交换机之间连接,bmc发送ncsi控制命令与网络控制器进行通信。
60.s5:在linux网路协议栈中利用套接字socket进行ncsi的通信。
61.作为实例的,本步骤具体包括:
62.1、在bmc中创建ncsi socket进行ncsi通信。
63.2、向已创建的ncsi socket发送ncsi命令,并向网卡发送ncsi请求。
64.具体的,向已创建的ncsi socket发送ncsi命令,在命令中指定以太网接口号、载荷长度等信息,通过linux的sendmsg来向网卡发送ncsi请求。
65.3、网卡收到ncsi请求后进行响应。
66.4、bmc接收ncsi响应,获得相应后关闭ncsi socket。
67.具体的,bmc通过recvmsg来接收ncsi响应。获得ncsi响应后即可关闭ncsi socket。
68.本步骤的原理在于,由于ncsi数据链路层基于以太介质,在linux网路协议栈中利用套接字socket实现ncsi的操作,首先创建ncsi socket,然后向已创建的ncsi socket发送ncsi请求,根据ncsi协议规范,网络控制器收到ncsi请求后,要向bmc发送响应,bmc从已创建的ncsi socket获得ncsi响应,最后关闭ncsi socket,实现一次ncsi通信。
69.其中,需要特别说明的是,步骤s5需要按照预设次数循环进行操作,以确保ncsi链路上时刻存在数据通信。
70.s6:通过使用示波器点测ncsi链路验证信号的完整性。
71.具体的,使用示波器点测ncsi链路使其满足芯片datasheet。
72.本实施例提供了一种基于网络协议栈的ncsi测试方法,只需要一台服务器以及网卡,将服务器与网卡通过ncsi线缆进行连接,登录服务器bmc,通过发送ncsi指令询问网卡信息。无需使用两台服务器以及网卡,减少了测试机台的数量,有效缩短了搭建环境所需要的时间,减小了占用试验台的面积。
73.实施例二:
74.基于实施例一,如图2所示,本发明还公开了一种基于网络协议栈的ncsi测试系统,包括:连接模块1、加载模块2、链路检测模块3、通信组建模块4、套接字连接模块5和验证模块6。
75.连接模块1,用于将一台服务器与网卡通过ncsi线缆进行连接。
76.加载模块2,用于将网卡通过网线连接到交换机上,并通过bmc加载网卡驱动。加载模块2具体用于:在bmc中通过输入ifconfig命令查看共享网口号;如果能够查看到共享网口号,则网卡驱动已经加载成功;如果不能查看到共享网口号,没有说明网卡驱动没有加载成功,则通过更新bmc固件完成网卡驱动的加载。
77.链路检测模块3,用于检测ncsi硬件链路,确保服务器与网卡能够进行ncsi通信。链路检测模块3具体用于:网卡驱动加载成功后,通过输入ethtool命令查看网卡;如果bmc输出的link detected项为是为yes,说明ncsi硬件链路已通,可以进行ncsi通信;如果bmc输出的link detected项为是为no,说明ncsi硬件链路不通,需要检查板卡硬件链路。
78.通信组建模块4,用于断开网卡与交换机之间连接,通过bmc发送ncsi控制命令与网络卡进行通信。
79.套接字连接模块5,用于在linux网路协议栈中利用套接字socket进行ncsi的通信。套接字连接模块5具体用于:在bmc中创建ncsi socket进行ncsi通信;向已创建的ncsi socket发送ncsi命令,在命令中指定以太网接口号、载荷长度等信息,通过linux的sendmsg来发送ncsi请求;bmc发送ncsi请求后,网络控制器要对该请求进行响应,bmc通过recvmsg来接收ncsi响应。获得ncsi响应后即可关闭ncsi socket。
80.验证模块6,用于通过使用示波器点测ncsi链路验证信号的完整性。即使用示波器点测ncsi链路使其满足芯片datasheet。
81.本实施例提供了一种基于网络协议栈的ncsi测试系统,实现了利用一台服务器以及网卡,将服务器与网卡通过ncsi线缆进行连接,在ncsi数据链路层中利用套接字实现一次ncsi的操作。本系统减少了测试机台的数量,有效缩短了搭建环境所需要的时间,减小了占用试验台的面积。
82.实施例三:
83.本实施例公开了一种基于网络协议栈的ncsi测试装置,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的基于网络协议栈的ncsi测试程序时实现以下步骤:
84.1、将一台服务器与网卡通过ncsi线缆进行连接。
85.2、将网卡通过网线连接到交换机上,并通过bmc加载网卡驱动。
86.3、检测ncsi硬件链路,确保服务器与网卡能够进行ncsi通信。
87.4、断开网卡与交换机之间连接,通过bmc发送ncsi控制命令与网络卡进行通信。
88.5、在linux网路协议栈中利用套接字socket进行ncsi的通信。
89.6、通过使用示波器点测ncsi链路验证信号的完整性。
90.进一步的,本实施例中的基于网络协议栈的ncsi测试装置,还可以包括:
91.输入接口,用于获取外界导入的基于网络协议栈的ncsi测试程序,并将获取到的基于网络协议栈的ncsi测试程序保存至所述存储器中,还可以用于获取外界终端设备传输
的各种指令和参数,并传输至处理器中,以便处理器利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口具体可以包括但不限于usb接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
92.输出接口,用于将处理器产生的各种数据输出至与其相连的终端设备,以便于与输出接口相连的其他终端设备能够获取到处理器产生的各种数据。本实施例中,所述输出接口具体可以包括但不限于usb接口、串行接口等。
93.通讯单元,用于在基于网络协议栈的ncsi测试装置和外部服务器之间建立远程通讯连接,以便于基于网络协议栈的ncsi测试装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
94.键盘,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
95.显示器,用于运行服务器供电线路短路定位过程的相关信息进行实时显示。
96.鼠标,可以用于协助用户输入数据并简化用户的操作。
97.本实施例提供了一种基于网络协议栈的ncsi测试装置,只需要一台服务器以及网卡,将服务器与网卡通过ncsi线缆进行连接,登录服务器bmc,通过发送ncsi指令询问网卡信息。无需使用两台服务器以及网卡,减少了测试机台的数量,有效缩短了搭建环境所需要的时间,减小了占用试验台的面积。
98.实施例四:
99.本实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动硬盘、cd-rom或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有基于网络协议栈的ncsi测试程序,所述基于网络协议栈的ncsi测试程序被处理器执行时实现以下步骤:
100.1、将一台服务器与网卡通过ncsi线缆进行连接。
101.2、将网卡通过网线连接到交换机上,并通过bmc加载网卡驱动。
102.3、检测ncsi硬件链路,确保服务器与网卡能够进行ncsi通信。
103.4、断开网卡与交换机之间连接,通过bmc发送ncsi控制命令与网络卡进行通信。
104.5、在linux网路协议栈中利用套接字socket进行ncsi的通信。
105.6、通过使用示波器点测ncsi链路验证信号的完整性。
106.本实施例提供了一种可读存储介质,实现了利用一台服务器以及网卡,将服务器与网卡通过ncsi线缆进行连接,在ncsi数据链路层中利用套接字实现一次ncsi的操作。本实施例减少了测试机台的数量,有效缩短了搭建环境所需要的时间,减小了占用试验台的面积。
107.综上所述,本发明实现了利用一台服务器以及网卡进行ncsi测试,有效降低了测试成本。
108.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
109.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
110.在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
111.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
112.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
113.同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
114.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
115.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
116.以上对本发明所提供的基于网络协议栈的ncsi测试方法、系统、装置及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献