具体实施方式
以下,参考附图说明本发明的实施例。
图1表示适用本发明的接入服务器的网络结构的第1实施例。
图1中,1表示连接了多个用户终端30(30-1、30-2、…)的用户接入网,2表示因特网服务提供商(ISP)网,3表示连接到ISP网2的因特网。用户接入网1例如由公共电话交换网、ADSL和FTTH等宽带网构成。ISP网2连接有认证服务器10、和管理统计信息的计费服务器20。另外,在因特网3连接有用户利用的各种信息服务用的服务器7(7-1、7-2、…)。
用户终端30(30-1、30-2、…)是属于因特网服务提供商的用户终端,经用户接入网1和接入服务器4连接到ISP因特网服务提供商网2。在用户终端30和接入服务器4之间,采用PPP,用于用户终端使用的链路建立、用户认证以及IP地址分配的协议。PPP在直接连接到用户接入网1的用户终端30-1的场合下,将用户终端30-1作为终端,在例如经家庭用路由器6连接到用户接入网1的用户终端30-2的场合下,将路由器6作为终端。
图2表示图1所示的网络中,用户终端30-1和因特网3上的目的服务器7经接入服务器4通信所需的主信号系列传送协议栈的一例。
由于用户终端30-1利用PPP与接入服务器4连接,所以在用户终端30-1的协议栈500和接入服务器4的协议栈501存在PPP协议栈。比PPP低级的协议栈根据用户接入网1的链路层类型而不同。图中,作为1例,表示链路层为以太网(Ethernet:注册商标名)的场合。从接入服务器4至目的服务器7,如协议栈502、503所示,按照IPv4/IPv6(IPv4协议或IPv6协议)传送。
图3表示用户认证信息、统计信息(计费信息)及其收集条件等控制信息的通信所需的控制类传送协议栈的一例。
如协议栈504、505所示,在用户终端30-1和接入服务器4之间,控制信息利用PPP协议进行通信。另一方面,在接入服务器4与ISP网的认证服务器10、计费服务器20之间,如协议栈506、507所示,控制信息利用RADIUS协议进行通信。如后所述,RADIUS协议中规定了RADIUS属性(属性值),认证服务器10和计费服务器20通过对信息包的数据部分(负载部分)赋予分别所需的属性,与接入服务器4之间收发认证处理以及统计信息收集(计费处理)所需的控制信息。
图4是表示接入服务器4的硬件结构的一例的框图。
接入服务器4由控制服务器整体的控制处理单元44、将信息包输出给规定线路的开关43、对处理数据链路层及其上级层上的IP协议进行处理的多个协议单元42(42-1~42-n)、和分别具有对应连接线路种类的物理层终端功能的多个线路接口(IF)41(41-1A~41-nB)构成。在此,线路接口41-1A、41-2A、…41-nA表示输入线路用的接口,线路接口41-1B、41-2B、…41-nB表示输出线路用的接口。
图5是表示控制接入服务器4的控制处理单元44的一实施例的框图。
控制处理单元44由存储器50、数据处理器(CPU)441、用于与设置在外部的控制终端通信的控制终端接口(CL1:Command LineInterface)442、用于与协议处理单元42通信的协议处理单元接口443、以及用于与开关43通信的SW接口444构成。CPU441执行存储器50中存储的后述的各种程序。
存储器50作为有关本发明的程序存储有例如CLI(CL1:Command Line Interface)处理程序51、路由协议处理程序52、警报监视处理程序53、PPP协议处理程序54、RADIUS协议处理程序57,此外,形成有PPP用户管理表55和会话管理表56。
CLI处理程序51是为了控制接入服务器4,系统管理者处理从未图示的控制终端输入到CLI442的控制命令的程序。路由协议处理程序52是各路由协议处理单元42处理将来自线路接口41的输入信息包传送给对应目的地址的其他任一线路接口时所需的路由信息的程序。利用上述路由协议处理程序52,在各程序处理单元42具有的IPv4用或IPv6用的路由表(未图示)设定系统管理者指定的路由信息。
各程序处理单元42参考上述路由表对接收信息包进行路由处理。即,各输入线路接口41-iA(i=1~n)从网络接收的信息包,在协议处理单元42-iA例如附加了含有对应信息包头的目的地址的路由信息的内部头之后,传送给开关43。PPP协议处理以及RADIUS协议处理所需的信息传送给控制处理单元44。开关43将来自各协议处理单元42的输入信息包按照内部头所示的路由信息传送给其他某个协议处理单元。各协议处理单元42-j(j=1~n)从来自开关43的信息包中去除内部头,将该信息包输出给输出线路接口41-jB。
警报监视处理程序53是监视接入服务器4的内部产生的警报信息,响应警报信息进行工作的程序。另外,处理PPP协议信号的PPP协议处理程序54与协议处理单元42一起,按照与RFC1332、RFC1661、RFC1994、RFC2472、RFC2516等PPP有关的RFC,执行如PPP终端处理、LCP(Link Control Protocol)处理、PAP(PasswordAuthentication Protocol)、CHAP(Challenge Handshake AuthenticationProtocol)等认证处理、IPCP(Internet Protocol Control Protocol)、IPv6CP等NCP处理的IP层、IPv6层的处理。
RADIUS协议处理程序57处理RFC2138、RFC2139、RFC2865、RFC2866、RFC3162等整个RADIUS协议,在PPP认证时,与PPP协议处理程序54一起,向认证服务器10传送用户ID和口令等信息。
在用户认证成功了时,认证服务器10将作为与认证的用户有关的属性信息,例如该用户应使用的IP地址等网络设定条件,通知给接入服务器4。接入服务器4到PPP会话释放为止的期间,将与认证服务器10通知的各用户有关的属性信息存储在PPP用户管理表55。
若认证成功了的用户终端30与接入服务器4之间建立LCP会话,则接入服务器4开始统计信息(计费信息)的收集处理。作为统计信息需要按各LCP会话、各NCP会话收集连接时间、信息包通过量等信息。本发明中,在LCP和NCP的新会话建立了时,在会话管理表56生成具有新会话标识符的入口,在该入口管理连接时间和信息包通过量等统计信息。以后说明较好的会话标识符的生成方法。
接入服务器4一确认PPP用户建立LCP会话,PADIUS协议处理程序57就生成计费(收集统计信息)处理的开始请求信息包,将该信息包发送给计费服务器20。PPP用户在NCP或LCP会话释放了时,接入服务器4用PADIUS协议处理程序57生成释放会话的计费处理结束请求信息包,并将该信息包发送给计费服务器20。
接入服务器4在会话管理表56存储PPP会话继续期间收集的统计信息,利用会话释放时生成的上述计费处理结束请求信息包,将统计信息通知给计费服务器20。但是,作为定期或网络产生/恢复阻塞或障碍等的事件为契机,也可以用RADIUS协议处理程序57生成表示统计信息的当前值的中间计数信息包,将该信息包发送给计费服务器20。统计信息通过对发送信息包的数据部分设定RADIUS协议规定的RADIUS属性,可以收发任意种类的信息。
下面,参考图6~图11说明本发明的接入服务器4的工作。
图6表示从用户终端30(PPP用户)接收数据链路的建立请求至释放PPP会话为止的期间的接入服务器4的工作。
接入服务器4一从用户终端30或路由器6接收PPP连接请求,就与用户终端之间执行数据链路(PPP会话)的建立次序和LCP协商(步骤100),等待来自用户终端的认证请求。一从用户终端接收到认证请求,RADIUS协议处理单元57就生成发送给认证服务器10的认证请求信息包,将该信息包发送给认证服务器10,等待来自认证服务器10的响应(102)。在认证失败了时,拒绝会话连接并结束该程序(114)。在认证成功了时,在PPP用户管理表55生成与PPP用户对应的新入口。
图8示出PPP用户管理表55的一例。在此所示的例子中,PPP用户管理表55的各入口550(550-1、550-2、550-3、…)由表示用户名(用户ID)字段551、表示提供给用户的IPv4地址的Framed IPAddress字段552、表示提供给用户的IPv6前缀的Framed IP Prefix字段553构成。由于PPP协商有可能根据用户而在不同的网络条件下设定,所以PPP用户管理表55的各入口不限于对上述所有字段进行数据注册。另外,还有在表入口追加551~553以外的其他字段的场合。
接入服务器4在PPP用户管理表55追加了新入口之后,生成LCP会话用的ID(104),在会话管理表56追加具有该LCP会话ID的新入口(105)。在建立PPP会话时生成的LCP用会话ID成为与已经建立的其他PPP会话的LCP会话ID不同的唯一值。
图9表示会话管理表56的一例。
会话管理表56的各入口560(560-1、560-2、560-3、…)由会话ID字段561、用户名字段562、表示在LCP会话上适用的网络层协议的NCP字段563、表示会话的连接开始时刻的字段564、统计信息的计数字段构成。在此所示的例子中,统计信息的计数字段包含输入信息包计数字段565a、和输出信息包计数字段565b。建立LCP会话时生成的入口中,例如如入口560-1所示,NCP字段563成为空栏。
接入服务器4在会话管理表56追加了入口之后,开始测定LCP会话的统计信息(106)。LCP用的统计信息由于NCP563是不特定的,所以将PPP上的所有NCP作为对象测定统计数据。该测定在成为PPP的终端点的协议处理电路42-i进行,在此测定的统计数据定期地被会话管理表56收集。
接入服务器4在建立了LCP会话之后,向计费服务器20发送请求开始LCP会话地统计处理的计费开始请求信息包(107)。在上述计费开始请求信息包(Accounting-Request[start])中,作为RADIUS的属性,例如包含表示用于识别成为因特网连接请求源的用户终端30的用户名的User-Name属性、表示分配给用户终端的IP地址的Framed-IP-Address属性、表示请求的信息包种类(区别计费开始、计费结束、中间计数)的Acct-Status-Type属性、用于识别用户终端和接入服务器之间的数据链路(LCP会话)的Acct-Session-ID属性。
在计费开始请求信息包的Acct-Status-Type属性设定有表示计费处理的开始请求的start(1)代码。对Acct-Session-ID属性分配LCP用会话ID即可,从PPP用户管理表55取得User-Name属性、Framed-IP-Address属性等设定值。
链路层的所有处理一结束,接入服务器4就为了任何时候都能够开放(open)网络层协议,将该PPP会话转移到网络层协议阶段(108)。以后参考图7说明网络层协议阶段的工作。接入服务器4只要不发生线路切断请求或线路强制切断等事件,就维持网络层协议阶段。一发生线路切断请求或线路强制切断事件,就转移到以下说明的链路结束阶段。
一转移到链路结束阶段,接入服务器4就结束LCP会话用的统计信息的测定,从与释放的LCP会话(PPP)对应的协议处理电路42-i将相应的统计信息收集到会话管理表56(110)。接着,生成包含统计信息的计费结束请求信息包(Accounting-Request[stop]),将该信息包发送给计费服务器20(111)。以后说明上述计费结束信息包的具体格式。
发送了计费结束请求信息包之后,接入服务器4从会话管理表56删除与上述释放LCP会话相应的入口(112),从PPP用户管理表55删除与上述释放LCP会话相应的用户入口(113),结束该程序。
下面,参考图7说明转移到网络层协议(NCP)阶段(108)的接入服务器4的工作。
在网络层协议阶段可以随时建立任意NCP。接入服务器4监视来自用户终端30的NCP的open请求(120),在有open请求时,生成NCP用的新会话ID(121)。NCP用的会话ID对于每个同一PPP上形成的NCP会话来说是唯一值。上述会话ID的值不仅与其他种类的NCP的会话ID不同,即使是用同一NCP建立的会话,一旦释放会话,之后再次建立了会话时,为了可以将该会话识别为另一会话,对每个会话设定不同值。
接入服务器4生成具有上述会话ID的新入口(entry),追加到会话管理表56(122),开始收集NCP会话用的统计信息(123)。在此生成的表入口与在LCP会话建立时生成的入口560-1不同,例如入口560-2、560-3所示,在NCP字段563包含“IPCP”和“IPv6CP”等的适用NCP的识别信息。
NCP会话用的统计信息的测定中,将会话管理表56指定的特定NCP作为对象,测定各用户的通信统计信息。该测定与LCP会话用的统计信息同样,在成为PPP的终端点的协议处理电路42-i进行,将在此测定的统计数据定期地收集到会话管理表56的计数字段。
接入服务器4在利用NCP建立了会话的时刻,向计费服务器20发送计费开始请求信息包(124)。在此发送的计费开始请求信息包(Accounting request[start])除了包含在开始测定LCP用统计信息时,在图6的步骤107发送的计费开始请求信息包的RADIUS属性之外,例如还包含如表示用IPCP分配给用户终端的IP地址的Framed-IP-Address属性,表示适用NCP的用户分配信息的属性。
在此,确定成为用户终端和接入服务器之间的PPP会话的标识符的Acct-Session-ID属性的设定值需要一定的工夫。这是因为在RADIUS服务器中,利用计费开始请求信息包的信源接入服务器的IP地址和Acct-Session-ID属性表示的PPP会话标识符,识别计费请求信息包。从而,如上所述,若将NCP用会话ID和LCP用会话ID设为不同的值,则在计费服务器20侧,可以将在步骤108发送的请求信息包和在步骤124发送的请求信息包,作为不同的计费开始请求信息包进行处理。但是,在此,计费服务器20难以对LCP会话和在其上被复用的NCP会话进行关联。
图10表示使NCP用的会话ID和LCP用的会话ID可以关联的Acct-Session-ID607的一例。
RFC规定中,作为Acct-Session-ID用的文字,可以使用数字以外的字母表,文字数目没有限制。因此,如图10所示,若作为Acct-Session-ID607适用由LCP会话ID641、NCP标识符642、NCP会话ID643、和其他标识符644的组合构成的文字列,则在计费服务器20处理统计信息时,可以从赋予NCP会话的计费开始请求信息包的Acct-Session-ID对该NCP会话和LCP会话进行关联。
返回图7,发送了计费开始请求信息包的接入服务器4等待从用户终端接收NCP闭合请求(125),在接收到闭合请求时,对相应的协议处理电路42-i指示NCP用统计信息的测定结束,在会话管理表56收集闭合的NCP的统计信息(126)。接入服务器4生成含有上述NCP的统计信息的计费结束请求信息包,将该信息包发送给计费服务器20(127)之后,从会话管理表56删除与上述闭合的NCP对应的表入口(128)。在此,检查数据链路有无释放(129),若数据链路没有释放,则返回步骤120,等待新NCP的open请求(120)。
若数据链路被释放,则结束网络层协议(NCP)阶段,执行图6所示的步骤109以后的处理。另外,也可以是接入服务器4发送了计费开始请求信息包(124)之后,定期生成中间计数用的信息包,将最新的统计信息通知给计费服务器。
图11表示IPv4的计费结束请求信息包(Accounting-Request[stop])600A的格式的一例。
IPv4用的计费结束请求信息包600A由IP头601、UDP头602、表示该信息包为计费处理用的请求信息包的RADIUS识别代码字段603、紧接其后的RADIUS属性区域构成。在此,在RADIUS属性区域记述的各属性的括号内的数字表示RFC规定的属性类型的值。
在IPv4用的计费结束请求信息包600A的属性区域中,包含:表示成为因特网连接请求源的用户终端的识别信息的用户名的User-Name属性604、表示分配给用户的IPv4地址的Framed-IP-Address属性605A、表示计费请求信息包的种类代码、计费结束时表示stop(2)的Acct-Status-Type属性606、会话识别用的Acct-Session-ID属性607、表示会话的持续时间的Acct-Session-Time属性608、表示会话的结束原因的属性609、表示输入输出数据量的Acct-Input-Octets属性610、Acct-Output-Octets属性611、Acct-Input-Packets属性612、Acct-Output-Packets属性613、Acct-Input-Gigawords属性614、Acct-Output-Gigawords属性615。输入输出数据量等的统计信息都成为与IPv4有关的信息。
另外,在LCP用的统计信息测定结束时发送的计费结束请求信息包中,Acct-Session-ID属性607、Acct-Session-Time属性608、会话的结束原因属性609分别表示结束的PPP会话的标识符、持续时间、结束原因,表示输入输出数据量的属性610~615都表示上述PPP会话的测定值。另一方面,在NCP用的统计信息测定结束时发送的计费结束请求信息包中,Acct-Session-ID属性607、Acct-Session-Time属性608、会话的结束原因属性609分别表示结束的NCP,例如IPCP用的会话的标识符、持续时间、结束原因,表示输入输出数据量的属性610~615都表示上述NCP会话的测定值。
图12表示IPv6用的计费结束请求信息包600B的格式的一例。
IPv6用的计费结束信息包600B也由IP头601、UDP头602、RADIUS识别代码字段603、紧接其后的RADIUS属性区域构成,在RADIUS属性区域包含与IPv4用的计费结束信息包600A相同的属性。但是,代替Framed-IP-Address属性605A,包含分配给用户的IPv6前缀的Framed-IPv6-Presix属性606B,输入输出量等统计信息都成为有关IPv6的信息。
另外,在NCP用的统计信息测定结束时发送的IPv6用的计费结束请求信息包中,Acct-Session-ID属性607、Acct-Session-Time属性608、会话的结束原因属性609分别表示结束的NCP,例如IPv6CP用的会话的标识符、持续时间、结束原因,表示输入输出数据量的属性610~615都表示上述NCP会话的测定值。
图13和图14是表示图1所示的系统结构的从用户终端30(30-1、30-2)对因特网3的连接次序、和接入服务器4的统计信息(计费信息)的收集次序的时序图。
图13表示用户终端30在数据链路(PPP会话)上建立采用IPv4的IPCP的会话和采用IPv6的IPv6CP的会话,经ISP网2与因特网3侧的服务器进行数据通信时的时序。但是,在此为了简化说明,只表示有关本发明的主要时序,没有准确表示实际应用中的用户终端30与接入服务器4、接入服务器4与计费服务器20之间通信的所有会话。
用户终端30与接入服务器4之间建立了数据链路(S40)之后,进行LCP协商(S41)。数据链路(PPP会话)通过以下处理来建立,即,用户终端30例如执行RFC2516所示的PPPoE的初始化处理,连接到上述用户终端30的接入服务器4的协议处理电路42-i执行PPPoE的初始化处理,控制处理单元44执行PPP协议处理程序54。PPP会话一建立,接入服务器4的控制处理单元44就与用户终端30之间执行LCP的协商,设定链路层(S41)。
接入服务器4响应来自用户终端30的认证请求(S42),例如按照RFC1994所示的CHAP(Challenge Handshake AuthenticationProtocol),向认证服务器10请求用户认证(S43)。具体说来,接入服务器4的控制处理单元44执行RADIUS协议处理程序57,将表示用户名和口令的认证请求(Access-Request)信息包发送给认证服务器10。
认证服务器10根据上述认证请求信息包所示的口令是否预先已对应用户名进行注册,判断用户终端30是否可以连接ISP网2,将判断结果通知给接入服务器4(S44)。用户认证成功了时,接入服务器4向用户终端30发送表示认证成功的响应信息包(S45),如图6的步骤103~106中所述,在会话管理表生成LCP用表入口,开始了LCP用统计信息的测定之后,向计费服务器20发送统计信息收集(LCP计费处理)的开始请求信息包(Accounting-Request[start])(S46)。计费服务器20按照上述开始请求信息包所示的用户名,确认在计费信息数据库有无计费信息管理记录,接着,整理从接入服务器4发来的统计信息的准备记录,回复计费确认响应信息包(Accounting-Request)(S47)。
接入服务器4发送了LCP计费开始请求之后,转移到图7所述的网络层协议阶段,成为等待来自用户终端的NCP的open请求的状态。本实施例中,假设接收了认证成功的响应信息包(S45)的用户终端30首先发送了对应IPv4的IPCP的open请求的场合。
接入服务器4一接收上述IPCP(IPv4)的open请求,就与用户终端30之间进行NCP协商(S50)。协商一成功,接入服务器4如图7的步骤121~123所述,在会话管理表生成NCP(IPCP)用的表入口,开始了NCP用统计信息的收集之后,向计费服务器20发送IPv4统计信息收集(IPv4计费处理)的开始请求信息包(Accounting-Request[start])(S51)。计费服务器20确认在计费信息数据库有无计费信息管理记录,准备统计信息的记录,回复计费确认响应信息包(Accounting-Response)(S52)。
用户终端30在NCP协商(S50)一完成,就成为经ISP网2与因特网3侧的服务器利用IPv4协议的数据通信状态(S53)。本实施例中,假设用户终端维持了上述IPv4协议的数据通信状态的情况下,发送了IPv6CP的open请求的场合。
接入服务器4一接收上述IPv6CP的open请求,就与用户终端30之间进行NCP协商(S60)。若协商成功,则接入服务器4如图7的步骤121~123中所述,在会话管理表生成NCP(IPv6CP)用的表入口,开始了NCP用统计信息的收集之后,向计费服务器20发送IPv6统计信息收集(IPv6计费处理)的开始请求信息包(Accounting-Request[start])(S61)。计费服务器20与IPv4计费处理的开始请求时同样,确认在计费信息数据库有无计费信息管理记录,整理统计信息的记录准备,回复计费确认响应信息包(Accounting-Request)(S62)。
用户终端30在NCP协商(S60)一完成,就成为经ISP网2与因特网3侧的服务器利用IPv6协议的数据通信状态(S63)。
图14表示NCP会话以及因特网连接结束时的时序。
用IPv4、IPv6成为数据通信状态(S53、S63)的用户终端30一发送作为IPv4NCP的结束请求的IPCP终点请求(步骤S54),接入服务器4执行该NCP(=IPCP)的统计信息收集的结束处理(图7的步骤126)之后,向NCP计费服务器20发送包含上述统计信息的图11所示的IPv4用计费结束请求信息包(S55)。计费服务器20基于上述IPv4用计费结束请求信息包所示的统计信息而更新了计费数据库之后,向接入服务器4回复计费确认响应(Accounting-Response)信息包(S56)。
与此同样,用户终端30一发送IPv6CP的终点请求(S64),接入服务器4就执行该NCP(=IPv6CP)的统计信息收集的结束处理之后,向NCP计费服务器20发送包含上述统计信息的图12所示的IPv6用计费结束请求信息包(S65)。计费服务器20基于上述IPv6用计费结束请求信息包表示的统计信息而更新了计费数据库之后,向接入服务器4回复计费确认响应(Accounting-Response)信息包(S66)。
接着,用户终端30若释放数据链路(S70),则接入服务器4按照图6所示的步骤110、111,执行了LCP用的统计信息测定的结束处理之后,生成包含上述统计信息的LCP计费结束请求信息包,将该信息包发送给计费服务器20(S71)。计费服务器20基于上述LCP计费结束请求信息包表示的统计信息而更新了计费数据库之后,向接入服务器4发送计费确认响应(Accounting-Response)信息包(S72)。
图15表示适用本发明的接入服务器的网络结构的第二实施例。
第二实施例的特征在于,作为连接到因特网服务提供商网2的RADIUS服务器,除了认证服务器10和计费服务器20之外,还设置了IPv4统计信息管理管理专用的计费服务器20A、和IPv6统计信息管理专用的计费服务器20B。
在此,接入服务器4由于根据适用的NCP种类,其计费开始请求以及计费结束请求的目的服务器不同,所以在RADIUS协议处理程序57例如如图16所示,准备定义了适用NCP581和计费服务器地址582的关系的计费服务器地址表50。在适用NCP不确定时,作为计费服务器地址582,指定管理各LCP会话的统计信息的计费服务器20的地址。
本实施例的场合,LCP统计信息在计费服务器20被合计,IPv4统计信息在计费服务器20A被合计,IPv6统计信息在计费服务器20B被合计,所以如第一实施例,计费服务器20不需要具有分别按LCP、NCP分类整理计费数据库的存储信息的功能。
另外,图15表示在LCP用计费服务器20、IPv4NCP用计费服务器20A、IPv6NCP用计费服务器20B分散统计信息管理的结构,但也可以省略计费服务器20,通过变更计费服务器地址表58,在IPv4NCP用计费服务器20A或IPv6NCP用计费服务器20B的某一个进行合计、管理。另外,第1、第2实施例的系统结构中,为了分散RADIUS服务器侧的负荷,也可以采用分别设置多台认证服务器和计费服务器(20、20A、20B)的冗余系统结构。
根据以上实施例,不在RADIUS追加新属性,就可以收集各NCP的持续时间和输入输出数据量等统计信息。
从以上实施例可知,根据本发明,由于除了各LCP会话的统计信息之外,可以收集在同一LCP会话上复用或时分形成的各NCP的统计信息,并将该信息通知给计费服务器,所以可以进行比以前更具体的统计信息管理。