CN117081970A - 以太网物理层外环回测试方法、装置及电子设备 - Google Patents
以太网物理层外环回测试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117081970A CN117081970A CN202310768982.8A CN202310768982A CN117081970A CN 117081970 A CN117081970 A CN 117081970A CN 202310768982 A CN202310768982 A CN 202310768982A CN 117081970 A CN117081970 A CN 117081970A
- Authority
- CN
- China
- Prior art keywords
- thread
- data frame
- physical layer
- outer loop
- ethernet physical
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 claims description 20
- 239000013078 crystal Substances 0.000 claims description 8
- 238000010998 test method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明提供一种以太网物理层外环回测试方法、装置及电子设备,包括:在用户空间创建第一线程和第二线程,其中第一线程用于通过原始套接字的方式向第二线程发送数据帧,第二线程用于通过原始套接字的方式接收第一线程发送的数据帧,并根据接收结果判定以太网物理层外环回测试是否成功;启动第二线程,以便等待数据帧到达;启动第一线程。本发明能够在单个待测设备上完成以太网物理层外环回测试功能。
Description
技术领域
本发明涉及硬件网卡测试技术领域,尤其涉及一种以太网物理层外环回测试方法、装置及电子设备。
背景技术
以太网物理层外环回测试是一种测试,指的是报文可以从数据链路层发出,经物理层到达网络端口外面,再经过外部的物理环路回到数据链路层。
目前主流的以太网物理层外环回测试的方案是:待测设备通过RJ45接口外接一根网线,与服务端(pc)连接。在待测设备上添加路由规则和ip地址,接着同样需要在服务端(pc)配置ip地址和默认网关,最后在待测设备通过ping指令验证数据收发通路是否正常。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
现有测试方案不仅需要配置服务端(pc)待测设备的ip地址及路由,而且要想自由配置pc的ip等信息,需要pc处于不加域的状态,否则在加域状态只能通过申请管理员权限来配置,比如在工厂测试场景下就会显得测试步骤十分繁琐,且测试准备时间很长。
发明内容
有鉴于此,本发明提供了一种以太网物理层外环回测试方法、装置及电子设备,能够在单个待测设备上完成以太网物理层外环回测试功能。
第一方面,本发明提供一种以太网物理层外环回测试方法,所述测试方法基于单个待测设备来实现,所述待测设备的以太网端口连接有特制水晶头,将所述以太网端口的收发通道短接,所述测试方法包括:
在用户空间创建第一线程和第二线程,其中所述第一线程用于通过原始套接字的方式向所述第二线程发送数据帧,所述第二线程用于通过原始套接字的方式接收所述第一线程发送的数据帧,并根据接收结果判定以太网物理层外环回测试是否成功;
启动所述第二线程,以便等待数据帧到达;
启动所述第一线程。
可选地,所述第一线程,用于创建一个原始套接字,形成要发送的数据帧,并将所述数据帧发送到所述第二线程。
可选地,所述第二线程,用于创建一个原始套接字,监听原始套接字是否有数据帧到达,如果在设定的等待时间内没有数据帧到达,则判定以太网物理层外环回测试失败,如果数据帧按时到达,接收所述第一线程发送的数据帧,并比对接收到的数据帧与所述第一线程发送的数据帧的数据信息是否相等;
如果相等,则判定以太网物理层外环回测试成功,如果不相等,则判定测试失败。
可选地,所述数据帧为以太网帧,包括源mac地址、目的mac地址、以太网协议以及有效数据载荷。
可选地,所述待测设备具有Android系统;
在Android系统的native层创建第一线程和第二线程。
第二方面,本发明提供一种以太网物理层外环回测试装置,包括:
线程创建模块,用于在用户空间创建第一线程和第二线程,其中所述第一线程用于通过原始套接字的方式向所述第二线程发送数据帧,所述第二线程用于通过原始套接字的方式接收所述第一线程发送的数据帧,并根据接收结果判定以太网物理层外环回测试是否成功;
线程启动模块,用于先启动所述第二线程以便等待数据帧到达,然后启动所述第一线程。
可选地,所述第一线程,用于创建一个原始套接字,形成要发送的数据帧,并将所述数据帧发送到所述第二线程。
可选地,所述第二线程,用于创建一个原始套接字,监听原始套接字是否有数据帧到达,如果在设定的等待时间内没有数据帧到达,则判定以太网物理层外环回测试失败,如果数据帧按时到达,接收所述第一线程发送的数据帧,并比对接收到的数据帧与所述第一线程发送的数据帧的数据信息是否相等;
如果相等,则判定以太网物理层外环回测试成功,如果不相等,则判定测试失败。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的以太网物理层外环回测试方法。
第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的以太网物理层外环回测试方法。
本发明提供的以太网物理层外环回测试方法、装置及电子设备,在用户空间创建两个线程,以原始套接字的方式收发数据,达到传输数据绕过系统内核的协议栈即tcp/ip处理的效果,数据经过数据链路层(mac控制器)和物理层(phy芯片),最后在物理层外部通过以太网端口连接的一个收发通道短接的特制水晶头,整个测试达到一个数据外环回的效果,能够检验由用户空间到以太网络的数据链路层,再到物理层构成的数据通路是否正常。与现有技术相比,在单个待测设备上完成以太网物理层外环回测试功能,不需要添加一个额外的不加域的pc,测试更加灵活。而且,整个测试方式十分简便,可以运用到工厂测试等测试场景下检验待测设备的mac控制器,phy芯片通路是否正常。
附图说明
图1为raw socket收发数据示意图;
图2为本发明一实施例的以太网物理层外环回测试方法的流程示意图;
图3为本发明一实施例的第一线程/第二线程收发数据流程图
图4为本发明一实施例的以太网物理层外环回测试装置的结构示意图;
图5为本发明一实施例的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
Raw socket也叫SOCK_RAW,译为原始套接字,使用raw socket可以实现网络数据收发过程绕过系统内核的协议栈,用户可以自行指定数据传输协议,自行构造传输的数据,如图1所示,原始套接字可以绕过正常的TCP/IP处理将数据包发送到数据链路层,以及,原始套接字可以绕过正常的TCP/IP处理直接将数据包发送到指定的用户程序。
基于上述理论,本发明实施例提供一种以太网物理层外环回测试方法,该测试方法基于单个待测设备来实现,待测设备的以太网端口连接有特制水晶头,将以太网端口的收发通道短接,如图2所示,所述测试方法包括以下步骤:
S201,在用户空间创建第一线程和第二线程,其中第一线程用于通过原始套接字的方式向第二线程发送数据帧,第二线程用于通过原始套接字的方式接收第一线程发送的数据帧,并根据接收结果判定以太网物理层外环回测试是否成功;
S202,启动第二线程,以便等待数据帧到达;
S203,启动第一线程。
具体地,以百兆网线为例,本发明实施例用到的特制水晶头,引脚1与引脚3直连,引脚2与6直连,引脚4与7直连,引脚5与8直连,实现了收发通道短接。
如何验证制作的特制水晶头是否满足一个以太网物理层外环回条件,可以通过命令——ip link show dev eth0,如果没有显示“NO-CARRIER”,则说明特制水晶头已经制作成功。
用户在用户空间(user space,用户程序的运行空间)创建第一线程和第二线程,在一个实施例中,以具有Android系统的待测设备为例,用户空间是Android系统的native层。在待测设备的用户空间创建第一线程和第二线程,其中第一线程充当客户端,第二线程充当服务端,第一线程通过原始套接字的方式向第二线程发送数据帧,比如发送字符串“Hello,eth0!”,第二线程通过原始套接字的方式接收第一线程发送的字符串数据。
进一步地,如图3所示,第一线程(客户端)用于创建一个原始套接字,形成要发送的数据帧,然后向第二线程(服务端)发送数据帧。
第二线程(服务端)用于创建一个原始套接字,然后通过select指令监听原始套接字是否有数据帧到达,设定一个监听的等待时间timeout,如果在设定的等待时间内没有数据帧到达,也就是说超过等待时间第二线程没有接收到数据帧,则判定测试失败,如果数据帧按时到达,通过recvfrom指令接收数据帧,并比对接收到的数据帧与第一线程发送的数据帧的数据信息是否相等,如果相等,那么判定以太网物理层外环回测试成功,如果不相等,则判定测试失败。
为了保证不会漏掉数据,在测试过程中,需要先启动第二线程(也可以称为接收线程),再启动第一线程(也可以称为发送线程)。
另外还要说明的是,考虑到线程的实现方式不同,线程在创建之后就默认开始执行,对于这种情况,在一个实施例中,测试方法包括以下步骤:
创建第二线程,第二线程用于通过原始套接字的方式接收第一线程发送的数据帧,并根据接收结果判定以太网物理层外环回测试是否成功;
经过一定的延时时间,创建第一线程,第一线程用于通过原始套接字的方式向第二线程发送数据帧。
在一个实施例中,创建原始套接字时指定套接字类型为PF_PACKET,并且自定义传输的数据帧为以太网帧,包括源mac地址,目的mac地址,以太网协议以及有效数据载荷。这么做的原因是在自发自收的物理层外环回测试中,数据可以绕过tcp/ip层,不需要经过冗杂的路由选择,数据链路层(mac层)可以直接与用户程序进行数据交互,防止数据出现因为路由策略等原因被丢弃。
本发明实施例提供的一种以太网物理层外环回测试方法,通过在用户空间进行raw socket网络编程创建两个线程,以原始套接字的方式收发数据,达到传输数据绕过系统内核的协议栈即tcp/ip处理的效果,数据经过数据链路层(mac控制器)和物理层(phy芯片),最后在物理层外部通过以太网端口连接的一个收发通道短接的特制水晶头,整个测试达到一个数据外环回的效果,能够检验由用户空间到以太网络的数据链路层,再到物理层构成的数据通路是否正常。与现有技术相比,在单个待测设备上完成以太网物理层外环回测试功能,不需要添加一个额外的不加域的pc,测试更加灵活。而且,整个测试方式十分简便,可以运用到工厂测试等测试场景下检验待测设备的mac控制器,phy芯片通路是否正常。
另一方面,本发明一个实施例提供一种以太网物理层外环回测试装置,如图4所示,该装置包括:
线程创建模块401,用于在用户空间创建第一线程和第二线程,其中第一线程用于通过原始套接字的方式向第二线程发送数据帧,第二线程用于通过原始套接字的方式接收第一线程发送的数据帧,并根据接收结果判定以太网物理层外环回测试是否成功;
线程启动模块402,用于先启动第二线程以便等待数据帧到达,然后启动第一线程。
进一步地,在一个实施例中,所述第一线程,用于创建一个原始套接字,形成要发送的数据帧,并将数据帧发送到所述第二线程。
所述第二线程,用于创建一个原始套接字,监听原始套接字是否有数据帧到达,如果在设定的等待时间内没有数据帧到达,则判定以太网物理层外环回测试失败,如果数据帧按时到达,接收所述第一线程发送的数据帧,并比对接收到的数据帧与所述第一线程发送的数据帧的数据信息是否相等;
如果相等,则判定以太网物理层外环回测试成功,如果不相等,则判定测试失败。
本发明实施例提供的以太网物理层外环回测试装置,是用于执行上述方法实施例的,其具体流程和详细内容请参照上述实施例,此处不再赘述。
图5为本发明实施例提供的电子设备结构示意图。如图5所示,该电子设备可以包括:处理器(processor)501、存储器(memory)502和通信总线503,其中,处理器501和存储器502通过通信总线503完成相互间的通信。处理器501可以执行存储器502中的程序指令,以实现上述各实施例提供的以太网物理层外环回测试方法。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供的以太网物理层外环回测试方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种以太网物理层外环回测试方法,其特征在于,所述测试方法基于单个待测设备来实现,所述待测设备的以太网端口连接有特制水晶头,将所述以太网端口的收发通道短接,所述测试方法包括:
在用户空间创建第一线程和第二线程,其中所述第一线程用于通过原始套接字的方式向所述第二线程发送数据帧,所述第二线程用于通过原始套接字的方式接收所述第一线程发送的数据帧,并根据接收结果判定以太网物理层外环回测试是否成功;
启动所述第二线程,以便等待数据帧到达;
启动所述第一线程。
2.根据权利要求1所述的方法,其特征在于,所述第一线程,用于创建一个原始套接字,形成要发送的数据帧,并将所述数据帧发送到所述第二线程。
3.根据权利要求1所述的方法,其特征在于,所述第二线程,用于创建一个原始套接字,监听原始套接字是否有数据帧到达,如果在设定的等待时间内没有数据帧到达,则判定以太网物理层外环回测试失败,如果数据帧按时到达,接收所述第一线程发送的数据帧,并比对接收到的数据帧与所述第一线程发送的数据帧的数据信息是否相等;
如果相等,则判定以太网物理层外环回测试成功,如果不相等,则判定测试失败。
4.根据权利要求1所述的方法,其特征在于,所述数据帧为以太网帧,包括源mac地址、目的mac地址、以太网协议以及有效数据载荷。
5.根据权利要求1所述的方法,其特征在于,所述待测设备具有Android系统;
在Android系统的native层创建第一线程和第二线程。
6.一种以太网物理层外环回测试装置,其特征在于,包括:
线程创建模块,用于在用户空间创建第一线程和第二线程,其中所述第一线程用于通过原始套接字的方式向所述第二线程发送数据帧,所述第二线程用于通过原始套接字的方式接收所述第一线程发送的数据帧,并根据接收结果判定以太网物理层外环回测试是否成功;
线程启动模块,用于先启动所述第二线程以便等待数据帧到达,然后启动所述第一线程。
7.根据权利要求6所述的装置,其特征在于,所述第一线程,用于创建一个原始套接字,形成要发送的数据帧,并将所述数据帧发送到所述第二线程。
8.根据权利要求6所述的装置,其特征在于,所述第二线程,用于创建一个原始套接字,监听原始套接字是否有数据帧到达,如果在设定的等待时间内没有数据帧到达,则判定以太网物理层外环回测试失败,如果数据帧按时到达,接收所述第一线程发送的数据帧,并比对接收到的数据帧与所述第一线程发送的数据帧的数据信息是否相等;
如果相等,则判定以太网物理层外环回测试成功,如果不相等,则判定测试失败。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一所述的以太网物理层外环回测试方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一所述的以太网物理层外环回测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310768982.8A CN117081970A (zh) | 2023-06-27 | 2023-06-27 | 以太网物理层外环回测试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310768982.8A CN117081970A (zh) | 2023-06-27 | 2023-06-27 | 以太网物理层外环回测试方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117081970A true CN117081970A (zh) | 2023-11-17 |
Family
ID=88714192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310768982.8A Pending CN117081970A (zh) | 2023-06-27 | 2023-06-27 | 以太网物理层外环回测试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117081970A (zh) |
-
2023
- 2023-06-27 CN CN202310768982.8A patent/CN117081970A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190182134A1 (en) | Cable modems/emtas under test | |
EP4032207B1 (en) | State machine handling at a proxy node in an ethernet-based fronthaul network | |
US9331870B2 (en) | Switch, information processing apparatus, and information processing system | |
US9641419B2 (en) | Methods and systems for providing background pretesting of communications or storage network equipment | |
WO2019178756A1 (zh) | Sd-wan系统、sd-wan系统的使用方法及相关装置 | |
US11762747B2 (en) | Network based debug | |
CN106255226B (zh) | 网络连接处理方法及装置 | |
WO2017219840A1 (zh) | 设备端口的检测方法及装置 | |
TWI535251B (zh) | 低延遲聯網方法及系統 | |
US20160080842A1 (en) | Data transmission method, apparatus, and system | |
US10146721B2 (en) | Remote host management over a network | |
US9270734B2 (en) | Download method and system based on management data input/output interface | |
US10298487B2 (en) | Method and device for transmitting data | |
US20160134522A1 (en) | Data flow processing method, device, and system | |
JP2010157875A (ja) | 通信端末、ネットワークインタフェースカード及びその方法 | |
AU2021277366A1 (en) | Port status configuration method, apparatus,and system, and storage medium | |
Ronan et al. | Evaluation of a DTN convergence layer for the AX. 25 network protocol | |
CN111541958A (zh) | 光口速率自适应方法、设备、装置及可读存储介质 | |
CN117081970A (zh) | 以太网物理层外环回测试方法、装置及电子设备 | |
CN111131267A (zh) | 基于fpga的以太网自适应方法、装置及系统 | |
US9209928B2 (en) | Transmission device and transmission method | |
US20040143781A1 (en) | System and method for non-intrusive loopback testing | |
US20060047784A1 (en) | Method, apparatus and system for remotely and dynamically configuring network elements in a network | |
US7860026B2 (en) | Network switch deployment | |
JP4415391B2 (ja) | データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |