一种测试最大telnet用户数的方法

文档序号:8003994阅读:282来源:国知局
一种测试最大telnet用户数的方法
【专利摘要】本发明涉及通信产品测试领域,尤其涉及交换机所支持最大telnet用户数的测试方法。一种测试最大telnet用户数的方法,应用于一服务器端与客户端之间,具体步骤如下:给定一预置条件,预置条件包括服务器端所支持的最大telnet用户数,服务器端依据预置条件与客户端建立套接字连接;服务器端与客户端通过一自动连接模块逐个建立数目小于等于最大telnet用户数的套接字连接;当套接字需要建立的连接数大于最大telnet用户数时,则自动停止建立连接。本发明的测试方法实现了建立telnet连接、查看内存和CPU占用率的自动化,解决了传统手动测试最大telnet用户数耗时、费力、效率低的问题。
【专利说明】—种测试最大telnet用户数的方法
【技术领域】
[0001]本发明涉及通信产品测试领域,尤其涉及交换机所支持最大telnet用户数的测试方法。
【背景技术】
[0002]Telnet协议是TCP/IP协议族中一个简单的远程终端协议,是Internet远程登陆服务的标准协议和主要方式,它的作用是实现远程管理功能。本地计算机上使用telnet程序连接到服务器,用户在telnet程序中输入命令,服务器根据命令进行相关操作,从而实现本地计算机对服务器的管理控制。
[0003]telnet连接的建立主要是通过客户/服务器方式实现的,telnet连接建立流程图如图1所示:步骤l),telnet服务器I创建并启用TCP监听器监听端口 ;步骤2),客户端2根据IP地址和端口向服务器I发出连接请求;步骤3),服务器I发现连接请求后,查看自己的telnet会话数是否超过自身所允许的最大连接数,步骤4),没有超过就新建会话加入会话链表,并为telnet会话分配内存且启用一个子进程,子进程用来处理会话命令;步骤5),服务器I告知客户端2telnet连接建立成功;客户端2接着就可以向服务器I发起会话。
[0004]由于客户端和服务器每建立一条telnet连接,服务器就会为该连接分配一个内存空间并启动子进程。以交换机作为telnet连接的服务器为例,当建立大量的telnet连接时,就会消耗掉交换机大量的内存资源,当这些连接同时运作时,CPU使用率会很高。很多情况下交换机系统不够强大,当内存和CPU占用率均过高,超过交换机最大负荷时,会导致系统直接崩溃、交换机死机。因此,需要对交换机的最大telnet用户数做出限制,以防止telnet连接过多,导致交换机内存资源被耗尽崩溃死机。
[0005]现有测试最大telnet用户数的方法是通过在计算机上手动打开大量的登录窗口(如SecureCRT或Dos窗口)来一条一条的建立telnet连接,在建立telnet连接的过程中定期查看内存和CPU占用率。
[0006]现有的测试最大telnet用户数的方法主要缺点如下:
[0007](I)测试所需时间过长:每条telnet连接都要手动建立,平均建一条telnet连接要花10s,则建300条telnet连接要花3000s (将近一个小时),导致建立大量telnet连接时花费的时间过长;
[0008](2)操作复杂、工作量大:每个telnet连接都要分别开一个登录窗口,当需要建立300条telnet连接时,就必须要开300个登录窗口,操作复杂且统计困难,导致工作量非常大;
[0009](3)需频繁查看内存和CPU占用率:手动建立telnet连接的同时还要保证在尽量短的间隔时间内定期查看内存以及CPU占用率,操作不易实现。
[0010]综上所述,现有的测试最大telnet用户数的方法不管是建立telnet连接还是查看内存资源和CPU占用率都需手动实现,实现过程复杂、工作量大,使得操作繁琐、效率低下。
【发明内容】

[0011]本发明的目的在于,提供一种测试最大telnet用户数的方法,解决以上技术问题。
[0012]本发明所解决的技术问题可以采用以下技术方案来实现:
[0013]一种测试最大telnet用户数的方法,应用于一服务器端与客户端之间,其中,具体步骤如下:
[0014]步骤Si,给定一预置条件,所述预置条件包括所述服务器端所支持的最大telnet用户数,所述服务器端依据所述预置条件与所述客户端建立套接字连接;
[0015]步骤s2,所述服务器端与所述客户端通过一自动连接模块逐个建立数目小于等于最大telnet用户数的套接字连接;
[0016]步骤S3,判断所述套接字建立的连接数达到最大telnet用户数时,则自动停止建立连接。
[0017]优选地,所述服务器端采用交换机,和/或所述客户端采用计算机。
[0018]优选地,所述客户端上设有用于输入所述预置条件的输入界面。
[0019]优选地,所述输入界面采用工具命令语言脚本实现。
[0020]优选地,所述预置条件还包括登录信息、连接端口信息、和/或交换机IP地址信
肩、O
[0021]优选地,建立套接字连接的步骤如下:
[0022]步骤sll,所述服务器端创建并启动监听器,所述服务器端的套接字绑定到预置条件中设置的端口,监听客户端的套接字,判断是否有客户端的套接字的请求;
[0023]步骤sl2,所述客户端的套接字发起连接请求,所述服务器端的套接字接受并响应请求,建立通信连接;
[0024]步骤sl3,所述客户端写入请求时,服务器端处理请求并把处理结果通过套接字送回给所述客户端,完成一个套接字通信。
[0025]优选地,在所述步骤s2及步骤S3中,所述客户端每隔一设定时间周期读取所述服务器端的内存资源占用情况和CPU使用率。
[0026]优选地,所述设定时间周期为2s。
[0027]优选地,所述自动连接模块每建立一条套接字连接,建立的telnet用户数增一。
[0028]由于采用以上技术方案,本发明的有益效果主要体现在以下几个方面:
[0029](I)测试所需时间短:平均建立一条telnet连接远不到Is,建300条telnet连接也只需一分钟左右,和现有技术相比大大节省了测试时间;
[0030](2)操作简单、减少了工作量:无需手动开启多个显示界面,只要在预置界面输入正确的预置条件,点击开始后就自动建立大量的telnet连接,有效的减少了工作量;
[0031](3)易于查看内存和CPU占用率:可以在telnet连接建立的同时实现2s —次自动查看内存和CPU占用率,明显提高测试效率。
[0032]综上所述,本发明的测试方法实现了建立telnet连接、查看内存和CPU占用率的自动化,解决了传统手动测试最大telnet用户数耗时、费力、效率低的问题。【专利附图】

