一种IP地址分配方法及装置与流程

文档序号:13641660阅读:123来源:国知局
本发明涉及网络通信
技术领域
,尤其涉及一种ip地址分配方法及装置。
背景技术
:sslvpn是以ssl(securesocketslayer,安全套接字层)为基础的vpn(virtualprivatenetwork,虚拟专用网)技术。sslvpn充分利用了ssl协议基于证书的身份认证、数据加密和消息完整性验证机制,能够为应用层之间的通信建立安全连接。在以ip方式接入的sslvpn中,sslvpn网关设备利用与用户使用的sslvpn客户端之间的sslvpn协议交互,完成对用户的身份认证、应用授权以及为通过认证的用户的sslvpn客户端分配ip地址等操作。sslvpn网关设备按照用户认证顺序为每一个通过认证的用户的sslvpn客户端分配ip地址,一旦ip地址资源用尽,将无法为后续通过认证的用户的sslvpn客户端分配ip地址,即后续通过认证的用户无法接入。技术实现要素:本发明的目的在于提供一种ip地址分配方法及装置,用以在ip地址资源不足时,优先保证高优先级用户的接入。为实现上述发明目的,本发明提供了如下技术方案:一方面,本发明提供一种ip地址分配方法,应用于sslvpn网关设备,所述方法包括:在接收到待接入用户使用第一客户端发送的认证请求报文时,获取所述待接入用户的权限信息;若ip地址池中未分配的ip地址的数量小于预设的地址数量阈值,则基于所述待接入用户的权限信息确定所述待接入用户的优先级;若所述待接入用户的优先级高于预设的用户优先级,则为所述第一客户端分配ip地址。另一方面,本发明提供一种ip地址分配装置,应用于sslvpn网关设备,所述装置包括:获取单元,用于在接收到待接入用户使用第一客户端发送的认证请求报文时,获取所述待接入用户的权限信息;确定单元,用于若ip地址池中未分配的ip地址的数量小于预设的地址数量阈值,则基于所述待接入用户的权限信息确定所述待接入用户的优先级;分配单元,用于若所述待接入用户的优先级高于预设的用户优先级,则为所述第一客户端分配ip地址。由以上描述可以看出,本发明可基于待接入用户的权限信息确定待接入用户的优先级,在ip地址资源不足时,为优先级高于预设用户优先级的待接入用户的sslvpn客户端分配ip地址,禁止为优先级低于预设用户优先级的待接入用户的sslvpn客户端分配ip地址,从而保证高优先级用户优先接入。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例示出的一种ip地址分配方法流程图;图2是本发明实施例示出的一种组网示意图;图3是本发明实施例示出的sslvpn网关设备的结构示意图;图4是本发明实施例示出的一种ip地址分配装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本发明实施例提出一种ip地址分配方法,该方法中,sslvpn网关设备(以下简称网关设备)基于待接入用户的权限信息确定待接入用户的优先级,从而在ip地址资源不足时,为优先级高于预设用户优先级的待接入用户的sslvpn客户端(以下简称客户端)分配ip地址。参见图1,为本发明ip地址分配方法的一个实施例流程图,该实施例从网关设备侧对ip地址分配过程进行描述。步骤101,在接收到待接入用户使用第一客户端发送的认证请求报文时,获取所述待接入用户的权限信息。基于sslvpn协议的网关设备和客户端之间通过sslvpn协议交互,完成对用户的身份认证、应用授权以及为通过认证的用户的客户端分配ip地址等操作。本步骤中网关设备利用sslvpn协议的身份认证阶段获取待接入用户的权限信息,至少可包括以下两种实施方式:在一种实施方式中,可通过远程认证方式获取用户权限信息。具体为,网关设备转发待接入用户通过客户端(记为第一客户端)发送的认证请求报文给认证服务器,该认证请求报文中携带待接入用户的用户名、密码等信息,认证服务器基于预先配置的用户信息对待接入用户进行认证,若待接入用户通过认证,则向网关设备返回认证响应报文,以向网关设备通告该待接入用户身份合法。本发明在认证服务器返回的认证响应报文中携带待接入用户的权限信息(权限信息为认证服务器为每一个合法用户预先配置的用户信息的一部分),例如,该权限信息可以为待接入用户所属用户组(属于同一用户组的用户通常具有相同的权限),或者该待接入用户的权限规则,网关设备通过接收认证服务器返回的认证响应报文,获取携带在认证响应报文中的待接入用户的权限信息。在另一种实施方式中,可通过本地认证方式获取用户权限信息。具体为,网关设备上预先配置本地用户信息(包括用户名、密码、权限信息等),网关设备接收到待接入用户通过第一客户端发送的认证请求报文后,直接本地认证,若待接入用户身份合法,则获取为该待接入用户预先配置的权限信息。步骤102,若ip地址池中未分配的ip地址的数量小于预设的地址数量阈值,则基于所述待接入用户的权限信息确定待接入用户的优先级。网关设备预先配置可用于分配的ip地址的范围(即ip地址池),当用户通过客户端接入时,网关设备从ip地址池中为用户使用的客户端分配ip地址。本发明预设ip地址的数量阈值(简称地址数量阈值),若ip地址池中未分配的ip地址的数量小于预设的地址数量阈值,说明ip地址池中剩余可用于分配的ip地址较少,即ip地址资源不足,此时,网关设备通过本地预先存储的权限信息与优先级的对应关系,查找与待接入用户的权限信息对应的优先级。用户的权限越高,代表其优先级越高,例如,网络管理员通常具有创建、删除等权限,而普通用户只具有使用权限,因此,网络管理员的优先级通常高于普通用户的优先级。步骤103,若所述待接入用户的优先级高于预设的用户优先级,则为所述第一客户端分配ip地址。本发明预设用户优先级,若通过步骤102确定的待接入用户的优先级高于预设的用户优先级,说明当前待接入用户的优先级较高。例如,优先级范围为1~7,数值越大代表优先级越低,若预设用户优先级为4,则当待接入用户的优先级为2时,说明当前待接入用户的优先级较高,此时,需要为该优先级较高的待接入用户使用的第一客户端分配ip地址,即在ip地址资源不足的情况下,优先保证为高优先级用户使用的客户端分配ip地址。具体分配过程为,若ip地址池中存在未分配的ip地址,则从未分配的ip地址中为优先级高于预设用户优先级的待接入用户使用的第一客户端分配ip地址;若ip地址池中不存在未分配的ip地址,则从当前在线用户使用的第二客户端中选择目标客户端,回收目标客户端的ip地址分配给优先级高于预设用户优先级的待接入用户使用的第一客户端。其中,选择目标客户端的过程为,统计每一个在线用户使用的第二客户端的在线时长、以及该在线时长内的总流量,其中,在线时长为客户端接入后在线的时间长度;总流量为客户端在在线时长内通过与网关设备之间的sslvpn隧道访问内网服务器产生的业务流量。基于每一个第二客户端的在线时长以及总流量,确定对应第二客户端的平均流量。若第二客户端中存在平均流量小于预设的流量阈值的第三客户端(承载业务流量较小的客户端),则从第三客户端中选择目标客户端,即从承载业务流量较小的客户端中选择目标客户端。进一步地,从第三客户端中选择目标客户端具体可包括,统计每一个第三客户端在在线时长内的总连接数量,其中,总连接数量为客户端在在线时长内通过sslvpn隧道访问内网服务器的连接数量;基于每一个第三客户端的在线时长以及总连接数量,确定对应第三客户端的平均连接数量;若第三客户端中存在平均连接数量小于预设的连接数量阈值的第四客户端(承载业务种类较少的客户端),则从第四客户端中选择目标客户端,即从承载业务流量较小且业务种类较少的客户端中选择目标客户端。若第三客户端中不存在平均连接数量小于预设的连接数量阈值的第四客户端,即虽然承载的业务流量较小,但承载的业务种类均较多时,则从承载业务流量较小的第三客户端中选择任意客户端作为目标客户端。本发明对通过以上方式确定的目标客户端的ip地址进行回收,回收的ip地址分配给优先级较高的待接入用户的第一客户端。当然,若在线用户使用的第二客户端中不存在平均流量小于预设的流量阈值的第三客户端,即不存在承载业务流量较小的客户端,也就不存在目标客户端,因此,无法进行ip地址回收。本发明通过ip地址回收,可将一些利用率不高的ip地址分配给优先级较高的用户使用的客户端,从而进一步保证高优先级用户优先接入。对于消耗网关设备的ip地址资源而不产生实际业务流量的网络攻击行为,通过本发明的ip地址回收策略,可有效抑制攻击用户挤占ip地址资源,从而降低网络攻击对网关设备的影响。从上述描述可以看出,本发明在ip地址资源不足时,基于待接入用户的权限信息确定待接入用户的优先级,从而为优先级较高的待接入用户使用的客户端分配ip地址,保证高优先级用户优先接入。现以图2所示组网为例,详细介绍ip地址分配过程。图2所示网络包括:终端设备pc1~pc13(其中,pc2~pc7图中未示出)、sslvpn网关设备gw、认证服务器aaa、资源服务器server1~servern(其中,server2~servern-1图中未示出)。每一个用户user可通过对应的终端设备pc上启动的sslvpn客户端(client)与gw建立sslvpn隧道,访问资源服务器。假设,gw上预先配置的ip地址池的地址范围为ip1~ip10;预设地址数量阈值为3。当前已在线用户为user1~user8(其中,user2~user7图中未示出),分别通过对应终端设备pc1~pc8上启动的sslvpn客户端(client1~client8)与gw建立的sslvpn隧道,访问资源服务器。gw已分别为client1~client8分配ip地址ip1~ip8。当用户user9通过pc9上启动的client9发送携带user9的用户名和密码的认证请求报文时,gw将认证请求报文转发给认证服务器aaa,认证服务器aaa基于用户名和密码等信息确认user9为合法用户后,向gw返回认证响应报文,认证响应报文中携带user9的权限信息,例如,该权限信息为user9所属用户组信息group5,gw从认证响应报文中获取user9的权限信息。由于ip地址池中当前剩余未分配的ip地址的数量为2(未分配ip地址为ip9和ip10),小于预设的地址数量阈值3,即当前ip地址资源不足,因此,gw需要基于user9的权限信息确定user9的优先级。参见表1,为gw上预先存储的权限信息与优先级的对应关系。权限信息(用户组)优先级group11group22group33group44group55表1其中,数值越小代表优先级越高。gw从表1中查找与user9属于用户组group5对应的优先级为5,假设,gw上预先设置的用户优先级为4,则可知user9的优先级低于预设的用户优先级,因此,禁止为user9使用的client9分配ip地址,user9无法使用网络。当用户user10通过pc10上启动的client10发送携带user10的用户名和密码的认证请求报文时,gw将认证请求报文转发给认证服务器aaa,认证服务器aaa基于用户名和密码等信息确认user10为合法用户后,向gw返回认证响应报文,在认证响应报文中携带user10的权限信息,例如,user10所属用户组信息group1,gw从认证响应报文中获取user10的权限信息。当前ip地址池中剩余未分配的ip地址的数量为2(未分配ip地址为ip9和ip10),小于预设的地址数量阈值3,ip地址资源不足,gw需要确定user10的优先级。由表1可知,user10所属用户组group1对应的优先级为1,高于预设的用户优先级,因此,需要为user10使用的client10分配ip地址。由于当前ip地址池中还存在未分配的ip地址,因此,从未分配的ip地址中为client10选择一个ip地址,例如,将ip9分配给client10。当用户user11通过pc11上启动的client11发送携带user11的用户名和密码的认证请求报文时,gw将认证请求报文转发给认证服务器aaa,认证服务器aaa基于用户名和密码等信息确认user11为合法用户后,向gw返回认证响应报文,在认证响应报文中携带user11的权限信息,例如,user11所属用户组信息group2,gw从认证响应报文中获取user11的权限信息。当前ip地址池中剩余未分配的ip地址的数量为1(未分配ip地址为ip10),小于预设的地址数量阈值3,ip地址资源不足,gw需要确定user11的优先级。由表1可知,user11所属用户组group2对应的优先级为2,高于预设的用户优先级,因此,需要为user11使用的client11分配ip地址。由于当前ip地址池中还存在未分配的ip地址(ip10),因此,将ip10分配给client11。当用户user12通过pc12上启动的client12发送携带user12的用户名和密码的认证请求报文时,gw将认证请求报文转发给认证服务器aaa,认证服务器aaa基于用户名和密码等信息确认user12为合法用户后,向gw返回认证响应报文,在认证响应报文中携带user12的权限信息,例如,user11所属用户组信息group3,gw从认证响应报文中获取user12的权限信息。当前ip地址池中已无未分配的ip地址,ip地址资源不足,gw需要确定user12的优先级。由表1可知,user12所属用户组group3对应的优先级为3,高于预设的用户优先级,因此,需要为user12使用的client12分配ip地址。由于当前ip地址池中已无未分配的ip地址,因此,gw需要确认当前正在使用的ip地址中是否有可以回收的ip地址。具体为:gw分别统计在线用户user1~user8的client1~client8(对应ip1~ip8)、user10的client10(对应ip9)、user11的client11(对应ip10)的在线时长、总流量以及总连接数量,如表2所示。用户名ip地址在线时长(分钟)总流量(字节)总连接数量(次)user1ip110100040user2ip2981045user3ip3864048user4ip4710528user5ip5642018user6ip65505user7ip7436016user8ip8330012user10ip9218010user11ip101806表2计算表2中每一个client的平均流量(总流量/在线时长),例如,client1(对应ip1)的平均流量为1000/10=100,同理,可分别得到client2~client8、client10、client11的平均流量,如表3所示。ip地址平均流量(字节)ip1100ip290ip380ip415ip570ip610ip790ip8100ip990ip1080表3其中,每一个ip地址代表对应的client。假设,预设的流量阈值为20,则从表3可知,client4(对应ip4)的平均流量为15小于预设流量阈值20;client6(对应ip6)的平均流量为10小于预设流量阈值20,即client4和client6的业务流量较小;其它client的平均流量均大于预设的流量阈值20,对应业务流量较大。进一步地,确定client4和client6的平均连接数量(总连接数量/在线时长),由表2可知,client4的平均连接数量为28/7=4,client6的平均连接数量为5/5=1,假设,预设的连接数量阈值为3,则可知client6的平均连接数量1小于预设的连接数量阈值3,因此,回收分配给client6的ip6,即强制client6下线,将ip6分配给user12使用的client12。当用户user13通过pc13上启动的client13发送携带user13的用户名和密码的认证请求报文时,gw将认证请求报文转发给认证服务器aaa,认证服务器aaa基于用户名和密码等信息确认user13为合法用户后,向gw返回认证响应报文,在认证响应报文中携带user13的权限信息,例如,user13所属用户组信息group1,gw从认证响应报文中获取user13的权限信息。当前ip地址池中无未分配的ip地址,ip地址资源不足,gw需要确定user13的优先级。由表1可知,user13所属用户组group1对应的优先级为1,高于预设的用户优先级,因此,需要为user13使用的client13分配ip地址。gw需要确认当前正在使用的ip地址中是否有可以回收的ip地址。具体为:分别统计在线用户user1~user5的client1~client5(对应ip1~ip5)、user7的client7(对应ip7)、user8的client8(对应ip8)、user10~user12的client10~client12(对应ip9、ip10、ip6)的在线时长、总流量以及总连接数量,如表4所示。用户名ip地址在线时长(分钟)总流量(字节)总连接数量(次)user1ip111110044user2ip21090050user3ip3972054user4ip4812032user5ip5749021user7ip7545020user8ip8440016user10ip9327015user11ip10216012user12ip61806表4计算表4中每一个client的平均流量,如表5所示。ip地址平均流量(字节)ip1100ip290ip380ip415ip570ip790ip8100ip990ip1080ip680表5由表5可知,client4(对应ip4)的平均流量为15小于预设流量阈值20,即client4的业务流量较小;其它client的平均流量均大于预设流量阈值20,即对应业务流量较大。虽然由表4可知client4的平均连接数量为32/8=4,不小于预设的连接数量阈值3,但由于当前网络中没有流量小且连接数量又少的client,因此,此次仅基于流量判断,将平均流量小于预设流量阈值的client4的ip4回收,即强制client4下线,将ip4分配给user13使用的client13。与前述ip地址分配方法的实施例相对应,本发明还提供了ip地址分配装置的实施例。本发明ip地址分配装置的实施例可以应用在sslvpn网关设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令形成的。从硬件层面而言,如图3所示,为本发明ip地址分配装置所在设备的一种硬件结构图,除了图3所示的处理器以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。请参考图4,为本发明一个实施例中的ip地址分配装置的结构示意图。该ip地址分配装置包括获取单元401、确定单元402以及分配单元403,其中:获取单元401,用于在接收到待接入用户使用第一客户端发送的认证请求报文时,获取所述待接入用户的权限信息;确定单元402,用于若ip地址池中未分配的ip地址的数量小于预设的地址数量阈值,则基于所述待接入用户的权限信息确定所述待接入用户的优先级;分配单元403,用于若所述待接入用户的优先级高于预设的用户优先级,则为所述第一客户端分配ip地址。进一步地,所述获取单元401,具体用于转发所述认证请求报文给认证服务器;接收所述认证服务器在确认所述待接入用户通过认证后返回的携带所述待接入用户的权限信息的认证响应报文;从所述认证响应报文中获取所述待接入用户的权限信息。进一步地,所述确定单元402,具体用于在本地存储的权限信息与优先级的对应关系中,查找与所述待接入用户的权限信息对应的优先级。进一步地,所述分配单元403,具体用于若所述ip地址池中存在未分配的ip地址,则从未分配的ip地址中为所述第一客户端分配ip地址;若所述ip地址池中不存在未分配的ip地址,则从当前在线用户使用的第二客户端中选择目标客户端,回收所述目标客户端的ip地址;将回收的ip地址分配给所述第一客户端。进一步地,所述分配单元403从当前在线用户使用的第二客户端中选择目标客户端,包括:统计每一个在线用户使用的第二客户端的在线时长以及在所述在线时长内的总流量;基于每一个第二客户端的在线时长以及总流量,确定对应第二客户端的平均流量;若第二客户端中存在平均流量小于预设的流量阈值的第三客户端,则从第三客户端中选择目标客户端。进一步地,所述分配单元403从第三客户端中选择目标客户端,包括:统计每一个第三客户端在在线时长内的总连接数量;基于每一个第三客户端的在线时长以及总连接数量,确定对应第三客户端的平均连接数量;若第三客户端中存在平均连接数量小于预设的连接数量阈值的第四客户端,则从所述第四客户端中选择目标客户端。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1