一种路由模式下限制终端数量的方法

文档序号:7781058阅读:345来源:国知局
一种路由模式下限制终端数量的方法
【专利摘要】本发明提供一种路由模式下限制终端数量的方法,至少包括:判断终端数量限制类型;对于当前终端数量限制类型,检测是否存在终端不在线;若存在终端不在线,则允许新的终端的接入请求,并为所述新的终端分配IP;若不存在终端不在线,则不响应新的终端接入请求。本发明的路由模式下限制终端数量的方法利用网关中已有的软件资源实现,实现过程比较简单,不影响路由转发的处理复杂程度;同时不会有额外的内存需求,也不会造成网关的性能降低。
【专利说明】一种路由模式下限制终端数量的方法
【技术领域】
[0001]本发明涉及网络通信的【技术领域】,特别是涉及一种路由模式下限制终端数量的方法。
【背景技术】
[0002]随着移动互联网技术的快速发展,以及云计算、三网融合、物联网等新兴产业的进一步推进,对宽带的需求也日益剧增。在此环境下,宽带提速被提上议程。宽带提速的根本目的是为了更好的提升用户的上网体验,同时支持更加多元化的业务形态。然而用户的宽带使用意识尚未得到改变,需要进一步的加强引导。运营商在加强宽带的线路铺设,提升用户上网体验的同时,会限制同一账号上网终端的数量,从而使宽带提速后的效果更加明显。
[0003]现有技术中,在路由模式下,在网关中维护一个上网终端列表。该上网终端列表中的列表项包括终端类型和终端对应的MAC地址。当网关检测到有上网请求时,首先判断发出上网请求的终端是否在列表中(通过MAC地址进行比对),如果在列表中,则允许请求通过。如果发出上网请求的终端不在列表中,则判断当前列表中已有的该类型终端的个数。如果该类型终端的个数小于限制值,则将该终端加入列表中,并允许请求通过。如果终端列表中该类型终端个数等于限制值,则判断列表中所有该类型终端是否有不在线的(通过ARP检测)。如果有不在线的,则从列表中删除不在线终端,并将该终端添加到列表中,允许请求通过。如果全都在线,则不允许请求通过。
[0004]然而,在上述方案中,需要在内存中始终维护一个上网终端列表。这不但需要耗费内存,而且在网络地址转换(Network Address Translation,NAT)之前,需要专门模块来处理这个过程。这就影响到路由器的性能,并且需要花费一定的工作量来实现。

【发明内容】

[0005]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种路由模式下限制终端数量的方法,能够限制家庭网关中同一时间接入的终端数量,且不影响路由器的性能,不增加额外的系统消耗。
[0006]为实现上述目的及其他相关目的,本发明提供一种路由模式下限制终端数量的方法,至少包括:判断终端数量限制类型;对于当前终端数量限制类型,检测是否存在终端不在线;若存在终端不在线,则允许新的终端的接入请求,并为所述新的终端分配IP;若不存在终端不在线,则不响应新的终端接入请求。
[0007]根据上述的路由模式下限制终端数量的方法,其中:所述终端数量限制类型包括限制接入终端的总数量和限制不同类型终端的接入数量。
[0008]根据上述的路由模式下限制终端数量的方法,其中:检测是否存在终端不在线时,通过ARP检测是否存在不在线的终端。
[0009]进一步地,根据上述的路由模式下限制终端数量的方法,其中:在进行ARP检测时,如果某一终端对连续若干次的ARP检测无响应,则认为该终端不在线。[0010]根据上述的路由模式下限制终端数量的方法,其中:所述路由模式下限制终端数量的方法通过修改DHCP服务代码实现的。
[0011]进一步地,根据上述的路由模式下限制终端数量的方法,其中:修改DHCP服务代码时,在DHCP服务器程序中添加一些全局变量,所述全局变量用于统计已连接各种类型终端的数量和连接终端的总数量,同时添加一些DHCP的配置项,所述配置项用于表示各种类型终端的限制数和接入终端总的限制数。
[0012]更进一步地,根据上述的路由模式下限制终端数量的方法,其中:所述配置项能够通过串口命令和远程管理平台进行修改;当所述配置项修改时,DHCP服务器重新读取配置文件,并初始化各配置项。
[0013]如上所述,本发明的路由模式下限制终端数量的方法,具有以下有益效果:
[0014]( I)利用网关中已有的软件资源实现,实现过程比较简单,不影响路由转发的处理复杂程度;
[0015](2)不会有额外的内存需求;
[0016](3)不会造成网关的性能降低。
【专利附图】

