CN101207526A - 网卡传输测试方法 - Google Patents
网卡传输测试方法 Download PDFInfo
- Publication number
- CN101207526A CN101207526A CNA2006101707886A CN200610170788A CN101207526A CN 101207526 A CN101207526 A CN 101207526A CN A2006101707886 A CNA2006101707886 A CN A2006101707886A CN 200610170788 A CN200610170788 A CN 200610170788A CN 101207526 A CN101207526 A CN 101207526A
- Authority
- CN
- China
- Prior art keywords
- computer
- network interface
- interface card
- control command
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网卡传输测试方法,用以在第一计算机的第一网卡和第二计算机的第二网卡之间进行网卡传输测试。第一计算机与第二计算机安装有相同的通讯应用程序结构,第一计算机通过协议驱动程序向第一网卡发送测试数据包,测试数据包包含第一网卡和第二网卡的MAC地址,且目标IP地址为零。本发明在进行网卡传输测试时,无须区分客户端和服务器端,传输过程容易实现。此外,数据传输过程中不需要经过多个协议栈处理,提高了数据传输效率,并获得较高网络占用效率。同时,降低了系统资源的消耗,提高了网络传输效能测试的准确性。
Description
技术领域
本发明涉及一种硬件测试方法,尤其是关于一种网卡传输测试方法。
背景技术
现有技术的网卡传输测试采用客户端/服务器端(Client/Server)架构,其存在以下缺点:
1、客户端与服务器端存在通讯同步问题,客户端与服务器端采用有问必答全双工的通讯方式,因而在通讯可靠性上要求较高,导致实现通讯的程序非常复杂,以应对通讯中多变的状况。此外,为了提高传输测试的压力,会采用多线程(Thread)来发送和接收数据,从而导致线程之间出现同步问题。线程之间同步包含:客户端接收、发送线程的同步,服务器端接收、发送线程的同步,以及客户端与服务器端的接收、发送线程的同步。如此复杂的同步问题必然导致实现极其困难。
2、现有技术的传输测试中,测试资料需要通过多个协议栈进行处理,因而占用大量中央处理器(CPU)的处理时间,极大地消耗CPU资源,降低系统效能。
3、现有技术在计算网卡传输效能时,需要利用系统Socket层的应用程序接口(Application Programming Interface,API)的返回值。但是应用程序接口是针对广泛应用而设计,使用比较复杂,且Socket层的应用程序接口是针对网络设计,而并不是专门针对网卡设计。所以,通过Socket层的应用程序接口获得的测试结果受到诸多因素(如,协议栈实现效率,输入/输出操作效率等)影响,不能准确反映网卡传输能力。
发明内容
为了解决上述现有技术中的问题与缺陷,本发明的目的在于提供一种网卡传输测试方法。
本发明所提供的一种网卡传输测试方法,用以在第一计算机的第一网卡和第二计算机的第二网卡之间进行网卡传输测试,其中第一网卡已知传输性能正常,可作为第二网卡性能的性能评估标准,此方法包含以下步骤:
a)初始化第一计算机和第二计算机的网络通讯,并设置第一计算机为发送状态,设置第二计算机为接收状态;
b)第一计算机通过第一网卡发送控制命令,第二计算机通过第二网卡接收并答复控制命令;
c)当第二计算机答复的控制命令为准备接收控制命令时,第一计算机通过第一协议驱动程序发送测试数据包至第一网卡,第二计算机经由第二网卡接收测试数据包;
d)当控制命令为统计数据控制命令时,第二计算机统计第二网卡的传输数据,并将统计的传输数据发送至第一计算机,第一计算机统计第一网卡的传输数据;以及
e)依照第一网卡的统计资料和第二网卡的统计资料计算第二网卡的传输效能。
其中控制命令是通过用户数据包协议来传输。
其中控制命令为由准备发送控制命令、准备接收控制命令、发送完成控制命令、统计数据控制命令以及统计数据回复控制命令组成的控制命令组中选择的控制命令。
其中测试数据包包含第一网卡和第二网卡的媒体存取控制地址。
其中测试数据包的目标因特网协议地址为零。
其中第二计算机通过操作系统来接收测试数据包。
综上所述,本发明在进行网卡传输测试时,无须区分客户端和服务器端,传输过程容易实现。此外,数据传输过程中不需要经过多个协议栈处理,提高了数据传输效率,并获得较高网络占用效率。同时,降低了系统资源的消耗,提高了网络传输效能测试的准确性。
附图说明
图1为本发明的网卡传输测试方法流程图;以及
图2为依照本发明对接收的数据的处理方法流程图。
其中,附图标记为:
步骤100初始化第一计算机和第二计算机的网络通讯,并设置第一计算机为发送状态,设置第二计算机为接收状态
步骤102第一计算机通过第一网卡发送准备发送控制命令,第二计算机通过第二网卡接收并答复准备接收控制命令
步骤104第一计算机通过第一协议驱动程序发送测试数据包至第一网卡,第二计算机经由第二网卡接收测试数据包
步骤106第一计算机通过第一网卡发送完成控制命令,第二计算机通过第二网卡接收并答复准备发送控制命令,第一计算机通过第一网卡接收并答复准备接收控制命令
步骤108第二计算机通过第二协议驱动程序发送测试数据包至第二网卡,第一计算机经由第一网卡接收测试数据包
步骤110第二计算机通过第二网卡发送完成控制命令,第一计算机通过第一网卡接收并答复统计数据控制命令
步骤112第二计算机统计第二网卡的传输数据,并将统计的传输数据发送至第一计算机,第一计算机统计第一网络的传输数据
步骤114依照第一网卡的统计资料和第二网卡的统计资料计算第二网卡的传输效能
步骤200第二网卡通过网络接收数据
步骤202媒体存取控制地址校验
步骤204校验通过?
步骤206通过直接内存存取方式将接收的数据储存至第二计算机的内存
步骤208因特网协议地址校验
步骤210校验通过?
步骤212通过其它协议栈处理
步骤214抛弃接收的数据
具体实施方式
以下,将结合图式部份对本发明的较佳实施方式作详细说明。
图1所示为本发明的网卡传输测试方法流程图。此方法是在第一计算机的第一网卡和第二计算机的第二网卡之间进行网络传输效能测试。其中第一计算机和第二计算机可以为桌上计算机、可携式计算机或其它网络设备,两者具有相同或相似的系统结构,无须区分客户端和服务器端。
首先,初始化第一计算机和第二计算机的网络通讯,并设置第一计算机为发送状态(即,测试端),设置第二计算机为接收状态(即,被测试端)(步骤100)。第一计算机和第二计算机的网络通讯可采用有线网络、无线网络等多种方式,初始化步骤用以建立两者的网络连接,以实现数据传输。对第一计算机和第二计算机的设置可以通过软件或硬件方式实现,依照本发明的具体实施方式,第一计算机和第二计算机包含传输控制模块(图未示),用以实现相应设置和控制数据传输。通过设置第一计算机和第二计算机的发送、接收状态,实现了数据的单向传输,避免了客户端/服务器端架构的同步问题,并让数据不间断传输,获得较高的网络占有率。此外,在发送效率较高的情况下,单线程模式即可以实现大量数据的传输,而不用采用多线程模式。
接着,第一计算机和第二计算机进行控制命令和数据的传输。依照本发明的具体实施方式,控制命令为由准备发送控制命令、准备接收控制命令、发送完成控制命令、统计数据控制命令以及统计数据回复控制命令组成的控制命令组中选择的控制命令。其中,准备发送控制命令由测试端发送至被测试端,用以通知被测试端测试数据将要被传输;准备接收控制命令由被测试端发送,用以通知测试端自己处于接收状态,可以接收数据;发送完成控制命令由测试端发送,用以通知被测试端数据传输完毕,且测试端转变为接收状态;统计数据控制命令由测试端发送,用以通知被测试端报告统计资料;统计资料回复控制命令由被测试端发送,用以报告统计资料。
当第一计算机和第二计算机建立网络连接后,第一计算机通过第一网卡发送准备发送控制命令,第二计算机通过第二网卡接收准备发送控制命令,并答复相应的准备接收控制命令(步骤102)。在本发明中,控制命令采用用户数据包协议(User Datagram Protocol,UDP)进行传输。然而,亦可采用其它协议以达到相同的传输目的。
当第一计算机接收到第二计算机答复的准备接收控制命令后,第一计算机的传输控制模块(或具备发送数据功能的其它模块)通过第一协议驱动程序发送测试数据包至第一网卡,第二计算机经由第二网卡从网络中接收测试数据包(步骤104)。通过协议驱动程序可以让数据直接发送至第一网卡,而不用经过多个协议栈进行处理,降低CPU的消耗。对于测试数据包的接收,第二计算机可通过操作系统来完成。为了保证测试资料包的正确传输与统计,测试资料包包含第一网卡和第二网卡的媒体存取控制(Media Access Control,MAC)地址。同时,测试数据包的因特网协议(Internet Protocol,IP)地址被设置为零。通过设置测试数据包的因特网协议地址,可以让测试数据包在被测试端接收后,于数据处理流程的因特网协议地址校验期间被抛弃,从而释放被测试端的系统资源,降低系统资源的消耗,提高数据处理效率。测试数据包被接收后的数据处理方法将结合图2进行详细描述。
当测试数据包发送完毕后,第一计算机通过第一网卡发送发送完成控制命令,且将自身处于接收数据状态,第二计算机通过第二网卡接收发送完成控制命令,并答复准备发送控制命令,第一计算机进而通过第一网卡接收准备发送控制命令,并答复相应的准备接收控制命令(步骤106)。
当第二计算机接收到第一计算机答复的准备接收控制命令后,第二计算机的传输控制模块(或具备发送数据功能的其它模块)通过第二协议驱动程序发送测试数据包至第二网卡,第一计算机经由第一网卡从网络中接收测试数据包(步骤108)。如上所述,第一计算机和第二计算机分别完成了测试数据包的发送和接收,可以认为其完成了一个测试数据的传输周期,因而可以开始网卡传输效能的计算。
当第二计算机将测试数据包发送完毕后,第二计算机通过第二网卡发送发送完成控制命令,第一计算机通过第一网卡接收发送完成控制命令,并发送统计数据控制命令(步骤110)。当第二计算机接收到统计数据控制命令后,第二计算机统计第二网卡的传输数据,并将统计的传输数据发送至第一计算机,同时第一计算机统计第一网络的传输数据(步骤112)。第一计算机接收到第二网卡的统计资料后,依照第一网卡的统计资料和第二网卡的统计资料计算第二网卡的传输效能(步骤114)。
依照本发明的具体实施方式,网卡的传输效能采用以下方式计算:(1)发送效能包含字节发送能力、字节发送准确率以及总体效能三个方面,字节发送能力=发送成功字节数量/(发送成功字节数量+发送失败字节数量),字节发送准确率=测试端无错接收的字节数量/被测试方成功发送的字节数量,总体效能=字节发送能力*字节发送准确率;(2)接收效能包含接收成功率、接收准确率以及总体效能三个方面,接收成功率=被测试端接收的字节数量/测试端成功发送的字节数量,接收准确率=正确接收的字节数量/接收的字节数量,总体效能=接收成功率*接收准确率。
请参考图2,图中所示为本发明对接收的数据的处理方法流程图,以第二计算机为例来描述。第二网卡通过网络接收数据(如,测试数据包)(步骤200),并对接收的数据进行媒体存取控制地址校验(步骤202),判断接收的数据是否能够校验通过(步骤204)?当校验没有通过时,抛弃接收的数据(步骤214)。当校验通过时,通过直接内存存取(Direct Memory Access,DMA)方式将接收的数据储存至第二计算机的内存(步骤206)。接着,对接收的数据进行因特网协议地址校验(步骤208),判断接收的数据是否能够校验通过(步骤210)?当校验没有通过时,抛弃接收的数据(步骤214)。当校验通过时,通过其它协议栈对接收的资料进行处理(步骤212)。其中,从步骤208开始的每一操作均会消耗CPU资源。如上所述,本发明之测试数据包的目标因特网协议地址为零,因此在步骤208进行因特网协议地址校验时会被系统抛弃,从而释放系统资源,降低CPU的消耗。
虽然本发明已以前述较佳实施例揭露如上,然其并非用以限定本发明,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种网卡传输测试方法,用以在一第一计算机的一第一网卡和一第二计算机的一第二网卡之间进行网卡传输测试,其特征在于,该方法包含以下步骤:
a)初始化该第一计算机和该第二计算机的网络通讯,并设置该第一计算机为发送状态,设置该第二计算机为接收状态;
b)该第一计算机通过该第一网卡发送一控制命令,该第二计算机通过该第二网卡接收并答复该控制命令;
c)当该第二计算机答复的该控制命令为一准备接收控制命令时,该第一计算机通过一第一协议驱动程序发送一测试数据包至该第一网卡,该第二计算机经由该第二网卡接收该测试数据包;
d)该第二计算机通过一第二协议驱动程序发送该测试数据包至该第二网卡,该第一计算机经由该第一网卡接收该测试数据包;
e)当该控制命令为一统计数据控制命令时,该第二计算机统计该第二网卡的传输数据,并将统计的传输数据发送至该第一计算机,该第一计算机统计该第一网卡的传输数据;以及
f)依照该第一网卡的统计资料和该第二网卡的统计资料计算该第二网卡的传输效能。
2.根据权利要求1所述的网卡传输测试方法,其特征在于,该控制命令通过用户数据包协议来传输。
3.根据权利要求1所述的网卡传输测试方法,其特征在于,该控制命令为由一准备发送控制命令、一准备接收控制命令、一发送完成控制命令、一统计数据控制命令以及一统计数据回复控制命令组成的控制命令组中选择的一控制命令。
4.根据权利要求1所述的网卡传输测试方法,其特征在于,该测试数据包包含该第一网卡和该第二网卡的媒体存取控制地址。
5.根据权利要求1所述的网卡传输测试方法,其特征在于,该测试数据包的目标因特网协议地址为零。
6.根据权利要求1所述的网卡传输测试方法,其特征在于,该第二计算机通过操作系统来接收该测试数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101707886A CN101207526A (zh) | 2006-12-22 | 2006-12-22 | 网卡传输测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101707886A CN101207526A (zh) | 2006-12-22 | 2006-12-22 | 网卡传输测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101207526A true CN101207526A (zh) | 2008-06-25 |
Family
ID=39567429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101707886A Pending CN101207526A (zh) | 2006-12-22 | 2006-12-22 | 网卡传输测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101207526A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103178998A (zh) * | 2013-03-20 | 2013-06-26 | 中国人民解放军91404部队 | 一种测控数据传输方法和装置 |
CN103490947A (zh) * | 2013-09-04 | 2014-01-01 | 清华大学 | Mvb网卡mue协议测试装置及方法 |
CN105991368A (zh) * | 2015-03-06 | 2016-10-05 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN111147330A (zh) * | 2019-12-28 | 2020-05-12 | 国铁吉讯科技有限公司 | 络质量评估方法、装置、存储介质和处理器 |
CN114363150A (zh) * | 2021-12-28 | 2022-04-15 | 浪潮通信技术有限公司 | 服务器集群的网卡连通性监控方法及装置 |
-
2006
- 2006-12-22 CN CNA2006101707886A patent/CN101207526A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103178998A (zh) * | 2013-03-20 | 2013-06-26 | 中国人民解放军91404部队 | 一种测控数据传输方法和装置 |
CN103178998B (zh) * | 2013-03-20 | 2015-09-30 | 中国人民解放军91404部队 | 一种测控数据传输方法和装置 |
CN103490947A (zh) * | 2013-09-04 | 2014-01-01 | 清华大学 | Mvb网卡mue协议测试装置及方法 |
CN105991368A (zh) * | 2015-03-06 | 2016-10-05 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN111147330A (zh) * | 2019-12-28 | 2020-05-12 | 国铁吉讯科技有限公司 | 络质量评估方法、装置、存储介质和处理器 |
CN114363150A (zh) * | 2021-12-28 | 2022-04-15 | 浪潮通信技术有限公司 | 服务器集群的网卡连通性监控方法及装置 |
CN114363150B (zh) * | 2021-12-28 | 2024-05-14 | 浪潮通信技术有限公司 | 服务器集群的网卡连通性监控方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Buonadonna et al. | An implementation and analysis of the virtual interface architecture | |
CN104750588A (zh) | 一种基于串口通信的压力测试方法 | |
CN102045772A (zh) | 一种数据传输方法及装置 | |
CN103139157B (zh) | 一种基于socket的网络通信方法、装置及系统 | |
CN110086571A (zh) | 一种数据发送及接收的方法、装置及数据处理系统 | |
CN101207526A (zh) | 网卡传输测试方法 | |
CN108494817A (zh) | 数据传输方法、相关装置及系统 | |
WO2014082562A1 (en) | Method, device, and system for information processing based on distributed buses | |
CN102316133A (zh) | 一种负载均衡方法及装置 | |
CN103188059A (zh) | 快速通道互联系统中数据包重传方法、装置和系统 | |
CN107567107A (zh) | 一种传输数据的方法及装置 | |
CN103338184A (zh) | 数据发送方法及装置、数据接收装置以及数据传输系统 | |
CN101873235A (zh) | 设备网络联通的检测方法、网管系统及网络系统 | |
CN106233667A (zh) | 用于在低网络媒体层测试射频数据包信号收发器的方法和系统 | |
CN101453751A (zh) | 窄带网络环境下传输大文件数据的方法 | |
CN108710565A (zh) | 一种压力测试方法、装置及系统 | |
CN101909310A (zh) | 电子装置测试方法 | |
CN100486248C (zh) | 一种实时环境下的零拷贝通信方法 | |
CN1988537A (zh) | 一种数据传输协议 | |
CN110248379A (zh) | 无线局域网中基站的性能测试方法及装置 | |
US20120243556A1 (en) | MAC Abstraction Sub-layer and MAC Table for a Communication System and Related Communication Device | |
CN106131162A (zh) | 一种基于iocp机制实现网络服务代理的方法 | |
CN110061888A (zh) | 网络协议类型判断方法、装置、计算机设备及存储介质 | |
CN102480518A (zh) | 映像文件的多播下载方法 | |
CN103248679A (zh) | 一种网络消息传递方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |