具体实施方式
下面,参照附图,说明本发明的基本实施例。
图1表示使用了本发明的数据包中继装置的接入网的结构的一例。
接入网N10负担使用户终端40(40-1~40-m)与和各用户订了合同的连接提供商ISP(Internet Service Provider)的网N20(N20-1、N20-2:以下称为ISP网)相连的任务。各用户终端经从接入网提供商或ISP分配的住宅内路由器30(30-1~30-n)与接入网N10相连。
各住宅内路由器30经例如由DSL(Digital Subscriber Line)或光纤构成的连接线路,与作为接入网N10的入侧边缘节点的称作LAC(L2TP Access concentrator:L2TP接入集线器)的数据包中继装置10(10-1~10-3)相连。另外,接入网N10通过作为接入网N10的出侧边缘节点的称作LNS(L2TP Network Server:L2TP网络服务器)的数据包中继装置20(20-1、20-2),与ISP网N20(N20-1、N20-2)相连。
接入网N10由LAC10、LNS20和图中省略的其他多个数据包中继装置(路由器)、认证(Radius)服务器50和其他服务器构成。认证服务器50进行向接入网N10请求了连接的用户终端40和住宅内路由器30的认证处理,以及用户终端40的连接目的地ISP的决定处理。
各LNS20为了将合同用户终端40连接到ISP网N20,而与在ISP内配置的用户管理服务器70(70-1、70-2)联合,来进行用户认证。通过LNS20允许连接的用户终端,可经位于ISP网N20内的路由器71(71-1、71-2)与互联网NW相连,并经互联网NW,进行Web服务器提供的各种信息服务的使用、或与其他用户终端的通信。
在图1所示的网络结构中,用户终端40-1~40-m(住宅内路由器30-1~30-n)与LAC10-1~10-3的对应关系由各用户的住所和按每个区域设置的线路容纳站的位置来决定。用户终端40若通过住宅内路由器30与LAC10相连,则LAC10接着向认证服务器50询问应连接的LNS20的识别信息,并在与从认证服务器50通知的特定的LNS之间设置会话。这时,LAC10和LNS20的对应关系通过从住宅内路由器30向LAC10通知的用户终端40的用户ID和ISP名等的连接/认证信息来确定。
各LNS20通常如图1所示,以n对1的方式与多个LAC对应。各LNS20与LAC10之间执行了会话设置步骤后,若从LAC10接收了包含用户认证信息的连接请求,则与用户管理服务器70(70-1、70-2)联合进行请求源用户的认证。若用户认证成功,则用户终端从LNS20取得IP地址,并使用该IP地址,而成为可接入到互联网NW的状态。
接入网N10中,可以自由确立LAC10和LNS20的连接关系。另外,在接入网N10内,从用户终端40发送的数据包与其内容无关地以由OSI参考模型的第二层协议的封装标题来封装的形式,传送到与连接目的地ISP网N20-j(j=1、2)对应的LNS20上。因此,接入网N10中,可以对接入网提供商使用独立的地址体系和协议,来进行接收数据包的封装和路径控制。
封装接收数据包后传送到其他节点的技术称作隧道技术,通常在接入网N10中使用L2TP(Layer 2 Tunnel Protocol)。在L2TP中,按每个会话来确定LAC10和LNS20的对应关系,并在LAC和LNS之间,以由L2TP数据包格式进行封装的形式来通信各个用户数据包。L2TP标题中包含隧道识别符和会话识别符。
图1中如TN-1~TN-3所示,通常,对一个LNS20,从多个LAC10设置隧道TN。各LAC10在各自的区域中与多个用户终端(住宅内路由器)相连,并将各用户的会话多路复用到与连接目的地ISP对应的隧道上。因此,由于在LNS20上会聚了来自多个LAC10的连接,所以应处理的数据包数比LAC多。
在图示的例子中,为在LAC10-1和LNS20-1之间设置的隧道TN1上设置用户终端40-1的会话SE1,在LAC10-2和LNS20-1之间设置的隧道TN2上设置用户终端40-3和用户终端40-4的会话SE2、SE3,在LAC10-3和LNS20-1之间设置的隧道TN3上设置用户终端40-5的会话SE4的状态。如隧道TN2内的会话SE2、SE3所示,在LAC和LNS之间一旦设置了隧道TN后,可以在同一隧道内多路复用新的会话来进行容纳。
图2表示图1所示的LNS20的装置结构的一例。LAC10仅内置的软件不同,基本上与图2为相同的装置结构。因此,省略对LAC10的结构的详细说明,在其动作说明中根据需要引用图2的符号。
LNS20由控制部200、分别包含多个输入线路接口(I/F)241-1~241-i的多个输入线路接口部240-1~240-n、分别包含多个输出线路接口251-1~251-i的多个输出线路接口250-1~250-n、连接这些输入线路接口部240(240-1~240-n)和输出线路接口部(250-1~250-n)的内部数据包传送部(线路相互连接部)260构成。线路相互连接部260例如由高速总线或可变长度数据包开关构成。
控制部200由处理器(CPU)210、存储器220和连接到线路相互连接部260的输入输出缓冲器230构成。
存储器220包含路径控制例程211和通信控制例程222来作为CPU210执行的与本发明有关的程序。另外,在存储器220上准备上述路径控制例程221管理的路径表223和通信控制例程222利用的流量/QoS管理数据库(DB)224。在流量/QoS管理数据库224中,如后所述,形成在根据优先级点来对各个会话分配频带时所参照的转换表、表示会话ID、服务种类和分配频带的关系的会话管理表等各种管理表。
路径控制例程211根据路由协议来管理路径表223,更新各输入线路接口部240为接收数据包的路由所参考的路由表的内容。另外,通信控制例程222用于管理连接中的各会话的通信状况,并根据预先设置的控制策略和接入网内的各线路的使用状况,来管理向各会话的频带分配和频带的使用状况。
本发明的一个特征是LNS20通过用户ID和服务种类的组合,来确定各连接的优先级点,并可根据上述优先级点的值来控制各连接的分配频带。将用户ID、服务种类和优先级点的关系定义在控制策略表中。但是,为了减轻LNS20的负担,也可将控制策略表配置在附属于各LNS的管理服务器71中,利用用于和通信控制例程222具有的管理服务器联合的客户机认证功能,而从管理服务器70取得连接的优先级点。
输入线路接口部240(240-1~240-n)包含通过内部总线连接到输入线路接口241的控制处理器242、存储器243、与为了简化而在图中省略了的线路相互连接部230的接口、与控制部200的接口。存储器243中含有路由表,其他表,作为控制处理器242执行的程序从输入线路接口241取得接收数据包、并根据各接收数据包的标题信息来进行协议处理的数据包处理例程244,和管理每个输入线路的通信量状况、并根据需要来调整数据包的接收速率的输入侧频带控制例程245。
从接入网N10接收的封装数据包可通过L2TP标题的前端比特(T比特)的值,识别其是控制数据包还是用户数据包。数据包处理例程244在接收数据包为控制数据包的情况下,以添加了表示控制部200的识别号码的内部地址的形式,将接收数据包输出到线路相互连接部260。在接收数据包是用户数据包的情况下,数据包处理例程244在去除了封装标题后,根据IP标题表示的目标IP地址来参照路由表,以添加了表示路由表所表示的输出接口的识别号码的内部地址的形式,将用户数据包输出到线路相互连接部260中。
输出线路接口部250(250-1~250-n)包含通过内部总线连接到输出线路接口251的控制处理器252、存储器253、与为简化而在图中省略了的线路相互连接部230的接口、和与控制部200的接口。存储器253中作为控制处理器252执行的程序,包含执行输出数据包的标题处理、协议处理和向输出线路接口251的数据包输出的输出数据包处理例程254,根据在存储器253中准备的通信控制表、来控制每个会话的数据包发送速率的输出侧频带控制例程255。
存储器253中准备了根据目标地址来封装来自ISP网的接收数据包,并通过会话传送到LAC10所需的通信控制表。
图3表示住宅内路由器30的结构的一例。
住宅内路由器30由处理器(CPU)310、存储器320、容纳与用户终端或LAC的连接线路的多个线路接口部341-1~341-i构成。存储器320中作为CPU310执行的程序,含有与用户终端的通信开始时,进行对应于用户使用的服务种类的数据包生成、其他处理用的服务控制例程321,进行通信状态的管理和通信频带控制的通信控制例程322,进行与各线路接口部341之间的数据包的收发和基于各数据包的标题信息的协议处理的数据包处理例程323。另外,存储器320中准备了通信控制例程322使用的流量/QoS管理DB324。
图4表示作为数据包中继区间的边缘装置动作的LAC10和LNS20在流量/QoS管理DB224中保持的会话管理表400的结构例。
会话管理表400由与通信中的会话识别符(ID)401对应的多个表格项构成,各项目表示在各会话中使用中的服务种类(服务识别符)402、分配给会话的优先级点403和频带404。服务种类402如后所述,反映在决定各会话的优先级点的控制策略中。另外,优先级点403表示根据控制策略分配给各会话的值。上述会话管理表400按每个隧道ID来准备,并作为在同一隧道内形成的多个会话的控制信息而被参考。
图5表示控制策略表500的一例。
这里所示的控制策略表500可以将用户ID和服务种类作为检索键,来检索作为控制策略的优先级点,沿列方向排列用户ID501、沿行方向排列服务种类503,在为用户ID501和服务种类503的交点的栏505上定义了依赖于控制策略的优先级点的值。优先级点为将对应于用户ID501的预先指定的区别用户的重要度点502和对应于服务种类503的预先指定的区别服务的重要度点504相加后的值。
这里所示的例子中,区别服务重要度点504的值中,电话(VoIP)503-1最高为“100”,接着为TV503-2的“50”,Web503-3和P2P(Peer to Peer)503-4分别为“10”、“2”。区别用户的重要度点502是ISP提供给合同用户的服务重要度(加权点)。
根据本实施例,在将有限的频带分配给多个会话时,通过根据上述优先级点505来按比例分配频带,可以进行考虑了区别服务的重要度和区别用户的重要度两者的频带设定。另外,对各会话分配由服务种类决定的基本最低保证频带,并通过将对应于上述优先级点505(或区别用户重要度点502)的校正加到该最低保证频带中,即使是同一服务种类的会话,也可以对区别用户重要度点502高的会话分配大的最低保证频带。
控制策略表500作为实用的运用方法,例如,准备在图1所示的具有用户认证功能的用户管理服务器70中,ISP可以在与用户签订合同时,将新的用户项目追加到表格中,并根据提供的服务的改变,来改写服务种类和区别用户的重要度点。
下面,说明在图1的网络结构中,基于本发明的隧道中继区间的通信频带控制方法的第一实施例。
LAC10(10-1~10-3)若经住宅内路由器30接收到用户终端40的通信请求,则与和终端用户的合同ISP对应的LNS20之间,确立封装传送接收数据包用的对应关系(隧道)。在与上述LNS20之间已经存在隧道的情况下,由于在已存在的隧道上确立每个用户或每个服务的新的通信会话就可以了,所以不需要确立新的隧道。
接入网N10中,在作为与ISP网N20的连接节点的LNS20-1、20-2中,聚集了分别来自面向ISP网N20-1、N20-2的多个用户的会话,所以这里通信量集中。本发明中,LNS20-1(20-2)参照面向路由器71-1(71-2)的路径的通信量状况,在每个新确立的会话上分配可使用的通信频带。这时,LNS20-1对作为会话确立的请求源的LAC10(10-1~10-3),通过控制数据包C(C1~C3),来通知对会话分配的频带。接收了该通知的LAC10在自己具有的会话管理表400和各接口部参照的通信控制表上存储上述频带,并向请求源的住宅内路由器30指定通信频带以请求发送速率的设置(会话信息通知)。
从LNS20向LAC10的会话信息通知中,具有向各会话指定保证的最低通信频带的值的方法,和代替频带值、指定会话优先级、并且各LAC10在多个会话中根据优先级来分配ISP网内的有限通信频带的方法。在下面的说明中使用的“频带优先级”是指向会话的资源分配可以是频带指定和优先级指定的任何一个,也可以是指定了频带和优先级两者。
在向上述会话的通信频带的分配和通信服务的优先级的决定处理中,若各LNS20在自身的流量/QoS管理DB224中保持了图5所示的控制策略表500,则可使用其来自己决定向各会话的分配频带优先级。在下面说明的实施例中,按每个ISP设置的用户管理服务器70具有控制策略表500,各LNS20从上述用户管理服务器70中取得应分配给会话的优先级点,并根据服务种类和优先级点来决定各会话的频带。
这里,用户管理服务器70保持在LAC和LNS之间确立隧道时需要的隧道认证信息、和与ISP合同用户的用户ID对应的用户认证信息,除了由上述的控制策略表进行的会话优先级点的确定功能之外,还具有隧道认证功能和用户认证功能。
图6表示接入网N10中的基于本发明的通信时序的第一实施例。
图6中,SQ1~SQ4表示PPPoE发现(Discovery)状态,SQ5~SQ34表示PPPoE会话(session)状态。第一实施例具有为了确定向会话分配的频带优先级,在用户数据包的通信之前,从LAC10向LNS20通知用户使用的服务种类(服务ID)的特征。
住宅内路由器30在PPP会话的设定时,在图8中后述的适用于ADSL和FTTH的PPPoE(PPP over Ethernet:以太网上的点对点协议)数据包的有效载荷中,在新设置的会话中,指定用户使用的服务种类(参照Web、IP电话、TV接收、P2P服务使用等)。接收了上述PPPoE数据包的LAC10保持从接收数据包的有效载荷中抽出的服务种类,并在用户认证时通知LNS20。
住宅内路由器30以电源的接通或来自用户终端40的会话连接请求的接收为契机,确定用户使用的服务种类,并与LAC10之间开始通信会话的设置步骤。
住宅内路由器30首先为了取得作为用户终端的连接目的地的LAC10的MAC地址,将PADI(PPPoE Active Discovery Initiation)数据包发送到LAC10(SQ1)。接收了PADI数据包的LAC10将表示自己的MAC地址的PADO(PPPoE Active Discovery Offer)数据包发送到住宅内路由器30(SQ2)。住宅内路由器30响应于上述PADO数据包,将请求会话ID的PADR(PPPoE Active Discovery Request)数据包发送到LAC10(SQ3)。接收了PADR数据包的LAC10将PADS(PPPoE Active Discovery Session-confirm)数据包返回到住宅内路由器30(SQ4)。由此,在住宅内路由器30和LAC10之间确立了PPPoE会话。另外,住宅内路由器30在上述PADI数据包和PADR数据包两者中设置用户使用的服务种类。LAC10从上述任何一个的接收数据包中抽出服务种类,将其存储。
接着,根据链路层的连接步骤,住宅内路由器30向LAC10发送LCP配置请求(configuration-request)数据包(SQ5),LAC10返回ACK数据包(SQ6)。之后,LAC10将请求用户认证信息的发送的PPP CHAP询问(Challenge)数据包发送到住宅内路由器30(SQ7)。若住宅内路由器30发送了包含用户ID、密码等的用户认证信息的PPP CHAP响应数据包(SQ8),则LAC10将包含所接收的用户认证信息的Radius接入请求(Radius Access-Request)数据包发送到接入网内的认证服务器(Radius服务器)50中(SQ9)。认证服务器50根据所接收的用户认证信息来参照数据库,并确定包含与连接目的地ISP网对应的LNS20的地址的LNS信息、和用于认证能否确立LAC10和LNS20间的隧道的隧道认证信息(SQ10),并通过Radius接入同意(Radius Access-Accept)数据包将其通知给LAC10(SQ11)。
LAC10使用从认证服务器50通知的LNS地址,向LNS20发送隧道设置请求用的开始控制连接请求(Start-Control-Connection-Request)数据包(SQ12)。接收了上述请求数据包的LNS20向ISP的用户管理服务器(认证服务器)70发送包含从上述请求数据包中抽出的隧道认证信息的Radius接入请求(Radius Access-Request)数据包(SQ13)。用户管理服务器70根据上述隧道认证信息,执行判断能否确立隧道的隧道认证(SQ14),并将表示认证结果的Radius接入同意(Radius Access-Accept)数据包返回到LNS20(SQ15)。LNS20通过开始控制连接答复(Start-Control-Connection-Reply)数据包,向请求源的LAC10通知上述隧道认证结果(SQ16)。接收了开始控制连接答复(Start-Control-Connection-Reply)数据包的LAC10向LNS20发送连接通知数据包(Start-Control-Connection Connected)(SQ17),并通过使LNS20返回ACK(SQ18),在LAC10和LNS20之间确立了隧道。这些步骤(SQ12~SQ18)是根据L2TP来进行的。
之后,LAC10向LNS20发送会话设置请求(Incoming-Call-Request)数据包(SQ19),LNS20若返回响应数据包(Incoming-Call-Reply)(SQ20),则LAC10向LNS20发送包含已从住宅内服务器30接收的用户认证信息的Incoming-Call-Connected数据包(SQ21)。
LNS20若接收了上述Incoming-Call-Connected数据包,则向ISP的用户管理服务器70发送包含从接收数据包抽出的用户认证信息的Radius-Access-Request数据包(SQ22)。用户管理服务器70判断所接收的用户认证信息表示的密码是否与和用户ID对应而预先注册的密码一致(用户认证SQ23),在用户认证成功的情况下,将Radius接入同意(Radius-Access-Accept)数据包返回到LNS20(SQ24)。在用户认证失败了的情况下,将Radius接入拒绝(Radius-Access-Reject)数据包返回到LNS20。
在用户认证成功了的情况下,LNS20将服务种类的发送请求发送到LAC10(SQ25)。接收了上述请求的LAC10将包含在PPPoE会话的设定时已经由PPPoE数据包接收完成的服务种类和用户认证信息所表示的用户ID的响应数据包发送到LNS20(SQ26)。LNS20将包含从上述响应数据包中抽出的用户ID和服务种类的配置请求(Configuration-request)数据包发送到用户管理服务器(SQ27)。用户管理服务器70从图5所示的控制策略表500中确定对应于上述配置请求(Configuration-request)数据包所表示的用户ID和服务种类的组合的优先级点(SQ28),并将表示该优先级点的ACK返回到LNS20(SQ29)。
LNS20根据服务种类和上述ACK表示的优先级点,来确定应分配给当前确立中的会话的频带(SQ30)。由按每个服务种类定义了最低保证频带的最低保证频带表(图中未示)判断会话所必需的最低保证频带。这时,如前所述,通过将对应于优先级点的校正加到最低保证频带上,即使是同一服务种类的会话,也可以将大的最低保证频带分配到区别用户重要度点502高的会话上。
本发明的一个特征是在面向ISP网路由器71的线路上没有相当于上述最低保证频带的空频带的情况下,可根据各会话的优先级点来调整已经确立的会话的分配频带,而确保新的会话用的空频带。即,LNS20参照面向ISP网路由器71的线路的通信量状态,判断可使用的空频带,来确定向当前确立中的会话的分配频带。在根据需要,调整了分配给已存在的会话的频带的基础上,确定向当前确立中的会话的分配频带。根据各会话的优先级点来进行已存在会话的频带的调整。
LNS20在对应于隧道ID的会话管理表中存储分配频带、从用户管理服务器70通知的优先级点的值、会话ID和服务种类的关系。之后,LNS20对LAC10通过频带优先级通知数据包通知了上述频带(或优先级点)(SQ31)之后,返回对于Incoming-Call-Connected数据包的响应数据包(ACK)(SQ33)。
LAC10将由频带优先级通知数据包通知的频带(或优先级点)与会话ID、服务种类一起存储在会话管理表400上,并将表示分配频带的会话信息通知发送到住宅内路由器30(SQ32)。另外,若接收了来自LNS20的ACK数据包,则将认证响应数据包(PPP CHAPsuccess)发送到住宅内路由器30(SQ34)。
之后,根据使用了PPP和L2TP的通常的通信时序,进行由IPCP进行的向住宅内路由器30的IP地址设置,在用户管理服务器70和LNS20之间开始与上述会话上的通信有关的计数动作。通过以上的通信时序,在住宅内路由器30和LNS20之间确立PPP会话,住宅内路由器30可以经LAC10、LNS20、ISP内路由器71,进行使用了IP网的数据包通信。
图7(A)表示在图6的PPPoE发现(Discovery)状态中所用的PPPoE Active Discovery(Initiation/Request)数据包80的格式的一例。PPPoE中使用以太网帧。
PPPoE Active Discovery数据包80由目标MAC地址81和发送源MAC地址82、以太网类型字段83、以太网有效载荷84和校验和85构成。以太网类型字段83用于识别PPPoE Discovery状态和包含LCP协商(negotiation)或认证处理的PPPoE会话(session)状态,在PPPoE发现(Discovery)状态中,设置值“0x8863”。
在PPPoE Active Discovery数据包80的以太网有效载荷84上,如图7(B)所示,由PPPoE的版本字段841、设置了固定值“0x1”的类型字段842、表示PADI、PADO等的数据包类别的识别码字段843、PPPoE会话识别符字段844、PPPoE有效载荷长度字段845和PPPoE有效载荷86构成。将本发明中所用的服务种类(服务ID)设置在PPPoE有效载荷86中。
PPPoE有效载荷86如图7(C)所示,由类型字段861、有效载荷长度字段862和TAG Value字段863构成。通过改变类型字段861的设置值,可以对PPPoE有效载荷86设置不同种类的信息。在本实施例中,对类型字段861设置值“0x0101”,对TAG value字段863用UTF-8的字符集来设置表示服务种类(VoIP、TV、P2P等)的服务ID。以上的数据包结构遵从PPPoE的标准。
图8表示在LAC10和LNS20之间交换的封装数据包的格式。
封装格式为向IP数据包90添加了由IP标题H1、UDP标题H2和L2TP标题H3构成的封装标题的形式。IP数据包90由IP标题H11、UDP标题H12和IP有效载荷91构成。
为了进行隧道设置和会话设置,在LAC10和LNS20之间交换的控制数据包通过在L2TP标题H3中含有的消息类型来识别,这些控制数据包中不需要有效载荷(IP数据包90)部分。
图9表示从LNS20向LAC10发送的频带优先级通知用的控制数据包C1~C3的格式的一例。
控制数据包C1~C3在接着封装标题的有效载荷部分上包含表示消息类别93、作为频带优先级的设置对象的会话识别符94、频带优先级95和其他信息96的频带优先级通知消息92。频带优先级95表示通过LNS20确定的分配频带、或者服务管理服务器70根据控制策略确定的优先级点、或该两者的值。
上述频带优先级通知消息92通过代替封装标题,添加新的IP标题,还可以适用于从LAC10向住宅内路由器30的会话信息通知。另外,还可用作例如MPLS、IPsec、VLAN等、用于PPPoE之外的数据包中继的隧道网中的频带设置信息的通知数据包。
接着,参照图10~图12所示的流程图,说明为了实现图6所示的通信时序,LAC10、LNS20和住宅内路由器30的控制部执行的通信控制例程。另外,若假定一般的隧道处理,则本实施例中所说明的LAC10和LNS20的动作可以分别用作隧道的始端装置(入侧边缘节点)和终端装置(出侧边缘节点)的动作。
图10表示在LNS20中执行的通信控制例程的流程图。
LNS20(控制部200)判断所接收的通信控制数据包的种类,在接收数据包为隧道设置请求数据包(Start-Control-Connection-Request)的情况下(步骤S101),执行相当于图6的SQ13~SQ18的隧道设置步骤(S102),结束该例程。
在接收数据包为会话设置请求数据包(Incoming-Call-Request)的情况下(S103),LNS20返回响应数据包(ACK)(S104),若接收了用户认证请求数据包(Incoming-Call-Connected)(S105),则执行相当于图6的SQ22~SQ24的用户认证步骤(S106)。判断用户认证的结果(S107),在用户认证失败了的情况下,LNS20向LAC10发送用户认证失败的通知(S108),接触该例程。
在用户认证成功了的情况下,LNS20向LAC10发送服务ID(服务种类)的请求数据包(S109),并等待来自LAC10的响应(S110)。若从LAC10接收了包含服务ID和用户ID的响应数据包,则LNS20执行相当于图6的SQ27~SQ29的优先级点的取得步骤(S111)。从用户管理服务器70取得了优先级点的LNS20确定应分配给连接的最低保证频带(S112)。最低保证频带也可根据优先级点来校正。
LNS20从向ISP的通信线路(与路由器71的连接线路)的状态判断是否存在相当于步骤S112中确定的最低保证频带的空频带(S113)。从向ISP的通信线路具有的频带的值和从图4所示的会话管理表400判明的已设置的会话的分配频带404的总计值的差来判断空频带。在存在充分的空频带的情况下,向会话管理表、通信控制表等的管理表追加与新的会话有关的控制信息项(S117),并向LAC10发送频带优先级通知(S118),结束本例程。
在不存在作为最低保证频带需要的空频带的情况下,根据各连接的优先级点来调整已存在的连接的分配频带(S114)。该调整是为了产生新的会话所需的空频带,来缩小已存在连接的频带的调整,例如,也可仅将如Web会话和P2P会话那样,区别服务种类重要度低的会话作为对象,来进行频带调整(削减)。另外,上述频带调整在不低于按每个服务种类预先指定的频带下限值的范围内进行。
判断频带调整的结果(S115),在不能确保必需的空频带的情况下,即,判断为不能进行由新会话进行的通信的情况下,LNS20向LAC10通知会话截断(S116),结束该例程。在频带调整的结果为可以确保需要的空频带的情况下,LNS20执行步骤S117、S118,结束本例程。另外,在通过频带调整确保了新的会话频带的情况下,与改变了频带的会话相关地进行管理表的更新和向LAC10发送表示改变后的频带的频带优先级通知。
图11表示在LAC10中执行的通信控制例程的流程图。
LAC10从住宅内服务器30等待PPPoE数据包的接收(S201),若接收了PPPoE数据包,则从接收数据包的有效载荷中抽出服务种类,并将其进行了存储(S202)后,执行相当于图6的SQ2~SQ6的PPPoE Active状态和LCP negotiation的步骤(S203)。
若LCP negotiation结束,则LAC10从住宅内路由器30抽出用户认证数据(S204),并从Radius服务器50取得LNS信息和隧道认证信息(S205)。LAC10从会话管理表400中判断与上述LNS信息表示的LNS之间是否已存在隧道(S206),若已确立了隧道,则在与LNS20之间,执行相当于图6的SQ19~SQ21的会话设置和用户认证的步骤(S208)。若没有确立隧道,则在与LNS20之间,执行了相当于图6的SQ11~SQ18的隧道设置步骤(S207)后,执行会话设置和用户认证的步骤(S208)。
LAC10若接收了来自LNS20的服务ID请求(S209),则将包含在步骤S202中存储的服务ID和用户认证信息所表示的用户ID的服务ID响应数据包发送到LNS20(S210),并等待来自LNS20的响应。若从LNS20接收了频带优先级通知数据包(S211),则LAC10将会话控制信息设置在会话控制表400和通信控制表中(S212),并向住宅内路由器30通知会话信息(S213)。若从LNS20接收了对于用户认证请求的响应数据包(ACK)(S214),则LAC10在向住宅内路由器30发送用户认证响应数据包(PPP CHAP Success)(S215),在接收响应数据包(ACK)之外的控制数据包的情况下,执行其他的处理(S216),结束该例程。
图12表示在住宅内路由器30中执行的通信控制例程的流程图。
住宅内路由器30在接收了来自用户终端的连接请求时,确定用户终端使用的服务种类(S301)。之后,住宅内路由器30在与LAC10之间,执行相当于图6的SQ1~SQ6的PPPoE Active Discovery和LCPnegotiation步骤(SQ302),并等待来自LAC的认证信息请求的接收(S303)。在从住宅内路由器30向LAC10发送的PPPoE ActiveDiscovery数据包中含有服务种类(服务ID)。
若接收了来自LAC10的认证信息请求(PPP CHAP challenge),则住宅内路由器30发送包含用户认证信息的响应数据包(PPP CHAPresponse)(S304),并等待来自LAC10的会话信息通知(S305)。另外,这里必需的用户认证信息也可使用在住宅内服务器中预先设置的信息,也可在每次会话设置时,询问用户终端。
若接收了来自LAC10的会话信息通知,则住宅内路由器30在通信控制表中存储包含频带优先级信息的会话信息(S306)。若从LAC10接收了认证响应(ACK),则住宅内路由器30判断认证结果(S308),若可以进行通信,则在与LAC10之间执行IP地址的取得步骤(S309),进入到数据通信状态(S310)。在不能通信的情况下,中断会话确立处理,结束本例程。在接收数据包不是认证响应的情况下,执行其他处理(S312)。
图13表示接入网N10中的基于本发明的通信时序的第二实施例。第二实施例的特征在于,在LAC10和LNS20之间确立了从用户终端请求的各个通信会话后,在接收最初的用户数据包时,LNS20确定向会话分配的频带。
通信时序SQ1~SQ24与图6中说明的第一实施例相同。在第二实施例中,LNS20在从用户管理服务器70接收了用户认证结果时,将对于用户认证请求的响应数据包(ACK)返回到LAC10(SQ33)。LAC10若从上述响应数据包判断用户认证成功了,则向住宅内路由器30发送认证响应数据包(PPP CHAP success)(SQ34)。
接收了认证响应数据包的住宅内路由器30向LNS20发送IPCPconfiguration-Request(SQ35)。若LNS20向住宅内路由器30发送包含用户终端应使用的IP地址的IPCP Configuration-ACK(SQ35),则结束用于通信的设置步骤,以后,来自用户终端40的用户数据包的发送成为可能(SQ37)。
在第二实施例中,LNS20在接收了用户数据包时,与接收数据包向ISP网的传送(SQ38)并行地,判断接收数据包的会话中是否已经分配了频带。若没有分配频带,则根据接收数据包的标题信息来确定服务种类和用户ID(SQ39),并向用户管理服务器70发送包含服务种类和用户ID的Configuration-request数据包(SQ27)。用户管理服务器70从控制策略表500中确定对应于上述Configuration-request数据包所表示的用户ID和服务种类的组合的优先级点(SQ28),并将表示该优先级点的ACK返回到LNS20(SQ29)。
下面,与第一实施例相同,LNS20确定应向会话分配的频带(SQ30),并将频带优先级通知数据包发送到LAC10(SQ31),LAC10向住宅内路由器30通知会话信息(SQ32)。住宅内路由器30根据上述通知内容,设置来自用户终端的之后的数据包的发送速率。
图14和图15表示为了从接收到的用户数据包确定服务种类和用户ID,第二实施例的LNS20具有的标记表600和端口号/服务种类转换表610的一例。
标记表600由表示隧道ID601、会话ID602、用户ID603、频带分配是否完成了的标记604的关系的多个表格项构成。在各输入线路接口240的存储器243上形成标记表600。表格项在用户认证成功时,由LNS20的控制部200生成,并注册在该输入线路接口240的标记表600上。
端口号/服务种类转换表610表示TCP标题的目标端口号的值611和服务种类612的对应关系。端口号/服务种类转换表610形成在控制部200的存储器220上。
各输入线路接口的数据包处理例程244以从封装接收数据包的L2TP标题H3中抽出的隧道ID和会话ID作为检索键,从上述标记表600中检索用户ID603和标记604。在标记604为表示已完成频带分配的“1”的状态的情况下,从接收数据包中去除封装标题,并根据路由表,来传送处理IP标题。
如果,在标记604为“0”的情况下,则数据包处理例程244从接收数据包中去除封装标题,并路由处理IP标题,并且,将上述标记604改写为“1”,生成包含从IP数据包内的TCP标题抽出的目标端口号和从标记表600检索的用户ID的内部控制数据包,并在其上添加表示控制部200的识别号的内部标题,以输出到线路相互连接部260。
若从输入输出缓冲器中读出上述内部控制数据包,则控制部200的通信控制例程222从端口号/服务种类转换表610中检索与目标端口号对应的服务种类,并生成包含该服务种类和上述控制数据包所表示的用户ID的Configuration-request,发送到用户管理服务器70中。通信控制程序222之后执行图10中步骤S111~S118所示的动作,并将频带优先级通知给LAC10。
另外,在各输入接口的存储器243有裕量的情况下,也可通过在各输入接口240上具有端口号/服务种类转换表610,而在各输入接口上进行从目标端口号向服务种类的转换,向控制部200通知用户ID和服务种类。
相反,为了减小存储器243的容量,也可从各输入接口具有的用户ID表600中去除用户ID603,形成由隧道ID和会话ID中仅判断标记604的状态的简化的表格结构。这时,在控制部200的存储器220上准备在图14所示的各项目中含有用户ID603的标记表格600,在标记604为“0”时,数据包处理例程244生成包含IP数据包内的TCP标题所表示的目标端口号、L2TP标题H2所表示的隧道ID和会话ID的内部控制数据包,并在控制部200侧,检索对应于隧道ID和会话ID的用户ID。
作为第二实施例的变形例,也可从LNS20向用户管理服务器70发送包含目标端口号和用户ID的Configuration-request,在用户管理服务器70侧,参照端口号/服务种类转换表610,来将目标端口号转换为服务种类。作为其他变形例,也可从LNS20向用户管理服务器70发送包含目标端口号、隧道ID和会话ID的Configuration-request,在用户管理服务器70侧,进行从目标端口号向服务种类的转换,以及从隧道ID、会话ID向用户ID的转换。
在第二实施例中,在LAC和LNS之间确立了会话后,在从用户终端发送了最初的用户数据包的时刻,LNS20自主地进行向会话的频带分配,所以不需要由PPPoE数据包进行的从住宅内路由器30向LAC10的服务种类的通知和从LAC10向LNS20的服务种类和用户ID的通知。因此,LAC10的通信控制例程以现有的通信控制步骤来确立会话,并在从LNS20接收了频带优先级通知的时刻,执行图11所示的向会话的发送频带的设置(S212)和向住宅内路由器30的会话信息的通知(S213)即可。同样,住宅内路由器30也可根据现有的通信控制步骤来确立会话,在从LAC10接收了会话信息的时刻,进行图12所示的频带设置(S306)即可。
尽管在上述的第一、第二实施例中,说明了在作为隧道的出侧边缘节点的LNS侧确定各会话的频带优先级的情况,但是作为本发明的第三实施例,说明在LAC10侧也具有每个会话的频带确定功能的网络。
图16A和图16B表示在本实施例中,LNS20具有的通信状态管理表700的一例。
图16A的通信状态管理表700表示隧道ID701、会话数702和分配频带703的对应关系。这里,会话数702表示在具有隧道ID701的同一隧道内被多路复用的会话数。另外,分配频带703表示根据使用同一会话的用户数在各个隧道上预先分配的频带。各LAC在与ISP对应的各LNS之间形成一个隧道的情况下,上述分配频带703为根据在LAC中所容纳的区别ISP的用户数而分配的频带。
本实施例的特征是在LNS10侧控制在各隧道中可使用的最大频带703,并由各LAC控制每个隧道的频带分配。通过进行等级化的频带控制,可以实现每一个用户的频带使用率的公平化。本实施例在用户终端常态下连接到互联网的环境下,在分为多个用户公共的基本通信服务和区别用户的任选通信服务的频带合同的情况下是有效的。
图16B所示的通信状态管理表700除了图16A的表格项之外,包含分配给使用中的会话的服务重要度点的总计值704。该通信状态管理表700可以在频带控制中反映使根据地域和居住环境而不同的服务合同订立时的区别用户的重要度点。
图17表示在本实施例中,各LAC10具有的隧道/会话管理表800的一例。
该表格800由LAC管理的隧道的ID801、从LNS20向各隧道分配的可使用的最大频带802和在各隧道内多路复用的每个会话的信息记录构成。会话信息记录表示会话ID803、服务种类804、根据控制策略表分配给各会话的优先级点805和LAC10分配给各会话的频带806。LAC10可以在最大频带802的范围内,向在各隧道内多路复用的多个会话分配使用频带806。这时,向各会话的频带分配考虑优先级点805的值。
图18表示在本实施例中LAC10执行的通信控制的流程图。
LAC的控制部200在新会话的确立请求时,执行与图11中说明的第一实施例相同的步骤S201~S205,并由从Radius服务器50取得的LNS信息,判断作为新会话的设置对象的隧道是否已经存在(S206)。在隧道已经存在的情况下,参照隧道/会话管理表800,判断满足根据新会话使用的服务种类而确定的最低保证频带的空频带是否存在于隧道中(S220)。从隧道/会话管理表800表示的隧道最大频带802的值和在该隧道中已经处于使用中的频带806的总计值的差中判断空频带。
在存在充分的空频带的情况下,向会话分配上述最低保证频带,并将对应于上述会话的信息记录追加到隧道/会话管理表800中(S230),之后,执行图10所示的会话设置、用户认证步骤(S208)以后的步骤。另外,在隧道残留了充分的空频带的情况下,也可对各会话分配比最低保证频带宽的频带。另外,在从LNS20接收了频带优先级通知时,将频带优先级通知表示的优先级点追加到上述管理记录来作为优先级点805。
在隧道上不存在新会话需要的空频带的情况下,通过调整在隧道/会话管理表800表示的该隧道上已设置的会话的分配频带(使用频带806),判断是否可确保必要的空频带(S221)。在对各会话分配了比标准的最低保证频带宽的频带的情况下,频带调整以所有的信息记录为对象,在使用频带不比预先对应于服务种类而设置的下限阈值窄的范围内进行。在高优先级的服务达到了标准的最低保证频带的情况下,考虑优先级点805的值,并将优先级点低的连接作为对象来进行频带调整。在通过上述频带调整,可确保需要的空频带的情况下,在隧道/会话管理表800中反映频带调整结果(S222),并向相应的住宅内路由器通知频带改变结果(S223),来执行步骤S230。
在即使进行频带调整也不能确保需要的空频带的情况下,指定隧道ID以向LNS20请求分配频带的增加(S224),并等待来自LNS的响应(S225)。在从LNS中重新分配了增加的频带的情况下,执行步骤S230,否则,向住宅内路由器30通知不能进行通信(S226),结束本例程。
在步骤S206中,在不存在作为新会话的设置对象的隧道的情况下,与LNS20之间执行隧道设置步骤(S207),之后执行步骤230。
图19表示用于说明基于本发明的通信频带控制的第三实施例的网络结构的一例。
图19中,接入网N10包含与住宅内路由器30-1连接的LAC10-1、与住宅内路由器30-2、30-3、30-4相连的LAC10-2和与住宅内路由器30-5相连的LAC10-3。与LNS20-1之间确立隧道TN1,与LNS20-2之间确立隧道TN2。
这里,考虑在隧道TN1上确立了从住宅内路由器30-2朝向ISP网N20的会话SE1,在隧道TN2上确立了从住宅内路由器30-3朝向ISP网N30的会话SE2的状态下,产生了从住宅内路由器30-4朝向ISP网N20的新的会话SE3的确立请求的情况。
LAC10-2参考隧道/会话管理表800,并确认隧道TN1(LNS侧的发送频带)的频带使用状况,在残留了会话SE3需要的空频带的情况下,或通过频带调整可以确保必要的空频带的情况下,与LNS20-1之间确立会话SE3。在已存在的隧道TN1内通过频带调整不能确保空频带的情况下,通过控制数据包C2,向LNS20-1请求向已存在的隧道TN1的分配频带的增加。
在会话SE3的设置步骤中,LNS20-1参考ISP侧的线路频带的使用状况,来向新会话SE3分配频带,并根据需要进行已存在会话的频带重新分配,并向LAC通知分配结果。这时,将频带和优先级点作为频带优先级向LAC通知。在LAC侧判断为可进行通信的情况下,存在根据LNS侧的线路状况不能进行通信的情况。相反,在LNS侧有裕量的情况下,由于LAC侧频带不充分,还有不能确立新会话的情况。在本实施例中,通过使网络设计和频带优先级的分配策略相关联,可以更高效的运用。
图20表示使用了第三实施例的接入网的其他例子。
图20中,是为了分散成为瓶颈的出侧边缘节点的通信量负荷,在接入网N10和ISP网N20之间设置了多个LNS(20-1、20-3)的网络结构。这时,Radius服务器50存储LNS20-1和LNS20-3来作为与ISP网N20对应的LNS。这里,考虑在LAC10-2和LNS20-1之间的隧道TN1上已经存在多个会话(SE1、SE2、...)的状态下,产生了从住宅内路由器30-4向LAC10-2的新会话SEn的设置请求的情况。
隧道TN1的分配频带由已存在的会话消耗,在不能增加来自LNS20-1的分配频带的状态下,产生上述新会话SEn的设置请求的情况下,LAC10-2根据从Radius服务器50取得的LNS信息,与代替LNS20-1的LNS20-3之间形成新的隧道TN2,并设置新会话SEn。
在上述的第三实施例中,虽然按每个隧道来分配最大频带,在各隧道上与服务种类无关地在最大频带的范围内多路复用多个会话,但是例如,也可以预先按用户重要度、服务种类等某个种类分配最大频带,各LAC在新会话相应的种类的最大频带的范围内,控制向会话的频带分配。
若以会话为单位来管理频带,则按每个隧道使用频带频繁改变。但是,如上所述,通过按每个种类或每个隧道来确定最大频带,在最大频带的范围内设置会话,就可以根据用户合同内容来有效利用作为资源瓶颈的LNS的输出线路频带。
图21表示使用了本发明的网络结构的其他结构例。
图21所示的网络用中继网NW10将多个专用网N41、N42、N45相互连接。专用网N45具有主机计算机26,连接到专用网N41、N42的各终端经中继网NW10,来访问上述主机计算机26。这时,由于在连接了主机计算机26的边缘装置25上集中了来自多个终端的通信量,所以在位于上述边缘装置25和其他专用网N41、N42的边缘装置21、22之间,存在与图1所示的LNS20-1和LAC10-1、10-2、10-3之间同样的关系。
这里,假定在中继网NW10上使用互联网,以专用网N41作为发送源网、将专用网N45作为目标网,在各个边缘装置(EN)21、25之间形成IPsec的隧道,专用网N41的终端41-1和专用网N45的主机计算机26以加密的形式来通信的情况。IPsec用于经互联网连接专用网的VPN服务。为了知道发送源网N41的边缘装置21、目标网的边缘装置25的位置,向位于中继网内NW10的DN51询问目标边缘装置信息。DNS51除了包含于中继网NW10之外,还可包含于例如发送源网N41中。
本实施例中,由于中继网NW10是互联网,所以在会话设置时,不能在中继网内的边缘节点11和13之间自由进行频带控制。但是,IPsec隧道的终端侧的边缘装置25根据中继网NW侧的线路L2的频带使用状态来按每个会话来设置频带,并将其通知给请求源节点21(或22),从而得到了与第一实施例相同的效果。
图22表示图21中所使用的基于本发明的通信时序图的一例。
终端41在与主机计算机26的通信之前,将目标边缘装置25的识别信息和指定了使用服务种类的请求数据包发送到发送源边缘装置21(SQ201)。在上述请求数据包上还含有发送源终端41-1的识别符、用户ID、密码等的用户认证信息。
发送源边缘装置21从所接收的请求数据包中抽出目标边缘装置25的识别信息,从DNS51中取得与目标边缘装置25有关的地址等的连接信息(SQ202、SQ203)。发送源边缘装置21根据从DNS取得的连接信息,经中继网,在与目标边缘装置25之间设置隧道。具体的,根据IKE(Internet Key Exchange:因特网密钥交换)阶段(phase)1,从发送源边缘装置21建议ISAKMP SA参数(SQ204),并由目标边缘装置25选择接收侧SA参数(SQ205),从而进行SA(SecurityAssociation:安全关系)。接着,从发送源边缘装置21向目标边缘装置25,加密并通知发送侧键信息和发送侧ID(SQ206),并响应于此,从目标边缘装置25向发送源边缘装置21加密并通知接收侧的键信息和ID(SQ207)。由此,可以在发送源边缘装置21和目标边缘装置25中共用键信息。之后,发送源边缘装置21和目标边缘装置25加密各自的认证信息来进行通知匹配(SQ208、SQ209)。由此,确立了ISAKMP SA。
接着,目标边缘装置25向发送源边缘装置21请求认证信息(SQ210),发送源边缘装置21返回用户认证信息和服务内容(SQ211)。目标边缘装置25将包含所接收的用户认证信息的Access-request发送到认证服务器27(SQ212),并等待认证结果。认证服务器27检查用户认证信息所表示的用户ID和密码的关系(SQ213),并将表示用户认证结果的Access-accept通知给边缘装置25(SQ214)。
目标边缘装置25将所接收的认证结果传送到发送源边缘装置21(SQ215)。响应于此,发送源边缘装置21返回确认消息(ACK)(SQ216)。在本实施例中,之后,目标边缘装置25向发送源边缘装置21请求发送服务种类(服务识别符)(SQ217),发送源边缘装置21向目标边缘装置25通知服务种类(SQ218)。目标边缘装置25将包含所接收的服务种类、从用户认证信息已知的用户ID的Configuration-request发送到认证服务器27(SQ219)。认证服务器27与第一实施例相同,根据控制策略表,确定应分配到用户(会话)的优先级点(SQ220),并将其通知给目标边缘装置25(SQ221)。
目标边缘装置25根据服务种类和优先级点来确定应分配到连接的频带(SQ222)。频带的确定中,与第一实施例相同,参照自身装置的发送侧线路,在该例子中,参照线路L2中的频带的使用状况。目标边缘装置25若将包含已确定的频带优先级的会话控制信息通知给发送源边缘装置21(SQ223),则发送源边缘装置21返回接收响应(ACK)(SQ224)。
在中继网NW10中在为中继用户数据包所需要的IP地址未定的情况下,之后,进行IP地址分配(SQ225、SQ226),在IKE阶段2中进入到IPsec的设置。该IPsec设置相当于隧道内的各个会话的设置,从发送源边缘装置21向目标边缘装置25建议IPsec SA参数(SQ227),目标边缘装置25将IPsec SA参数的选择结果返回到发送源边缘装置21(SQ228)。接着,使用ISAKMP SA,加密发送侧的键信息、发送侧客户机ID、接收侧客户机ID来进行交换(SQ229),并根据所选择的参数确立SA,开始通信。
这里,尽管说明了与第一实施例同样的,在通信之前对会话确定频带的情况,但是在如IPsec那样加密后通信的情况下,也可如第二实施例那样,在开始了通信后,来确定各会话的频带。
在上述实施例中,在通信之前在会话中确定频带的情况下,LAC或发送源边缘装置响应于来自LNS或目标边缘装置的发送请求,通知在会话中使用的服务的种类,但是也可将服务种类的通知包含在紧挨着上述发送请求之前、从LAC或发送源装置发送的消息中,而通知LNS或目标边缘装置。
另外,在图21所示的中继网NW10中,作为数据包传送协议,也可使用用于IPv4、IPv6网络的连接的IP over IP的隧道技术。本发明还可适用于由MPLS路由器构成中继网NW10,并且使用了MPLS的标签交换的数据包中继。
本发明还可适用于在中继网NW10内以封装的形式来传送L2帧的广域以太网服务,使用协议并不限于在实施例中所示的协议。