SSLVPN网关的稳定性测试方法和系统与流程

文档序号:23893631发布日期:2021-02-09 13:13阅读:59来源:国知局
SSLVPN网关的稳定性测试方法和系统与流程
sslvpn网关的稳定性测试方法和系统
技术领域
[0001]
本发明属于sslvpn网关测试技术领域,特别涉及一种sslvpn网关的稳定性测试方法和系统。


背景技术:

[0002]
sslvpn(secure sockets layer virtual private network,安全套接层虚拟专用网络)属于远程访问技术,它以https(hyper text transfer protocol over secure socket layer,支持ssl的超文本传输协议)为基础,利用加密技术为用户在公网上封装出一个可以连接到特定局域网的数据通讯隧道,以满足用户在任意地点通过互联网安全地访问特定的局域网。其中,在局域网侧,sslvpn网关负责接收用户的vpn访问,将用户发出的vpn报文进行解封装还原成原始的vpn报文,然后转发给局域网内的ip(internet protocol,网络之间互联的协议)资源服务器。在面对大量用户产生的高并发请求时,sslvpn网关处理能力就显得至关重要。因此,一个sslvpn系统在投入运营前需要对其sslvpn网关进行稳定性测试。
[0003]
现有技术中,对sslvpn网关稳定性测试主要基于一个或多个客户端接入或接入后持续访问网关内网业务,但未考虑大量客户端一直频繁上下线的场景,覆盖不全面,从而导致测试的准确性不高。


技术实现要素:

[0004]
为了解决现有技术中存在的问题,本发明提出了一种sslvpn网关的稳定性测试方法和系统,方便用户对sslvpn网关进行稳定性测试,提高了测试效率,同时考虑客户端频繁上下线场景,覆盖全面,提高测试准确性。
[0005]
为解决上述技术问题,本发明采用以下的技术方案:本发明提供了一种sslvpn网关的稳定性测试方法,包含以下步骤:创建多个客户端并形成客户端集群;生成多个配置文件以形成配置文件数据库;输入本次测试用的客户端数量m、上下线循环次数n以及客户端上线等待时间t;从客户端集群中选定m个测试用的客户端;初始状态,上下线循环变量为1,m个客户端调用配置文件并发接入sslvpn网关;待本次测试用的m个客户端全部接入sslvpn网关,且达到客户端上线等待时间t时,将所有客户端强制下线,同时在初始的上下线循环变量的基础上加1,并形成新的上下线循环变量;重复上述步骤,直到上下线循环变量达到上下线循环次数n为止,并在此过程中,记录sslvpn网关的异常状态,判定sslvpn网关的稳定性是否合格。
[0006]
进一步地,在所述创建多个客户端并形成客户端集群之后,还包括由sslvpn网关为客户端集群中的每一个客户端下发对应的虚拟ip,具体为:
客户端与sslvpn网关进行标准的ssl握手协议;客户端上报终端状态给sslvpn网关;待sslvpn网关验证通过后,给客户端下发一个虚拟ip。
[0007]
进一步地,每个配置文件包括数字证书和测试参数项,所述测试参数项包括:发送icmp数据包的起点、icmp数据包的大小以及两个相邻icmp数据包之间发送间隔时间;每个客户端上线后,构造icmp数据包,以sslvpn网关下发的虚拟ip作为数据包的源ip,以sslvpn网关的虚拟网卡ip作为目的ip,由定时器根据测试参数项定时发送icmp数据包。
[0008]
进一步地,所述生成多个配置文件以形成配置文件数据库包括以下步骤:a.输入需要生成的配置文件数目、配置文件保存路径;b.设定配置文件循环变量num的初始值为0,并在此基础上,创建名为xxx_num.json的配置文件,且配置文件内容包括数字证书的路径xxx/rsanum/;c.将配置文件循环变量num+1,生成新的配置文件循环变量;d.判断配置文件循环变量是否小于配置文件数目,如果小于,则循环上述步骤b至步骤c,直至达到配置文件数目,如果等于,则说明已生成全部配置文件并结束流程。
[0009]
进一步地,所述步骤b在生成配置文件时,请求ca机构签发对应的数字证书,并将其保存在路径xxx/rsanum/。
[0010]
进一步地,所述m个客户端调用配置文件包括:基于客户端数量m获取m个cpu线程;根据测试要求级别不同的场景,m个客户端调用不同的配置文件并绑定到不同的cpu线程上,或m个客户端调用相同的配置文件并绑定到不同的cpu线程上。
[0011]
进一步地,在所述从客户端集群中选定m个测试用的客户端之后,还包括:在每一次上下线测试过程中,记录所有客户端全部接入sslvpn网关的用时,得到n个用时数据;计算n个用时数据的平均值,并判断该平均值是否超过预设的第二阈值,如果未超过,则在客户端数量m基础上继续增量,直到该平均值超过预设的第二阈值;如果超过,则得出sslvpn网关能接入客户端的最大并发数为m。
[0012]
进一步地,所述判定sslvpn网关的稳定性是否合格包括:如果sslvpn网关的异常状态次数超过预设的第一阈值,则判定sslvpn网关的稳定性不合格,如果sslvpn网关的异常状态次数不超过预设的第一阈值,则判定sslvpn网关的稳定性合格。
[0013]
本发明还提供了一种sslvpn网关的稳定性测试系统,包括测试终端和sslvpn网关,所述测试终端与sslvpn网关通信连接,所述测试终端包括多个客户端、人机交互模块、客户端配置文件生成模块和客户端上下线控制模块;人机交互模块,用于输入本次测试用的客户端数量m、上下线循环次数n以及客户端上线等待时间t;客户端配置文件生成模块,用于生成多个配置文件以形成配置文件数据库;客户端上下线控制模块,用于控制m个客户端并发接入sslvpn网关;在初始状态时,上下线循环变量为1,使m个客户端调用配置文件并发接入sslvpn网关;待本次测试用的m个客户端全部接入sslvpn网关,且达到客户端上线等待时间t时,将所有客户端强制下线,同时
在初始的上下线循环变量的基础上加1,并形成新的上下线循环变量;重复上述步骤,直到上下线循环变量达到上下线循环次数n为止,并在此过程中,记录sslvpn网关的异常状态,判定sslvpn网关的稳定性是否合格。
[0014]
进一步地,每个配置文件包括数字证书和测试参数项,所述测试参数项包括:发送icmp数据包的起点、icmp数据包的大小以及两个相邻icmp数据包之间发送间隔时间;每个客户端上线后,构造icmp数据包,以sslvpn网关为每一个客户端下发的虚拟ip作为数据包的源ip,以sslvpn网关的虚拟网卡ip作为目的ip,由定时器根据测试参数项定时发送icmp数据包。
[0015]
与现有技术相比,本发明具有以下优点:本发明的客户端在不启动tun虚拟网卡的基础上,使用数字证书与sslvpn网关完成ssl协商,建立测试用的安全通道,提高测试终端的性能。同时,本发明可以自定义并发客户端的数量、客户端在线时长、上下线次数,从而便于测试人员进行全面覆盖完成对sslvpn网关的稳定性测试过程,提高测试准确性。
附图说明
[0016]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]
图1是本发明实施例的一种sslvpn网关的稳定性测试方法的流程图;图2是本发明实施例的一种sslvpn网关的稳定性测试系统的结构框图。
具体实施方式
[0018]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]
请参考图1,图1为本发明实施例的一种sslvpn网关的稳定性测试方法的流程图,该方法包括以下步骤:步骤s11,创建多个客户端并形成客户端集群,由sslvpn网关为客户端集群中的每一个客户端下发对应的虚拟ip,具体包括:客户端与sslvpn网关进行标准的ssl握手协议;客户端上报终端状态给sslvpn网关;待sslvpn网关验证通过后,给客户端下发一个虚拟ip。
[0020]
步骤s12,生成多个配置文件以形成配置文件数据库,每个配置文件包括数字证书和测试参数项。
[0021]
其中,测试参数项包括:发送icmp数据包的起点、icmp数据包的大小以及两个相邻icmp数据包之间发送间隔时间;每个客户端上线后,构造icmp数据包,以sslvpn网关下发的虚拟ip作为数据包的源ip,
以sslvpn网关的虚拟网卡ip作为目的ip,由定时器根据测试参数项定时发送icmp数据包。
[0022]
需要说明的是,在sslvpn隧道模式下,安全接入客户端与sslvpn网关进行标准的ssl握手协议后,客户端上报终端状态,验证通过后sslvpn网关会给客户端下发一个虚拟ip,客户端可以用这个虚拟ip创建tun虚拟网卡,从而建立起与sslvpn通信的加密通道。但是当大量测试用客户端接入时,就会创建出大量的tun虚拟网卡,可能会大大降低测试终端的性能,因此在大量测试用客户端接入时,本发明使客户端不启用tun虚拟网卡,而是构造icmp数据包以sslvpn网关下发的虚拟ip作为数据包的源ip,以sslvpn网关的虚拟网卡ip作为目的ip,用定时器定时发送。
[0023]
具体的,生成多个配置文件以形成配置文件数据库包括如下步骤:步骤s121,输入需要生成的配置文件数目、配置文件保存路径。
[0024]
步骤s122,设定配置文件循环变量num的初始值为0,并在此基础上,创建名为xxx_num.json的配置文件,且配置文件内容包括数字证书的路径xxx/rsanum/;优选的,在生成配置文件时,请求ca机构签发对应的数字证书,并将其保存在路径xxx/rsanum/。
[0025]
步骤s123,将配置文件循环变量num+1,生成新的配置文件循环变量。
[0026]
步骤s124,判断配置文件循环变量是否小于配置文件数目,如果小于,则循环上述步骤s122至步骤s123,直至达到配置文件数目,如果等于,则说明已生成全部配置文件并结束流程。
[0027]
步骤s13,输入本次测试用的客户端数量m、上下线循环次数n以及客户端上线等待时间t。
[0028]
步骤s14,基于客户端数量m,从客户端集群中选定测试用的客户端。
[0029]
步骤s15,初始状态,上下线循环变量为1,m个客户端调用同一个配置文件或者m个不同配置文件并发接入sslvpn网关,具体包括:基于客户端数量m获取m个cpu线程;根据测试要求级别不同的场景,m个客户端调用不同的配置文件并绑定到不同的cpu线程上,或m个客户端调用相同的配置文件并绑定到不同的cpu线程上。
[0030]
可以理解的是,在测试要求级别不高的场景,不同的客户端可以调用同一个配置文件,从而使不同的客户端接入sslvpn网关时,只需要解析一个配置文件即可,进而简化测试步骤,节省测试时间;在测试要求级别较高的场景,不同的客户端需要分别调用不同的配置文件,由于不同的配置文件中的数字证书不同,而数字证书代表客户端用户的身份,因此可以模拟实际用户的使用环境,提升测试的准确性。
[0031]
步骤s16,待本次测试用的m个客户端全部接入sslvpn网关,且达到客户端上线等待时间t时,将所有客户端强制下线,同时在初始的上下线循环变量的基础上加1,并形成新的上下线循环变量。
[0032]
步骤s17,重复上述步骤s15至步骤s16,直到上下线循环变量达到上下线循环次数n为止,并在此过程中,记录sslvpn网关的异常状态;如果sslvpn网关的异常状态次数超过预设的第一阈值,则判定sslvpn网关的稳定性不合格,如果sslvpn网关的异常状态次数不超过预设的第一阈值,则判定sslvpn网关的稳定性合格。
[0033]
可以理解的是,异常状态可以表现为sslvpn网关出现停止运行故障,通常在判定sslvpn网关的异常状态是由测试人员直接观察sslvpn网关的运行状况而得出的。实际应用
中,如果客户端无法成功向sslvpn网关发送测试用的数据包,则将会接收到发包失败的异常反馈,此时测试人员也可以由客户端侧推断出sslvpn网关已出现异常。
[0034]
具体的,在判定sslvpn网关稳定性是否合格时,可以参考以下实施例进行判定:预设上下线次数为100次,可以设定异常次数上限值为5次,在100次上下线测试过程中,如果超过5次出现sslvpn网关异常,则认为sslvpn网关稳定性不合格,如果未超过5次,则认为sslvpn网关稳定性合格。如果在某次上下线测试过程中,当sslvpn网关出现停机,则相应的客户端将保留此次发包的流程节点,待sslvpn网关启动之后,相应的客户端可以依据历史流程节点继续进行发包测试。
[0035]
在步骤s15至步骤s17每一次上下线测试过程中,记录所有客户端全部接入sslvpn网关的用时,得到n个用时数据;计算n个用时数据的平均值,并判断该平均值是否超过预设的第二阈值,如果未超过,则在客户端数量m基础上继续增量,直到该平均值超过预设的第二阈值;如果超过,则得出sslvpn网关能接入客户端的最大并发数为m。
[0036]
可以理解的是,在客户端接入sslvpn网关时,需要进行ssl握手协议,因此越多的客户端参与并发接入sslvpn网关,则造成的时间延迟越长,如果某客户端的接入时间延迟超过第二阈值,则对于该客户端的实际用户而言,体验感明显下降,本发明可以测算sslvpn网关的最大并发数,确保每个客户端接入时间延迟均小于第二阈值,从而实现客户端的高效接入,提升了实际用户的体验感。
[0037]
请参考图2,图2为本发明实施例的一种sslvpn网关的稳定性测试系统的结构框图,该系统用于实现上述的sslvpn网关的稳定性测试方法,具体包括测试终端和sslvpn网关,所述测试终端与sslvpn网关通信连接,所述测试终端包括多个客户端、人机交互模块、客户端配置文件生成模块和客户端上下线控制模块。
[0038]
人机交互模块,用于输入本次测试用的客户端数量m、上下线循环次数n以及客户端上线等待时间t;客户端配置文件生成模块,用于生成多个配置文件以形成配置文件数据库,每个配置文件包括数字证书和测试参数项;客户端上下线控制模块,用于控制m个客户端并发接入sslvpn网关;在初始状态时,上下线循环变量为1,使m个客户端调用同一个配置文件或m个不同配置文件并发接入sslvpn网关;待本次测试用的m个客户端全部接入sslvpn网关,且达到客户端上线等待时间t时,将所有客户端强制下线,同时在初始的上下线循环变量的基础上加1,并形成新的上下线循环变量;重复上述步骤,直到上下线循环变量达到上下线循环次数n为止,并在此过程中,记录sslvpn网关的异常状态,如果sslvpn网关的异常状态次数超过预设的第一阈值,则判定sslvpn网关的稳定性不合格,如果sslvpn网关的异常状态次数不超过预设的第一阈值,则判定sslvpn网关的稳定性合格。
[0039]
本发明可以通过客户端上下线控制模块控制批量客户端进行频繁上下线,以实现测试sslvpn网关稳定性的目的。
[0040]
其中,测试参数项包括:发送icmp数据包的起点、icmp数据包的大小以及两个相邻icmp数据包之间发送间隔时间;每个客户端上线后,构造icmp数据包,以sslvpn网关下发的虚拟ip作为数据包的源ip,
以sslvpn网关的虚拟网卡ip作为目的ip,由定时器根据测试参数项定时发送icmp数据包。
[0041]
进一步地,该系统还包括ca机构,在生成配置文件时,ca机构用于签发对应的数字证书。
[0042]
ca机构能够签发大量的证书,例如:rsa0、rsal

,这样就能使客户端配置文件生成模块生成指定数量的配置文件,且不同的配置文件中指定的数字证书是不同的。
[0043]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0044]
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1