CN110266560B - 一种通信测试方法、装置、存储介质及电子设备 - Google Patents

一种通信测试方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN110266560B
CN110266560B CN201910552878.9A CN201910552878A CN110266560B CN 110266560 B CN110266560 B CN 110266560B CN 201910552878 A CN201910552878 A CN 201910552878A CN 110266560 B CN110266560 B CN 110266560B
Authority
CN
China
Prior art keywords
data packet
acquisition terminal
power acquisition
host
physical address
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.)
Active
Application number
CN201910552878.9A
Other languages
English (en)
Other versions
CN110266560A (zh
Inventor
黄孟孟
刘宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Sanxing Electric Co Ltd
Original Assignee
Ningbo Sanxing Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo Sanxing Electric Co Ltd filed Critical Ningbo Sanxing Electric Co Ltd
Priority to CN201910552878.9A priority Critical patent/CN110266560B/zh
Publication of CN110266560A publication Critical patent/CN110266560A/zh
Application granted granted Critical
Publication of CN110266560B publication Critical patent/CN110266560B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供的一种通信测试方法、装置、存储介质及电子设备,涉及通信测试技术领域。该通信测试方法应用于电力采集终端,该方法包括:通过第一原始套接字接收主机发送的第一数据包;根据预设规则生成第二数据包;依据第一数据包中的主机的物理地址向主机发送第二数据包,以便主机对第二数据包进行处理得到第三数据包,并将第三数据包依据第二数据包中的电力采集终端的物理地址发送至电力采集终端;依据第二数据包和第三数据包判断通信通道是否稳定,若稳定,则记录测试成功。使用该方法进行数据通信稳定性测试时,能够使得测试效率更高。

Description

一种通信测试方法、装置、存储介质及电子设备
技术领域
本发明涉及通信测试技术领域,具体而言,涉及一种通信测试方法、装置、存储介质及电子设备。
背景技术
目前测试电力采集终端在以太网中的稳定性时,通常采用ping(Packet InternetGroper,因特网包探索器)的方式进行测试。采用ping的方式需依赖IP(InternetProtocol,网际协议)地址,若存在两台电力采集终端的IP地址相同的情况,则无法对这两台电力采集终端同时进行测试,存在测试效率低的问题。
发明内容
本发明解决的问题是在电力采集终端进行稳定性测试时,如何提高测试效率。
为解决上述问题,本发明的技术方案是这样实现的:
第一方面,本发明提供一种通信测试方法,应用于电力采集终端,所述电力采集终端通过通信通道与主机进行通信,所述电力采集终端上预先创建有第一原始套接字,所述方法包括:通过所述第一原始套接字接收所述主机发送的第一数据包;其中,所述第一数据包包括所述主机的物理地址;根据预设规则生成第二数据包;其中,所述第二数据包包括所述电力采集终端的物理地址;依据所述主机的物理地址向所述主机发送所述第二数据包,以便所述主机对所述第二数据包进行处理得到第三数据包,并将所述第三数据包依据所述电力采集终端的物理地址发送至所述电力采集终端;依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定,若稳定,则记录测试成功。
与现有技术相比,本发明提供的通信测试方法在对电力采集终端与主机之间的通信稳定性进行测试时,通过原始套接字可以接收和发送数据包,并依据主机的物理地址和电力采集终端的物理地址能够将数据包进行准确的发送,进而实现主机与电力采集终端之间的通信是否稳定的测试。该方法无需依赖主机是否知晓电力采集终端的IP地址,使得测试方法的灵活性更高;也不会因与主机通信的多台电力采集终端的IP地址相同,产生无法同时进行测试的问题,能够使得测试效率更高。
进一步地,所述根据预设规则生成第二数据包的步骤包括:通过所述第一原始套接字对所述电力采集终端的链路层进行更改得到自定义网络层协议;依据所述自定义网络层协议、预先存储的应用数据和所述电力采集终端的物理地址得到所述第二数据包。通过第一原始套接字直接对电力采集终端的链路层进行更改,来搭建自定义网络层协议,以此达到绕过IP协议的目的。进而实现了主机与电力采集终端之间的测试无需依赖主机是否知晓电力采集终端的IP地址,也不会因与主机通信的多台电力采集终端的IP地址相同,产生无法同时进行测试的问题,使得测试效率更高。
进一步地,所述通过所述第一原始套接字接收所述主机发送的第一数据包的步骤之前还包括:通过所述第一原始套接字接收与所述电力采集终端通信的网络设备的初始数据包;其中,所述网络设备包括所述主机;验证所述初始数据包中是否包含有表征所述初始数据包来自所述主机的标识报文,若是,则将所述初始数据包作为所述第一数据包。通过验证初始数据包中是否包含有表征初始数据包来自主机的标识报文,来从多个网络设备向电力采集终端发送的多个初始数据包中确定第一数据包。
进一步地,所述依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定的步骤包括:将所述第三数据包与所述第二数据包进行求和得到结果信息;将所述结果信息与预设信息进行匹配判断所述通信通道是否稳定。
第二方面,本发明提供一种通信测试方法,应用于主机,所述主机通过通信通道与电力采集终端进行通信,所述主机预先创建有第二原始套接字,所述方法包括:通过所述第二原始套接字向所述电力采集终端发送第一数据包,以便所述电力采集终端根据预设规则生成第二数据包,并依据所述第一数据包中携带的所述主机的物理地址将所述第二数据包发送至所述主机,所述第二数据包包括所述电力采集终端的物理地址;对所述第二数据包进行处理得到第三数据包,并将所述第三数据包依据所述电力采集终端的物理地址发送至所述电力采集终端,以便所述电力采集终端依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定,若稳定,则记录测试成功。
与现有技术相比,本发明提供的通信测试方法在对电力采集终端与主机之间的通信稳定性进行测试时,通过原始套接字可以接收和发送数据包,并依据主机的物理地址和电力采集终端的物理地址能够将数据包进行准确的发送,进而实现主机与电力采集终端之间的通信是否稳定的测试。该方法无需依赖主机是否知晓电力采集终端的IP地址,使得测试方法的灵活性更高;也无需担心与主机通信的多台电力采集终端的IP地址相同,导致无法同时进行测试的问题,能够使得测试效率更高。
进一步地,所述第二数据包还包括应用数据,所述对所述第二数据包进行处理得到第三数据包的步骤包括:对所述应用数据按位翻转得到处理后的应用数据;根据所述处理后的应用数据和所述电力采集终端的物理地址得到所述第三数据包。
第三方面,本发明提供一种通信测试装置,应用于电力采集终端,所述电力采集终端通过通信通道与主机进行通信,所述电力采集终端上预先创建有第一原始套接字,所述装置包括:接收模块,用于通过所述第一原始套接字接收所述主机发送的第一数据包;其中,所述第一数据包包括所述主机的物理地址;数据生成模块,用于根据预设规则生成第二数据包;其中,所述第二数据包包括所述电力采集终端的物理地址;第一发送模块,用于依据所述主机的物理地址向所述主机发送所述第二数据包,以便所述主机对所述第二数据包进行处理得到第三数据包,并将所述第三数据包依据所述电力采集终端的物理地址发送至所述电力采集终端;判断模块,用于依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定,若稳定,则记录测试成功。
与现有技术相比,本发明提供的通信测试装置在对电力采集终端与主机之间的通信稳定性进行测试时,通过原始套接字可以接收和发送数据包,并依据主机的物理地址和电力采集终端的物理地址能够将数据包进行准确的发送,进而实现主机与电力采集终端之间的通信是否稳定的测试。该方法无需依赖主机是否知晓电力采集终端的IP地址,使得测试方法的灵活性更高;也不会因与主机通信的多台电力采集终端的IP地址相同,产生无法同时进行测试的问题,能够使得测试效率更高。
第四方面,本发明提供一种通信测试装置,应用于主机,所述主机通过通信通道与电力采集终端进行通信,所述主机预先创建有第二原始套接字,所述装置包括:第二发送模块,用于通过所述第二原始套接字向所述电力采集终端发送第一数据包,以便所述电力采集终端根据预设规则生成第二数据包,并依据所述第一数据包中携带的所述主机的物理地址将所述第二数据包发送至所述主机,所述第二数据包包括所述电力采集终端的物理地址;处理模块,用于对所述第二数据包进行处理得到第三数据包,并将所述第三数据包依据所述电力采集终端的物理地址发送至所述电力采集终端,以便所述电力采集终端依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定,若稳定,则记录测试成功。
与现有技术相比,本发明提供的通信测试装置在对电力采集终端与主机之间的通信稳定性进行测试时,通过原始套接字可以接收和发送数据包,并依据主机的物理地址和电力采集终端的物理地址能够将数据包进行准确的发送,进而实现主机与电力采集终端之间的通信是否稳定的测试。该方法无需依赖主机是否知晓电力采集终端的IP地址,使得测试方法的灵活性更高;也不会因与主机通信的多台电力采集终端的IP地址相同,产生无法同时进行测试的问题,能够使得测试效率更高。
第五方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的通信测试方法,或实现如第二方面所述的通信测试方法。
第六方面,本发明提供一种电子设备,包括处理器和存储介质,所述存储介质存储有计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的通信测试方法,或实现如第二方面所述的通信测试方法。
附图说明
图1为本发明实施例提供的一种电子设备的结构示意图;
图2为本发明实施例提供的一种通信测试方法的流程示意图;
图3为图2所示的步骤S102的子流程示意图;
图4为本发明实施例提供的一种第一通信测试装置的结构框图;
图5为图4所示的数据生成模块的结构框图;
图6为本发明实施例提供的另一种通信测试方法的流程示意图;
图7为本发明实施例提供的一种第二通信测试装置的结构框图。
附图标记说明:
100-电子设备;110-存储介质;120-处理器;130-通信模块;140-第一通信测试装置;141-接收模块;142-数据生成模块;1421-更改单元;1422-数据包生成单元;143-第一发送模块;144-判断模块;150-第二通信测试装置;151-第二发送模块;152-处理模块。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供的通信测试方法及装置的应用环境为:电力采集终端、主机和其它设备之间通过以太网进行通信,即电力采集终端通过通信通道与主机和其它设备进行通信,主机也通过通信通道与电力采集终端和其它设备进行通信。为了测试电力采集终端在以太网的大吞吐量环境下的稳定性,会在主机与电力采集终端之间进行数据交互时,检测主机与电力采集终端之间的通信通道的稳定性,即检测主机与电力采集终端之间数据交互是否存在丢包的情况。其中,电力采集终端、主机和其它设备可以统称为网络设备或电子设备。
请参照图1,为本发明实施例提供的电子设备100的一种可实施的结构示意图。该电子设备100包括:存储介质110、处理器120及通信模块130。所述存储介质110、处理器120及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储介质110用于存储程序或者数据。所述存储介质110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储介质110中存储的数据或程序,并执行相应地功能。
通信模块130用于通过通信通道建立所述电子设备100与其它网络设备之间的通信连接,并用于通过所述通信通道收发数据。
电子设备100可以是主机,也可以是电力采集终端。当电子设备100为主机时,主机通过通信通道可以与电力采集终端进行通信,还可以与其他设备进行通信。主机的存储介质存储有计算机程序,例如第一通信测试装置。第一通信测试装置包括至少一个可以软件或固件(firmware)的形式存储于主机的存储介质中或固化在主机的操作系统(operatingsystem,OS)中的软件功能模块。主机的处理器在接收到执行指令后,执行主机的存储介质中的计算机程序以实现通信测试方法。
当电子设备100为电力采集终端时,电力采集终端通过通信通道可以与主机进行通信,还可以与其它设备进行通信。电力采集终端的存储介质存储有计算机程序,例如第二通信测试装置。第二通信测试装置包括至少一个可以软件或固件(firmware)的形式存储于主机的存储介质中或固化在电力采集终端的操作系统(operating system,OS)中的软件功能模块。电力采集终端的处理器在接收到执行指令后,执行电力采集终端的存储介质中的计算机程序以实现通信测试方法。
其中,主机的存储介质可以设置在主机上,电力采集终端的存储介质可以设置在电力采集终端上。主机的存储介质和电力采集终端的存储介质也可以共同设置在第三方服务器上。
应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,为本发明实施例提供的通信测试方法的一种可实施的流程示意图,应说明的是,本发明所述的通信测试方法并不以图2以及以下所述的具体顺序为限制。应当理解,在其它实施例中,本发明所述的通信测试方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图2所示的具体流程进行详细阐述。请参阅图2,该通信测试方法应用于电力采集终端,该电力采集终端上预先创建有第一原始套接字,所述方法包括:
步骤S101,通过第一原始套接字接收主机发送的第一数据包;其中,第一数据包包括主机的物理(Media Access Control Address,MAC)地址。
在本实施例中,电力采集终端预先创建的第一原始套接字即为raw socket,指在电力采集终端的链路层使用的套接字,可以用于自动组装数据包,也可以接收电力采集终端网卡上所有的数据包。
在本实施例中,电力采集终端通过预先创建的第一原始套接字接收主机发送的第一数据包之前,电力采集终端通过第一原始套接字接收与电力采集终端通信的网络设备的初始数据包;其中,网络设备包括主机;电力采集终端验证初始数据包中是否包含有表征初始数据包来自主机的标识报文,若是,则将初始数据包作为第一数据包。
可以理解,与电力采集终端进行通信的不仅仅是主机,可能还有其他设备与电力采集终端进行通信,主机与其他设备可统称为网络设备。换言之,电力采集终端通过第一原始套接字会接收到初始数据包,该初始数据包有可能是主机发送的,也可能是其他设备发送的。
电力采集终端在接收初始数据包后,会验证该初始数据包是否为主机发送的,若该初始数据包是主机发送的,则将该初始数据包作为第一数据包进行后续处理;若该初始数据包不是主机发送的,则将该初始数据包丢弃。具体地,主机发送的初始数据包包含有表征初始数据包来自主机的标识报文,电力采集终端预先设置有预设报文。电力采集终端在接收到初始数据包后,会对初始数据包进行报文提取,并将提取的报文与预设报文匹配,若提取的报文与预设报文相同,则说明该初始数据包中包含有表征初始数据包来自主机的标识报文,电力采集终端则会对应的将该初始数据包作为第一数据包。
步骤S102,根据预设规则生成第二数据包;其中,第二数据包包括电力采集终端的物理地址。
在本实施例中,预设规则可以理解为:电力采集终端通过第一原始套接字生成自定义网络层协议,并将自定义网络层协议、预先设备的应用数据和电力采集终端的物理地址进行打包处理为第二数据包。
如图3所示,步骤S102可以包括以下子步骤:
步骤S1021,通过第一原始套接字对电力采集终端的链路层进行更改得到自定义网络层协议。
在本实施例中,电力采集终端通过第一原始套接字直接对电力采集终端的TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制/因特网互联)协议族的链路层进行更改,来搭建自定义网络层协议,即非IP协议,以此达到绕过IP协议的目的。可以理解,电力采集终端新组一个通信帧,并通过第一原始套接字直接对该通信帧中的TCP/IP协议族的链路层进行更改得到自定义网络层协议。例如,若IP协议为0x0012,那么生成的自定义网络层协议需要不同于0x0012,可以自定义为0x1234。
步骤S1022,依据自定义网络层协议、预先存储的应用数据和电力采集终端的物理地址得到第二数据包。
在本实施例中,电力采集终端将自定义网络层协议、预先存储的应用数据和电力采集终端的物理地址进行打包得到第二数据包。可以理解,第二数据包包括自定义网络层协议、电力采集终端预先存储的应用数据和电力采集终端的物理地址。其中,电力采集终端预先存储的应用数据可以为预先存储的用户数据,例如,可以设置为全A的60K用户数据。
步骤S103,依据主机的物理地址向主机发送第二数据包,以便主机对第二数据包进行处理得到第三数据包,并将第三数据包依据电力采集终端的物理地址发送至电力采集终端。
在本实施例中,电力采集终端在接收到第一数据包后会记录第一数据包中的主机的物理地址,并将主机的物理地址打包为第二数据包的目的地址。电力采集终端则会根据主机的物理地址,将打包好的第二数据包发送至主机。主机对第二数据包中的应用数据按位翻转后得到处理后的应用数据(即第三数据包中的应用数据),并将处理后的应用数据和电力采集终端的物理地址得到第三数据包。其中,主机对第二数据包中的应用数据按位翻转后得到处理后的应用数据可以理解为,主机对第二数据包中的应用数据按位取反操作得到处理后的应用数据。例如,第二数据包中的应用数据可以为十六进制的数字A-F,那么对第二数据包中的应用数据按位取反操作后对应生成的处理后的应用数据为5-0。若第二数据包中的应用数据为十六进制的数字B,主机进行按位翻转处理后得到的处理后的应用数据为十六进制的数字4。
步骤S104,依据第二数据包和第三数据包判断通信通道是否稳定,若稳定,则记录测试成功。
在本实施例中,电力采集终端判断通信通道是否稳定,可以采用以下的方式进行,具体的实施方式为:将第三数据包与第二数据包进行求和得到结果信息;将结果信息与预设信息进行匹配判断通信通道是否稳定,若结果信息与预设信息匹配则判断通信通道稳定,电力采集终端并记录测试成功次数。电力采集终端在未收到主机发送的中断命令的情况下,电力采集终端会在记录测试成功后继续向主机发送第二数据包,以此循环,来验证电力采集终端与主机之间的通信是否稳定。若结果信息与预设信息不匹配则判断通信通道不稳定,电力采集终端并不会做记录。
可以理解,电力采集终端将第三数据包中的应用数据与第二数据包中的应用数据按字节求和计算得到结果信息,电力采集终端将结果信息与预先设置的预设信息进行匹配,若结果信息与预设信息相同,则判断通信通道是稳定的。换言之,电力采集终端向主机发送第二数据包的过程中,以及主机向电力采集终端发送第三数据包的过程中,并无丢包的现象出现。
例如,第二数据包中的应用数据为十六进制的数字A,若通信通道稳定,那么主机对第二数据包中的应用数据按位翻转处理后得到的第三数据包中的应用数据为十六进制的数字5,且电力采集终端将第三数据包中的应用数据与第二数据包中的应用数据按字节求和计算得到的结果信息会为十六进制的数字F;若通信通道不稳定,那么主机对第二数据包中的应用数据按位翻转处理后得到的第三数据包中的应用数据不会为十六进制的数字5,对应的结构信息也不会为十六进制的数字F。
进一步地,在本实施例中,电力采集终端判断通信通道是否稳定,还可以采用其他的方式进行。具体地,电力采集终端生成的第二数据包中还包含有属性信息,该属性信息可以表征第二数据包中应用数据的编号。主机在接收到第二数据包后,会记录当前的第二数据包中的属性信息,并将当前的第二数据包中的属性信息与预先存储的属性信息进行比较,若当前的第二数据包中的属性信息的编号与预先存储的属性信息的编号不同,则会在第二数据包中添加表征电力采集终端向主机传输数据包存在丢包的标识信息,进而生成第三数据包。电力采集终端接收到第三数据包后会对第三数据包进行解析,若第三数据包中包含有表征电力采集终端向主机传输数据包存在丢包的标识信息,则判断通信通道不稳定;若第三数据包中未包含有表征电力采集终端向主机传输数据包存在丢包的标识信息,且第三数据包中的应用数据与第二数据包中的应用数据相同,则判断通信通道稳定,记录测试成功。电力采集终端在未收到主机发送的中断命令的情况下,电力采集终端会在记录测试成功后继续向主机发送第二数据包,以此循环,来验证电力采集终端与主机之间的通信是否稳定。
为了执行图2所示的通信测试方法的相应步骤,下面给出一种第一通信测试装置140的实现方式。进一步地,请参阅图4,图4为本发明实施例提供的一种第一通信测试装置140的结构框图。需要说明的是,本实施例所提供的第一通信测试装置140,其基本原理及产生的技术效果和上述图2所示的通信测试方法的实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的图2所示的通信测试方法的实施例中相应内容。该第一通信测试装置140应用于电力采集终端,包括:接收模块141、数据生成模块142、第一发送模块143和判断模块144。
在本实施例中,接收模块141用于通过第一原始套接字接收主机发送的第一数据包;其中,第一数据包包括主机的物理地址。
可以理解,接收模块141可执行上述步骤S101。
在本实施例中,数据生成模块142用于根据预设规则生成第二数据包;其中,第二数据包包括电力采集终端的物理地址。
可以理解,数据生成模块142可执行上述步骤S102。
进一步地,如图5所示,数据生成模块142包括协议更改单元1421和数据包生成单元1422。
协议更改单元1421用于通过第一原始套接字对电力采集终端的链路层进行更改得到自定义网络层协议。
可以理解,协议更改单元1421可执行上述步骤S1021。
数据包生成单元1422用于依据自定义网络层协议、预先存储的应用数据和电力采集终端的物理地址得到第二数据包。
可以理解,数据包生成单元1422可执行上述步骤S1022。
在本实施例中,第一发送模块143用于依据主机的物理地址向主机发送第二数据包,以便主机对第二数据包进行处理得到第三数据包,并将第三数据包依据电力采集终端的物理地址发送至电力采集终端。
可以理解,第一发送模块143可执行上述步骤S103。
在本实施例中,判断模块144用于依据第二数据包和第三数据包判断通信通道是否稳定,若稳定,则记录测试成功。
电力采集终端判断通信通道是否稳定,可以采用以下的方式进行,具体的实施方式为:将第三数据包与第二数据包进行求和得到结果信息;将结果信息与预设信息进行匹配判断通信通道是否稳定,若结果信息与预设信息匹配则判断通信通道稳定,电力采集终端并记录测试成功次数,电力采集终端在未收到主机发送的终端命令的情况下,电力采集终端会在记录测试成功后继续向主机发送第二数据包,以此循环,来验证电力采集终端与主机之间的通信是否稳定;若结果信息与预设信息不匹配则判断通信通道不稳定,电力采集终端并不会做记录。
可以理解,判断模块144可执行上述步骤S104。
请参照图6,为本发明实施例提供的通信测试方法的另一种可实施的流程示意图,该通信测试方法应用于主机,主机预先创建有第二原始套接字,所述方法包括:
步骤S201,通过第二原始套接字向电力采集终端发送第一数据包,以便电力采集终端根据预设规则生成第二数据包,并依据第一数据包中携带的主机的物理地址将第二数据包发送至主机,第二数据包包括电力采集终端的物理地址。
在本实施例中,主机预先创建的第二原始套接字即为raw socket,指在主机的传输层下面使用的套接字,可以用于接收主机网卡上所有的数据包。
在本实施例中,主机通过预先创建的第二原始套接字向所有与主机通信的网络设备发送具有第一数据包的UDP(User Datagram Protocol,用户数据报协议)广播。其中,与主机通信的网络设备包括电力采集终端,第一数据包中包含有表征其来自主机的标识报文以及主机的物理地址。而电力采集终端会通过第一原始套接字接收与其通信的网络设备发送的所有的初始数据包,其中,与电力采集终端通信的网络设备包括主机。电力采集终端会验证初始数据包中是否包含有表征初始数据包来自主机的标识报文,以此来判断该初始数据包是否由主机发送,若是,则将初始数据包作为第一数据包,并根据预设规则生成第二数据包,依据主机的物理地址将第二数据包发送至主机;若不是,则将该初始数据包丢弃。
步骤S202,对第二数据包进行处理得到第三数据包,并将第三数据包依据电力采集终端的物理地址发送至电力采集终端,以便电力采集终端依据第二数据包和第三数据包判断通信通道是否稳定,若稳定,则记录测试成功。
在本实施例中,第二数据包包括应用数据,主机在接收到电力采集终端发送的第二数据包后会对应用数据进行处理,具体处理过程为:对应用数据按位翻转得到处理后的应用数据;根据处理后的应用数据和电力采集终端的物理地址得到第三数据包。
可以理解,主机对第二数据包中的应用数据按位取反得到处理后的应用数据。例如,第二数据包中的应用数据为十六进制的数字A,主机对其按位翻转后得到的处理后的应用数据为十六进制的数字5。
在本实施例中,主机得到处理后的应用数据后,会将处理后的应用数据和从第二数据包中提取的电力采集终端的物理地址进行打包得到第三数据包,并将第三数据包通过第二原始套接字发送至电力采集终端。以便电力采集终端依据第二数据包和第三数据包判断通道是否稳定。
在本实施例中,电力采集终端判断通信通道是否稳定,可以采用以下的方式进行,具体地,电力采集终端将第三数据包中处理后的应用数据和第二数据包中的应用数据按字节求和计算得到结果信息,并判断结果信息是否为十六进制的数字F,若结果信息为十六进制的数字F,则判定通信通道稳定,电力采集终端与主机之间的数据传输无丢包现象出现,记录测试成功,电力采集终端在未收到主机发送的中断命令,电力采集终端会在记录测试成功后继续向主机发送第二数据包,以此循环,来验证电力采集终端与主机之间的通信是否稳定;若结果信息不是十六进制的数字F,则判定通信通道不稳定,电力采集终端与主机之间的数据传输存在丢包现象。
电力采集终端判断通信通道是否稳定,还可以采用其他的方式进行。具体地,电力采集终端生成的第二数据包中还包含有属性信息,该属性信息可以表征第二数据包中应用数据的编号。主机在接收到第二数据包后,会记录当前的第二数据包中的属性信息,并将当前的第二数据包中的属性信息与预先存储的属性信息进行比较,若当前的第二数据包中的属性信息的编号与预先存储的属性信息的编号不同,则会在第二数据包中添加表征电力采集终端向主机传输数据包存在丢包的标识信息,进而生成第三数据包。电力采集终端接收到第三数据包后会对第三数据包进行解析,若第三数据包中包含有表征电力采集终端向主机传输数据包存在丢包的标识信息,则判断通信通道不稳定;若第三数据包中未包含有表征电力采集终端向主机传输数据包存在丢包的标识信息,且第三数据包中的应用数据与第二数据包中的应用数据相同,则判断通信通道稳定,记录测试成功。电力采集终端在未收到主机发送的中断命令的情况下,电力采集终端会在记录测试成功后继续向主机发送第二数据包,以此循环,来验证电力采集终端与主机之间的通信是否稳定。
为了执行图6所示的通信测试方法中的相应步骤,下面给出一种第二通信测试装置150的实现方式。进一步地,请参阅图7,图7为本发明实施例提供的第二通信测试装置150的功能模块图。需要说明的是,本实施例所提供的第二通信测试装置150,其基本原理及产生的技术效果和图6所示的通信测试方法的实施例相同,为简要描述,本实施例部分未提及之处,可参考图6所示的通信测试方法的实施例中相应内容。该第二通信测试装置150应用于主机,包括:第二发送模块151和处理模块152。
在本实施例中,第二发送模块151用于通过第二原始套接字向电力采集终端发送第一数据包,以便电力采集终端根据预设规则生成第二数据包,并依据第一数据包中携带的主机的物理地址将第二数据包发送至主机,第二数据包包括电力采集终端的物理地址。
可以理解,第二发送模块151可执行上述步骤S201。
在本实施例中,处理模块152用于对第二数据包进行处理得到第三数据包,并将第三数据包依据电力采集终端的物理地址发送至电力采集终端,以便电力采集终端依据第二数据包和第三数据包判断通信通道是否稳定,若稳定,则记录测试成功。
可以理解,处理模块152可执行上述步骤S202。
综上所述,本发明实施例提供的通信测试方法、装置、存储介质及电子设备,在对电力采集终端与主机之间的通信稳定性进行测试时,通过原始套接字可以接收和发送数据包,并依据主机的物理地址和电力采集终端的物理地址能够将数据包进行准确的发送,进而实现主机与电力采集终端之间的通信是否稳定的测试。该方法无需依赖主机是否知晓电力采集终端的IP地址,使得测试更加灵活;也不会因与主机通信的多台电力采集终端的IP地址相同,产生无法同时进行测试的问题,使得稳定性测试的效率更高。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (9)

