CN109756401B - 一种测试方法、装置、电子设备及存储介质 - Google Patents
一种测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109756401B CN109756401B CN201910228647.2A CN201910228647A CN109756401B CN 109756401 B CN109756401 B CN 109756401B CN 201910228647 A CN201910228647 A CN 201910228647A CN 109756401 B CN109756401 B CN 109756401B
- Authority
- CN
- China
- Prior art keywords
- identifier
- message
- address
- nat
- preset
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请实施例提供了一种测试方法、装置、电子设备及存储介质。从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址,向NAT设备发送目的地址为第一地址且源地址为第二地址的第一报文,第一报文包括第一地址的第一标识和第二地址的第二标识,接收NAT设备发送的对第一报文进行NAT处理后的第二报文,获取第二报文中包括目的地址的第三标识和源地址的第四标识,判断第三标识是否与第一标识匹配以及第四标识是否与第二标识匹配,若是,则判定对第一报文成功进行NAT处理,若否,则判定对第一报文未成功进行NAT处理。本申请实施例提供的技术方案,提高了对报文是否成功进行NAT处理的判定结果的准确性,提高了NAT性能测试的准确性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种测试方法、装置、电子设备及存储介质。
背景技术
互联网中,每一设备都占用一个IP(Internet Protocol,互联网协议)地址。随着互联网技术的发展,除了电脑之外,智能设备等联网设备比比皆是。在联网设备繁多的情况下,IPV4(Internet Protocol Version 4,互联网协议第四版本)地址已经捉襟见肘。为满足联网设备对IP地址的需求,IPV6(Internet Protocol Version 6,互联网协议第六版本)地址逐步被使用,这造成IPV4网络和IPV6网络共同存在的情况。为了实现IPV4网络和IPV6网络之间的相互通讯,可以采用NAT(Network Address Translator,网络地址转换)设备对IPV4报文和IPV6报文进行NAT处理。测试NAT设备的NAT性能逐渐成为热门课题,其中,NAT性能可以表示为根据NAT设备对网络地址进行NAT处理后的网络地址的转换成功率、NAT设备的吞吐量性能、会话新建性能和并发性能等。
目前,主要通过串联的两个NAT设备,来测试NAT设备的NAT性能。具体的,这两个NAT设备中,一个NAT设备负责将IPV4报文转换为IPV6报文,另一个NAT设备负责将IPV6报文转换为IPV4报文。测试工具发送IPV4报文或IPV6报文后,将该报文分别通过这两个NAT设备进行NAT处理后,接收两次NAT处理后的报文,根据两次NAT处理后的报文对两个NAT设备的NAT性能进行测试。
在上述NAT性能测试过程中,报文需要经过两次NAT处理,使得测试结果为针对进行两次NAT处理的NAT性能的测试结果,导致无法体现进行一次NAT处理的NAT性能的测试结果。
发明内容
本申请实施例的目的在于提供一种测试结果确定方法、装置、电子设备及存储介质,以提高对每一报文是否成功进行NAT处理的判定结果的准确性,进而提高NAT性能测试的准确性。具体技术方案如下:
本申请实施例提供了一种测试方法,所述方法包括:
从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址;
向NAT设备发送目的地址为所述第一地址且源地址为所述第二地址的第一报文;所述第一报文包括所述第一地址的第一标识和所述第二地址的第二标识;
接收所述NAT设备发送的对所述第一报文进行NAT处理后得到的第二报文;
获取所述第二报文中包括的目的地址的第三标识和源地址的第四标识,并判断所述第三标识是否与所述第一标识匹配以及所述第四标识是否与所述第二标识匹配;
若均匹配,则判定对所述第一报文成功进行NAT处理;若不均匹配,则判定对所述第一报文未成功进行NAT处理。
本申请实施例还提供了一种测试装置,所述装置包括:
选取模块,用于从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址;
第一发送模块,用于向NAT设备发送目的地址为所述第一地址且源地址为所述第二地址的第一报文;所述第一报文包括所述第一地址的第一标识和所述第二地址的第二标识;
第一接收模块,用于接收所述NAT设备发送的对所述第一报文进行NAT处理后得到的第二报文;
第一判断模块,用于获取所述第二报文中包括的目的地址的第三标识和源地址的第四标识,并判断所述第三标识是否与所述第一标识匹配以及所述第四标识是否与所述第二标识匹配;
第一判定模块,用于在所述第一判断模块的判断结果为所述第三标识与所述第一标识匹配,且所述第四标识与所述第二标识匹配时,判定对所述第一报文成功进行NAT处理;在所述第一判断模块的判断结果为所述第三标识与所述第一标识不匹配,和/或所述第四标识与所述第二标识不匹配时,判定对所述第一报文未成功进行NAT处理。
本申请实施例还提供了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的测试方法步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的测试方法步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的测试方法。
本申请实施例提供的一种测试方法、装置、电子设备及存储介质,可以从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址,向NAT设备发送目的地址为第一地址且源地址为第二地址的第一报文,其中,该第一报文包括第一地址的第一标识和第二地址的第二标识,接收NAT设备发送的对第一报文进行NAT处理后得到的第二报文,获取第二报文中包括的目的地址的第三标识和源地址的第四标识,并判断第三标识是否与第一标识匹配以及第四标识是否与第二标识匹配,若均匹配,则判定对第一报文成功进行NAT处理,若不均匹配,则判定对第一报文未成功进行NAT处理。
通过本申请实施例提供的技术方案,在网络中部署一个NAT设备,利用NAT处理前后报文中标识的匹配情况,可以准确的判定出NAT设备是否成功对报文进行NAT处理,也就是对报文进行一次NAT处理,提高了对每一报文是否成功进行NAT处理的判定结果的准确性,进而使得使得根据对多个报文是否成功进行NAT处理的判定结果确定的NAT性能的测试结果更加准确,提高了NAT性能测试的准确性。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有NAT性能测试组网的一种结构示意图;
图2为本申请实施例提供的NAT性能测试组网的一种结构示意图;
图3为本申请实施例提供的测试方法的第一种流程示意图;
图4为本申请实施例提供的测试方法的第二种流程示意图;
图5为本申请实施例提供的测试装置的一种结构示意图;
图6为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中,NAT设备可以用于IPV4地址和IPV6地址间的转换,例如可以实现IPV4报文与IPV6报文之间的转换,使得不同网络之间可以相互通信。也就是将IPV4地址看作内部地址,将IPV6地址看作外部地址,或者将IPV4地址看作外部地址,将IPV4地址看作内部地址,实现内部地址和外部地址之间的转换,使得IPV4网络和IPV6网络之间的相互通信。例如,内部网络的主机为支持IPV4,外部网络的主机支持IPV6。当内部网络的主机需要和外部网络的主机进行通信时,可以利用NAT设备将内部网络的主机发送的报文中包含的IPV4地址(即内部地址)转换为IPV6地址(即外部地址),实现内部网络的主机与外部网络的主机之间的通信。
如图1所示,相关技术在对NAT设备的NAT性能进行测试时,可以将设备103、NAT设备101和NAT设备102串联,其中,设备103用于发送和接收IPV4报文,或者发送和接收IPV6报文。NAT设备101可以将报文中的IPV4地址转换为IPV6地址,NAT设备102可以将报文中的IPV6地址转化为IPV4地址。设备103将IPV4报文发送给NAT设备101,NAT设备101对接收到的报文进行第一次NAT处理,也就是将报文中的IPV4地址转换为IPV6地址,并向NAT设备102发送第一次NAT处理后的报文。NAT设备102对接收到的经过第一次NAT处理后的报文进行第二次NAT处理,也就是将经过第一次NAT处理后的报文中的IPV6地址转换为IPV4地址,并将经过第二次NAT处理后的报文发送给设备103。设备103可以将经过两次NAT处理后的IPV4报文与第一次NAT处理前的IPV4报文进行对比,确定NAT设备101和NAT设备102是否成功对报文进行NAT处理,进而根据NAT设备对多个报文进行两次NAT处理后的判定结果,可以确定NAT设备101和NAT设备102的NAT性能测试结果,但是该测试结果为针对两次NAT处理的NAT性能的测试结果,并不能准确的体现出一次NAT处理的NAT性能的测试结果,也就是该测试结果为针对NAT设备101和NAT设备102这两个NAT设备共同的NAT性能的测试结果,并不能体现出NAT设备101的NAT性能的测试结果或NAT设备102的NAT性能的测试结果,使得对NAT设备的NAT性能测试不够准确。
为了解决NAT性能测试不够准确的问题,本申请实施例提供了一种测试方法,该方法应用于测试设备。本申请实施例提供的方法从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址,向NAT设备发送目的地址为第一地址且源地址为第二地址的第一报文,其中,该第一报文包括第一地址的第一标识和第二地址的第二标识,接收NAT设备发送的对第一报文进行NAT处理后得到的第二报文,获取第二报文中包括的目的地址的第三标识和源地址的第四标识,并判断第三标识是否与第一标识匹配以及第四标识是否与第二标识匹配,若均匹配,则判定对第一报文成功进行NAT处理;若不均匹配,则判定对第一报文未成功进行NAT处理。应当说明的是,在本申请实施例中,对报文进行NAT处理,即是对报文进行网络地址转换处理。
本申请实施例提供的方法,在网络中部署一个NAT设备,利用NAT处理前后报文中标识的匹配情况,可以准确的判定出NAT设备是否成功对报文进行NAT处理,也就是对报文进行一次NAT处理,提高了对每一报文是否成功进行NAT处理的判定结果的准确性,进而使得根据对多个报文是否成功进行NAT处理的判定结果确定的NAT性能的测试结果更加准确,提高了NAT性能测试的准确性。
下面通过具体的实施例,对本申请实施例进行说明。
如图2所示,图2为本申请实施例提供的NAT性能测试组网的一种结构示意图。图2中端口201为该测试设备的发送端,也可以称为用户端。端口202为该测试设备的接收端,也可以称为服务端。其中,测试设备可以支持不同的协议栈,也就是测试设备的发送端与接收端可以传输不同地址版本的报文。例如,测试设备的发送端可以传输IPV4的IPV4报文,测试设备的接收端可以传输IPV6的IPV6报文。或者,测试设备的发送端可以传输IPV6的IPV6报文,测试设备的接收端可以传输IPV4的IPV4报文。另外,在该测试设备中可以存储有预设第一目的地址列表、预设第一源地址列表、预设第二目的地址列表和预设第二源地址列表。其中,预设第一目的地址列表和预设第一源地址列表中包括IP地址的版本,与预设第二目的地址列表和预设第二源地址列表中包括IP地址的版本不同。例如,预设第一目的地址列表和预设第一源地址列表中包括IP地址为IPV4地址,预设第二目的地址列表和预设第二源地址列表中包括IP地址IPV6地址;或者预设第一目的地址列表和预设第一源地址列表中包括IP地址为IPV6地址,预设第二目的地址列表和预设第二源地址列表中包括IP地址IPV4地址。
基于图2提供的测试组网,本申请实施例提供了一种测试方法。如图3所示,图3为本申请实施例提供的测试方法的第一种流程示意图。该方法包括以下步骤。
步骤S301,从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址。
在本步骤中,测试设备可以从上述预设第一目的地址列表中选取一IP地址作为第一地址,从上述预设第一源地址列表中选取一IP地址作为第二地址。
一个实施例中,测试设备可以随机从预设第一目的地址列表中选取一目的IP地址作为第一地址,随机从上述预设第一源地址列表中选取一源IP地址作为第二地址。例如,随机选取预设第一目的地址列表中排列在第2个的目的IP地址作为第一地址,随机选取预设第一源地址中第5个源IP地址作为第二地址。
另一个实施例中,测试设备可以按照轮询的方式从预设第一目的地址列表和预设第一源地址列表中选取第一地址和第二地址。
在本申请实施例中,对上述第一地址和第二地址的选取方式不作具体限定。
步骤S302,向NAT设备发送目的地址为第一地址且源地址为第二地址的第一报文。其中,该第一报文包括第一地址的第一标识和第二地址的第二标识。
在本步骤中,测试设备的发送端可以向NAT设备发送第一报文。NAT设备对接收到的第一报文进行NAT处理。其中,发送端发送的第一报文中的目的地址为上述第一地址,源地址为上述第二地址。该第一报文中可以包括第一地址的第一标识和第二地址的第二标识。
在本申请实施例中,上述NAT设备中存储有上述预设第二目的地址列表以及预设第二源地址列表。NAT设备对第一报文进行NAT处理时可以按照预设第二目的地址列表和预设第二源地址列表对第一报文进行NAT处理。具体的,NAT设备可以随机从预设第二目的地址列表和预设第二源地址列表中各选取一地址,分别作为NAT处理后报文的目的地址和源地址。
例如:IP地址2.1.1.1处于预设第一源地址列表中,IP地址1.1.1.1处于预设第一目的地址列表中,IP地址2::1处于预设第二源地址列表中,IP地址1::1处于预设第二目的地址列表中,则可以将1::1作为NAT处理后报文的目的IPV6地址,将2::1作为NAT处理后报文的源IPV6地址。
一个可选的实施例中,上述步骤S302可以包括以下步骤。
步骤S3021,确定第一地址的第一标识,以及第二地址的第二标识。
本申请实施例中,测试设备可以为每一地址分配了一个唯一的ID(Identification,标识),即不同的地址,标识不同。
一个实施例中,在上述预设第一目的地址列表和预设第一源地址列表中可以包括每一地址对应的ID。测试设备可以从预设第一目的地址列表中获取第一地址的ID作为第一标识,从预设第一源地址列表中获取第二地址的ID作为第二标识。
另一个实施例中,每一地址对应的ID可以单独存储在一个表格中,便于测试设备的管理。
以上述预设第一目的地址列表为例对第一标识进行说明。一个示例中,若预设第一目的地址列表中存储有65536=216个目的地址,且在预设第一目的地址列表中采用二进制数表示每一个目的地址的标识,则上述第一标识可以用0至65535=216-1对应的二进制数标识。例如,预设第一目的地址列表中排列在第一个的目的地址的标识可以表示0000000000000000。另一个示例中,也可以用其他形式表示该第一标识,如字母、下划线等,例如,可以采用A_1表示上述预设第一目的地址列表中排列在第一个的目的地址的标识。在本申请实施例中,对上述第一标识和第二标识的表示形式以及长度等不作具体限定。
步骤S3022,将第一标识和第二标识插入第一报文的预设位置处。
测试设备可以将上述第一地址作为目的地址,第二地址作为源地址,并将上述第一标识和第二标识插入到预设位置处,得到第一报文。
在本申请实施例中,上述第一报文可以包括上述第一标识、第二标识和预设信息。其中,预设信息可以包括源地址、目的地址、源端口、目的端口以及报文中携带的载荷信息等。在本申请实施例中,对预设信息的内容不作具体限定。
一个可选的实施例中,上述预设位置可以为报文的预设位置,也可以为报文中携带的载荷的预设位置。以报文的载荷为例进行说明,预设位置为可以为报文的载荷的头部位置,也可以为报文的载荷的尾部位置,还可以为报文的载荷的中间位置。在本申请实施例中,对预设位置不作具体限定。
以第一标识和第二标识的长度为2个字节,预设位置为报文的载荷的头部位置为例进行说明,若第一标识为标识1,第二标识为标识2,预设位置为第一报文的载荷的前4个字节所在的位置。测试设备可以将标识1填充至第一报文的载荷的第一个字节和第二个字节,将标识2填充至第一报文的载荷的第三个字节和第四个字节,第一报文的载荷的第五个字节开始填充第一报文中携带的载荷信息。该第一报文的载荷具体可以如表1所示。
表1
步骤S3023,向NAT设备发送插入第一标识和第二标识后的第一报文。
测试设备的发送端可以向NAT设备发送目的地址为上述第一地址,源地址为上述第二地址,以及包含有第一标识和第二标识的第一报文。
一个可选的实施例中,当测试设备的发送端向NAT设备发送上述第一报文之后,测试设备可以根据上述第一报文中包含的第一地址、第二地址、第一标识和第二标识生成会话,并将该会话存储在会话列表中。
一个可选的实施例中,上述会话列表中至少包括一个会话。针对会话列表中包含的每一会话,该会话可以包括正向信息和反向信息。其中,正向信息可以为测试设备根据向NAT设备发送的报文中的报文信息得到的会话信息。反向信息可以为测试设备根据NAT设备向接收端发送的报文中的报文信息得到的会话信息。正向信息和反向信息中至少可以包括目的地址、源地址、目的地址标识、源地址标识、目的端口和源端口。除此以外,正向信息和反向信息还可以包括其他信息。例如,正向信息中还可以包括报文的协议类型,以及报文发送的事件等。在本申请实施例中,对会话中正向信息和反向信息包含的信息不作具体限定。
在上述第一报文对应的会话的生成时,可以由测试设备根据第一报文中的第一地址、第二地址、第一标识、第二标识、目的端口和源端口生成会话的正向信息,并且将该会话的反向信息设置为空值,得到会话。例如,若第一报文中的第一地址为地址1,第二地址为地址2,第一标识为标识1,第二标识为标识2,目的端口为端口1,源端口为端口2,则测试设备生成的会话具体可以如表2所示。
表2
在表2中的-表示空值。
在本申请实施例中,通过在第一报文中的预设位置处插入第一标识和第二标识,使得测试设备可以根据NAT设备对第一报文进行NAT处理后的报文中携带的目的地址的标识和源地址的标识,判定NAT设备是否成功对第一报文进行NAT处理,提高了对第一报文是否成功进行NAT处理的判定的准确性。
步骤S303,接收NAT设备发送的对第一报文进行NAT处理后得到的第二报文。
在本步骤中,NAT设备在接收到测试设备的发送端发送的第一报文后,NAT设备可以对第一报文进行NAT处理得到第二报文,并将该第二报文发送给测试设备的接收端。测试设备的接收端接收第二报文。
在本申请实施例中,NAT设备在对第一报文中的第一地址和第二地址进行NAT处理时,可以将第一地址和第二地址由IPV4地址转换为IPV6地址,或者由IPV6地址转换为IPV4地址。NAT处理过程中第一报文的源端口、目的端口、以及报文中的包含的第一标识和第二标识并没有发生改变。
步骤S304,获取第二报文中包括的目的地址的第三标识和源地址的第四标识,并判断第三标识是否与第一标识匹配以及第四标识是否与第二标识匹配。若均匹配,则执行步骤S305。若不均匹配,则执行步骤S306。
在本步骤中,测试设备的接收端在接收到NAT设备发送的第二报文后,测试设备可以从第二报文中提取目的地址的第三标识和源地址的第四标识,并将提取到的第三标识与上述第一标识进行匹配,将提取到的第四标识与上述第二标识进行匹配,确定第三标识是否与第一标识匹配,第四标识是否与第二标识匹配。
针对上述匹配过程,至少可以包括以下情况。
情况一,第三标识与第一标识相同,且第四标识与第二标识相同。
情况二,第三标识与第一标识相同,但第四标识与第二标识不相同。
情况三,第三标识与第一标识不相同,但第四标识与第二标识相同。
情况四,第三标识与第一标识不相同,且第四标识与第二标识不相同。
针对上述四种情况,若匹配结果为情况一,则测试设备可以确定第三标识和第四标识与第一标识和第二标识匹配,也就是确定第三标识与第一标识匹配,且第四标识与第二标识匹配。若匹配结果为情况二、情况三或情况四中的任意一种情况,则测试设备可以确定第三标识和第四标识与第一标识和第二标识不匹配,也就是第三标识与第一标识不匹配,和/或第四标识与第一标识不匹配。
步骤S305,判定对第一报文成功进行NAT处理。
在本步骤中,若第三标识和第四标识与第一标识和第二标识匹配,则测试设备可以判定NAT设备对第一报文成功进行NAT处理。
一个可选的实施例中,在确定NAT设备成功对第一报文进行NAT处理后,测试设备可以对上述会话进行更新,也就是根据第二报文的报文信息和第三标识和第四标识更新上述会话中的反向信息。
一个实施例中,当满足上述情况一时,测试设备可以确定NAT设备对上述第一报文的NAT操作未出现错误。测试设备可以根据第二报文中的报文信息、第三标识和第四标识,更新会话中的反向信息。也就是利用第二报文中的目的地址、源地址、目的端口、源端口、第一标识和第二标识分别更新上述会话的反向信息中的目的地址、源地址、目的端口、源端口、目的地址标识和源地址标识,实现对会话的更新。其中,第三标识与第一标识相同,第四标识与第二标识相同。具体如表3所示,若第二报文的目的地址为地址3,源地址为地址4,则更新后的会话可以如表3所示。
表3
步骤S306,判定对第一报文未成功进行NAT处理。
在本步骤中,若第三标识和第四标识与第一标识和第二标识不匹配,则测试设备可以判定NAT设备对第一报文为成功进行NAT处理。
一个可选的实施例中,若确定NAT设备未成功对第一报文进行NAT处理,测试设备可以不对上述会话进行更新,也就是使得上述会话中的反向信息保持为空值。
一个可选的实施例中,根据图3提供的测试方法,在上述步骤S305和步骤S306之后,上述测试方法还可以包括以下步骤。
步骤一,统计预设时间内NAT设备对多个报文是否成功进行NAT处理的判定结果。
在本步骤中,测试设备的发送端可以向NAT设备发送多个报文,测试设备将在会话列表中生成每一报文对应的会话。在测试设备针对NAT设备进行NAT处理的每一报文,判定是否成功对该报文进行NAT处理后,测试设备可以按照预设时间,统计预设时间内NAT设备对该报文进行NAT处理后的判定结果。
步骤二,根据判定结果,确定NAT设备对网络地址的转换成功率。
在本步骤中,根据测试设备统计得到的判定结果,测试设备可以确定NAT设备对网络地址的转换成功率,从而确定NAT设备的NAT性能。例如:测试设备在预设时间10s统计到对100个报文的NAT处理结果,其中90个报文为NAT处理成功,则转换成功率为90/100=90%。又例如:测试设备在预设时间10s统计到对100个报文的NAT处理结果,其中10个报文为NAT处理失败,则转换成功率为(100-10)/100=90%。
在本申请实施例中,上述NAT设备对网络地址的转换成功率为NAT设备的NAT性能的一种表现形式。上述NAT设备的NAT性能还可以表示为该NAT设备的吞吐量性能、会话新建性能或并发性能等。测试设备可以根据预设时间内,NAT设备对多个报文是否成功进行NAT处理的判定结果,测试设备可以计算NAT设备的吞吐量性能、会话新建性能或会话并发性能等。具体的,测试设备可以根据预设时间内,判定结果为成功对报文进行NAT处理的多个报文,计算NAT设备对应的吞吐量性能、会话新建性能或会话并发性能等。
以上述吞吐量性能为例进行说明。若预设时间为1秒,在某一秒内,测试设备判定成功对报文进行NAT处理的报文的数量为N,N个报文中每一报文的大小为A,则该NAT设备的在这一秒时间对应的吞吐量可以为A和N的乘积,即吞吐量=A*N,用该吞吐量表示NAT设备的吞吐量性能,进而测试设备可以确定对NAT设备的吞吐量性能的测试结果。例如,测试设备可以将这一秒时间对应的吞吐量与预设吞吐量阈值进行比较,若这一秒时间对应的吞吐量小于预设吞吐量阈值,则测试设备可以判定该NAT设备的吞吐量性能未达到预设标准。若这一秒时间对应的吞吐量不小于预设吞吐量阈值,则测试设备可以判定该NAT设备的吞吐量性能达到预设标准。
以会话新建性能为例,若测试设备在预设时间10s内发送100个相同的报文到NAT设备,并统计对100个相同报文的NAT处理结果,其中90个报文为NAT处理成功,则说明新建会话的NAT转换成功率为90/100=90%,将会话的NAT转换成功率作为会话新建性能,并与预设会话性能阈值比较。若大于该会话性能阈值,说明会话新建性能较好,达到预设标准,否则判定未到预设标准。应当理解的是,针对会话性能,也可以是以同样的方式进行测试。
以会话并发性能为例,若测试设备在预设时间10s内发送100个地址(源地址和/或目的地址)不同的报文到NAT设备,并统计对100不同报文的NAT处理结果。其中90个报文为NAT处理成功,则说明100个会话的NAT转换成功率为90/100=90%,将会话的NAT转换成功率作为会话并发性能,并与预设会话并发性能阈值比较。若大于该会话并发性能阈值,说明会话并发性能较好,达到预设标准,否则判定未到预设标准。
在本申请实施例中,对上述NAT设备的NAT性能以及确定NAT性能的测试结果的方法不作具体限定。
一个可选的实施例中,为了更加准确的判定NAT设备是否成功对第一报文进行NAT处理,上述图3提供的测试方法还可以包括以下步骤。
检测第二报文的目的地址是否在预设第二目的地址列表中,并检测第二报文的源地址是否在预设第二源地址列表中。
具体的,测试设备的接收端在接收到上述第二报文后,测试设备可以将第二报文的目的地址与上述预设第二目的地址列表进行匹配,并将第二报文的源地址与预设第二源地址列表进行匹配,分别检测第二报文的目的地址和源地址是否在预设第二目的地址列表和预设第二源地址列表中。该检测过程的检测结果至少可以包括以下情况。
情况一,第二报文的目的地址在预设第二目的地址列表中,且第二报文的源地址也在预设第二源地址列表中。
情况二,第二报文的目的地址不在预设第二目的地址列表中,但第二报文的源地址在预设第二源地址列表中。
情况三,第二报文的目的地址在预设第二目的地址的列表中,但第二报文的源地址不在预设第二源地址列表中。
情况四,第二报文的目的地址不在预设第二目的地址列表中,且第二报文的源地址也不在预设第二源地址列表中。
针对上述情况一,测试设备可以确定NAT设备在对第一报文进行NAT处理时,没有出现错误,也就是NAT设备成功对第一报文进行NAT处理。针对上述情况二,测试设备可以确定NAT设备在对第一报文的进行NAT处理时,目的地址转换错误,源地址未转换错误,也就是NAT设备未成功对第一报文进行NAT处理。针对上述情况三,测试设备可以确定NAT设备在对第一报文进行NAT处理时,目的地址未转换错误,源地址转换错误,也就是NAT设备未成功对第一报文进行NAT处理。针对上述情况四,测试设备可以确定NAT设备在对第一报文进行NAT处理时,目的地址和源地址均转换错误,也就是NAT设备未成功对第一报文进行NAT处理。
一个可选的实施例中,针对上述步骤S305,判定对第一报文成功进行NAT处理的步骤中,若测试设备确定第三标识与第一标识匹配,第四标识与第二标识匹配,第二报文的目的地址在预设第二目的地址列表中,且第二报文的源地址在预设第二源地址列表中,则测试设备可以判定NAT设备成功对第一报文进行NAT处理。
一个可选的实施例中,针对上述步骤S306,判定对第一报文未成功进行NAT处理的步骤中,若测试设备确定第三标识与第一标识不匹配,和/或第四标识与第二标识不匹配,和/或第二报文的目的地址不在预设第二目的地址列表中,和/或第二报文的源地址不在预设第二源地址列表中,则测试设备可以判定NAT设备未成功对第一报文进行NAT处理。
基于同一种构思,根据上述测试方法的实施例,本申请实施例还提供一种测试方法,具体如图4所示,该方法包括以下步骤。
步骤S401,从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址。
步骤S402,向NAT设备发送目的地址为第一地址且源地址为第二地址的第一报文。其中,第一报文包括第一地址的第一标识和第二地址的第二标识。
步骤S403,接收NAT设备发送的对第一报文进行NAT处理后得到的第二报文。
步骤S404,获取第二报文中包括的目的地址的第三标识和源地址的第四标识。
上述步骤S401-步骤S404与上述步骤S301-步骤S304相同。
步骤S405,向NAT设备发送源地址为第三地址,目的地址为第四地址的第三报文。其中,第三地址为第二报文的目的地址,第四地址为第二报文的源地址,第三报文包括第三地址的第三标识和第四地址的第四标识。
在本步骤中,测试设备在NAT设备成功对第一报文进行NAT处理之后,若需要响应第二报文,则该测试设备可以提取第二报文中的目的地址、源地址以及源地址标识和目的地址标识。该测试设备可以将第二报文的目的地址作为第三地址,第二报文的源地址作为第四地址,向NAT设备发送源地址为第三地址、目的地址为第四地址、且包含第三标识(即源地址标识)和第四标识(即目的地址标识)的第三报文。
参照上述表1,以第三标识和第四标识的长度为2个字节为例,若上述第三标识为标识3,第四标识为标识4,则第三报文的载荷具体可以如表5所示。
表5
上述第三报文中包含的第三标识和第四标识的插入方法,可以参考上述第一报文中包含的第一标识和第二标识的插入方法,在此不作具体说明。
步骤S406,接收NAT设备发送的对第三报文进行NAT处理后得到的第四报文。
在本步骤中,测试设备的发送端可以接收NAT设备发送的对第三报文进行NAT处理后得到的第四报文。
上述步骤S405和步骤S406为测试设备根据测试过程中的具体情况或者用户需求等,对接收到的第二报文进行响应的过程。在此过程中,测试设备的可以根据第三报文和第四报文的报文信息、源地址标识和目的地址标识生成新的会话,也可以不生成新的会话,在此不作具体限定。
步骤S407,获取第四报文中包括的源地址的第五标识和目的地址的第六标识,并判断第五标识是否与第三标识匹配以及第六标识是否与第四标识匹配。若均匹配,则执行步骤S408,若不均匹配,则执行步骤S409。
在本步骤中,测试设备可以从第四报文的预设位置处提取源地址的第五标识和目的地址的第六标识,并分别将提取到的第五标识与上述第二报文中的第三标识进行匹配,将第六标识与上述第二报文中的第四标识进行匹配,确定NAT设备是否成功对第三报文进行NAT处理。
一个实施例中,参照上述表5,NAT设备对第三报文进行NAT处理后得到第四报文。第四报文的载荷中包含的标识可以如表6所示。
表6
根据表6,测试设备可以从第四报文的载荷的第一个字节和第二个字节所在的位置处提取到第六标识(即标识6)。测试设备可以从第四报文的第三个字节和第四个字节所在的位置处提取到第五标识(即标识5)。
一个实施例中,测试设备在提取到第四报文中的第五标识和第六标识后,可以将提取到的第五标识与上述会话中的第三标识进行匹配,也就是与第二报文的目的地址标识进行匹配,将第六标识与上述会话中的第四标识进行匹配,也就是与第二报文的源地址标识进行匹配,并将第四报文中的目的地址、源地址、目的端口和源端口分别与上述会话的正向信息中的源地址、目的地址、源端口和目的端口进行匹配,也就是将第四报文的目的地址与第一报文的源地址进行匹配,将第四报文的源地址与第一报文的目的地址进行匹配,将第四报文的目的端口与第一报文的源端口进行匹配,将第四报文的端口与第一报文的目的端口进行匹配,判定NAT设备是否成功对第三报文进行NAT处理。
步骤S408,判定对第三报文成功进行NAT处理。
在本步骤中,若第五标识与上述会话的反向信息中的第三标识匹配,且第六标识与上述会话的反向信息中的第四标识匹配,第四报文中的报文信息与第一报文中的报文信息匹配,也就是第五标识与第三标识匹配,第六标识与第四标识匹配,第四报文的目的地址与第一报文的源地址匹配,第四报文的源地址与第一报文的目的地址匹配,第四报文的目的端口与第一报文的源端口匹配,且第四报文的端口与第一报文的目的端口匹配,则测试设备可以确定NAT设备成功对第三报文进行NAT处理。
步骤S409,判定对第三报文未成功进行NAT处理。
在本步骤中,若第五标识与上述会话的反向信息中的第三标识不匹配,和/或第六标识与上述会话的反向信息中的第四标识不匹配,和/或第四报文中的报文信息与第一报文中的报文信息不匹配,则测试设备可以确定NAT设备未成功对第三报文进行NAT处理。在此对不匹配的情况不进行具体说明。
一个可选的实施例中,根据图4提供的测试方法,在确定NAT设备的NAT性能时,NAT设备进行了两次NAT处理过程,即将对第一报文进行NAT处理以及对第三报文进行NAT处理。在NAT设备对第三报文进行NAT处理后,测试设备可以判断NAT设备是否成功对第一报文进行NAT处理(具体参阅图3所示的方法)。测试设备也可以判断NAT设备是否成功对第三报文进行NAT处理。测试设备还可以判断NAT设备是否成功对第一报文以及第三报文进行NAT处理。因此,本申请实施例提供的测试方法,提高了测试设备对每一报文是否成功进行NAT处理的判定结果的准确性,进而使得根据对多个报文是否成功进行NAT处理的判定结果确定的NAT性能的测试结果更加准确,提高了NAT性能测试的准确性。
在本申请实施例中,对NAT设备的NAT性能进行测试时,测试设备可以同时支持IPV4报文和IPV6报文的发送与接收,测试过程对测试环境的要求比现有测试方法对测试环境的要求更低,测试过程也更为简单方便。另外,在现有测试方法中,测试设备需要维护NAT处理前后报文中对应的IPV4地址和IPV6地址之间的映射关系,根据该映射关系测试设备才能确定NAT设备的NAT性能。与现有测试方法相比,本申请实施例根据报文中包含的标识,可以准确地确定NAT处理前后报文中报文信息之间的对应关系,也就是NAT处理前后报文中IPV4地址和IPV6地址的对应关系,测试设备中无需存储IPV4地址和IPV6地址之间的映射关系,测试设备中存储的地址列表中地址的使用并不受到映射关系的束缚,例如测试设备可以从地址列表中随机选择地址作为NAT转换前的地址,也可以从地址列表中随机选择地址作为NAT转换后的地址。本申请实施例提供的方法更为灵活方便,便于对测试设备的管理,提高了测试设备的易用性。
综上所述,本申请实施例提供的方法,在网络中部署一个NAT设备,利用NAT处理前后报文中标识的匹配情况,可以准确的判定出NAT设备是否成功对报文进行NAT处理,也就是对报文进行一次NAT处理,提高了对每一报文是否成功进行NAT处理的判定结果的准确性,进而使得NAT设备根据对多个报文是否成功进行NAT处理的判定结果,确定的NAT性能的测试结果更加准确,提高了NAT性能测试的准确性。
仍以上述图2为例对本申请实施例提供的测试方法进行说明。图2中测试设备支持IPV4和IPV6。端口201和202可以用于传输不同版本的IP报文。当然在其他测试场景中,端口201和202也可以用于传输相同版本的IP报文。
具体的,在测试设备存储有预设第一目的地址列表、预设第一源地址列表、预设第二目的地址列表和预设第二源地址列表,分别表示为列表1、列表2、列表3、列表4。测试设备从列表1中选取一IPV4地址,即地址1,并确定该IPV4地址的标识,即ID1。测试设备从列表2中选取一IPV4地址,即地址2,并确定该IPV4地址的标识,即ID2。测试设备将地址1作为目的地址,将地址2作为源地址,并将ID1和ID2插入到报文的预设位置处得到报文1。测试设备通过端口201将报文1发送给NAT设备,并在会话列表中生成会话1。其中,会话1的正向信息包括报文1的报文信息、ID1和ID2,会话1的反向信息为空值。
NAT设备在接收到报文1后,可以将报文1中的地址1由IPV4转换为IPV6地址,即地址3。NAT设备将报文1中的地址2由IPV4地址转换为IPV6地址,即地址4。NAT设备将地址3作为目的地址,将地址4作为源地址向测试设备的端口202发送报文2。其中,报文2的预设位置处仍旧保留有上述ID1和ID2。
测试设备的端口202在接收到报文2后,测试设备可以提取报文2的报文信息,并在预设位置处提取得到ID1和ID2。测试设备可以将提取到的ID1和ID2与会话1的正向信息中的ID1和ID2进行匹配,并确定提取到的报文信息中的地址3是否在上述列表3中,以及提取到的报文信息中的地址4是否在上述列表4中,进而判定NAT设备是否成功对报文1进行NAT处理。若提取到的ID1和ID2与会话1中的ID1和ID2匹配,地址3在列表3中,且地址4在列表4中,则测试设备可以确定NAT设备成功对报文1进行NAT处理。测试设备可以根据提取到的报文信息、ID1和ID2更新会话1中的反向信息,也就是用将会话1中的空值替换为报文2中的报文信息,以及ID1和ID2,完成对会话1的更新。
测试设备在对会话1进行更新之后,测试设备可以根据测试过程中的具体情况或者用户的需求等,响应接收到的报文2。测试设备可以将地址3作为源地址,地址4作为目的地址,通过端口202向NAT设备发送包含ID1和ID2的报文3。
NAT设备在接收到报文3之后,可以将报文3中的地址3转换为地址1,将地址4转换为地址2,并向测试设备的端口201发送目的地址为地址2,源地址为地址1的报文4。
测试设备的端口201接收到报文4后,测试设备可以将提取报文4中报文信息,并从报文4的预设位置处提取得到ID1和ID2。测试设备可以将提取到的ID1和ID2与会话1的反向信息中的ID进行匹配,并将提取到的报文信息与会话1中的正向信息进行匹配,进而判定NAT设备是否成功对报文3进行NAT处理。
基于同一种构思,根据上述本申请实施例提供的一种测试方法,本申请实施例还提供了一种测试装置。如图5所示,图5为本申请实施例提供的测试装置的一种结构示意图。该装置可以包括以下步骤。
选取模块501,用于从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址。
第一发送模块502,用于向NAT设备发送目的地址为第一地址且源地址为第二地址的第一报文;其中,第一报文包括第一地址的第一标识和第二地址的第二标识。
第一接收模块503,用于接收NAT设备发送的对第一报文进行NAT处理后得到的第二报文。
第一判断模块504,用于获取第二报文中包括的目的地址的第三标识和源地址的第四标识,并判断第三标识是否与第一标识匹配以及第四标识是否与第二标识匹配。
第一判定模块505,用于在第一判断模块504的判断结果为第三标识与第一标识匹配,且第四标识与第二标识匹配时,判定对第一报文成功进行NAT处理;在第一判断模块504的判断结果为第三标识与第一标识不匹配,和/或第四标识与第二标识不匹配时,判定对第一报文未成功进行NAT处理。
可选的,上述第一发送模块502,具体可以用于确定第一地址的第一标识,以及第二地址的第二标识;将第一标识和第二标识插入第一报文的预设位置处,第一报文的目的地址为第一地址,源地址为第二地址;向NAT设备发送插入第一标识和第二标识后的第一报文。
可选的,上述测试装置还可以包括:
检测模块,用于检测第二报文的目的地址是否在预设第二目的地址列表中,并检测第二报文的源地址是否在预设第二源地址列表中;其中,预设第一目的地址列表和预设第一源地址列表中包括IP地址的版本,与预设第二目的地址列表和预设第二源地址列表中包括IP地址的版本不同。
上述第一判定模块,具体用于第一判定模块,具体用于若第三标识与第一标识匹配,第四标识与第二标识匹配,第二报文的目的地址在预设第二目的地址列表中,且第二报文的源地址在预设第二源地址列表中,则判定对第一报文成功进行NAT处理;若第三标识与第一标识不匹配,和/或第四标识与第二标识不匹配,和/或第二报文的目的地址不在预设第二目的地址列表中,和/或第二报文的源地址不在预设第二源地址列表中,则判定对第一报文未成功进行NAT处理。
可选的,上述测试装置还可以包括:
第二发送模块,用于向NAT设备发送源地址为第三地址且目的地址为第四地址的第三报文;第三地址为第二报文的目的地址,第四地址为第二报文的源地址,第三报文包括第三地址的第三标识和第四地址的第四标识。
第二接收模块,用于接收NAT设备发送的对第三报文进行NAT处理后得到的第四报文。
第二判断模块,用于获取第四报文中包括的源地址的第五标识和目的地址的第六标识,并判断第五标识是否与第三标识匹配以及第六标识是否与第四标识匹配。
第二判定模块,用于在第二判断模块的判断结果为第五标识与第三标识匹配,且第六标识与第四标识匹配时,判定对第三报文成功进行NAT处理;在第二判断模块的判断结果为第五标识与第三标识不匹配,和/或第六标识与第四标识不匹配时,判定对第三报文未成功进行NAT处理。
可选的,上述测试装置还可以包括:
统计模块,用于统计预设时间内所述NAT设备对多个报文是否成功进行NAT处理的判定结果;
确定模块,用于根据所述判定结果,确定所述NAT设备对网络地址的转换成功率。
通过本申请实施例提供的装置,在网络中部署一个NAT设备,利用NAT处理前后报文中标识的匹配情况,可以准确的判定出NAT设备是否成功对报文进行NAT处理,也就是对报文进行一次NAT处理,提高了对每一报文是否成功进行NAT处理的判定结果的准确性,进而使得根据对多个报文是否成功进行NAT处理的判定结果,确定的NAT性能的测试结果更加准确,提高了NAT性能测试的准确性。
基于同一种构思,根据上述本申请实施例提供的一种测试方法,本申请实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址;
向NAT设备发送目的地址为第一地址且源地址为第二地址的第一报文;第一报文包括第一地址的第一标识和第二地址的第二标识;
接收NAT设备发送的对第一报文进行NAT处理后得到的第二报文;
获取第二报文中包括的目的地址的第三标识和源地址的第四标识,并判断第三标识是否与第一标识匹配以及第四标识是否与第二标识匹配;
若均匹配,则判定对第一报文成功进行NAT处理;若不均匹配,则判定对第一报文未成功进行NAT处理。
通过本申请实施例提供的电子设备,在网络中部署一个NAT设备,利用NAT处理前后报文中标识的匹配情况,可以准确的判定出NAT设备是否成功对报文进行NAT处理,也就是对报文进行一次NAT处理,提高了对每一报文是否成功进行NAT处理的判定结果的准确性,进而使得根据对多个报文是否成功进行NAT处理的判定结果,确定的NAT性能的测试结果更加准确,提高了NAT性能测试的准确性。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于同一种构思,根据上述本申请实施例提供的一种测试方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一测试方法的步骤。
基于同一种构思,根据上述本申请实施例提供的一种测试方法,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质和计算机程序产品等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种测试方法,其特征在于,所述方法包括:
从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址;
向网络地址转换NAT设备发送目的地址为所述第一地址且源地址为所述第二地址的第一报文;所述第一报文包括所述第一地址的第一标识和所述第二地址的第二标识;
接收所述NAT设备发送的对所述第一报文进行NAT处理后得到的第二报文;
获取所述第二报文中包括的目的地址的第三标识和源地址的第四标识,并判断所述第三标识是否与所述第一标识匹配以及所述第四标识是否与所述第二标识匹配;
若均匹配,则判定对所述第一报文成功进行NAT处理;若不均匹配,则判定对所述第一报文未成功进行NAT处理;
所述方法还包括:
检测所述第二报文的目的地址是否在预设第二目的地址列表中,并检测所述第二报文的源地址是否在预设第二源地址列表中;其中,所述预设第一目的地址列表和所述预设第一源地址列表中包括IP地址的版本,与所述预设第二目的地址列表和所述预设第二源地址列表中包括IP地址的版本不同;
所述若均匹配,则判定对所述第一报文成功进行NAT处理的步骤,包括:
若所述第三标识与所述第一标识匹配,所述第四标识与所述第二标识匹配,所述第二报文的目的地址在所述预设第二目的地址列表中,且所述第二报文的源地址在所述预设第二源地址列表中,则判定对所述第一报文成功进行NAT处理;
所述若不均匹配,则判定对所述第一报文未成功进行NAT处理的步骤,包括:
若所述第三标识与所述第一标识不匹配,和/或所述第四标识与所述第二标识不匹配,和/或所述第二报文的目的地址不在所述预设第二目的地址列表中,和/或所述第二报文的源地址不在所述预设第二源地址列表中,则判定对所述第一报文未成功进行NAT处理。
2.根据权利要求1所述的方法,其特征在于,所述向NAT设备发送目的地址为所述第一地址且源地址为所述第二地址的第一报文的步骤,包括:
确定所述第一地址的第一标识,以及所述第二地址的第二标识;
将所述第一标识和所述第二标识插入第一报文的预设位置处,所述第一报文的目的地址为所述第一地址,源地址为所述第二地址;
向NAT设备发送插入所述第一标识和所述第二标识后的第一报文。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述NAT设备发送源地址为第三地址且目的地址为第四地址的第三报文;所述第三地址为所述第二报文的目的地址,所述第四地址为所述第二报文的源地址,所述第三报文包括所述第三地址的第三标识和所述第四地址的第四标识;
接收所述NAT设备发送的对所述第三报文进行NAT处理后得到的第四报文;
获取所述第四报文中包括的源地址的第五标识和目的地址的第六标识,并判断所述第五标识是否与所述第三标识匹配以及所述第六标识是否与所述第四标识匹配;
若均匹配,则判定对所述第三报文成功进行NAT处理;若不均匹配,则判定对所述第三报文未成功进行NAT处理。
4.根据权利要求1-3任一所述的方法,其特征在于,所述方法还包括:
统计预设时间内所述NAT设备对多个报文是否成功进行NAT处理的判定结果;
根据所述判定结果,确定所述NAT设备对网络地址的转换成功率。
5.一种测试装置,其特征在于,所述装置包括:
选取模块,用于从预设第一目的地址列表中选取第一地址,从预设第一源地址列表中选取第二地址;
第一发送模块,用于向网络地址转换NAT设备发送目的地址为所述第一地址且源地址为所述第二地址的第一报文;所述第一报文包括所述第一地址的第一标识和所述第二地址的第二标识;
第一接收模块,用于接收所述NAT设备发送的对所述第一报文进行NAT处理后得到的第二报文;
第一判断模块,用于获取所述第二报文中包括的目的地址的第三标识和源地址的第四标识,并判断所述第三标识是否与所述第一标识匹配以及所述第四标识是否与所述第二标识匹配;
第一判定模块,用于在所述第一判断模块的判断结果为所述第三标识与所述第一标识匹配,且所述第四标识与所述第二标识匹配时,判定对所述第一报文成功进行NAT处理;在所述第一判断模块的判断结果为所述第三标识与所述第一标识不匹配,和/或所述第四标识与所述第二标识不匹配时,判定对所述第一报文未成功进行NAT处理;
所述装置还包括:
检测模块,用于检测所述第二报文的目的地址是否在预设第二目的地址列表中,并检测所述第二报文的源地址是否在预设第二源地址列表中;其中,所述预设第一目的地址列表和所述预设第一源地址列表中包括IP地址的版本,与所述预设第二目的地址列表和所述预设第二源地址列表中包括IP地址的版本不同;
所述第一判定模块,具体用于若所述第三标识与所述第一标识匹配,所述第四标识与所述第二标识匹配,所述第二报文的目的地址在所述预设第二目的地址列表中,且所述第二报文的源地址在所述预设第二源地址列表中,则判定对所述第一报文成功进行NAT处理;若所述第三标识与所述第一标识不匹配,和/或所述第四标识与所述第二标识不匹配,和/或所述第二报文的目的地址不在所述预设第二目的地址列表中,和/或所述第二报文的源地址不在所述预设第二源地址列表中,则判定对所述第一报文未成功进行NAT处理。
6.根据权利要求5所述的装置,其特征在于,所述第一发送模块,具体用于确定所述第一地址的第一标识,以及所述第二地址的第二标识;将所述第一标识和所述第二标识插入第一报文的预设位置处,所述第一报文的目的地址为所述第一地址,源地址为所述第二地址;向NAT设备发送插入所述第一标识和所述第二标识后的第一报文。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于向所述NAT设备发送源地址为第三地址且目的地址为第四地址的第三报文;所述第三地址为所述第二报文的目的地址,所述第四地址为所述第二报文的源地址,所述第三报文包括所述第三地址的第三标识和所述第四地址的第四标识;
第二接收模块,用于接收所述NAT设备发送的对所述第三报文进行NAT处理后得到的第四报文;
第二判断模块,用于获取所述第四报文中包括的源地址的第五标识和目的地址的第六标识,并判断所述第五标识是否与所述第三标识匹配以及所述第六标识是否与所述第四标识匹配;
第二判定模块,用于在所述第二判断模块的判断结果为所述第五标识与所述第三标识匹配,且所述第六标识与所述第四标识匹配时,判定对所述第三报文成功进行NAT处理;在所述第二判断模块的判断结果为所述第五标识与所述第三标识不匹配,和/或所述第六标识与所述第四标识不匹配时,判定对所述第三报文未成功进行NAT处理。
8.根据权利要求5-7任一所述的装置,其特征在于,所述装置还包括:
统计模块,用于统计预设时间内所述NAT设备对多个报文是否成功进行NAT处理的判定结果;
确定模块,用于根据所述判定结果,确定所述NAT设备对网络地址的转换成功率。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910228647.2A CN109756401B (zh) | 2019-03-25 | 2019-03-25 | 一种测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910228647.2A CN109756401B (zh) | 2019-03-25 | 2019-03-25 | 一种测试方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756401A CN109756401A (zh) | 2019-05-14 |
CN109756401B true CN109756401B (zh) | 2020-11-27 |
Family
ID=66409320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910228647.2A Active CN109756401B (zh) | 2019-03-25 | 2019-03-25 | 一种测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109756401B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565127B (zh) * | 2020-03-22 | 2022-01-04 | 杭州迪普科技股份有限公司 | 用于网络地址转换的测试方法、系统、设备及介质 |
CN112565001A (zh) * | 2020-11-18 | 2021-03-26 | 浪潮思科网络科技有限公司 | 一种nat设备性能测试系统、方法、设备及介质 |
CN113098733B (zh) * | 2021-03-26 | 2022-04-19 | 杭州迪普科技股份有限公司 | 网络地址转换设备测试系统及方法 |
CN113794608B (zh) * | 2021-10-19 | 2022-10-11 | 成都安恒信息技术有限公司 | 自动化测试nat设备转发sctp报文的nat测试仪及测试方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238039A (zh) * | 2011-07-30 | 2011-11-09 | 华为技术有限公司 | Nat事件上报及ip地址溯源方法、及网络装置 |
CN104320498A (zh) * | 2014-07-04 | 2015-01-28 | 物联智慧科技(深圳)有限公司 | 有效保持nat通道服务方法 |
CN107682226A (zh) * | 2017-10-19 | 2018-02-09 | 新华三技术有限公司 | Nat板的监控方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100525295C (zh) * | 2004-04-21 | 2009-08-05 | 华为技术有限公司 | 一种IPv4网络与IPv6网络通信的实现方法 |
US7729273B2 (en) * | 2006-06-20 | 2010-06-01 | General Instrument Corporation | Method and apparatus for conserving bandwidth between a network device and a remote device |
US20080225867A1 (en) * | 2007-03-15 | 2008-09-18 | Microsoft Corporation | Faster NAT detection for Teredo client |
CN104811328B (zh) * | 2014-01-27 | 2018-08-10 | 新华三技术有限公司 | 虚拟网络资源管理方法及装置 |
CN106953773A (zh) * | 2016-01-06 | 2017-07-14 | 中兴通讯股份有限公司 | 一种实现报文检错的方法及装置 |
CN107241453B (zh) * | 2016-03-28 | 2020-07-24 | 华为技术有限公司 | 一种网络地址转换映射保活方法及装置 |
CN108183838B (zh) * | 2017-12-25 | 2020-11-06 | 杭州迪普科技股份有限公司 | 一种源nat功能测试的方法及装置 |
-
2019
- 2019-03-25 CN CN201910228647.2A patent/CN109756401B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238039A (zh) * | 2011-07-30 | 2011-11-09 | 华为技术有限公司 | Nat事件上报及ip地址溯源方法、及网络装置 |
CN104320498A (zh) * | 2014-07-04 | 2015-01-28 | 物联智慧科技(深圳)有限公司 | 有效保持nat通道服务方法 |
CN107682226A (zh) * | 2017-10-19 | 2018-02-09 | 新华三技术有限公司 | Nat板的监控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109756401A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756401B (zh) | 一种测试方法、装置、电子设备及存储介质 | |
US12101254B2 (en) | Packet processing method and network device | |
CA2740675C (en) | Ascertaining per-hop network characteristics | |
CN113595897B (zh) | 一种路径探测方法及装置 | |
CN112929241B (zh) | 一种网络测试方法及装置 | |
US10182132B2 (en) | Method, apparatus and system for communication between OpenFlow device and IP network device | |
CN107370636B (zh) | 链路状态确定方法和装置 | |
JP5273001B2 (ja) | 通信システム、端末装置、通信方法、及び通信プログラム | |
WO2020259551A1 (zh) | 一种网络连接故障处理方法及装置 | |
US6819681B1 (en) | Systems and methods for predicting data fields in layered protocols | |
CN109246189B (zh) | 网络数据分发方法及装置、存储介质、服务端 | |
CN111614580A (zh) | 一种数据转发方法、装置及设备 | |
CN113259490B (zh) | 基于udp传输协议的多级节点网络数据传输方法 | |
WO2023016407A1 (zh) | 数据传输方法、系统、装置及设备 | |
US6961777B1 (en) | Systems and methods for predicting fields in a data packet | |
CN113660134B (zh) | 端口探测方法、装置、电子装置和存储介质 | |
CN115454896A (zh) | 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质 | |
CN110611678B (zh) | 一种识别报文的方法及接入网设备 | |
CN109688204B (zh) | 基于ndn网络的文件下载方法、节点、终端 | |
CN110971716B (zh) | 地址配置方法、装置、系统和计算机可读存储介质 | |
CN108769293B (zh) | 一种ip地址解析方法及相关装置 | |
CN112989315A (zh) | 物联网终端的指纹生成方法、装置、设备和可读存储介质 | |
CN112583662A (zh) | 主机存活探测方法、装置、设备及存储介质 | |
CN105743861B (zh) | 一种发送报文的方法、装置及设备 | |
CN111917703B (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 |