发明内容
本发明实施例提供一种业务控制方法和设备,以节省ACL资源。
为了达到上述目的,本发明实施例提供一种业务控制方法,应用于包括宽带远程接入服务器BRAS设备的网络中,对于具有相同业务控制属性的终端设备分配的IP地址位于指定IP地址集合内,且所述BRAS设备配置有所述指定IP地址集合对应的访问控制列表ACL,该方法包括以下步骤:
所述BRAS设备在终端设备分配IP地址后,如果确定该终端设备的IP地址位于指定IP地址集合内,则将该指定IP地址集合记录到该终端设备对应的会话Session中,其中Session ID唯一;
所述BRAS设备在收到来自终端设备的报文后,从所述报文中提取终端设备对应的Session ID,并通过所述Session ID查询本地记录的Session;
所述BRAS设备判断所述Session ID对应的Session中是否有指定IP地址集合;
如果所述Session ID对应的Session中有指定IP地址集合,则所述BRAS设备确定所述指定IP地址集合对应的ACL,并通过所述指定IP地址集合对应的ACL中记录的业务控制属性对来自所述终端设备的报文进行业务控制。
所述网络中还包括认证服务器,所述认证服务器标示具有相同业务控制属性的终端设备应分配IP地址位于的指定IP地址集合;
当由认证服务器为具有相同业务控制属性的终端设备分配IP地址时,所述认证服务器从指定IP地址集合内选择为所述终端设备分配的IP地址;或者,
当由所述BRAS设备为具有相同业务控制属性的终端设备分配IP地址时,所述认证服务器将具有相同业务控制属性的终端设备应分配IP地址位于的指定IP地址集合通知给所述BRAS设备;由所述BRAS设备从指定IP地址集合内选择为所述终端设备分配的IP地址;或者,
所述网络中还包括动态主机设置协议DHCP服务器,当由所述DHCP服务器为具有相同业务控制属性的终端设备分配IP地址时,所述认证服务器将具有相同业务控制属性的终端设备应分配IP地址位于的指定IP地址集合通知给所述DHCP服务器;由所述DHCP服务器从指定IP地址集合内选择为所述终端设备分配的IP地址。
所述BRAS设备在终端设备分配IP地址后,将所述终端设备分配的IP地址记录到所述终端设备对应的Session中;
所述BRAS设备判断所述Session ID对应的Session中是否有指定IP地址集合之前,判断所述报文中的Session ID对应的Session中记录的IP地址是否有对应的第一类型ACL;
当所述Session ID对应的Session中记录的IP地址有对应的第一类型ACL时,所述BRAS设备通过所述IP地址对应的第一类型ACL中记录的业务控制属性对来自所述终端设备的报文进行业务控制;当所述Session ID对应的Session中记录的IP地址没有对应的第一类型ACL时,所述BRAS设备执行判断所述Session ID对应的Session中是否有指定IP地址集合的步骤。
所述BRAS设备判断所述Session ID对应的Session中是否有指定IP地址集合之后,所述方法还包括:
如果所述Session ID对应的Session中没有指定IP地址集合,则所述BRAS设备利用所述Session ID对应的Session中记录的IP地址对应的第二类型ACL中记录的业务控制属性对来自所述终端设备的报文进行业务控制。
所述BRAS设备将该指定IP地址集合记录到该终端设备对应的会话Session中,具体包括:所述BRAS设备在终端设备分配IP地址之后,判断所述终端设备是否使能了允许与其它终端设备共用ACL的功能;如果是,则所述BRAS设备将所述指定IP地址集合记录到所述终端设备对应的Session中。
本发明实施例提供一种宽带远程接入服务器BRAS设备,该BRAS设备包括:
配置模块,用于配置指定IP地址集合对应的访问控制列表ACL,其中,所述指定IP地址集合的IP地址分配给具有相同业务控制属性的终端设备;
记录模块,用于在终端设备分配IP地址后,如果确定该终端设备的IP地址位于指定IP地址集合内,则将该指定IP地址集合记录到该终端设备对应的会话Session中,其中Session ID唯一;
查询模块,用于在收到来自终端设备的报文后,从所述报文中提取终端设备对应的Session ID,并通过所述Session ID查询本地记录的Session;
判断模块,用于判断所述Session ID对应的Session中是否有指定IP地址集合;
控制模块,用于当所述Session ID对应的Session中有指定IP地址集合时,则确定所述指定IP地址集合对应的ACL,并通过所述指定IP地址集合对应的ACL中记录的业务控制属性对来自所述终端设备的报文进行业务控制。
所述配置模块,还用于接收来自认证服务器的具有相同业务控制属性的终端设备应分配IP地址位于的指定IP地址集合的通知,并从指定IP地址集合内选择为具有相同业务控制属性的终端设备分配的IP地址。
所述记录模块,还用于在终端设备分配IP地址后,将所述终端设备分配的IP地址记录到所述终端设备对应的Session中;
所述判断模块,还用于在判断所述Session ID对应的Session中是否有指定IP地址集合之前,判断所述报文中的Session ID对应的Session中记录的IP地址是否有对应的第一类型ACL;
所述控制模块,进一步用于当所述Session ID对应的Session中记录的IP地址有对应的第一类型ACL时,通过所述IP地址对应的第一类型ACL中记录的业务控制属性对来自所述终端设备的报文进行业务控制;当所述SessionID对应的Session中记录的IP地址没有对应的第一类型ACL时,由判断模块执行判断所述Session ID对应的Session中是否有指定IP地址集合的操作。
所述控制模块,还用于当所述Session ID对应的Session中没有指定IP地址集合时,利用所述Session ID对应的Session中记录的IP地址对应的第二类型ACL中记录的业务控制属性对来自所述终端设备的报文进行业务控制。
所述判断模块,还用于在终端设备分配IP地址之后,判断所述终端设备是否使能了允许与其它终端设备共用ACL的功能;
所述记录模块,具体用于在判断结果为使能了允许与其它终端设备共用ACL的功能时,将指定IP地址集合记录到所述终端设备对应的Session中。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,对于具有相同业务控制属性的多个终端设备,通过为该多个终端设备配置位于指定IP地址集合内的IP地址,并配置该指定IP地址集合对应的ACL,从而为该多个终端设备使用一条ACL进行业务控制,即使用一条ACL完成多个终端设备的业务控制过程,使得BRAS设备的ACL资源得到极大节省,并使得BRAS设备能够具备更大的用户规格数,提高BRAS设备的产品竞争力。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种业务控制方法,以图1为本发明实施例的应用场景示意图,该方法可以应用于包括BRAS设备、认证服务器、DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)服务器和多个终端设备(如十几万的终端设备)的网络中;其中,在具体的应用中,该认证服务器可以具体为RADIUS服务器。
本发明实施例中,对于多个具有相同业务控制属性的终端设备,各终端设备分配的IP地址位于指定IP地址集合内,且由RADIUS服务器标示具有相同业务控制属性的终端设备应分配IP地址位于的指定IP地址集合。其中,该指定IP地址集合具体可以为IP地址池或者指定IP地址网段。
基于此,当多个终端设备具有相同业务控制属性时,RADIUS服务器设置为该多个终端设备中的每个终端设备应分配IP地址位于的IP地址池或者位于的指定IP地址网段。
例如,当终端设备1-终端设备100具有相同的业务控制属性(如:限速2M,且只能访问资源A)时,RADIUS服务器获知终端设备1-终端设备100具有相同的业务控制属性,并设置为终端设备1应分配IP地址位于的IP地址池1,设置为终端设备2应分配IP地址位于的IP地址池1,以此类推,设置为终端设备100应分配IP地址位于的IP地址池1。又例如,当终端设备101-终端设备500具有相同的业务控制属性(如:限速10M,且只能访问资源B)时,RADIUS服务器获知终端设备101-终端设备500具有相同的业务控制属性,并设置为终端设备101应分配IP地址位于的指定IP地址网段2,设置为终端设备102应分配IP地址位于的指定IP地址网段2,以此类推,设置为终端设备500应分配IP地址位于的指定IP地址网段2。
当由RADIUS服务器为具有相同业务控制属性的终端设备分配IP地址时,RADIUS服务器从指定IP地址集合内选择为终端设备分配的IP地址;或者,当由BRAS设备为具有相同业务控制属性的终端设备分配IP地址时,RADIUS服务器具有相同业务控制属性的终端设备应分配IP地址位于的指定IP地址集合通知给BRAS设备,由BRAS设备从指定IP地址集合内选择为终端设备分配的IP地址;或者,当由DHCP服务器为具有相同业务控制属性的终端设备分配IP地址时,RADIUS服务器将具有相同业务控制属性的终端设备应分配IP地址位于的指定IP地址集合通知给DHCP服务器;由DHCP服务器从指定IP地址集合内选择为终端设备分配的IP地址。
例如,当由RADIUS服务器为终端设备1分配IP地址时,RADIUS服务器从IP地址池1内选择为终端设备分配的IP地址;当由RADIUS服务器为终端设备101分配IP地址时,RADIUS服务器从指定IP地址网段2内选择为终端设备分配的IP地址。又例如,当由BRAS设备为终端设备1分配IP地址时,RADIUS服务器将IP地址池1通知给BRAS设备,由BRAS设备从IP地址池1内选择为终端设备分配的IP地址;当由BRAS设备为终端设备101分配IP地址时,RADIUS服务器将指定IP地址网段2通知给BRAS设备,由BRAS设备从指定IP地址网段2内选择为终端设备分配的IP地址。
以下结合具体的应用说明由BRAS设备为终端设备分配IP地址的过程。
本应用场景下,终端设备以PPPoE(Point to Point Protocol over Ethernet,基于以太网的点对点协议)为例接入到BRAS设备获取IP地址,其过程如下:
终端设备的PPPoE客户端以广播方式发送PADI(PPPOE Active DiscoveryInitiation,PPPoE活动发现发起)报文;BRAS设备收到PADI报文后会回应PADO(PPPOE Active Discovery Offer,PPPoE活动发现提供)报文,以告知其MAC地址;PPPoE客户端收到PADO报文后以单播方式发送PADR(PPPOEActive Discovery Request,PPPoE活动发现请求)报文给BRAS设备,以建立会话请求;BRAS设备收到PADR报文后回应PADS(PPPOE Active DiscoverySession,PPPoE活动发现会话)报文,以表示同意建议会话。此时BRAS设备上已经建立了会话表项,且会话表项中记录了PPPoE客户端对应的MAC地址,本BRAS设备上对应接口的MAC地址以及Session ID(会话标识)。
之后,PPPoE客户端向BRAS设备(其作为RADIUS客户端)发送用户名和密码。BRAS设备根据获取的用户名和密码,向RADIUS服务器发送认证请求包,其中的密码在共享密钥的参与下利用MD5算法进行加密处理。RADIUS服务器对用户名和密码进行认证。如果认证成功,RADIUS服务器向BRAS设备发送认证接受包;RADIUS服务器同时会返回一些用户的信息给BRAS设备,包括用户分配的IP地址方式及信息,还有一些用户的剩余费用信息等。如果认证失败,RADIUS服务器向BRAS设备发送认证拒绝包。由于RADIUS协议合并了认证和授权过程,因此认证接受包中也包含了授权信息。BRAS设备在收到认证接受包时,需要给PPPoE客户端分配IP地址。
在终端设备认证通过后,相应的PPPoE客户端以Session ID为标识发送PPP(Point to Point Protocol,点对点协议)报文,与BRAS设备进行PPP协议通信。具体的,PPPoE客户端通过PPP协议的子协议LCP(Link ControlProtocol,链路控制协议)报文和BRAS设备建立起数据链路层通道,且LCP会进行是否需要认证的协商。如果PPPoE客户端不需要认证或者PPPoE客户端认证通过,则PPPoE客户端和BRAS设备进行NCP(Network ControlProtocol,网络控制协议)报文交互获取IP地址,在此过程中,BRAS设备根据RADIUS服务器认证通过后的信息给PPPoE客户端分配IP地址。
BRAS设备在为PPPoE客户端分配IP地址时,对于具有相同业务控制属性的多个终端设备对应的PPPoE客户端,各PPPoE客户端分配的IP地址应位于指定IP地址集合内,后续以为相应的终端设备分配IP地址为例。
进一步的,在终端设备分配IP地址之后,如图2所示,该业务控制方法包括以下步骤:
步骤201,BRAS设备在终端设备分配IP地址后,如果确定该终端设备的IP地址位于指定IP地址集合内,则将该指定IP地址集合记录到该终端设备对应的Session中,各终端设备对应的Session通过Session ID唯一标识,即Session ID唯一。
其中,RADIUS服务器会将指定IP地址集合的信息通知给BRAS设备,基于此,BRAS设备能够获知终端设备的IP地址是否位于指定IP地址集合内,并在终端设备的IP地址位于指定IP地址集合内时,将指定IP地址集合记录到终端设备对应的Session中。
本发明实施例的一种优选实施方式中,还可以在终端设备上使能允许与其它终端设备共用ACL的功能,对于使能了允许与其它终端设备共用ACL功能的终端设备,当其与其它终端设备具有相同业务控制属性时,该终端设备和其它终端设备分配的IP地址将位于指定IP地址集合内。基于此,BRAS设备将指定IP地址集合记录到终端设备对应的Session中,具体包括:BRAS设备在终端设备分配IP地址之后,判断该终端设备是否使能了允许与其它终端设备共用ACL的功能;如果是,则当该终端设备的IP地址位于指定IP地址集合内时,BRAS设备将该指定IP地址集合记录到该终端设备对应的Session中;否则按照现有方式处理,该处理不再赘述。
步骤202,BRAS设备在收到来自终端设备的报文后,从该报文中提取终端设备对应的Session ID,并通过Session ID查询本地记录的Session。
步骤203,BRAS设备判断该Session ID对应的Session中是否有指定IP地址集合;如果是,则执行步骤204;如果否,则执行步骤205。
步骤204,如果该Session ID对应的Session中有指定IP地址集合,则BRAS设备确定该指定IP地址集合对应的ACL,并通过该指定IP地址集合对应的ACL中所记录的业务控制属性对来自终端设备的报文进行业务控制。
本发明实施例中,BRAS设备上配置有指定IP地址集合对应的ACL,该ACL中至少记录了指定IP地址集合与业务控制属性之间的对应关系,且该业务控制属性为该指定IP地址集合对应的多个终端设备所对应的相同的业务控制属性。例如,终端设备1-终端设备100具有相同的业务控制属性(如:限速2M,且只能访问资源A),其指定IP地址集合为指定IP地址集合1时,该ACL中至少记录了指定IP地址集合1与业务控制属性(如:限速2M,且只能访问资源A)之间的对应关系。
在本发明实施例的一种优选实施方式中,对于IP地址位于指定IP地址集合的终端设备需要进行精确的差异化的业务控制时,BRAS设备在终端设备分配IP地址之后,还需要将该终端设备分配的IP地址记录到该终端设备对应的Session中,并为该客户端的IP地址配置对应的第一类型ACL。基于此,BRAS设备在收到来自终端设备的报文后,从该报文中提取终端设备对应的SessionID,并通过Session ID查询本地记录的Session。之后,BRAS设备判断该报文中的Session ID对应的Session中记录的IP地址是否有对应的第一类型ACL;当Session ID对应的Session中记录的IP地址有对应的第一类型ACL时,BRAS设备通过IP地址对应的第一类型ACL中记录的业务控制属性对来自终端设备的报文进行业务控制,以进行精确的业务控制;当Session ID对应的Session中记录的IP地址没有对应的第一类型ACL时,BRAS设备执行判断该Session ID对应的Session中是否有指定IP地址集合的步骤(即步骤203)以及后续步骤。
步骤205,如果该Session ID对应的Session中没有指定IP地址集合,则BRAS设备利用该Session ID对应的Session中记录的IP地址对应的第二类型ACL中记录的业务控制属性对来自终端设备的报文进行业务控制。
在上述过程中,IP地址对应的第二类型ACL为现有技术中所采用的为每个IP地址配置的对应ACL,在此不再赘述。
综上所述,本发明实施例中,对于具有相同业务控制属性的多个终端设备,通过为该多个终端设备配置位于指定IP地址集合内的IP地址,并配置该指定IP地址集合对应的ACL,从而为多个终端设备使用一条ACL进行业务控制,即使用一条ACL完成多个终端设备的业务控制过程,使得BRAS设备的ACL资源得到极大的节省,并使得BRAS设备能够具备更大的用户规格数。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种宽带远程接入服务器BRAS设备,如图3所示,该BRAS设备包括:
配置模块11,用于配置指定IP地址集合对应的访问控制列表ACL,其中,所述指定IP地址集合的IP地址分配给具有相同业务控制属性的终端设备;
记录模块12,用于在终端设备分配IP地址后,如果确定该终端设备的IP地址位于指定IP地址集合内,则将该指定IP地址集合记录到该终端设备对应的会话Session中,其中Session ID唯一;
查询模块13,用于在收到来自终端设备的报文后,从所述报文中提取终端设备对应的Session ID,并通过所述Session ID查询本地记录的Session;
判断模块14,用于判断所述Session ID对应的Session中是否有指定IP地址集合;
控制模块15,用于当所述Session ID对应的Session中有指定IP地址集合时,确定所述指定IP地址集合对应的ACL,并通过指定IP地址集合对应的ACL中记录的业务控制属性对来自所述终端设备的报文进行业务控制。
所述配置模块11,还用于接收来自认证服务器的具有相同业务控制属性的终端设备应分配IP地址位于的指定IP地址集合的通知,并从指定IP地址集合内选择为具有相同业务控制属性的终端设备分配的IP地址。
所述记录模块12,还用于在终端设备分配IP地址后,将所述终端设备分配的IP地址记录到所述终端设备对应的Session中;
所述判断模块14,还用于在判断所述Session ID对应的Session中是否有指定IP地址集合之前,判断所述报文中的Session ID对应的Session中记录的IP地址是否有对应的第一类型ACL;
所述控制模块15,进一步用于当所述Session ID对应的Session中记录的IP地址有对应的第一类型ACL时,通过所述IP地址对应的第一类型ACL中记录的业务控制属性对来自所述终端设备的报文进行业务控制;当所述Session ID对应的Session中记录的IP地址没有对应的第一类型ACL时,由判断模块执行判断所述Session ID对应的Session中是否有指定IP地址集合的操作。
所述控制模块15,还用于当所述Session ID对应的Session中没有指定IP地址集合时,利用所述Session ID对应的Session中记录的IP地址对应的第二类型ACL中记录的业务控制属性对来自所述终端设备的报文进行业务控制。
所述判断模块14,还用于在终端设备分配IP地址之后,判断所述终端设备是否使能了允许与其它终端设备共用ACL的功能;
所述记录模块12,具体用于在判断结果为使能了允许与其它终端设备共用ACL的功能时,将指定IP地址集合记录到所述终端设备对应的Session中。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。