1.一种通信测试方法,其特征在于,应用于电力采集终端,所述电力采集终端通过通信通道与主机进行通信,所述电力采集终端上预先创建有第一原始套接字,所述方法包括:
通过所述第一原始套接字接收所述主机发送的第一数据包;其中,所述第一数据包包括所述主机的物理地址;
通过所述第一原始套接字对所述电力采集终端新组的通信帧中的TCP/IP协议族的链路层进行更改得到自定义网络层协议;
依据所述自定义网络层协议、预先存储的应用数据和所述电力采集终端的物理地址得到第二数据包;其中,所述第二数据包包括所述电力采集终端的物理地址;
依据所述主机的物理地址向所述主机发送所述第二数据包,以便所述主机对所述第二数据包进行处理得到第三数据包,并将所述第三数据包依据所述电力采集终端的物理地址发送至所述电力采集终端;
依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定,若稳定,则记录测试成功。
2.如权利要求1所述的通信测试方法,其特征在于,所述通过所述第一原始套接字接收所述主机发送的第一数据包的步骤之前还包括:
通过所述第一原始套接字接收与所述电力采集终端通信的网络设备的初始数据包;其中,所述网络设备包括所述主机;
验证所述初始数据包中是否包含有表征所述初始数据包来自所述主机的标识报文,若是,则将所述初始数据包作为所述第一数据包。
3.如权利要求1所述的通信测试方法,其特征在于,所述依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定的步骤包括:
将所述第三数据包与所述第二数据包进行求和得到结果信息;
将所述结果信息与预设信息进行匹配判断所述通信通道是否稳定。
4.一种通信测试方法,其特征在于,应用于主机,所述主机通过通信通道与电力采集终端进行通信,所述主机预先创建有第二原始套接字,所述方法包括:
通过所述第二原始套接字向所述电力采集终端发送第一数据包,以便所述电力采集终端通过预先创建的第一原始套接字对所述电力采集终端新组的通信帧中的TCP/IP协议族的链路层进行更改得到自定义网络层协议;所述电力采集终端依据所述自定义网络层协议、预先存储的应用数据和所述电力采集终端的物理地址得到第二数据包;所述电力采集终端并依据所述第一数据包中携带的所述主机的物理地址将所述第二数据包发送至所述主机,所述第二数据包包括所述电力采集终端的物理地址;
对所述第二数据包进行处理得到第三数据包,并将所述第三数据包依据所述电力采集终端的物理地址发送至所述电力采集终端,以便所述电力采集终端依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定,若稳定,则记录测试成功。
5.如权利要求4所述的通信测试方法,其特征在于,所述第二数据包还包括应用数据,所述对所述第二数据包进行处理得到第三数据包的步骤包括:
对所述应用数据按位翻转得到处理后的应用数据;
根据所述处理后的应用数据和所述电力采集终端的物理地址得到所述第三数据包。
6.一种通信测试装置,其特征在于,应用于电力采集终端,所述电力采集终端通过通信通道与主机进行通信,所述电力采集终端上预先创建有第一原始套接字,所述装置包括:
接收模块,用于通过所述第一原始套接字接收所述主机发送的第一数据包;其中,所述第一数据包包括所述主机的物理地址;
数据生成模块,用于通过所述第一原始套接字对所述电力采集终端新组的通信帧中的TCP/IP协议族的链路层进行更改得到自定义网络层协议;依据所述自定义网络层协议、预先存储的应用数据和所述电力采集终端的物理地址得到第二数据包;其中,所述第二数据包包括所述电力采集终端的物理地址;
第一发送模块,用于依据所述主机的物理地址向所述主机发送所述第二数据包,以便所述主机对所述第二数据包进行处理得到第三数据包,并将所述第三数据包依据所述电力采集终端的物理地址发送至所述电力采集终端;
判断模块,用于依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定,若稳定,则记录测试成功。
7.一种通信测试装置,其特征在于,应用于主机,所述主机通过通信通道与电力采集终端进行通信,所述主机预先创建有第二原始套接字,所述装置包括:
第二发送模块,用于通过所述第二原始套接字向所述电力采集终端发送第一数据包,以便所述电力采集终端通过预先创建的第一原始套接字对所述电力采集终端新组的通信帧中的TCP/IP协议族的链路层进行更改得到自定义网络层协议;所述电力采集终端依据所述自定义网络层协议、预先存储的应用数据和所述电力采集终端的物理地址得到第二数据包;所述电力采集终端并依据所述第一数据包中携带的所述主机的物理地址将所述第二数据包发送至所述主机,所述第二数据包包括所述电力采集终端的物理地址;
处理模块,用于对所述第二数据包进行处理得到第三数据包,并将所述第三数据包依据所述电力采集终端的物理地址发送至所述电力采集终端,以便所述电力采集终端依据所述第二数据包和所述第三数据包判断所述通信通道是否稳定,若稳定,则记录测试成功。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3中任一项所述的通信测试方法,或实现如权利要求4-5中任一项所述的通信测试方法。
9.一种电子设备,其特征在于,包括处理器和存储介质,所述存储介质存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-3中任一项所述的通信测试方法,或实现如权利要求4-5中任一项所述的通信测试方法。
CN201910552878.9A 2019-06-25 2019-06-25 一种通信测试方法、装置、存储介质及电子设备 Active CN110266560B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910552878.9A CN110266560B (zh) 2019-06-25 2019-06-25 一种通信测试方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910552878.9A CN110266560B (zh) 2019-06-25 2019-06-25 一种通信测试方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN110266560A CN110266560A (zh) 2019-09-20
CN110266560B true CN110266560B (zh) 2021-04-27

