专利名称:一种测试虚拟专用网络服务器容量和性能的方法和装置的制作方法
技术领域:
'
本发明涉及计算机及通信技术,尤其涉及一种测试虚拟专用网络服务器容量 和性能的方法及装置。
背景技术:
虚拟专用网络(VPN, Virtual Private Network),用于利用7>共网络建立虚拟 私有网,帮助远程用户、公司分支4/U勾、商业伙伴同公司的内部网之间建立可信 的安全连接,保证数据的安全传输。现有技术中,VPN服务的应用如图l所示, 远程的用户和远端的子公司的设备可以通过VPN的拨号方式与VPN服务器 (VPNServer)建立一个虚拟连4妄,之后可以安全直接访问企业的内网。
目前广泛应用的典型VPN拨号有两种方式, 一种是基于传输控制协议 (TCP, Transmission Control Protocol)的点对点隧道协i义(PPTP, Point to Point Tunneling Protocol), —种^&于用户凄史据才艮协i义(UDP, User Datagram Protocol) 的二层隧道协议(L2TP , Layer 2 Tunneling Protocol )。这两种方式都是基于客户 端/服务器的模式,即远端的个人计算机(PC, Personal Coumputer)用户或远 端子公司的接入设^f乍为客户端,而企业内网的出口路由器,即VPNServer作为 服务器。上述两种方式不同的是PPTP是基于TCP协议的,常用于Microsoft Windows系列的客户端上,如PC;而L2TP M于UDP协议的,常用于网络设 备上,如路由器。在实际的网络应用中,VPNServer上通常是PPTP和L2TP 两种客户端共存。因此,目前虚拟专用网络客户端(VPNClient)可以包括两类, 即有PPTP客户端(PPTP Client)和L2TP客户端(L2TP Client )。
在图1中远程的用户和远端的子公司的设备可以包括PPTP Client和L2TP Client,每个客户端与之间都建立一个VPN隧道(VPN Tunnel )。在客户端和服务器的之间传递的数据都会经过各自的VPN Tunnel进行传输。
对于生产VPNServer网络设备的厂商,为了保证这种多客户端同时^7v的时 候设备能够正常工作,在出厂前,需要在PPTP和L2TP两种客户端同时存在的 网络情况下,对VPNServer网络设备进行设备容量以及转发性能的测试。
目前各个设备提供厂商实现VPNServer的测试方法有针对PPTP的测试主 务使用一台或多台PC作为客户端进行才莫拟测试,针对L2TP的测试大部分使用 测试仪进行模拟测试,且两者一fcl分开单独进行测试。上述的测试方法存在着 以下的困难和问题
1 )较难实现大量的PPTP客户端的模拟。由于PPTP常见于Microsoft Windows 系列产品中,而现存的Microsoft Windows产品并不提供多用户客户端的模拟, 一台PC最多可以同时模拟3个客户端,这样要想模拟几百个PPTP客户端来测 试VPNServer的话,将需要几十甚至上百台的PC, il^t于设备提供厂商来说是 m^偉实现的。
因此,在PPTP和L2TP客户端同时存在时,对VPNServer的测试是十分必要的。 但目前PPTP协议常见于Microsoft ^\Tindows系列产品中,而现存的Microsoft Windows产品并不提供多用户客户端的模拟,并且当前对L2TP客户端使用测试 仪模拟,而测试仪如Smartbits、 Ixia也不提供对PPTP协议的模拟。由于对于两 种客户端的模拟使用了两种不同的装置,因此,现有的技术中均单独测试 VPNServer的PPTP客户端容量或L2TP客户端容量,还较难在PPTP和L2TP客 户端同时存在时,对VPNServer的容量进行测试。
并且,在测试VPNServer的容量时,还没能实现结果的自动搜集与测试值的 调整,现有技术中都是需要测试人员手动调整。
3)为保证在实际的多用户的大流量下的应用中,VPNServer的稳定和可靠, 需要在PPTP和L2TP客户端同时存在下的大容量下,对VPNServer的转发性能 的进行测试。但目前还较难在PPTP和L2TP客户端同时存在下的大容量下,对VPNServer的转发性能的测试。
发明内容
有鉴于此,本发明实施例提供一种测试VPNServer容量和装置,用以解决现 有技术中在多类客户端同时服务时,较难进行VPNServer容量测试的问题。本发 明实施例还提供一种测试VPNServer性能和装置,用以解决现有技术中存在的在 多类客户端同时服务时,较难进行VPNServer性能测试的问题。
本发明实施例提供的一种测试VPNServer容量的方法,包括
A、 测试装置模拟每个类别设定数量的客户端,模拟出的所述客户端与所述 VPNServer进行建立对应类别VPN隧道的协商;
B、 所述测试装置获得所述VPNServer协商通过的每个类別VPN隧道的数量, 当获得的每个类别的数量与对应类别的设定数量相等,且所述获得的每个类别的 数量在设定范围内时,将所述每个类别模拟客户端的设定数量作为所述 VPNServer的该类别客户端的容量,否则,执行步骤C;
C、 所述测试装置对所述每个类别模拟客户端的设定数量进行调整,返回步 骤A。
本发明实施例提供的一种VPNServer容量的装置,包括 VPN客户端模拟ll^模块,用于根据调度分析模块下发的每个类别模拟客户 端的设定数量,模拟每个类别所述设定数量的客户端,才莫拟出的所述客户端与所 述VPNServer发送进行建立对应类别VPN隧道的协商;
调度分析模块,用于获得所述VPNServer协商通过的每个类别VPN隧道的 数量,当获得的每个类别的数量与对应类别的设定数量相等,且所g得的每个 类别的数量在设定范围内时,将所述每个类别模拟客户端的设定数量作为所述 VPNServer的该类别客户端的容量,否则,对所述每个类别模拟客户端的设定数 量进行调整,并向所述VPN客户端模拟^X模块下发每个类别模拟客户端的设 定数量。一种测试VPNServer性能的方法,包括
测试装置获得所述VPNServer的每个类别客户端的容量后,模拟每个类别所 述容量对应数量的客户端,并建立每个模拟客户端与所述VPNServer之间的对应 类别的VPN隧道;
所述测试装置根据搜集到的每条VPN P逸道的源IP地址和目的IP地址配置 每条VPN隧道对应的测试数据流,并通过每条VPN隧道将对应的测试数据流 发送给所述VPNServer;
所述测试装置根据发送的测试数据流,以及所述VPNServer返回的数据流, 生成测试纟艮告。
本发明实施例提供的一种测试VPNServer性能的装置,包括
VPN客户端模拟^A模块,用于根据调度分析模块下发的每个类别模拟客户 端的容量,模拟出每个类别所述容量对应数量的客户端,并建立每个每个模拟客 户端与VPNServer之间的VPN隧道;
调度分析模块,用于向所述VPN客户端模拟拨入模块下发获得的所述 VPNServer的每个类别客户端的容量,并搜集所述VPN客户端模拟^A模块建 立的每条VPN隧道的源IP地址和目的IP地址,以及构造所述每条VPN隧道的 数据流后,发送给性能测^4莫块;
性能测试模块,用于根据接收到的所述每条VPN隧道的源IP地址和目的IP 地址,以及每条VPN隧道的数据流,配置每条VPN隧道对应的测试数据流, 并通过每条VPN隧道将对应的测试数据^^送给所述VPNServer,并根据发送 的测试数据流,以及所述VPNServer返回的数据流,生成测试才艮告。
本发明实施例中测试装置模拟每个类别设定数量的客户端,模拟出的所ii^ 户端与所述VPNServer进行建立对应类别VPN隧道的协商,并在获得所述 VPNServer协商通过的每个类别VPN P逸道的数量后,判断获得的每个类别的数 量与对应类别的设定数量是否相等,当两者相等,且所述获得的每个类别的数量 在设定范围内时,则获得所述VPNServer每个类别客户端的容量,当两者不相等时,则对所述每个类别模拟客户端的设定数量进行调整后,继续模拟和认证过程,
直至获得所述VPNServer每个类别客户端的容量,从而可以在多类客户端同时服 务时,进行VPNServer容量测试,并在获得所述VPNServer每个类别客户端的容 量后,测试装置模拟出每个类别容量对应的客户端,并建立每个模拟客户端与 VPNServer之间的VPN隧道,并且构造了每个VPN链路的测试数据流,从而可 以在大容量的多类别的客户端共存下,测试VPNServer的转发性能。
图1为现有技术中VPN服务的应用示意图2为本发明实施例测试VPNServer容量的方法^4E图3为本发明实施例测试VPNServer装置的结构图4为本发明实施例具体装置测试VPNServer容量的方法流程图5为本发明实施例测试VPNServer容量的系统结构图6为本发明第一实施例中测试VPNServer容量的方法流程图7为本发明第二实施例中测试VPNServer容量的方法流程图8为本发明第三实施例中测试VPNServer容量的方法流程图9为本发明实施例测试VPNServer性能的方法流程图10为本发明实施例测试VPNServer性能的装置结构图11为本发明实施例具体装置测试VPNServer性能的方法流程图12为本发明实施例测试VPNServer性能的系统结构图13为本发明实施例测试VPNServer的数据传输模式;
图14为本发明第四实施例中测试VPNServer性能的方法流程图。
具体实施例方式
本发明实施例中测试装置根据每个类别模拟客户端的设定数量,模拟每个类 别所述设定数量对应数量的客户端,将模拟出的所ii^户端^v VPNServer,从而可以在多类客户端同时服务时,进行VPNServer容量测试,参见图2,通过测 试装置测试VPNServer容量具体过程如下
步骤201:测试装置模拟每个类别设定数量的客户端,并使模拟出的客户端 与VPNServer进行建立对应类别VPN隧道的协商。
这里,客户端类别包括PPTP, L2TP中的一种或两种都有,因此,测试 装置首先根据所述PPTP客户端的设定数量,设置对应套数的不同的PPTP客户 端参数,然后根据每套PPTP客户端参数,形成设定数量的PPTP客户端,并进 行每个PPTP客户端与VPNServer之间的建立PPTP隧道的协商。和/或,
测试装置首先根据所述L2TP客户端的设定数量,设置对应套数的不同的 L2TP客户端参数,然后根据每套L2TP客户端参数,形成设定数量的L2TP客户 端,并进行每个L2TP客户端与所述VPN服务器之间的建立L2TP隧道的协商。
在测试过程开始时,对VPNServer的容量有一个期望的范围,因此,最初, 设置数量可以为VPNServer期望的最大客户端数量。
步骤202: VPNServer与步骤201模拟出的每个客户端,进行建立对应类别 隧道的协商,获得协商结果。
协商过程,测试装置可以根据每套客户端参数,为每个隧道生产独立的协商 报文,并与VPNServer按照协议标准进行逐步协商,直至协商完成,获得最终的 协商结果。
步骤203:测试装置根据步骤202中的协商结果,以及设定的测试精度,获 得接入结果。这里,测试装置根据VPNServer返回的协商报文,获得协商通过的 每个类别VPN隧道的数量,从而获得每个类别模拟客户端的数量。
当步骤201中的每个类别模拟客户端的设定数量与对应类别的通过协商的模 拟客户端的数量对应相等时,还需根据测试精度获得设定的测试范围,得到接入 结果。当本次协商通过的数量与本次协商前,没有获得协商通过的数量的相对差 值小于等于测试精度时,则本次协商通过的数量在设定的测试范围内。
其中,当设定数量为期望的最大值时,协商通过的数量为期望的最大值,而本次协商前,没有获得协商通过的数量也为期望的最大值,因此,协商通过的数 量与最大值的差值为零,小于测试精度,即该协商通过的数量在设定的范围内, 则接入结果为接入成功。当设定数量为调整后的数量时,则获取协商通过的数量 与调整前没有获得协商通过的设定数量之间的相对差值,当该相对差值小于等于 测试精度时,即该协商通过的数量在设定的范围内,则接入结果为接入成功,否 则,接入结果为接入不成功。
当步骤201中的每个类别模拟客户端的设定数量与对应类别的通过协商的模 拟客户端的数量对应不相等时,接入结果为接入不成功。
步骤204:当接入结果为接入不成功时,转入步骤205,否则,转入步骤206。
步骤205:测试装置对每个类别模拟客户端的设定数量进行调整,返回步骤 201。这里,当PPTP客户端的设定数量为M, L2TP客户端的设定数量为N时, 其中M, N可以分别为两类客户端期望的最大数量,测试装置可以根据设定的测 试精度O,只对M进行调整,N保持不变,即调整后,PPTP客户端的当前容 量值为M-O, L2TP客户端的当前容量值仍为N;也可以根据设定的测试精度O, 只对N进行调整,M保持不变,即调整后,PPTP客户端的当前容量值为M, L2TP 客户端的当前容量值仍为N-O。这里,还可以釆用二分法对每个类别模拟客户端 的设定数量进行调整,即当期望的最大值不能通过协商时,则将设定数量调整为 期望范围的中间值,然后返回步骤201。
步骤206:测试装置将每个类别模拟客户端的设定数量作为所述VPNServer 的该类别客户端的容量进行记录。
上述测试装置具体可以包括VPNClient才莫拟^模块100,调度分析模块 200。参见图3,其中,
VPNClient模拟^模块100,用于用于根据调度分析模块200下发的每个 类别模拟客户端的设定数量,模拟出每个类别所述设定数量对应数量的客户端,
并将模拟出的所ii^户端与VPNServer进行建立对应类别VPN隧道的协商。该 模块既可以实现PPTP客户端或L2TP客户端的单独模拟,也可以实现PPTP和L2TP客户端的同时模拟。
调度分析才莫块200,用于获得VPNServer协商通过的每个类别VPN隧道的 数量,当获得的每个类别的数量与对应类别的设定数量相等,且所述获得的每个 类别的数量在设定范围内时,将所述每个类别模拟客户端的设定数量作为 VPNServer的该类别客户端的容量,否则,对所述每个类别模拟客户端的设定数 量进行调整,并向VPNClient模拟^模块100下发每个类别模拟客户端的设定 数量。
利用上述具体装置来测试VPNServer容量的方法的流程图如图4所示,具体 执行过程如下
步骤401:调度分析模块获得VPNServe的每个类别模拟客户端的设定数量 后,将所述设定数量作为该类别模拟客户端的当前容量值。
这里,调度分析模块获得模拟客户端的类别可以只有PPTP客户端,也可以 只有L2TP客户端,还可以既有PPTP客户端,又有L2TP客户端,因此,当调 度分析模块获得PPTP客户端的设定数量N和/或L2TP客户端的设定数量M后, 则将设定数量N作为PPTP客户端的当前容量,和/或将设定数量M作为L2TP 客户端的当前容量值。
步骤402:调度分析模块将每个类别模拟客户端的当前容量值下发给所述 VPNClient模拟^llA模块。
步骤403: VPNClient模拟拨入模块根据每个类别模拟客户端的当前容量 值,模拟出每个类别对应数量的客户端,并将所有模拟出的客户端拨入 VPNServer。
这里,当VPNClient模拟^v模块获得到PPTP客户端的当前容量值为M时, 设置M套数的PPTP客户端参数,从而形成M个PPTP客户端,并进行每个PP1P 客户端与所述VPN服务器之间的建立PPTP隧道的协商。和/或,
当VPNClient模拟^/v模块获得到L2TP客户端的当前容量值为N时,设置 N套数的L2TP客户端参数,从而形成N个L2TP客户端,并进行每个L2TP客户端与所述VPN服务器之间的建立PPTP隧道的协商。
在上述实施例中,每套客户端参数包括客户端隧道的源地址,隧道的名称, 认证的用户名,密码以及VPN服务器地址,其中,每套客户端参数都是唯一的, 但每套客户端参数中的VPNServer地址一致。
步骤404: VPNServer与^7v的所有客户端进行建立隧道的协商,获得协商 结果。
步骤405:调度分析模块根据步骤404中的协商结果,以及设定的测量精度 得到接入结果。
这里,当本次协商中,所有客户端都通过协商,且每个类别当前容量值与本 次协商前,没有获得协商通过的对应类别的容量值的相对差值小于设定的测试精 度时,即每个类别当前容量值在设定范围内时,4妄入结果为成功;当本次协商中 只要有一个客户端没有通过协商时,或者每个类别当前容量值与本次协商前,没 有获得协商通过的对应类别的容量值的相对差值不满足设定的测试精度,接入结 果为不成功。特别地,当本次协商为第一协商,则本次协商前,没有获得协商通 过的每个类别的容量值为第 一次下发的该类别的当前容量值。
步骤406:当反馈的接入结果为不成功时,执行步骤407;当反馈的接入结 果为成功时,调度分析模块将每个类别模拟客户端的当前容量值作为VPNServer 的该类别客户端的容量,并进行记录。
步骤407:调度分析模块对每个类别模拟客户端的当前容量值进fr^周整,并 将调整后的容量值作为对应的每个类别才莫拟客户端的当前容量值,返回步骤402。 这里,当获得的PPTP客户端的当前容量值为M, L2TP客户端的当前容量值为 N时,调度分析模块可根据设定的测试精度O,只对M进4iS周整,N保持不变, 即调整后,PPTP客户端的当前容量值为M-0,L2TP客户端的当前容量值仍为N; 也可以根据设定的测试精度O,只对N进行调整,M保持不变,即调整后,PPTP 客户端的当前容量值为M, L2TP客户端的当前容量值仍为N-O。也可根据二分 法对每个类别模拟客户端的设定数量进行调整。在具体应用中,测试装置可以是一个由VPNClient模拟41^模块和调度分析 模块两大模块组成的一个装置,也可以由VPNClient模拟^模块和调度分析模 块对应出的两个装置组成,下面以VPNClient模拟^v模块和调度分析模块分别 对应出两个装置组成测试装置为例作进一步详细描述。
利用如图5所示的系统,测试VPNServer的容量,该系统包括VPNServer501, VPNClient模拟装置502和调度分析装置503 。其中,
VPNServer501是被测设备。
VPNClient模拟装置502是VPNClient模拟H^模块的具体装置,可以以一 台高性能的路由器为原型进行设计,用于根据调度分析装置503下发的模拟客户 端的类型和每个类别对应的模拟客户端数量,模拟出对应类型和数量的客户端拨 入VPNServer501,并将VPNServer501返回的接入结果反馈到调度分析装置503。
调度分析装置503为调度分析模块的具体装置,用于根据VPNServer对模拟 客户端的认证结果,以及测试精度获得接入结果,并根据所述接入结果记录或调 整每个类别对应的模拟客户端数量,并将调整后的每个类别对应的模拟客户端数 量下发给模拟装置502。调度分析装置503通过可专门用于对网络设备进行配置 和管理的端口 ,例如CONSOLE端口与VPNClient才莫拟装置502和VPNServer501 相连,调度分析装置503上运行超级终端软件,调度软件通过运行指定的脚本来 实现对VPNServer501和VPNClient模拟装置502的控制。
实施例l,利用如图6所示的系统,测试VPNServer的PPTP客户端容量。
这里,被测试装置VPNServer501允许PPTP协议拨入。在构建了测试 VPNServer的PPTP客户端容量的系统后,用户还需为才莫拟PPTP客户端分配了 具体地址;为VPNClient才莫拟装置502配置接口 IP地址,以及到达VPNServer 的必要路由,最后还需在调度分析装置503中设置PPTP客户端的容量的初始范 围和精度值,本实施例中,设置的PPTP客户端的初始值为100-200,精度值为 10。具体的执行过程参见图6:
步骤601:调度分析装置503将设置的PPTP客户端的容量的最大值发送给VPNClient模拟装置502,即调度分析装置503将2C0下发给VPNClient模拟装 置502。
步骤602: VPNClient模拟装置502模拟出调度分析装置503下发的数量对 应的PPTP客户端^T^ VPNServer501 。
这里,模拟出调度分析装置503下发的数量为200,为了能够保证VPNClient 模拟装置502上模拟的PPTP客户端,对VPNServer而言是来自不同的客户端, 就必须为每个客户端i殳置对应一套唯一的客户端参数。而在VPNServer上主要通 过下面几个M来区分不同的客户端客户端地址(RemoteAddress)、客户端名 称(Remote Name)和用户名称(Usemame )。由于,用户已经为才莫拟PPTP客户 端分配了具体地址,以及为VPNClient模拟装置502配置接口 IP地址,因此, VPNClient模拟装置502上为每个模拟的PPTP客户端使用了不同的源地址 (Source Address ),不同的客户端名称(Local name )和不同的用户名称 (Username ),即VPNClient模拟装置502可以设置200套不同客户端#,从 而模拟了 200个PPTP客户端。
在设置200套不同客户端^t^,就模拟了 200个PPTP客户端,VPNClient 模拟装置502可以进行每个PPTP客户端与VPNServer501之间的建立PPTP隧道 的协商。在协商过程,根据每套PPTP客户端参数,为每个隧道生成独立的协商 报文,并对协商报文进行PPTP协议封装,形成每个隧道对应的PPTP协商报文, 通过已经建立的VPNClient才莫拟装置502到达VPNServer501的必要路由, VPNClient模拟装置502与VPNServer501进行PPTP协商报文的交互。
步骤603: VPNServer501与步骤602模拟出的PPTP客户端进行建立PPTP P逸道的协商,获得协商结果。
步骤604: VPNClient模拟装置502根据协商结果,以及设定的测试精度获 得接入结果。
若为第一次协商,当200个的模拟的PPTP客户端都通过了协商,200与范 围的最大值200之间的差值为0, 0<10,则200在设定的范围内,接入结果为接入成功,当200的模拟的PPTP客户端并没有都通过了协商,接入结果为接入不 成功。若为第二、三、、、次协商,当调整后的数量的才莫拟的PPTP客户端都通过 了协商,且协商通过的数量与本次协商前没有获得协商通过的数量的相对差小于 等于10,则协商通过的数量在设定的范围内,接入结果为接入成功,否则接入结 果为接入不成功。
步骤605:当接入结果为接入成功时,执行步骤606;当接入结果为接入不 成功时,从而执行步骤607。
步骤606:调度分析模块503根据接入成功对应的模拟的PPTP客户端的 数量,荻得该VPNServer501的PPTP客户端的容量。
调度分析模块503将接入成功对应的模拟的PPTP客户端的数量记录下来, 即调度分析模块503获得该VPNServer501的PPTP客户端的容量。
步骤607:调度分析模块503根据设定的精度值对PPTP客户端的容量的最 大值进行调整。il^精度值为10,可以根据二分法对最大值200进行调整,将 200调整为150。
步骤608:调度分析模块503将调整后的PPTP客户端的容量的最大值下发 给VPNClient模拟装置502,继续执行步骤502。这里,调度分析模块503将150 下发给VPNClient才莫拟装置502。
本发明实施例中,当150没有获得协商通过时,则继续根据二分法进fr^整, 将150调整为125。若125协商已通过,因为调整前,没有获得协商通过的设定 数量为150,则150与125之间相差25, 25大于测试的精度值10,贝'J 125不在 设定的范围内,接入结果为不成功,需要继续进行调整,将125调整为138。若 138也获得协商通过,且调整前,没有获得协商通过的设定数量为150,则138 与150之间相差12, 12大于测试的精度值10,则138也不在设定的范围内,接 入结果为不成功,继续调整,将138调整为144。若144协商通过,与调整前, 没有获得协商通过的设定数量150相差为6,因此,这里,获得的PPTP客户端 的容量为144。通过上述方法,调度分析模块503可以获得该VPNServer501的PPTP客户
端的容量。
实施例2,同样利用如图5所示的系统,测试VPNServer的L2TP客户端容 量。这里,被测试装置VPNServer501允许L2TP协议拨入。
在构建了测试VPNServer的L2TP客户端容量的系统后,用户还需为模拟 L2TP客户端分配了具体地址;为VPNClient模拟装置502配置接口 IP地址,以 及到达VPNServer的必要路由,最后还需在调度分析装置503中设置L2TP客户 端的容量的初始范围和精度值,本实施例中,设置的L2TP客户端的初始值为 100-200,精度值为10。具体的执行过程参见图7:
步骤701:调度分析装置503将设置的L2TP客户端的容量的最大值下发给 VPNClient模拟装置502,即调度分析装置503将200下发给VPNClient模拟装 置502。
步骤702: VPNClient模拟装置502模拟出调度分析装置503下发的数量对 应的L2TP客户端"^ VPNServer501 。
这里,模拟出调度分析装置503下发的数量为200, VPNClient模拟装置502 设置200套不同客户端^t,从而模拟了 200个L2TP客户端。L2TP客户端参 数包括Source Address、 Local name、 Username。在i殳置200套不同客户端^lt后, 就模拟了 200个L2TP客户端,VPNClient模拟装置502可以进行每个L2TP客户 端与VPNServer501之间的建立L2TP隧道的协商。在协商过程,根据每套客户 端参数,为每个隧道生成独立的协商报文,并对协商报文进行L2TP协议封装, 形成每个隧it^t应的L2TP协商报文,通过已经建立的VPNClient模拟装置502 到达VPNServer501的必要i 各由,VPNClient才莫拟装置502与VPNServer501进行 L2TP协商报文的交互。
步骤703: VPNServer501对步骤702模拟出的L2TP客户端进行PPTP隧道 的协商,获得协商结果。
步骤704: VPNClient模拟装置502根据协商结果,获得接入结果。当本次进行协商的所有的模拟的L2TP客户端都通过了协商,且协商通过的数量与本次 协商前,没有获得协商通过的数量的差值满足测试精度时,协商通过的数量在设 定的范围内,接入结果为接入成功,否则接入结果都为接入失败。
步骤705:当接入结果为接入成功时,执行步骤706;当接入结果为接入不 成功时,从而执行步骤707。
步骤706:调度分析模块503根据接入成功对应的模拟的L2TP客户端的 数量,获得该VPNServer501的L2TP客户端的容量。
这里,200条才艮文都认证成功,则调度分析模块503将200记录下来,即调 度分析模块503获得该VPNServer501的L2TP客户端的容量是200。
步骤707:调度分析模块503根据设定的精度值对L2IP客户端的容量的最 大值进行调整。这里精度值为10,这里,可以直接根据测试精度对最大值200 进行调整,将200调整为190。
步骤708:调度分析模块503将调整后的L2TP客户端的容量的最大值下发 给VPNClient模拟装置502,继续执行步骤702。这里,调度分析模块503将170 下发给VPNClient模拟装置502。
本发明实施例中,调度分析模块503可以只根据设定的精度值10来调整下 发的L2TP客户端的容量值,例如,若200没有通过协商,则将200调整为190, 若190也没有通过+办商,则将190调整为180,如此类推,当调整到140时,协 商通过了,则本次调整前,没有通过协商的数量为150,则两者相差为IO,小于 等于精度值IO,因此,这里,获得的L2TP客户端的容量为140。
通过上述方法,调度分析模块503可以获得该VPNServer501的L2TP客户 端的容量。
实施例3,利用如图5所示的系统,测试VPNServer的PPTP客户端和L2TP 客户端的混合容量。这里,被测试装置VPNServer501允许PPTP协议和L2TP协议歡。
在构建了测试VPNServer的PPTP客户端和L2TP客户端混合容量的系统后,用户还需为模拟PPTP客户端以及L2TP客户端分配了具体地址;为VPNClient 模拟装置502配置接口 IP地址,以及到达VPNServer的必要路由,最后还需在 调度分析装置503中设置PP1P客户端和L2TP客户端的容量的初始范围和精度 值,本实施例中,设置的PPTP客户端的初始值为100-200, L2TP客户端的初始 值也为100-200精度值为10。具体的执行过程参见图8:
步骤801:调度分析装置503将设置的PPTP客户端和L2TP客户端的容量 的最大值发送给VPNClient模拟装置502,即调度分析装置503将PPTP客户端 的容量的最大值200,以及L2TP客户端的容量的最大值200下发给VPNClient 模拟装置502。
步骤802: VPNClient模拟装置502,模拟出调度分析装置503下发的数量对 应的PPTP客户端和L2TP客户端^7v VPNServer501,即模拟出200个PPTP客 户端,以及200个L2TP客户端^^vVPNServer501。
这里,同样根据用户已经为模拟PPTP客户端以及L2TP客户端分配的具体 地址,为VPNClient模拟装置502配置的接口 IP地址,VPNClient模拟装置502 配置200套不同PPTP客户端参数,从而模拟了 100个PPTP客户端,以及配置 200套不同L2TP客户端参数,从而模拟了 100个L2TP客户端。
VPNClient模拟装置502可以进行每个PPTP客户端与VPNServer501之间的 建立PPTP隧道的协商,以及每个L2TP客户端与VPNServer501之间的建立L2TP 隧道的协商。在协商过程,根据每套PPTP客户端参数,为每个PPTP隧道生成 独立的协商报文,并对协商报文进行PPTP协议封装,形成每个PPTP隧道对应 的PPTP协商报文,根据每套L2TP客户端参数,为每个L2TP隧道生成独立的 协商报文,并对协商报文进行L2TP协议封装,形成每个L2TP隧道对应的L2TP 协商报文。通过已经建立的VPNClient模拟装置502到达VPNServer501的必要 路由,VPNClient模拟装置502与VPNServer501进行协商报文的交互。
步骤803: VPNServer501对步骤802中;1^的隧道建立请求进行协商,并获 得协商结果。步骤804:当本次协商中所有的模拟的PPTP客户端以及L2TP客户端都通 过了协商,且协商通过的PPTP客户端数量与本次协商前,没有获得协商通过的 PPTP客户端数量的相对差值小于等于测试精度,以及协商通过的L2TP客户端 数量与本次协商前,没有获得协商通过的L2TP客户端数量的相对差值小于等于 测试精度,则接入结果为接入成功;否则,接入结果为接入失败。
步骤805: VPNClient模拟装置502根据认证结果,获得接入结果。当接入 结果为接入成功时,执行步骤806;当接入结果为接入不成功时,从而执行步骤 807。
步骤806:调度分析模块503根据接入成功对应的模拟的PPTP客户端的 数量和模拟的L2TP客户端的数量,获得该VPNServer501的PPTP客户端和L2TP 客户端的混合容量。
步骤807:调度分析模块503根据设定的精度值对PPTP客户端的容量和/或 L21P客户端的容量的最大值进行调整。这里精度值为10,可以保持PPTP客户 端的容量的最大值200不变,只调整L2TP客户端的容量的最大值,即可以将200 调整为150;也可以保持L2TP客户端的容量的最大值200不变,只调整PPTP 客户端的容量的最大值,即可以将200调整为150。
步骤808:调度分析模块503将调整后的PPTP客户端和L2TP客户端的容 量的最大值下发给VPNClient模拟装置502,继续执行步骤702。这里,调度分 析模块503可以将PPTP客户端的容量的最大值200, L2TP客户端的容量的最大 值150下发给VPNClient模拟装置502;也可以将PPTP客户端的容量的最大值 150, L2TP客户端的容量的最大值200下发给VPNClient模拟装置502。
通过上述方法,调度分析模块503可以在该VPNServer501的PPTP客户端 的容量为设定最大值时,获得该VPNServer501的L2TP客户端的容量,即本实 施例中,该VPNServer501的混合容量为200个PPTP客户端,L个L2TP客户 端。调度分析模块503还可以在该VPNServer501的L2TP客户端的容量为设定 最大值时,获得该VPNServer501的PPTP客户端的容量,即本实施例中,该VPNServer501的混合容量为200个L2TP客户端,P个PPTP客户端。
在如图5所示的测试VPNServer的系统中,VPNClient模拟装置502进一步 包括配置单元、VPN数据处理单元和接4t/发送单元。
配置单元,用于根据调度分析装置503下发的每个类别模拟客户端的数量, 设置对应套数的不同的模拟客户端参数,每套模拟客户端M包括客户端隧道的 源地址,P迭道的名称,认证的用户名,密码以及VPN服务器地址,其中,每套 模拟客户端^l丈都是唯一的,但每套才莫拟客户端^l史中的VPNServer地址一致。
VPN协商单元,用于根据每套客户端参数,形成每个类别对应数量的客户端, 并进行每个客户端与所述VPN服务器之间的建立对应VPN隧道的协商。
VPN数据处理单元,用于根据每个模拟客户端类别对应的协议连接的应用, 对协商过程的协商才艮文进行解封或封装。
接4t/发送单元,用于将封装后的协商报文转发给所述VPN服务器,并接收 所述VPN服务器返回的协商报文。
进一步,VPN协商单元包括PPTP协商子单元和L2TP协商子单元。
PPTP协商子单元,用于根据每套模拟PPTP客户端参数,形成设定数量的 PPTP客户端,并进行每个PPTP客户端与所述VPN服务器之间的建立PPTP隧 道的协商。L2TP协商子单元,用户根据每套模拟12TP客户端^,形成设定数 量的L2TP客户端,并进行每个L2TP客户端与所述VPN服务器之间的建立L2TP 隧道的协商。
VPN数据处理单元包括TCP数据处理子单元和UDP数据处理子单元,其 中,TCP数据处理子单元,用于根据TCP连接的应用,对每个PPTP客户端与所 述VPN服务器之间的协商报文进行TCP模块的封装或解封。UDP数据处理子单 元,用于根据UDP连接的应用,对每个L2TP客户端与所述VPN服务器之间的 协商报文进行UDP模块的封装或解封。
接^]t/发送单元包括PPTP子单元和L2TP子单元,其中,PPTP子单元,用 于将TCP封装后的协商报文转发给所述VPN服务器,并接收所述VPN服务器返回给每个PPTP客户端的协商报文。L2TP子单元,用于将UTP封装后的协商 报文转发给所述VPN服务器,并接收所述VPN服务器返回给每个L2TP客户端 的协商报文。
在如图5所示的测试VPNServer的系统中,调度分析装置503进一步包括 获得单元,判断单元,容量单元和调整单元。其中,获得单元,用于获得通过所 述VPN服务器认证的每个类别客户端的数量;判断单元,用于判断获得的每个 类别的数量与对应类别的设定数量是否相等;容量单元,用于当获得的每个类别 的数量与对应类别的设定数量相等时,将所述每个类别模拟客户端的设定数量作 为所述VPN服务器的该类别客户端的容量;调整单元,用于当获得的每个类别 的数量与对应类别的设定数量不相等时,根据设定的测试精度对所述每个类别模 拟客户端的设定数量进行调整,并向所述VPN客户端模拟#^模块下发每个类 别模拟客户端的设定数量。
在发明实施例中,获得了 VPNServer的容量后,测试装置还需要对该 VPNServer的转发性能进行测试,其具体测试过程如图9所述
步骤901:测试装置获得VPNServe的每个类别客户端的容量后,模拟每个 类别所述容量对应数量的客户端,并建立每个模拟客户端与所述VPNServer之间 的对应类别的VPN隧道。
这里,可以根据上述实施例中所述测试VPNServer容量的方法,获得每个类 别客户端的容量,即可以获得VPNServe的PPTP客户端的容量,或者L2TP客 户端的容量,或者PPTP客户端和L2TP客户端的混合容量。
测试装置根据VPNServe的PPTP客户端的容量,模拟该容量对应数量的 PPTP客户端,并建立每个PPTP客户端与VPNServer之间的PPTP隧道;或,
测试装置根据VPNServe的L2TP客户端的容量,才莫拟该容量对应数量的 L2TP客户端,并建立每个L2TP客户端与VPNServer之间的L2TP隧道;或,
测试装置根据VPNServe的PPTP客户端的容量,才莫拟该容量对应数量的 PPTP客户端,并建立每个PPTP客户端与VPNServer之间的PPTP隧道,以及根据VPNServe的L2TPC客户端的容量,模拟该容量对应数量的L2TP客户端,并 建立每个L2TP客户端与VPNServer之间的L2TPC隧道。
步骤902:测试装置4臾集每条VPN隧道的源IP地址和目的IP地址,并配置 每条VPN隧道对应的测试H据流。
步骤903:测试装置通过每条VPN隧道将对应的测试数据流发送给所述 VPNSe而。
步骤904:测试装置根据发送的测试数据流,以及所述VPNServer返回的数 据流,生成测试^艮告。
在参见图3测试VPNServer的容量的装置中,VPNClient模拟拨入模块在性 能和多条数据流的构造上无法满足对VPNServer性能测试的要求,因此,在测试 VPNServer的性能的装置中,还需要性能测试模块。参见图10,测试VPNServer 的性能的装置包括VPNClient模拟4^7^模块100,调度分析才^: 200和性能测 试模块300。其中
VPNClient模拟^7v模块100,用于根据调度分析模块200下发的每个类别 模拟客户端的设定数量,模拟出每个类别所述设定数量对应数量的客户端,并建 立每个每个模拟客户端与VPNServer之间的VPN隧道。
调度分析模块200,用于搜集VPNClient模拟4^v模块100建立的每条VPN 隧道的源IP地址和目的IP地址,以及构造所述每条VPN隧道的数据流后,发 送给性能测纟^^莫块。
性能测试模块300,用于根据接收到的每条VPN隧道的源IP地址和目的IP 地址,以及每条VPN隧道的数据流,配置每条VPN隧道对应的测试数据流, 并通过每条VPN隧道将对应的测试数据《u^送给所述VPNServer,并根据发送 的测试数据流,以及所述VPNServer返回的数据流,生成测试才艮告。
利用上述具体装置来测试VPNServer性能的方法的流程图如图11所示,具 体执行过程如下
步骤1101:根据上述测试VPNServer容量的方法,调度分析模块获得该VPNServer的每个类别客户端的容量。
这里,调度分析模块200获得的客户端的容量可以只是PPTP客户端的容量, 也可以是只有L2TP客户端的容量,还可以既有PPTP客户端的容量,又有L2TP 客户端的容量。
步骤1102:调度分析模块200将该VPNServer的每个类别客户端的容量下 发给VPNClient模拟^模块100。
根据步骤1101,调度分析模块200下发的客户端的容量可以只是PPTP客户 端的容量,也可以是只有L2TP客户端的容量,还可以既有PPTP客户端的容量, 又有L2TP客户端的容量。
步骤1103: VPNClient模拟^v模块IOO根据获得的每个类别客户端的容量, 建立每个类别对应数量的与VPNServer之间的VPN隧道。这里每个隧道都是唯 一的,可以^^个隧道设置本地唯一的标识(Tunnel Local ID)用来区分不同的 客户端。
这里,当VPNClient模拟^7v模块100获得的只有VPNServe的PPTP客户 端的容量,则建立对应数量的与VPNServer之间的PPTP隧道。
当VPNClient模拟^模块100获得的只有VPNServe的L2TP客户端的容 量,则建立对应数量的与VPNServer之间的L2TP隧道。
当VPNClient模拟^X模块100获得了 VPNServe的PPTP客户端和L2TP 客户端的混合容量,则建立PPTP客户端的容量对应数量的与VPNServer之间的 PPTP隧道,建立L2TP客户端的容量对应数量的与VPNServer之间的L2TP隧道。
步骤1104:调度分析模块200搜集步骤1101中建立的每条VPN隧道的源IP 地址和目的IP地址,以及构造每条VPN隧道的数据流,并将每条VPN隧道的 源IP地址和目的IP地址,以及构造好的每条VPN隧道的数据流发送给所述性 能测试模块300。
步骤1105:性能测试模块300根据获得的每条VPN隧道的源IP地址和目的 IP地址,以及每条VPN隧道的数据流,配置每条VPN隧道对应的测试数据流,并通过每条VPN P遂道将对应的测试数据流发送给VPNServer。
步骤1106: VPNServer对接收到的每条测试数据流进行转发,将接到的每条 测试数据流发送给性能测试模块。
步骤1107:性能测试模块300根据发送出的测试数据流,以及VPNServer 返回的数据流,生成测试才艮告。
同样,在具体应用中,测试VPNServer的性能的测试装置可以是一个由 VPNClient模拟l^^模块、调度分析模块和性能测试模块三大模块组成的一个装 置,也可以由VPNClient模拟^a莫块、调度分析模块和性能测试模块对应出的 三个装置组成,下面以VPNClient模拟^模块、调度分析模块和性能测试模块 分别对应出三个装置组成测试装置为例作进一步详细描述。
利用如图12所示的具体的系统,测试VPNServer的性能,该系统包括 VPNServer1201, VPNClient模拟装置1202,调度分析装置1203和测试仪1204。 其中,
VPNServer 1201是被测设备。
VPNClient模拟装置1202是VPNClient模拟^模块的具体装置,可以以一 台高性能的路由器为原型进行设计。
调度分析装置1203为调度分析模块的具体装置。
测试仪1204是业界通用的测试性能的装置,如Smartbits、 DQA等,这种装 置可以根据要求构造指定的IP报文,通过发送接收这些报文来计算出被测试设 备的性能。这种测试仪可以同时构造多条数据流并行^J^,且性能很高,能够满 足测试多VPN隧道情况下的性能的测试的要求。
调度分析装置1203可以通过CONSOLE端口与VPNClient模拟装置1202和 VPNServer1201相连,调度分析装置1203上运行超级终端软件,调度软件通过 运行指定的脚本来实现对VPNServer1201和VPNClient模拟装置1202的控制。 调度分析装置1203可以通过应用程序接口 (API, Application Programming Interface)来实现通it^本对测试4义1204进行控制。在本发明实施例中,建立了如图12所示的测试系统后,使用VPNClient才勤以 装置1202后测试VPNServer1201的传输才莫式如图13所示,VPNClient模拟装置 1202与VPNServer1201之间直4妾建立PPTP和/或L2TP隧道,每个隧道单独维护, 完成整个VPN的拨号过程,从而,可以类似于一个真实的客户端,这些所有的客 户端都运行在一条公共的物理链路上,从而达到模拟大量的客户端的效果。
利用如图12所示的具体的系统,可以单独测试,只有PPTP客户端时, VPNServer的性能;也可以单独测试,只有L2TP客户端时,VPNServer的性負^; 还可以测试,PPTP客户端和L2TP客户端都存在时,VPNServer的性能。
实施例4:利用如图12所示的具体的系统,在PPTP客户端和L2TP客户端 都存在时,测试VPNServer的性能。
被测试装置VPNServer1201允许PPTP协议和L2TP协议^X。用户还需为 模拟PPTP客户端以及L2TP客户端分配了具体地址;为VPNClient模拟装置1202 配置接口IP地址,以及到达VPNServer1201的必要路由,最后还需在调度分析 装置1203中设置PPTP客户端和L2TP客户端的容量的初始范围和精度值,本 实施例中,设置的PPTP客户端的初始值为0-120, L2TP客户端的初始值也为 0-120,精度值为12。具体的执行过程参见图14:
步骤1401:根据实施例3所述的流程,调度分析装置1203获得该 VPNServer1201的混合容量为M个PPTP客户端,L个L2TP客户端,或者是P 个PPTP客户端,M个L2TP客户端,这里M可以是120。
步骤1402:调度分析装置1203向VPNClient模拟装置1202下发获得该 VPNServer1201的混合容量,即M个PPTP客户端,L个L2TP客户端,或者是 P个PPTP客户端,M个L2TP客户端。
步骤1403: VPNClient模拟装置1202模拟出对应数量的客户端,建立对应 数量的模拟客户端与VPNServer之间的VPN隧道,并为每条VPN隧道设置不同 的Tunnel Local ID。这里,可以建立M条PPTP Tunnel, L条L2TPTunnel。或者, 建立P条PPTP Tunnel, M条L2TPTunnel。步骤1404:调度分析装置1203搜集建立的每条VPN隧道的源IP地址和目 的IP地址,以及构造每条VPN隧道的数据流,并将上述^to送给测试仪1204。
步骤1405:测试仪1204根据接收到的^l丈构造每条VPN隧道的测试数据 流。每条VPN隧道的测试教据流可以.是包括每条VPN隧道的源IP地址和目的 IP地址,以及每条VPN隧道Tunnel Local ID的IP报文。
这里可以是M条PPTP数据流,L条L2TP数据流。或者,建立P条PPTP 数据流,M条L2TP数据流
步骤1406:测试仪1204将构造好的测试数据流通ii^f应的VPN隧ii^送 给VPNServer 1201。
这里,M条PPTP数据流通过对应的M条PPTP Tunnel发送给 VPNServer 1201, L条PPTP数据流通过对应的L条L2TP Tunnel发送给 VPNServer1201。或者,P条PPTP数据流通过对应的P条PPTP Tunnel发送给 VPNServer1201, M条PPTP数据流通过对应的M条L2TP Tunnel发送4 VPNServer1201。
步骤1407: VPNServerl201对接到到的每条测试数据流进行转发,将接到的 每条测试数据流发送给测试仪1204。
步骤1408:测试仪1204将接收到的返回的数据流,与发送的测试数据流进 行比较,并根据是否丟包,调整流量的大小,最后生成测试才艮告。
这里,生成的测试报告可以是VPNServer1201的混合容量为M个PPTP客 户端,L个L2TP客户端时,该VPNServer1201的转发性能测试报告;也可以是 VPNServer1201的混合容量为P个PPTP客户端,M个L2TP客户端时,该 VPNServer1201的转发性能测试报告。
在如图12所示的测试VPNServer的系统中,VPNClient冲莫拟装置1202进一 步包括配置单元,VPN协商单元,VPN数据处理单元和接^lt/发送单元
配置单元,用于根据调度分析模块下发的每个类别模拟客户端的数量,设置 对应套数的不同的模拟客户端l^t,其中,每套模拟客户端Wt包括模拟客户端地址,用户名,密码以及VPNServer地址。
VPN协商单元,用于根据每套模拟客户端参数,建立每个类别对应数量的模 拟客户端与VPNServer之间的VPN隧道,并实现VPN隧道连接的管理与控制。 该单元包含PPTP协商子单元和L2TP协商子单元。PPTP协商子单元负责完成与 VPNServer之间的PPTP隧道的建立和维护,L2TP协商子单元负责完成与 VPNServer之间的L2TP隧道的建立和维护。
VPN数据处理单元,用于实现VPN数据流封装和解封装处理过程。在VPN 的协商完成,建立VPN隧道后,数据流的收发,将经过该才莫块进行封装和解封 装处理,转发给接4t/发送单元。其中,PPIP协商子模块絲于TCP连接的应用, PPTP数据流会经过TCP模块的封装或解封装;L2TP协商子模块是基于UDP连 接的应用,L2TP数据流会经过UDP模块的封装或解封装,最后传递给接jR/发 送单元进行进一步的转发。
接4t/发送单元用于实现每条VPN隧道中数据流的)R^。其实现完全按照 相关RFC标准,与普通的路由器一致,包括PPTP子单元,用于接收和发送PPTP 报文;L2TP子单元,用于接收和发送L2TP报文。
本发明实施例中,测试VPNServe容量的系统以及测试VPNServe性能的系 统中,VPNClient模拟装置可以模拟大量的PPTP和L2TP客户端,形成大量多类 别的模拟客户端,从而在测试VPNServe容量时不需要大量的实际的客户端,并 在此IJ 出上,测试系统可以自动高效的测试了 VPNServer在PPTP和L2TP两种 服务共存下的容量,并在获得VPNServe的PPTP客户端和L2TP客户端的容量 后,VPNClient模拟装置建立每个模拟客户端与VPNServer之间的VPN链路, 并根据每个VPN链路的数据流,测试了在大容量的PPTP和L2TP客户端共存时, VPNServer的转发性能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明 的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等 同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种测试虚拟专用网络VPN服务器容量的方法,其特征在于,该方法包括A、测试装置模拟每个类别设定数量的客户端,模拟出的所述客户端与所述VPN服务器进行建立对应类别VPN隧道的协商;B、所述测试装置获得所述VPN服务器协商通过的每个类别VPN隧道的数量,当获得的每个类别的数量与对应类别的设定数量相等,且所述获得的每个类别的数量在设定范围内时,将所述每个类别模拟客户端的设定数量作为所述VPN服务器的该类别客户端的容量,否则,执行步骤C;C、所述测试装置对所述每个类别模拟客户端的设定数量进行调整,返回步骤A。
2、 根据权利要求1所述的方法,其特征在于,所述类别包括 点对点隧道协议PPTP和/或二层隧道协议L2TP。
3、 根据权利要求2所述的方法,其特征在于,当所述类别为PPTP时,所 述步骤A包括所述测试装置根据设定数量,设置对应套数的不同的PPTP客户端参数, 其中,每套客户端参数包括客户端隧道的源地址,隧道的名称,认证的用户名, 密码以及VPN服务器地址;所述测试装置根据每套PPTP客户端参数,形成设定数量的PPTP客户端, 并进行每个PPTP客户端与所述VPN服务器之间的建立PPTP隧道的协商。
4、 根据权利要求2所述的方法,其特征在于,当所述类别包括PPTP和 L2TP时,所述步骤A包括所述测试装置根据PPTP客户端的第一设定数量和L2TP客户端的第二设 定数量,分别设置对应套数的不同的PPTP客户端参数以及L2TP客户端参数, 其中,每套客户端参数包括客户端隧道的源地址,隧道的名称,认证的用户名, 密码以及VPN服务器地址;所述测试装置根据每套模拟客户端参数,形成第一设定数量的PPTP客户 端和第二设定数量的L2TP客户端,并进行每个客户端与所述VPN服务器之间 的建立对应VPN隧道的协商。
5、 根据权利要求4所述的方法,其特征在于,所述步骤C包括 所述测试装置对所述第一设定数量进行调整,所述第二设定数量保持不变;或,所述测试装置对所述第二设定数量进行调整,所述第一设定数量保持不变。
6、 一种测试VPN服务器容量的装置,其特征在于,包括VPN客户端模拟拨入模块,用于根据调度分析模块下发的每个类别模拟客 户端的设定数量,模拟每个类别所述设定数量的客户端,模拟出的所述客户端 与所述VPN服务器进行建立对应类别VPN隧道的协商;调度分析模块,用于获得所述VPN服务器协商通过的每个类别VPN隧道 的数量,当获得的每个类别的数量与对应类别的设定数量相等,且所述获得的 每个类别的数量在设定范围内时,将所述每个类别模拟客户端的设定数量作为 所述VPN服务器的该类别客户端的容量,否则,对所述每个类别模拟客户端 的设定数量进行调整,并向所述VPN客户端模拟拨入模块下发每个类别模拟 客户端的设定数量。
7、 根据权利要求6所述的装置,其特征在于,所述VPN客户端模拟拨入 模块包括配置单元,用于根据所述调度分析模块下发的每个类别模拟客户端的设定 数量,设置对应套数的不同的模拟客户端参数,其中,每套模拟客户端参数包 括客户端隧道的源地址,隧道的名称,认证的用户名,密码以及VPN服务器 地址;VPN协商单元,用于根据每套客户端参数,形成每个类别对应数量的客户 端,并进行每个客户端与所述VPN服务器之间的建立对应VPN隧道的协商;VPN数据处理单元,用于根据每个模拟客户端类别对应的协议连接的应 用,对协商过程的协商"R文进行解封或封装;接》11/发送单元,用于将封装后的协商报文转发给所述VPN服务器,并接 收所述VPN服务器返回的协商报文。
8、 根据权利要求7所述的装置,其特征在于,所述VPN协商单元包括 PPTP协商子单元,用于根据每套模拟PPTP客户端参数,形成设定数量的PPTP客户端,并进行每个PPTP客户端与所述VPN服务器之间的建立PPTP 隧道的协商;L2TP协商子单元,用于根据每套模拟12TP客户端参数,形成设定数量的 L2TP客户端,并进行每个L2TP客户端与所述VPN服务器之间的建立L2TP 隧道的协商;所述VPN数据处理单元包括TCP数据处理子单元,用于根据TCP连接的应用,对每个PPTP客户端与 所述VPN服务器之间的协商报文进行TCP模块的封装或解封;UDP数据处理子单元,用于根据UDP连接的应用,对每个L2TP客户端 与所述VPN服务器之间的协商报文进行UDP模块的封装或解封;所述接》11/发送单元包括PPTP子单元,用于将TCP封装后的协商报文转发给所述VPN服务器, 并接收所述VPN服务器返回给每个PPTP客户端的协商报文;L2TP子单元,用于将UTP封装后的协商报文转发给所述VPN服务器, 并接收所述VPN服务器返回给每个L2TP客户端的协商报文。
9、 一种测试VPN服务器性能的方法,其特征在于,该方法包括 测试装置获得所述VPN服务器的每个类别客户端的容量后,模拟每个类别所述容量对应数量的客户端,并建立每个模拟客户端与所述VPN服务器之 间的对应类别的VPN隧道;所述测试装置根据搜集到的每条VPN隧道的源IP地址和目的IP地址配置每条VPN隧道对应的测试数据流,并通过每条VPN隧道将对应的测试数 据流发送给所述VPN服务器;所述测试装置根据发送的测试数据流,以及所述VPN服务器返回的数据 流,生成测试4艮告。
10、 根据权利要求9所述的方法,其特征在于,所述类别包括 PPTP和/或L2TP。
11、 根据权利要求10所述的方法,其特征在于,所述测试装置模拟每个 类别所述容量对应数量的客户端,并建立每个模拟客户端与所述VPN服务器 之间的对应类别的VPN隧道包括所述测试装置根据所述VPN服务器的PPTP客户端的容量,模拟所述容量 对应数量的PPTP客户端,并建立每个PPTP客户端与VPN服务器之间的PPTP 隧道;或,所述测试装置根据所述VPN服务器的L2TP客户端的容量,模拟所述容量 对应数量的L2TP客户端,并建立每个L2TP客户端与VPN服务器之间的L2TP 隧道5或,所述测试装置根据所述VPN服务器的PPTP客户端的容量,模拟所述容量 对应数量的PPTP客户端,并建立每个PPTP客户端与VPN服务器之间的PPTP 隧道,以及根据所述VPN服务器的L2TPC客户端的容量,模拟所述容量对应 数量的L2TP客户端,并建立每个L2TP客户端与VPN服务器之间的L2TPC
12、 一种测试VPN服务器性能的装置,其特征在于,包括VPN客户端模拟拨入模块,用于根据调度分析模块下发的每个类别模拟客 户端的容量,模拟出每个类别所述容量对应数量的客户端,并建立每个模拟客 户端与VPN月良务器之间的VPN隧道;调度分析模块,用于向所述VPN客户端模拟拨入模块下发获得的所述 VPN服务器的每个类别客户端的容量,并搜集所述VPN客户端模拟拨入模块建立的每条VPN隧道的源IP地址和目的IP地址,以及构造所述每条VPN隧 道的数据流后,发送给性能测试模块;性能测试模块,用于根据接收到的所述每条VPN隧道的源IP地址和目的 IP地址,以及每条VPN隧道的数据流,配置每条VPN隧道对应的测试数据 流,并通过每条VPN隧道将对应的测试数据流发送给所述VPN服务器,并根 据发送的测试数据流,以及所述VPN服务器返回的数据流,生成测试报告。
13、根据权利要求12所述的装置,其特征在于,所述VPN客户端模拟拨 入模块包括 '配置单元,用于根据调度分析模块下发的每个类别模拟客户端的容量,设 置对应套数的不同的模拟客户端参数,其中,每套模拟客户端参数包括模拟客 户端地址,用户名,密码以及VPN服务器地址;VPN协商单元,用于根据所述每套模拟客户端参数,建立和维护每个类别 对应数量的模拟客户端与VPN服务器之间的VPN隧道;VPN数据处理单元,用于根据每个模拟客户端类别对应的协议连接的应 用,对所述每个模拟客户端收发的数据流进行对应解封和封装处理,并转发给 接收/发送单元;接收/发送单元,用于在所述每条VPN隧道中进行数据流的收发。
全文摘要
本发明公开了一种测试虚拟专用网络服务器(VPNServer)容量的方法,用以解决现在技术中在多类客户端同时服务时,较难进行VPNServer容量测试的问题。在测试VPNServer容量方法中测试装置模拟每个类别设定数量的客户端,模拟出的所述客户端与所述VPNServer进行建立对应类别VPN隧道的协商,并在获得所述VPNServer协商通过的每个类别VPN隧道的数量后,判断获得的每个类别的数量与对应类别的设定数量是否相等,当两者相等,且所述获得的每个类别的数量在设定范围内时,则获得所述VPNServer每个类别客户端的容量,当两者不相等时,则对所述每个类别模拟客户端的设定数量进行调整后,继续模拟和认证过程,直至获得所述VPNServer每个类别客户端的容量。本发明还公开了一种测试VPNServer性能的方法和装置。
文档编号H04L29/06GK101431447SQ200810178439
公开日2009年5月13日 申请日期2008年11月26日 优先权日2008年11月26日
发明者任文强 申请人:福建星网锐捷网络有限公司