【附图说明】
[0033]图1为telnet连接建立流程示意图;
[0034]图2为本发明的套接字通信流程图;
[0035]图3为本发明的预置界面示意图;
[0036]图4为本发明的测试拓扑图;
[0037]图5为本发明的测试流程图。
【具体实施方式】
[0038]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相
互组合。
[0040]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0041]参照图4、图5,一种测试最大telnet用户数的方法,应用于一服务器端I与客户端2之间,具体步骤如下:
[0042]步骤si,给定一预置条件,预置条件包括服务器端I所支持的最大telnet用户数,服务器端I依据预置条件与客户端2建立套接字连接;
[0043]步骤s2,服务器端I与客户端2通过一自动连接模块逐个建立数目小于等于最大telnet用户数的套接字连接;
[0044]步骤S3,判断套接字建立的连接数达到最大telnet用户数时,如果连接限制功能生效,则自动停止建立连接;如果连接限制功能不生效,则继续建立套接字连接,直至内存耗尽,不再进行连接。
[0045]上述的预置条件通过一预置界面输入,参照图3,预置条件包括连接端口信息,如Console连接配置信息,包括COM号、波特率;和/或Telnet连接配置信息,包括交换机IP地址信息、登录信息(如登录用户名、登录密码)及最大连接数信息;上述的服务器端I采用交换机。图3为预置界面的一种表现形式,图3所示的预置界面中间的四个按钮用于实现具体测试操作,分别是利用率显示、开始、停止及断开连接;按钮下面为两个显示窗口,左下角的窗口用于显示交换机内存和CPU占用率;右下角的窗口有页面I和页面2两部分,页面I用于显示telnet连接数,页面2用于显示telnet登录日志。
[0046]如果交换机本身所支持的最大telnet用户数为200个,Console 口与计算机相连的端口为C0M1,交换机波特率为19200,IP地址为192.168.1.1,用户名和密码均为admin,那么通过建立大于200个telnet连接来查看交换机telnet数限制功能是否生效,本方案建立300个telnet连接来达到测试效果,具体设置如图3所示。
[0047]在上述的步骤s2及步骤S3中,客户端2每隔一设定时间周期向服务器端I发送查看命令,读取服务器端I的内存资源占用情况和CPU使用率。优选地,设定时间周期为2s。
[0048]本发明针对最大telnet用户数的测试,利用计算机作为客户端2,交换机作为服务器端I,上述的自动连接模块通过TCL (Tool Command Language,工具命令语言)脚本作为测试工具,进行最大telnet用户数的测试。通过在计算机上运行TCL脚本来建立多个套接字(socket)连接从而实现多条telnet连接的自动建立,另外在TCL脚本上设置定期自动每隔2s查看内存和CPU情况。TCL脚本所实现的telnet连接是自动逐条建立的,当所建telnet连接数小于交换机自身所允许的最大telnet连接数时,交换机能够进行正常的通信。当所建telnet连接数达到交换机自身所允许的最大telnet连接数时,交换机就不再响应其它的telnet连接请求,自动停止建立telnet连接,以确保内存资源不被耗尽,CPU能正常运作,交换机能正常通信。
[0049]本发明是以交换机作为服务器端I来进行测试的,测试操作通过TCL脚本来具体实现,利用TCL脚本建立多个套接字通信来建立多条telnet连接,交换机为每条telnet连接分配一个内存空间,连接数超过交换机本身所允许的最大telnet用户数会使得交换机内存资源耗尽系统崩溃死机。本发明利用TCL脚本来执行具体的测试操作,实现快速的对最大telnet用户数进行测试;提出了一种高效、快速的测试方法。
[0050]套接字(socket)连接,客户端2套接字首先描述它要连接的服务器端I的套接字,指出服务器端I套接字的地址和telnet的端口号得到一个套接字。套接字通信流程图如图2所示,
[0051]步骤sll,服务器端I创建并启动监听器,服务器端I的套接字绑定到预置条件中设置的端口,监听客户端2的套接字,判断是否有客户端2套接字的请求;
[0052]步骤sl2,客户端2套接字发起连接请求,服务器端I套接字接受并响应请求,建立通信连接;
[0053]步骤sl3,客户端2写入请求,服务器处理请求并把处理结果通过套接字送回给客户端2,这样完成一个套接字通信;通信完成之后关闭此套接字连接。
[0054]具体测试步骤如下:
[0055](I)将计算机或终端电脑的IP与交换机IP设置在同一个网段,分别设为192.168.1.15和192.168.1.1,参见图4所示的测试拓扑图;
[0056](2)计算机上打开TCL脚本,在TCL界面输入正确的交换机IP地址:192.168.1.1,telnet最大连接数:300,用户名和密码:admin ;如图3所示。
[0057](3)点击“利用率显示”按钮查看内存和CPU情况,脚本自动执行每隔2s查看一次内存和CPU情况,查看信息显示在图3所示左边窗口内;
[0058](4)点击“开始”按钮,脚本将自动建立大量的telnet连接,直到达到交换机本身所支持的最大连接数200条或内存耗尽时停止;
[0059](5)在右边窗口内选中“页面1”,查看到所建的telnet总条数,选中“页面2”,查
看登录的日志信息。
[0060]上述的步骤(3)中脚本启动一个计时器后,自动循环执行2s查看一次内存和CPU占用率,并将内存和CPU信息显示到图3所示的左边窗口内。
[0061]上述的步骤(4)中,所设的telnet最大连接数300条超过交换机所支持的最大数目200条。建立telnet连接时,TCL脚本先获取telnet最大连接数,接着将当前所建的telnet连接数设为n=0, socket端口号设置为23以建立telnet连接,建立第一条后η加I即η=1,然后通过循环操作来完成多个telnet连接的自动建立,当所建telnet数目达到交换机本身所支持的最大数200时,停止建立,以防止交换机内存耗尽死机影响交换机通信。如果交换机软件有问题,最大telnet用户数限制功能不生效,所建telnet连接数到200条后,将继续建立后面的telnet连接,这样会造成内存耗尽、CPU超负荷,最后系统崩溃死机。本发明方案利用TCL脚本很好的实现了对最大telnet用户数的测试。TCL脚本通过创建两个线程来实现本方案的测试操作,两个线程分别是建立连接和内存及CPU的查看,具体所实现的测试原理图如下图5所示。
[0062]在本发明中,TCP协议是通信标准,整个通信连接的建立都是依据TCP协议标准完成的。Socket实际上是提供一个通信端口,socket通过建立面向连接的虚电路为telnet连接提供了数据流套接字的通信方式,telnet利用socket建立与交换机之间的连接。本发明的测试方法利用TCL脚本同时创建多条socket连接实现多个telnet连接通信,不仅如此本发明还利用TCL脚本定期自动查看交换机的内存资源占用情况和CPU使用率。与现有技术相比,本发明不管是建立telnet连接还是查看内存和CPU情况都是脚本自动实现的,无需人工复杂操作,不仅提高了测试效率而且还有效的减少了测试人员的工作量。
[0063]本发明的测试方法通过脚本自动建立telnet连接,也可以用于路由器和MDU型ONU的最大telnet用户数的测试。
[0064]以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
【权利要求】
1.一种测试最大telnet用户数的方法,应用于一服务器端与客户端之间,其特征在于,具体步骤如下: 步骤Si,给定一预置条件,所述预置条件包括所述服务器端所支持的最大telnet用户数,所述服务器端依据所述预置条件与所述客户端建立套接字连接; 步骤s2,所述服务器端与所述客户端通过一自动连接模块逐个建立数目小于等于最大telnet用户数的套接字连接; 步骤s3,判断所述套接字建立的连接数达到最大telnet用户数时,则自动停止建立连接。
2.根据权利要求1所述的一种测试最大telnet用户数的方法,其特征在于,所述服务器端采用交换机,和/或所述客户端采用计算机。
3.根据权利要求1所述的一种测试最大telnet用户数的方法,其特征在于,所述客户端上设有用于输入所述预置条件的输入界面。
4.根据权利要求3所述的一种测试最大telnet用户数的方法,其特征在于,所述输入界面采用工具命令语言脚本实现。
5.根据权利要求1所述的一种测试最大telnet用户数的方法,其特征在于,所述预置条件还包括登录信息、连接端口信息、和/或交换机IP地址信息。
6.根据权利要求1所述的一种测试最大telnet用户数的方法,其特征在于,建立套接字连接的步骤如下: 步骤sll,所述服务器端创建并启动监听器,所述服务器端的套接字绑定到预置条件中设置的端口,监听客户端的套接字,判断是否有客户端的套接字的请求; 步骤sl2,所述客户端的套接字发起连接请求,所述服务器端的套接字接受并响应请求,建立通信连接; 步骤sl3,所述客户端写入请求时,服务器端处理请求并把处理结果通过套接字送回给所述客户端,完成一个套接字通信。
7.根据权利要求6所述的一种测试最大telnet用户数的方法,其特征在于,在所述步骤s2及步骤s3中,所述客户端每隔一设定时间周期读取所述服务器端的内存资源占用情况和CPU使用率。
8.根据权利要求7所述的一种测试最大telnet用户数的方法,其特征在于,所述设定时间周期为2s。
9.根据权利要求1所述的一种测试最大telnet用户数的方法,其特征在于,所述自动连接模块每建立一条套接字连接,建立的telnet用户数增一。
【文档编号】H04L29/06GK103490945SQ201310347828
【公开日】2014年1月1日 申请日期:2013年8月9日 优先权日:2013年8月9日
【发明者】欧春霞 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1