Family

ID=67921197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910552878.9A Active CN110266560B (zh) 2019-06-25 2019-06-25 一种通信测试方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN110266560B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094121B (zh) * 2007-07-23 2010-11-24 华为技术有限公司 非直连设备间以太网链路的检测方法、系统和设备
KR101087886B1 (ko) * 2009-03-10 2011-11-30 엘에스산전 주식회사 서버의 tcp 접속 제어 장치 및 그 방법
CN103051542B (zh) * 2012-12-11 2016-03-23 武汉烽火网络有限责任公司 基于数据链路层以太网mac地址实现连通性检测的方法
CN107332726B (zh) * 2016-04-29 2021-03-30 华为技术有限公司 一种通信链路的检测方法及装置
CN108616418A (zh) * 2018-03-30 2018-10-02 新华三技术有限公司 检测故障的方法及装置

Also Published As

Publication number Publication date
CN110266560A (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
CN109688057B (zh) 基于ipv6的段路由网络的报文转发方法及装置
CN103401726B (zh) 网络路径探测方法及装置、系统
CN111083161A (zh) 数据传输的处理方法及装置、物联网设备
JP2005006303A (ja) 仮想ネットワーク・アドレス
CN112954045B (zh) 节点中的数据传输方法、装置、介质及电子设备
KR20050057698A (ko) 체크섬을 생성하는 장치 및 방법
EP4057576A1 (en) Packet encapsulating method and apparatus, and packet decapsulating method and apparatus
EP3419238B1 (en) Method, apparatus, and system for transmitting data
CN114465931A (zh) 网络探测方法、装置、电子设备及存储介质
CN114629816B (zh) 公网ip网络状态探测方法及系统
US9762486B2 (en) Method and system for using extension headers to support protocol stack migration
WO2020142880A1 (zh) 一种数据传输方法及装置
CN110266560B (zh) 一种通信测试方法、装置、存储介质及电子设备
CN111884881B (zh) 一种以太网交换网络的监测方法、装置、系统及交换机
JP2010157875A (ja) 通信端末、ネットワークインタフェースカード及びその方法
EP3944582A1 (en) Monitoring of abnormal host
CN108768849A (zh) 报文处理方法及装置
US20230155933A1 (en) BIER OAM Detection Method, Device, and System
CN107612848B (zh) 一种调试方法及装置、以及计算机可读存储介质
CN115277450B (zh) 基于opnet的虚实结合异构通信网络融合系统及应用
CN115766252A (zh) 一种流量异常检测方法、装置、电子设备及存储介质
CN114598675A (zh) 基于arp实现主机阻断的控制方法、装置、设备及介质
CN114362985A (zh) 一种报文处理方法及装置
CN114765589A (zh) 网络测试方法、装置及存储介质
CN114765633A (zh) 基于列车实时以太网协议的网络报文解析方法及装置

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
GR01 Patent grant
GR01 Patent grant