一种基于第三方设备私有属性的业务实现方法及其装置
技术领域
本发明涉及通信技术领域,尤其涉及一种基于第三方设备私有属性的业务实现方法及其装置。
背景技术
RADIUS(Remote Authentication Dial In User Service,远程认证拨号用户服务)是一种在网络接入设备和认证服务器之间承载认证、授权、计费和配置信息的协议。RADIUS协议为了支持可扩展,定义了Vendor-Specific(厂商私有)属性(属性号为26),该属性允许厂商支持他们的扩展属性,这些属性不是为了通用的用途,它必须不能(MUST not)影响RADIUS协议的操作。如果RADIUS服务器不能解析由客户端发送的厂商私有信息,RADIUS服务器必须(MUST)忽略该属性(但可以指出来),如果客户端没有接收到它想要的厂商私有信息,它应该(SHOULD)试图在没有该属性的情况下继续操作,尽管它们可能在一个被削弱的模式下工作(指出这种情况)。
从上述描述中不难看出,Vendor-Specific属性带来了两个问题。首先,由于Vendor-Specific属性是由设备厂商定义的,属于私有属性,因此RADIUS服务器无法解析该属性;其次,RADIUS服务器不知道在与设备交互的过程中何时下发Vendor-Specific属性信息以及具体下发什么值。基于上述原因,RADIUS服务器基本不支持第三方厂商的Vendor-Specific属性,或在编码阶段将部分厂商的私有属性处理固化在程序中。
在编码阶段,固定支持特定厂商的部分属性的处理方法如下:首先,获取第三方厂商设备的Vendor-Specific属性的协议定义;然后,在程序中加入该类型厂商设备的特殊处理,例如对于指定Vendor-Id的属性如何解析其TLV(Type,Length,Value,类型、长度和值)结构,或者在特定的报文处理阶段给第三方接入层AAA(Authentication,Authorization and Accounting,认证授权和计费)设备下发指定Vendor-Id的特定值。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
由于第三方厂商的Vendor-Specific属性一般不对外公开,并且接入设备具有不确定性,且第三方厂商的Vendor-Specific属性协议可能改变,因此,固化在程序中处理显然非常不灵活。另外,上述方案只能下发特定的值给接入设备而无法适应用户最终的组网环境。由此可见,现有技术无法在根本上支持第三方厂商的Vendor-Specific属性。
发明内容
本发明提供了一种基于第三方设备私有属性的业务实现方法及其装置,用以实现基于配置方式实现对第三方设备私有属性的自适应处理。
本发明提供的基于第三方设备私有属性的业务实现方法,包括:
在RADIUS服务器上配置第三方设备IP地址与该设备所属的第三方设备厂商的对应关系,第三方设备厂商的私有属性解析规则,以及配置第三方设备私有属性下发策略;
当RADIUS服务器接收到来自于第三方设备的接入请求报文后,根据该第三方设备的IP地址确定所属的第三方设备厂商,根据该第三方设备厂商的私有属性解析规则解析该报文中携带的私有属性信息,并根据解析出的私有属性信息进行相应处理;
当RADIUS服务器向所述第三方设备返回接入响应报文时,根据第三方设备私有属性下发策略确定需要下发的私有属性值,并将该私有属性值携带于接入响应报文发送给所述第三方设备。
本发明提供的RADIUS服务器,包括:
解析规则配置模块,用于配置第三方设备IP地址与该设备所属的第三方设备厂商的对应关系,第三方设备厂商的私有属性解析规则;
下发策略配置模块,用于配置第三方设备私有属性下发策略;
业务处理模块,用于接收到来自于第三方设备的接入请求报文后,根据该第三方设备的IP地址确定所属的第三方设备厂商,根据该第三方设备厂商的私有属性解析规则解析该报文中携带的私有属性信息,并根据解析出的私有属性信息进行相应处理;以及,当向第三方设备返回接入响应报文时,根据第三方设备私有属性下发策略确定需要下发的私有属性值,并将该私有属性值携带于接入响应报文发送给所述第三方设备。
本发明的有益技术效果包括:
本发明以信息配置方式在RADIUS服务器上配置第三方设备厂商的私有属性解析规则以及第三方设备私有属性下发策略。这样,当RADIUS服务器接收到来自于第三方设备的接入请求报文后,就可以根据第三方设备厂商的私有属性解析规则解析该报文中携带的私有属性信息,并根据解析出的私有属性信息进行相应处理;当RADIUS服务器向第三方设备返回接入响应报文时,根据第三方设备私有属性下发策略确定需要下发的私有属性值,并将该私有属性值携带于接入响应报文发送给所述第三方接入设备,从而实现了基于配置方式实现对第三方设备私有属性的自适应处理。与现有技术将第三方设备协议固化在程序中相比,提高了处理灵活性。
附图说明
图1为本发明实施例中的私有属性下发策略示意图;
图2为本发明实施例提供的基于第三方设备私有属性的业务实现流程示意图;
图3为本发明实施例提供的RADIUS服务器的结构示意图。
具体实施方式
针对现有技术存在的问题,本发明实施例提供一种自适应第三方AAA设备私有属性的技术方案,只需要进行简单的配置就可以使RADIUS服务器能够正确的解析第三方接入设备上报的私有属性(Vendor-Specific属性),而且还可以根据组网、应用环境或应用场景等情况,给第三方AAA设备下发私有属性。
为了使RADIUS服务器能够解析第三方AAA设备上报的私有属性值,本发明实施例在RADIUS服务器上以配置信息的方式配置以下信息:设备IP地址与该设备所属的第三方设备厂商的对应关系,以及第三方设备厂商自定义的私有属性及其解析规则,这样,RADIUS服务器可以根据接收到的报文的源IP地址确定该报文的来源,即来自于哪个第三方设备厂商,从而可以根据该第三方设备厂商的私有属性以及私有属性解析规则,解析该报文中携带的私有属性值,并进而根据解析出的私有属性值进行相应处理。
具体实现时,可针对每一第三方设备厂商,在RADIUS服务器上配置如下配置信息:
(1)第三方设备厂商表
第三方设备厂商表用于描述第三方设备厂商的基本信息等相关描述信息。如表1所示,其中可包括厂商标识(厂商ID),还可进一步包括:厂商名称、厂商简称、厂商描述、设备类型等字段。其中,设备类型字段值用于描述该设备厂商的设备类型,如General(通用)。
表1、第三方设备厂商表
厂商ID |
2011 |
厂商名称 |
×××× |
厂商简称 |
×× |
厂商描述 |
×××××× |
设备类型 |
General |
(2)第三方设备厂商私有属性表
第三方设备厂商私有属性表用于描述第三方设备厂商的私有属性描述信息和解析规则,可通过厂商ID与对应的设备厂商表关联。如表2所示,其中可包括属性标识(属性ID)、属性名称、属性类型和描述等字段。其中,属性类型用于描述属性值的数据类型,如,字符串型,描述字段值用于描述相应属性值的含义。通过私有属性表,定义了各私有属性的解析规则。
表2、第三方设备厂商私有属性表
属性ID |
属性名称 |
属性类型 |
描述 |
101 |
ACCT-NAME |
字符串型(长度≤247字节) |
计算机名称 |
102 |
SSD |
无符号整型(≤4294967295) |
SSID |
103 |
CUR-TIME |
时间型 |
当前时间 |
104 |
PATCH-SERVER |
IPv4地址 |
补丁服务器地址 |
(3)第三方设备表
第三方设备表用于描述第三方设备厂商的设备属性信息。如表3所示,其中可包括:设备IP地址、设备厂商(和类型),还可进一步包括:设备型号、组网方式、业务分组等字段。其中,设备厂商字段值可以是该设备所属的设备厂商的厂商ID或厂商名称,还可以进一步包括设备类型;组网方式字段值可以用来描述是否启用混合组网,业务分组字段值可以用来描述该设备是否进行了分组设置。
表3、第三方设备表
基于上述配置,RADIUS服务器在处理第三方AAA设备上报的私有属性时,根据接入设备的IP地址,通过查询第三方设备表,确定与该IP地址对应的第三方设备厂商的标识或名称,根据该第三方设备厂商的标识或名称,获取与其关联的第三方设备厂商私有属性表,并根据该第三方设备厂商私有属性表所定义的解析规则解析该报文中携带的私有属性信息,从而保证业务的正常运行。
为了使RADIUS服务器能够给第三方AAA设备下发私有属性值,本发明实施例在RADIUS服务器上以配置信息的方式,针对第三方设备厂商配置私有属性值及其下发策略,这样,RADIUS服务器可以根据私有属性下发策略向第三方接入设备下发相应的私有属性值。
本发明实施例中可针对每一第三方设备厂商或每一第三方厂商的每一设备类型配置私有属性值及其下发策略,私有属性下发策略的配置依据可包括但不限于:业务处理阶段、业务处理结果、接入区域、发起业务请求的时间段等。例如,根据业务处理阶段和业务处理结果配置ACCESS-VLAN(接入虚拟局域网)属性下发策略可以是:在认证阶段认证成功的情况下下发VLAN1,在认证阶段认证拒绝的情况下下发VLAN2。
具体实施时,如图1所示,可根据业务处理阶段和业务处理结果,在RADIUS服务器上配置ACCESS-VLAN属性下发策略。其中,私有属性下发策略的名称为ATTR-POLICY,对于设备厂商A的General类型设备,该下发策略具体配置为:属性名称为ACCESS-ACL(属性号为100),属性值的数据类型为无符号整型,该属性值的内容为ACL编号,在认证阶段认证成功时下发属性值2000,在认证拒绝时下发属性值2001。对于设备厂商B的General类型设备,该下发策略具体配置为:属性名称为ACCESS-VLAN(88),属性值的数据类型为字符串型,该属性值的内容为VLAN编号,在认证阶段认证成功时下发属性值1,在认证拒绝时下发属性值2。这样,RADIUS服务器可根据当前业务所处阶段和处理结果,采用对应的私有属性下发策略下发私有属性值。
进一步的,还可以引入接入区域的限制。可在根据业务处理阶段和业务处理结果所配置的私有属性下发策略(名称为ATTR-POLICY和ziz-attr-policy)的基础上,再额外根据接入用户所在区域,在RADIUS服务器上配置私有属性下发策略。如图2所示,对于在接入区A接入,则根据名称为ATTR-POLICY的私有属性下发策略下发私有属性值,对于在接入区B接入,则根据名称为ziz-attr-policy的私有属性下发策略下发私有属性。这样,RADIUS服务器可首先根据接入请求发起者所在的业务接入区域确定对应的私有属性下发策略名称(其中,可根据接入请求的源IP地址确定其所述的地址段,进而确定发起者所在的业务接入区域),再根据对应的属性下发策略以及业务当前所处的阶段和处理结果下发对应的私有属性值。
进一步的,还可以引入权限限制。可在根据业务处理阶段和业务处理结果所配置ACCESS-VLAN属性下发策略的基础上,再额外根据接入用户发起接入请求所处的时间段,在RADIUS服务器上配置用户权限属性下发策略。例如,如果用户在8:30-18:00的工作时间发起接入请求以请求接入网络,则RADIUS服务器下发用于指示不允许访问外网权限的属性值,如果在18:00-8:30非工作时间发起请求以请求访问网络,则RADIUS服务器下发用于指示允许访问外网权限的属性值。这样,RADIUS服务器可一方面根据业务处理阶段和业务处理结果下发ACCESS-VLAN属性值,另一方面根据发起接入请求所处的时间段下发用户权限属性值。
通过以上描述可以看出,本发明实施例可实现在根据业务处理所处阶段和处理结果的基础上,基于接入位置和场景(如所处时间段)进行私有属性下发私有属性值。对于特定的私有属性,RADIUS服务器可根据用户所处的区域和场景来决定下发何值,灵活可变的下发值可以使RADIUS服务器无缝的适配第三方的私有属性就像支持标准的RADIUS协议一样。
参见图2,为本发明实施例提供的基于第三方私有属性的业务实现流程示意图。该流程基于上述配置,实现了RADIUS服务器解析第三方设备私有属性值以及根据私有属性下发策略下发私有属性值的过程。如图所示,RADIUS服务器上事先进行了上述配置(包括第三方设备IP地址与该设备所属的第三方设备厂商的对应关系,以及第三方设备厂商的私有属性及其解析规则,以及私有属性下发策略),该流程可包括:
步骤201,RADIUS服务器接收到第三方AAA设备发送的接入请求报文后,解析得到该第三方AAA设备的IP地址。
步骤202,RADIUS服务器根据其上的配置信息,确定与该第三方AAA设备的IP地址对应的第三方设备厂商(即该第三方设备所属的设备厂商),读取该设备厂商的私有属性解析规则,并根据该私有属性解析规则解析该报文中携带的私有属性值。
步骤203,RADIUS服务器进行常规接入处理,并可进一步根据解析出的私有属性值进行相应处理。
步骤204,RADIUS服务器根据私有属性下发策略确定需要下发给该第三方AAA设备的私有属性值,并将该私有属性值携带于接入响应报文返回给该第三方AAA设备。
具体实施时,由于每一种私有属性都可配置有各自的属性下发策略,因此在第三方AAA设备所属的设备厂商拥有多种私有属性且需要下发其中的全部或部分私有属性值时,可根据每一种待下发的私有属性分别获取对应的私有属性下发策略,并分别确定下发的私有属性值。又由于可根据不同的因素下发私有属性值,如一方面可根据用户所在接入区域,另一方面根据业务处理阶段和处理结果下发ACCESS-VLAN属性值,则需要针对这种情况,预先在RADIUS服务器上配置策略处理逻辑,如先根据用户所在的接入区域确定所使用的策略名称,再通过该策略名称索引到对应的策略,根据该策略以及结合当前的业务处理阶段(可根据当前报文的类型确定,如报文为认证报文或认证响应报文,则处于认证阶段)和处理结果(如认证成功或拒绝)下发ACCESS-VLAN属性值。
通过以上描述可以看出,本发明实施例使RADIUS服务器在无法预知第三方AAA设备私有属性协议的情况下,只需要通过简单的配置就可以实现对第三方AAA设备的支持,解决了将处理固化在程序中只能支持部分第三方AAA设备,第三方私有属性协议改变时需要升级RADIUS服务器的问题;同时,可根据不同的情况配置不同的私有属性值下发策略,从而在不同的阶段下发不同的私有属性值;此外,基于接入位置的下发策略使管理员可以根据组网情况更加灵活的实现相应的业务。
当网络中的第三方AAA设备发生改变,或者第三方的私有属性协议发生变更时,只需要修改相应的接入设备类型配置即可;如果实际组网环境变化时,只需要修改下发策略和接入区域对应的下发策略即可。这样,RADIUS服务器自学习第三方AAA设备的配置规则,并且通过基于不同认证阶段、用户接入位置和用户接入场景下发第三方AAA设备的私有属性值,可以实现无缝支持第三方AAA设备私有属性的功能,从而支持第三方私有属性扩展的业务,最大化的实现客户的价值和利益。
基于相同的技术构思,本发明实施例还提供了一种可应用于上述流程的RADIUS服务器。
参见图3,为本发明实施例提供的RADIUS服务器的结构示意图,如图所示,该RADIUS服务器可包括:
解析规则配置模块301,用于配置第三方设备IP地址与该设备所属的第三方设备厂商的对应关系,第三方设备厂商的私有属性解析规则;
下发策略配置模块302,用于配置第三方设备私有属性下发策略;
业务处理模块303,用于接收到来自于第三方设备的接入请求报文后,根据该第三方设备的IP地址确定所属的第三方设备厂商,根据该第三方设备厂商的私有属性解析规则解析该报文中携带的私有属性信息,并根据解析出的私有属性信息进行相应处理;以及,当向第三方设备返回接入响应报文时,根据第三方设备私有属性下发策略确定需要下发的私有属性值,并将该私有属性值携带于接入响应报文发送给所述第三方设备。
上述RADIUS服务器中,解析规则配置模块301具体用于:配置第三方设备厂商表,其中包括厂商标识或名称;配置第三方设备厂商私有属性表,其中包括属性标识、属性名称、属性值的数据类型和属性描述,所述第三方设备厂商私有属性表通过厂商标识或名称与所述第三方设备厂商表关联;以及,配置第三方设备表,其中包括第三方设备IP地址,以及所属的第三方设备厂商的标识或名称。
上述RADIUS服务器中,业务处理模块303具体用于:根据接入设备的IP地址,通过查询所述第三方设备表,确定与该IP地址对应的第三方设备厂商的标识或名称;根据该第三方设备厂商的标识或名称,获取与其关联的第三方设备厂商私有属性表,并根据该第三方设备厂商私有属性表解析该报文中携带的私有属性信息。
上述RADIUS服务器中,下发策略配置模块302可根据以下依据之一或任意组合,配置第三方设备私有属性下发策略:业务处理所处阶段和业务处理结果、接入请求报文发起者所处的接入区域,发起接入请求报文所处的时间段。
上述RADIUS服务器中,下发策略配置模块302可根据业务处理所处阶段和业务处理结果,配置第三方设备基于业务处理的私有属性下发策略,并为其定义策略名称;根据接入区域,配置相应区域对应的基于业务处理的私有属性下发策略名称;业务处理模块303可获取接入请求报文发起者所处的接入区域,根据该接入区域确定对应的基于业务处理的私有属性下发策略名称,根据该私有属性下发策略名称确定对应的私有属性下发策略,并结合当前业务处理所处阶段和业务处理结果,确定对应的私有属性值。
上述RADIUS服务器中,下发策略模块302可在认证处理阶段,若认证成功,则下发第一访问控制列表ACL的标识或第一虚拟局域网VLAN的标识,若认证拒绝,则下发第二ACL的标识或第二VLAN的标识。
上述RADIUS服务器中,下发策略模块302具体用于:对于在第一时间段内发起的接入请求,配置允许访问外网权限的属性值;对于在第二时间段内发起的接入请求,配置不允许访问外网权限的属性值。
上述RADIUS服务器中,业务处理模块303具体用于:若有多个私有属性待下发,则分别根据待下发的私有属性各自对应的下发策略,确定相应的私有属性值。
需要说明的是,以上实施例以第三方接入层设备为AAA设备为例进行描述,事实上,以上实施例对于第三方设备长城的其它类型的接入层设备同样适用。另外,本发明实施例不限于RADIUS服务器,采用其它协议的认证设备,或者是任何业务处理设备,都可适用本发明实施例。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。