【附图说明】
[0017]图1显示为本发明的路由模式下限制终端数量的方法的流程图;
[0018]图2显示为本发明中DHCP服务器同DHCP客户端交互获取IP的流程图。
【具体实施方式】
[0019]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0020]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0021]本发明的路由模式下限制终端数量的方法能够使家庭网关限制同一时间接入公网的终端数量。该数量可配置,其中对于数量的限制包括以下两种情形:
[0022]一:限制同时接入公网的终端总数;
[0023]二:分别限制不同类型终端的数量。
[0024]本发明的路由模式下限制终端数量的方法采用的基本算法如下:假设当前限制接入的终端数为N,那么在处理第N+1接入请求时,首先通过ARP检测当前N个终端中是否存在有不在线的终端。其中,如果某个终端连续若干次次ARP检测无响应,则认为此终端不在线。如果N个终端都在线,那么拒绝第N+1个终端的接入请求,第N+1个终端无法获取IP ;如果当前在线终端的个数不足N个,那么允许第N+1个终端的接入请求,并为其分配IP。
[0025]本发明的路由模式下限制终端数量的方法主要是利用网关中的DHCP服务器,通过在DHCP服务代码里稍作修改来实现。基本原理是:当终端连接上网关时,终端会通过DHCP客户端向网关请求IP。此时如果网关中已连接的该类型终端的个数等于限制值,则网关的DHCP服务器将不予响应,那么该终端就无法获取IP地址,从而达到限制上网终端数量的目的。
[0026]具体地,参照图1,本发明的路由模式下限制终端数量的方法包括以下步骤:
[0027]步骤S1、判断终端数量限制类型;
[0028]其中,终端数量限制类型包括限制接入终端的总数量和限制不同类型终端的接入数量。即可以限制接入网关的终端的总数量,也可以针对各个类型的终端,分别限制相应的接入数量。
[0029]步骤S2、对于当前终端数量限制类型,检测是否存在终端不在线;
[0030]具体地,通过ARP检测当前连接的终端中是否存在有不在线的终端。如果某个终端连续若干次ARP检测无响应,则认为此终端不在线。其中,ARP检测的次数可根据实际需要来灵活确定。
[0031]步骤S3、若存在终端不在线,则允许新的终端的接入请求,并为新的终端分配IP ;
[0032]步骤S4、若不存在终端不在线,则不响应新的终端接入请求。
[0033]具体地,实现步骤S3和步骤S4时,主要是在DHCP服务器端程序的结构体Structserver_config_t中添加一些全局变量,以统计已连接各种类型终端的数量和连接终端的总数量,同时添加一些DHCP的配置项,表示各种类型的终端的限制数和接入终端总的限制数。这些配置项可通过串口命令和远程管理平台修改。当配置项修改时,DHCP服务器重新读取配置文件,并初始化各配置项。
[0034]具体地,在Struct server_config_t结构体中添加如下成员变量:
[0035]Struct category_config_info catainfo[NUMOFTYPES];
[0036]Int mwmode ;
[0037]Int allowed ;
[0038]Int TotalTerminalNumber ;
[0039]Struct category_config_info{
[0040]Int Ifrestrict;
[0041]Int RstNum;
[0042]Int Alreadlyallowed;
[0043]}
[0044]其中,mwmode表示限制终端的策略。当mwmode值为O时,终端数量限制功能不起作用;当mwmode值为I时,只对接入终端的总数量进行限制;当mwmode值为2时,分别对不同类型的终端数量进行限制。allowed用于统计已经获取IP的终端数量,TotalTerminalNumber 表不所限制的总终端数。结构体 struct category_config_info 是对每一类型终端的数量进行限制时用到的结构。Ifrestrict表示功能开启或关闭,RstNum表示相应类型终端的设定限制数,Alreadyallowed表示已经获取IP的该类型的终端数。
[0045]DHCP服务器同DHCP客户端交互获取IP的简单过程如图2所示。其中,关键在于:判断当前已获取IP的终端的个数,并根据条件执行不同的内容。从上面交互过程不难看出,增加的条件判断内容及处理放在sendoffer过程中比较合理。从DHCP服务器代码中可以知道sendoffer这个过程是由sendoffer ()函数实现。这个函数会从地址池中得到一个未被使用的IP,并利用到客户端发过来的discover包,构造offer包的内容,再将offer包发送个客户端;然后客户端根据offer包提供的IP向服务器发送request包,完成动态IP的获取过程;最后再sendoffer函数里面进行处理。如果终端个数等于限制数,则sendoffer ()函数返回出错,一般是返回-1,此时该会话交互过程就结束,而终端也就获取不到IP。
[0046]综上所述,本发明的路由模式下限制终端数量的方法利用网关中已有的软件资源实现,实现过程比较简单,不影响路由转发的处理复杂程度;同时不会有额外的内存需求,也不会造成网关的性能降低。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0047]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1.一种路由模式下限制终端数量的方法,其特征在于,至少包括: 判断终端数量限制类型; 对于当前终端数量限制类型,检测是否存在终端不在线; 若存在终端不在线,则允许新的终端的接入请求,并为所述新的终端分配IP ; 若不存在终端不在线,则不响应新的终端接入请求。
2.根据权利要求1所述的路由模式下限制终端数量的方法,其特征在于:所述终端数量限制类型包括限制接入终端的总数量和限制不同类型终端的接入数量。
3.根据权利要求1所述的路由模式下限制终端数量的方法,其特征在于:检测是否存在终端不在线时,通过ARP检测是否存在不在线的终端。
4.根据权利要求3所述的路由模式下限制终端数量的方法,其特征在于:在进行ARP检测时,如果某一终端对连续若干次的ARP检测无响应,则认为该终端不在线。
5.根据权利要求1所述的路由模式下限制终端数量的方法,其特征在于:所述路由模式下限制终端数量的方法通过修改DHCP服务代码实现的。
6.根据权利要求5所述的路由模式下限制终端数量的方法,其特征在于:修改DHCP服务代码时,在DHCP服务器程序中添加一些全局变量,所述全局变量用于统计已连接各种类型终端的数量和连接终端的总数量,同时添加一些DHCP的配置项,所述配置项用于表示各种类型终端的限制数和接入终端总的限制数。
7.根据权利要求6所述的路由模式下限制终端数量的方法,其特征在于:所述配置项能够通过串口命令和远程管理平台进行修改;当所述配置项修改时,DHCP服务器重新读取配置文件,并初始化各配置项。
【文档编号】H04L12/741GK103685285SQ201310699626
【公开日】2014年3月26日 申请日期:2013年12月18日 优先权日:2013年12月18日
【发明者】伍文杰 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1