具体实施方式
下面,参照附图,对于根据本发明的信息包传送装置实施例进行说明。
图1表示使用本发明信息包传送装置的通信网络结构例。
这里所示的通信网络由有线接入网1L、无线接入网1W、通信商或ISP管理的中继网2和因特网3构成。
有线接入网1L和无线接入网1W各自例如经由网关(GW)装置20L(20L-1、20L-m)、20W(20W-1、20W-m),和中继网2进行连接,该网关装置具备利用IEEE802.1X或PPPoE等不同协议的通信帧的终止功能。
有线接入(access)网1L包括:多个有线LAN终端40(40-1~40-n),分别具备利用IEEE802.1X或PPPoE等的会话(session)连接功能;多个信息包传送装置10L(10L-1~10L-n),收容这些有线LAN终端40。各信息包传送装置10L和冗余化后的多个GW装置20L(20L-1、20L-m)进行连接。
根据本发明的信息包传送装置10L如下所述,除了按照第2层包头信息来传送接收信息包的普通L2SW功能之外,还具备GW选择功能,用来将各有线LAN终端40与冗余化后的多个GW装置20L之中的1个有选择地进行连接。在下面的说明中,特别注重后一个功能,并将信息包传送装置10L称为“GW选择装置”。
在这里所示的有线接入网1L中,GW选择装置10L-1分别经由独立的接入线路容纳多个LAN终端(40-1~40-k),并且经由无源光纤网PON(Passive Optical Network)容纳GW选择装置10L-n及多个有线LAN终端(40-m~40-n)。PON包括:多个加入者连接装置ONU(Optical Network Unit)50(50-1~50-n);站侧装置OLT(OpticalLine Terminal),内置于GW选择装置10L-n中;光纤网,其结构为,通过星形耦合器(S.C.)51-1将OLT所接受的1条光纤分路为多个支路光纤。
另一方面,无线接入网1W包括:多个无线终端41(41-1~41-n),分别具备利用IEEE802.1X或PPPoE等的会话连接功能;多个信息包传送装置10W(10W-1~10W-n),用来容纳这些无线终端41。在这里所示的例子中,信息包传送装置10W-1具备无线-有线转换功能,并且和冗余化后的多个GW装置20L(20L-1、20L-m)进行连接。另外,信息包传送装置10W-n具备无线集线(频率、帧转换等)功能,并且和冗余化后的多个GW装置20W(20W-1、20W-m)进行连接。
因为构成无线接入网1W的信息包传送装置10W(10W-1~10W-n)也具备将各无线终端41与冗余化后的多个GW装置20之中的1个有选择地进行连接的GW选择功能,所以在下面的说明中,这些信息包传送装置10W也称为“GW选择装置”。
中继网2包括:多个第2层(layer2)交换机(L2SW)21(21-1~21-n);用户认证服务器(RADIUS服务器)22;DHCP服务器23,用来给用户终端分发IP地址;路由器24,用来将该中继网连接于因特网3上。在图示的例子中,L2SW21-1连接在路由器24及冗余化后的1组GW装置(20L-1~20L-m)上,L2SW21-n连接在路由器24及冗余化后的另1组GW装置(20W-1~20W-m)上。这里,虽然RADIUS服务器22和DHCP服务器23连接到了L2SW21-n上,但是也可以将至少一个连接于L2SW21-1上。
图2是说明本发明GW选择装置10L-1具备的GW选择功能所用的附图。其他的GW选择装置10L-n、10W-1~10W-n也具备和GW选择装置10L-1相同的GW选择功能。这里,对于GW选择装置10L-1从下述有线LAN终端40-1和有线LAN终端40-m接收到会话连接请求时的动作,进行说明,该有线LAN终端40-1执行依据IEEE802.1X的会话连接过程,该有线LAN终端40-m执行依据PPPoE的会话连接过程。
GW选择装置10L-1在从有线LAN终端40-1接收到利用IEEE802.1X的前往中继网2的连接请求时,将有线LAN终端40-1作为客户端,把与GW选择装置10L-1所连接的GW装置(在图1中是20L-1、20L-m)分别当作认证系统20LX-1、20LX-2,并对连接控制过程进行监控。在从这些GW装置(认证系统)接收到对上述连接请求的响应时,GW选择装置10L-1选择其中的一个例如GW装置20L-1,来作为有效认证系统20LX-1,并且继续执行用来将客户端40-1连接于中继网上的此后的通信控制过程。此时,不进行另一GW装置20L-2(20LX-2)和客户端40-1之间的信息包传送。
同样,在从有线LAN终端40-m接收到利用PPPoE的连接请求时,GW选择装置10L-1将有线LAN终端40-m作为PPPoE终端,把与GW选择装置10L-1所连接的GW装置(在图1中是20L-1、20L-m)分别当作BAS20LP-1、20LP-2,并对连接控制过程进行监控。在从这些GW装置(BAS)接收到对上述连接请求的响应时,GW选择装置10L-1选择一个GW装置例如GW装置20L-1,来作为有效BAS20LP-1,继续执行此后的连接控制过程,并且不进行另一GW装置20L-m(20LP-2)和PPPoE终端40-m之间的信息包传送。
图3表示按IEEE802.1X使用的通信帧的格式。
图3(A)表示从有线LAN终端40发送的连接开始信息包:EAPOL-Start的格式,图3(B)表示从GW装置20发送给有线LAN终端40的ID请求信息包:EAP-Request/ID请求,图3(C)表示从有线LAN终端40发送给GW装置20的断开通知信息包:EAPOL-Logoff的格式。
在这些通信控制帧中,附加有以太网包头900和EAP包头910。以太网包头900包含目标MAC地址(MAC-DA)901、发送源MAC地址(MAC-SA)902及协议类型903,EAP包头910包含EAP类型911和EAP代码912。
EAPOL-Start如图3(A)所示,在MAC-DA901中包含EAP所专用的组播MAC地址“01-80-C2-00-00-03”。在发送源的有线LAN终端已经对GW装置(有效认证系统)20的MAC地址进行识别完成时,在MAC-DA901中设定上述GW装置20的MAC地址。在EAPOL-Start的MAC-SA902中设定有线LAN终端40的MAC地址,并且在协议类型903中设定例如“0x888E”、“0X88C7”那样的代表EAP的特定值。在EAP类型911中,设定表示该帧是“EAPOL Start”的代码。
EAP-Request/ID请求如图3(B)所示,在MAC-DA901中包含有线LAN终端40(EAPOL-Start的发送源)的MAC地址,并且在MAC-SA902中包含作为EAP-Request/ID请求发送源的GW装置20的MAC地址,在协议类型903中设定“0x888E”、“0X88C7”等代表EAP的特定值。EAP-Request/ID请求的EAP包头910在EAP类型911中包含“EAPOL Packet”,并且在EAP Code912中包含表示“Request”的代码。
EAPOL-Logoff如图3(C)所示,在MAC-DA902中包含GW装置20的MAC地址,并且在MAC-SA902中包含有线LAN终端40的MAC地址,在协议类型903中设定“0x888E”、“0X88C7”等那样代表EAP的特定值。在EAP类型911中,设定表示该帧是“EAPOLLogoff”的代码。
图4表示按PPPoE使用的通信控制帧的格式。
图4(A)表示从有线LAN终端40发送给GW装置20的连接开始信息包:PADI(PPPoE Active Discovery Initiation),图4(B)表示从GW装置20发送给有线LAN终端40的连接开始响应信息包:PADO(PPPoE Active Discovery Offer),图4(C)表示从GW装置20发送给有线LAN终端40的会话ID通知信息包:PADS(PPPoEActive Discovery Session-Confirmation),图4(D)表示有线LAN终端40或GW装置20发放的断开通知信息包:PADT(PPPoE ActiveDiscovery Terminate)的格式。在这些通信控制帧中,附加有以太网包头900和PPPoE包头920。
PADI如图4(A)所示,在MAC-DA901中包含广播MAC地址(B.C),并且在MAC-SA902中包含有线LAN终端40的MAC地址。在协议类型953中设定“0x8863”等那样的代表PPPoE的特定值,并且在PPPoE包头的帧类型921中设定表示该帧是“PADI”的代码。
PADO如图4(B)所示,在MAC-DA901中包含有线LAN终端40的MAC地址,并且在MAC-SA902中包含GW装置20的MAC地址,在协议类型903中设定“0x8863”等那样的代表PPPoE的特定值。在PPPoE包头的帧类型921中,设定表示该帧是“PADO”的代码。
PADS如图4(C)所示,在MAC-DA901中包含有线LAN终端40的MAC地址,并且在MAC-SA902中包含GW装置20的MAC地址,在协议类型903中设定“0x8863”等那样的代表PPPoE的特定值。在PPPoE包头的帧类型921中设定表示该帧是“PADS”的代码,并且在会话ID922中设定从GW装置20给有线LAN终端40所分配的会话ID的值。
PADT在从有线LAN终端40向GW装置20发送时,如图4(D)所示,在MAC-DA901中包含GW装置20的MAC地址,在MAC-SA902中包含有线LAN终端40的MAC地址,并且在协议类型903中设定“0x8863”等那样的代表PPPoE的特定值。在从GW装置20向有线LAN终端40发送PADT时,MAC-DA901和MAC-SA902之间的关系相反。在PPPoE包头的帧类型921中设定表示该帧是“PADT”的代码,并且在会话ID922中设定应断开会话的ID。
图5表示根据本发明的信息包传送装置(GW选择装置)10的1个实施例。
GW选择装置10包括:多个线路接口11(11-1~11-n),分别分配了独立的端口号码(Port-1~Port-n);路由选择部12,与这些线路接口连接;通信控制信息包用的发送缓冲器13T及接收缓冲器13R;控制处理器14;存储器15。
路由选择部12和控制处理器14构成了协议处理部,该协议处理部用来控制上述线路接口间的信息包传送。在存储器15中,存储处理器执行的通信控制程序16、监控信息包表17、连接管理表18及端口管理表19。
在通信控制程序(routine)16中包含将在图9~图11、图13~图16中说明的各种控制信息包接收处理程序和计时监控程序。监控信息包表17指定了应由控制处理器14处理的通信控制信息包的种类。通过操作员操作控制终端50,来重写监控信息包表17的内容,而可以变更控制处理器14的动作模式。对于连接管理表18和端口管理表19,将在后面参照图6、图7进行详细说明。
在GW选择装置10是图1所示的有线接入网1L的GW选择装置10L-1时,线路接口11-1~11-n具备Ethernet、ATM、POS(PPP overSONET)等与在收容线路上使用的通信协议相适应的帧终止功能。在GW选择装置10是接受PON的GW选择装置10L-n时,线路接口11-1~11-n的结构例如具备使GE-PON、G-PON、WDM-PON等的PON帧终止的OLT功能。
在GW选择装置10是图1所示的无线接入网1W的GW选择装置10W-1时,无线终端41侧的线路接口例如具备IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.16a及PHS等与在无线线路上使用的通信协议相适应的无线接口功能,并且GW装置20侧的线路接口具备Ethernet、ATM、POS(PPP over SONET)、GE-PON、G-PON、WDM-PON等与在有线LAN区间上使用的通信协议相适应的接口功能。
另外,在GW选择装置10是图1所示的GW选择装置10W-n时,各线路接口和GW选择装置10W-1的无线终端41方的线路接口相同,具备与在无线线路上使用的通信协议相对应的无线接口功能。
图6(A)~(C)表示连接管理表18结构和内容的变换。
连接管理表18由多个表项目构成,该多个表项目具有连接终端后的线路接口的端口号码(下面,称为终端端口号码)181。各表项目表示出,终端端口号码181、终端MAC地址182、连接GW后的线路接口的端口号码(下面,称为GW端口号码)183、GW的MAC地址184、状态185和计时值186之间的对应关系。
状态185表示由具有上述终端MAC地址182的用户终端正在执行的通信控制过程中的当前状态,或者等待接收中的通信控制信息包的种类。
图7表示端口管理表19的结构。
端口管理表19由和线路接口11-1~11-n的端口号码191相对应的多个表项目构成,各表项目表示出下述GW连接标志192和从上述线路接口所接收到的各信息包的发送源MAC地址193,该GW连接标志192表示具有端口号码191的线路接口是否容纳了和GW装置连接的线路。
这里所例示的端口管理表19如同由端口号码191的值、MAC地址193所理解的那样,表明图2模式所示的网络结构中GW选择装置10L-1、终端40-1~40-m及GW装置20LX-1~20LP2之间的连接关系。在实际的应用中,既有连接于GW选择装置10L-1上的各GW装置具备认证系统和BAS双方功能的情形,也有只具备任一个功能的情形。在后者的情况下,作为认证系统(或者BAS)进行动作的GW装置对于PPPoE(或者EAPOL)的连接开始信息包,成为无响应。
路由选择部12若从线路接口11-1~11-n接收到信息包,则将接收信息包的接收端口号码和发送源MAC地址(MAC-SA902)之间的关系登录于端口管理表191中,并按照接收信息包的包头信息,判定接收信息包是否是图3、图4所示IEEE802.1X、PPPoE等的通信控制信息包。在接收信息包是通信控制信息包时,路由选择部12将接收信息包和接收端口号码经由接收缓冲器13R传送给控制处理器14。控制处理器14从接收缓冲器13R读出通信控制信息包和接收端口号码,执行下述的GW选择和通信控制。应向外部线路传送的通信控制信息包从控制处理器14输出给发送缓冲器13T。
路由选择部12按照端口管理表19,对从线路接口11-1~11-n所接收到的用户信息包和经由发送缓冲器13T从控制处理器14所接收到的通信控制信息包进行路由选择。具体而言,就是路由选择部12从端口管理表19,检索MAC地址193与接收信息包的目标MAC地址(MAC-DA901)一致的表项目,将接收信息包传送给上述表项目的端口号码191所示的特定线路接口。
如果,在端口管理表19中未登录符合目标MAC地址的表项目时,或者在接收信息包的目标地址为广播或组播地址时,路由选择部12将接收信息包传送给接收端口之外的全部端口(线路接口)。但是,在从发送缓冲器13T所读出的通信控制信息包是连接开始请求信息包(EAPOL-Start信息包或者PADI信息包)时,路由选择部12向端口管理表19中GW连接标志192为“1”状态的端口进行广播。
应由控制处理器14监控的通信控制信息包的种类在监控信息包表17中已被指定。控制处理器14判定从接收缓冲器13R所读出的通信控制信息包是否是监控对象,未成为监控对象的通信控制信息包直接输出给发送缓冲器13T。若接收到已成为监控对象的通信控制信息包,则控制处理器14在按照通信控制程序16更新连接管理表18之后,将通信控制信息包输出给发送缓冲器13T。如下所述,控制处理器14通过选择成为连接开始请求且从GW装置所回复的多个响应信息包之中的1个,传送给用户终端,并将剩下的信息包废弃,来实现GW选择。
作为本发明信息包传送装置(GW选择装置)10中的GW选择方法,例如有下述(1)(2)(3)的方法等,即(1)在对同一连接开始请求(EAPOL-Start或PADI)从多个GW装置接收到响应信息包(EAP-Request/ID请求或PADO)时,将最先接收到的响应信息包作为有效,并且此后接收到的响应信息包予以废弃的方法,(2)从在指定时间所接收到的多个响应信息包之中,将来自和上次选择出的GW装置不同的别的GW装置的响应信息包作为有效,并且其他的响应信息包予以废弃的方法,(3)事先给冗余化后的一群GW装置赋予优先级,从在指定时间内所接收到的多个响应信息包之中,选择优先级最高的GW装置所发送的信息包的方法。给GW装置赋予的优先级也可以进行周期性变更。这种情况下,例如也可以通过随机数发生器发生随机的优先级值,给冗余化后的一群GW装置分配随机的优先级。
下面,参照图6~图11,对于由本发明GW选择装置10做出的IEEE802.1X的连接控制进行说明。这里,对于图2所示的GW选择装置10L-1采用下述GW选择方法的情形,进行说明,该GW选择方法为,将从GW装置20L-1、20L-2(认证系统20LX-1、20LX-2)所接收到的响应信息包(EAP-Request/ID请求)之中最先接收到的信息包作为有效。
如同图8的通信顺序所示的那样,若终端(客户端)40-1发送出EAPOL-Start信息包(SQ10),则开始EAPOL连接阶段SX1。EAPOL-Start信息包其目标MAC地址(MAC-DA)为组播地址“01-80-C2-00-00-03”。若GW选择装置10L-1接收到上述EAPOL-Start,则控制处理器14执行图9所示的EAPOL-Start接收处理程序100。EAPOL-Start接收处理程序100与下述的EAP-Request/ID请求接收处理程序110、EAPOL-Logoff信息包接收处理程序400一起,构成了通信控制程序16的一部分。
在EAPOL-Start接收处理程序100中,控制处理器14首先判定EAPOL-Start是否作为监控对象信息包已被指定(10I)。应作为监控对象的信息包类型在监控信息包表17中已被指定。在EAPOL-Start未作为监控对象信息包被指定时,控制处理器14将EAPOL-Start信息包经由发送缓冲器13T传送给路由选择部12(108),并结束该程序。
在本实施例中,假定EAPOL-Start已作为监控信息包被指定。这种情况下,控制处理器14从连接管理表18,检索终端MAC182和接收信息包的发送源MAC地址(MAC-SA902)的值“00-00-00-00-00-01”一致的表项目(102)。通常情况下,在接收到EAPOL-Start信息包的时刻,在连接管理表18中,符合接收信息包MAC-SA902的表项目为未登录的状态。
如果表检索的结果(103)为没有找到目标的表项目,则控制处理器14如图6(A)所示,将从路由选择部12所通知的接收端口号码“1”作为终端端口181,把作为终端MAC182包含MAC-SA的值“00-00-00-00-00-01”的新的表项目登录于连接管理表18中(105),并将该表项目的状态185设定为EAP-Request/ID等待请求状态(106),将计时值186初始化(107),把EAPOL-Start信息包传送给路由选择部12(108)。
在表检索的结果(103)为假如找到了与接收信息包的MAC-SA一致的表项目时,控制处理器14判断出EAPOL-Start信息包是从同一终端再次发送的,在从连接管理表18将上述表项目删除(104)之后,执行步骤105~108。
路由选择部12若经由发送缓冲器13T,从控制处理器14接收到上述EAPOL-Start信息包,则参照端口管理表19,按照GW连接标志192为“1”的表项目所示的端口号码191,将接收帧向多个线路接口进行广播(图8的SQ11-1、SQ1I-2)。
认证系统20LX-1和20LX-2对上述EAPOL-Start信息包做出响应,并分别回发EAP-Request/ID请求(SQ12-1、SQ12-2)。GW选择装置10L-1的路由选择部12将从认证系统20LX-1所接收到的EAP-Request/ID请求与接收端口号码“4”一起,输出给接收缓冲器13R。从认证系统20LX-2所接收到的EAP-Request/ID请求也和接收端口号码“n”一起,输出给接收缓冲器13R。
控制处理器14若接收到来自认证系统20LX-1的EAP-Request/ID请求,则执行图10所示的EAP-Request/ID请求接收处理程序110,首先从连接管理表18,检索终端MAC182和接收信息包的目标MAC地址(MAC-DA901)的值“00-00-00-00-00-01”一致的表项目(111)。在检索的结果(112)为找到了与目标MAC地址一致的表项目时,控制处理器14判定检索项目的状态185是否为EAP-Request/ID等待请求状态(114)。
在此例中,因为状态185为EAP-Request/ID等待请求状态,所以控制处理器14如图6(B)所示,在上述表项目的GW MAC184中,登录接收信息包的发送源MAC地址(MAC-SA902)所示的地址值“00-00-00-11-11-01”(115),并在上述表项目的GW端口183中登录端口号码“4”,将状态185变更为EAP传送状态(116)。控制处理器14此后将上述表项目的计时值186初始化(119),把接收信息包(EAP-Request/ID请求)经由输出缓冲器13T传送给路由选择部12(120),并结束该程序。
还有,在对上述EAPOL-Start信息包的全部响应信息包(EAP-Request/ID请求)到达控制处理器14中之后,在计时值186中设定较大值的初始值,以便发生超时。
路由选择部12若接收到来自控制处理器14的EAP-Request/ID请求信息包,则参照端口管理表19。在端口管理表19中,因为和目标MAC地址(“00-00-00-00-00-01”)对应的端口号码为“1”,所以该EAP-Request/ID请求从具有端口号码“1”的线路接口发送给用户终端40-1(SQ13)。
如果,在EAPOL-Start未作为监控对象被指定时,在图9所说明的EAPOL-Start信息包接收处理100中,没有具有终端MAC地址“00-00-00-00-00-01”的表项目向连接管理表18的登录。因此,在接收EAP-Request/ID请求时进行的连接管理表检索的结果(112)为,判明没有与目标MAC地址一致的表项目。
这种情况下,控制处理器14生成新的表项目,该新的表项目将接收信息包的目标MAC地址(MAC-DA901)的值“00-00-00-00-00-01”和发送源MAC地址(MAC-SA902)的值“00-00-00-11-11-01”分别作为终端MAC182、GW MAC184。在上述表项目的终端端口181中,设定和从端口管理表19检索到的上述目标MAC地址“00-00-00-00-00-01”对应的端口号码的值“1”。但是,在端口管理表19中未登录上述目标地址时,终端端口181的值也可以省略。控制处理器14在将上述表项目登录于连接管理表18中(113)之后,执行步骤116之后的步骤。
在判定步骤114中,在状态185不是EAP-Request/ID等待请求状态时,控制处理器14从连接管理表18检索GWMAC184和接收信息包的发送源MAC地址(MAC-SA902)一致的表项目(117)。在检索的结果(118)为找到了符合发送源MAC地址的表项目时,控制处理器14判断出所接收到的EAP-Request/ID请求是从同一认证系统作为重试信息包再次发送的,在将上述表项目的计时值186初始化(119)之后,把EAP-Request/ID请求传送给路由选择部12(120),并结束该程序。在连接管理表18中没有和发送源MAC地址一致的表项目时,控制处理器14将接收信息包废弃(121),并结束该程序。
控制处理器14在接收到来自认证系统20LX-2的EAP-Request/ID请求时,执行上述EAP-Request/ID请求接收处理程序110,并从连接管理表18,检索终端MAC182和接收信息包的目标MAC地址(MAC-DA901)的值“00-00-00-00-00-01”一致的表项目(111)。
若检索到终端MAC182为“00-00-00-00-00-01”的表项目,则控制处理器14判定该表项目的状态185(114)。在此例中,上述表项目的状态185已经变更成EAP传送状态。这种情况下,控制处理器14从连接管理表18检索GW MAC184和接收信息包的发送源MAC地址(MAC-SA902)的值“00-00-00-11-11-02”一致的表项目(117)。因为检索的结果(118)为,在连接管理表18中找不到GWMAC184为“00-00-00-11-11-02”的表项目,所以控制处理器14判断出此次所接收到的EAP-Request/ID请求是从冗余化后的别的认证系统发送来的,将接收信息包废弃(121),并结束该程序。
这样,即使在对终端40-1所广播的连接开始请求由冗余化后的多个GW装置(认证系统20LX-1、20LX-2)回发了响应信息包时,通过使GW选择装置10L-1选择特定的认证系统(在该例子中,是20LX-1),并将来自没有选择的GW装置(认证系统20LX-2)的响应信息包废弃,也能够在终端(客户端)40-1和上述特定认证系统(20LX-1)之间,执行此后的通信控制过程。
接收到EAP-Request/ID请求后的终端(客户端)40-1对作为接收信息包发送源的认证系统20LX-1,发送EAP-Response/ID通知(SQ14)。GW选择装置10L-1的控制处理器14因为从路由选择部12所接收到的EAP-Response/ID通知不是EAPOL-Start或EAP-Request/ID请求的那样预先作为监控对象信息包所指定的通信控制信息包,所以将接收信息包直接传送给路由选择部12。路由选择部12若从控制处理器14接收到EAP-Response/ID通知,则按照端口管理表19,确定和接收信息包的目标MAC地址“00-00-00-11-11-01”相对应的端口号码“4”,并经由具有该端口号码“4”的线路接口将接收信息包传送给认证系统20LX-1(SQ15)。
还有,在从线路接口接收到通信控制信息包时,路由选择部12参照监控信息包表17,并且如同EAP-Response/ID通知那样成为非监控对象的通信控制信息包不用传送给控制处理器14,而按照端口管理表19直接进行路由选择也可以。
GW选择装置10L-1在接在EAPOL连接阶段SX1后的EAP认证阶段SX2中,对于在终端(客户端)40-1和GW装置(认证系统)20LX-1之间进行通信的EAP认证信息包(SQ20)及EAP-Success信息包(SQ22、SQ23),也进行和上述EAP-Response/ID通知相同的传送处理。认证系统20LX-1在EAP认证阶段SX2中,在和RADIUS服务器22之间对EAP认证信息包进行相互通信(SQ21),并按照认证结果发生响应信息包(例如,EAP-Success信息包)(SQ22)。
GW选择装置10L-1在接在EAP认证阶段SX2后的EAP传送阶段SX3中,对于在终端(客户端)40-1和认证系统20LX-1之间进行通信的传送信息包(SQ30),也进行和上述EAP-Response/ID通知相同的传送处理。认证系统20LX-1将经由GW选择装置10L-1从终端(客户端)40-1所接收到的传送信息包(用户信息包)传送给路由器24,并将从路由器24所接收到的传送信息包(用户信息包)经由GW选择装置10L-1传送给终端(客户端)40-1(SQ31)。
若终端用户结束了因特网接入,则从客户端40-1发送断开请求信息包(EAPOL-logoff)(SQ40),并从EAP传送阶段SX3转移成EAPOL断开阶段SX4。GW选择装置10L-1的路由选择部12若接收到上述EAPOL-logoff,则将其和接收端口号码“1”一起,输出给接收缓冲器13R。
控制处理器14若从接收缓冲器13R读出了EAPOL-logoff,则执行图11所示的EAPOL-logoff信息包接收处理程序400。在EAPOL-logoff信息包接收处理程序400中,控制处理器14将从路由选择部12所通知的接收端口号码的值“1”、接收信息包的发送源MAC地址(MAC-SA902)的值“00-00-00-00-00-01”及目标MAC地址(MAC-DA901)的值“00-00-00-11-11-01”作为检索关键字,从连接管理表18检索终端端口181、终端MAC182及GW MAC184与上述检索关键字一致的表项目(401)。但是,接收端口号码也可以从检索关键字项目除去。
在检索的结果(402)为找到了符合检索关键字的表项目时,控制处理器14如图6(C)所示,在从连接管理表18将该表项目删除(403)之后,把EAPOL-logoff传送给路由选择部12(404),并结束该程序。在找不到与检索关键字一致的表项目时,不用更新连接管理表18,而将EAPOL-logoff传送给路由选择部12(404),并结束该程序。
连接管理表18的表项目除了上述EAPOL-logoff信息包接收处理程序400之外,还通过按指定周期启动的计时监控程序(在图5予以省略)进行删除。计时监控程序以指定的速率减低连接管理表18的各表项目所示的计时值186,把计时值达到零的表项目从连接管理表18自动删除。
如同可以从上述说明所理解的那样,根据本实施例,因为即便在对从终端(客户端)40所广播的连接开始请求由多个GW装置(认证系统)进行了响应时,客户端40也可以在和通过信息包传送装置(GW选择装置)10L选择出的特定认证系统之间,执行此后的通信控制过程,所以不依赖于安装在客户端40中的控制软件,就能够实现认证系统的冗余化。
下面,参照图12~图18,对于由本发明GW选择装置做出的PPPoE的连接控制进行说明。这里,对于图2所示的GW选择装置10L-1采用下述GW选择方法的情形进行说明,该GW选择方法为,将从GW装置20L-1、20L-2(BAS20LP-1、20LP-2)所接收到的响应信息包(PADO)之中最先接收到的信息包作为有效。
如图12所示,若终端(PPPoE终端)40-m对PADI信息包进行了广播(SQ110),则开始PPPoE连接阶段SP1。GW选择装置10L-1的路由选择部12若接收到上述PADI信息包,则将其和接收端口号码“8”一起,输出给接收缓冲器13R。
控制处理器14若接收到PADI信息包,则执行图13所示的PADI信息包接收处理程序130。PADI信息包接收处理程序130和下述的PADO信息包接收处理程序140、PADS信息包接收处理程序150及PADT信息包接收处理程序300一起,构成了通信控制程序16的一部分。
在PADI信息包接收处理程序130中,控制处理器14参照监控信息包表17,判定PADI是否已被指定为监控对象信息包(131)。如果PADI未被指定成监控对象,则控制处理器14将所接收到的PADI信息包经由发送缓冲器13T传送给路由选择部12(138),并结束该程序。
在本实施例中,假定PADI作为监控对象已被指定。这种情况下,控制处理器14从连接管理表18,检索终端MAC地址181和接收信息包的发送源MAC地址(MAC-SA902)的值“00-00-00-00-00-03”一致的表项目(132)。
在检索的结果(133)为没有找到符合接收信息包MAC-SA的表项目时,控制处理器14如图18(A)所示,将下述新的表项目登录于连接管理表18中(135),并把上述表项目的状态185设定成PADO等待(136),将计时值186初始化成指定值(137),上述新的表项目包含从路由选择部12所通知的接收端口号码“8”来作为终端端口181,并且包含接收信息包的发送源MAC地址“00-00-00-00-00-03”来作为终端MAC182。此后,控制处理器14将所接收到的PADI信息包发送给路由选择部12(138),并结束该程序。
在表检索的结果为找到了符合接收信息包MAC-SA的表项目时,控制处理器14判断出是从同一用户再次发送连接请求的信息包,并且在将检索到的表项目从连接管理表18删除(134)之后,执行步骤135~138。
路由选择部12若从控制处理器14接收到PADI信息包,则按照端口管理表19所示的GW连接标志192为“1”的表项目,将PADI向连接于GW上的多个线路接口进行广播(SQ111-1、SQ111-2)。
BAS20LP-1和20LP-2对上述PADI信息包进行响应,并分别回发PADO信息包(SQ112-1、SQ112-2)。这些PADO信息包的目标MAC地址(MAC-DA901)为PPPoE终端40-m的MAC地址“00-00-00-00-00-03”。
GW选择装置I0L-1的路由选择部12将从BAS20LP-1所接收到的PADO信息包和接收端口号码“5”一起,输出给接收缓冲器13R,并且稍后所接收到的来自BAS20LP-2的PADO信息包也和接收端口号码“k”一起,输出给接收缓冲器13R。
控制处理器14若接收到从BAS20LP-1所发送的PADO信息包,则执行图14所示的PADO信息包接收处理程序140,首先从连接管理表18检索终端MAC182和接收信息包的目标MAC地址(MAC-DA901)的值“00-00-00-00-00-03”一致的表项目(141)。
在检索的结果(142)为找到了与目标MAC地址一致的表项目时,控制处理器14判定检索到表项目的状态185是否为PADO等待状态(144)。在此例中,因为状态185为PADO等待状态,所以控制处理器14如图17(B)所示,在上述表项目的GW MAC 184中,登录接收信息包的发送源MAC地址(MAC-SA902)所示的地址值“00-00-00-22-22-01”(145),并在上述表项目的GW端口183中登录端口号码“5”,把状态185变更成PADS等待(146)。此后,控制处理器14将上述表项目的计时值186初始化(147),把接收信息包(PADO)经由发送缓冲器13T传送给路由选择部12(148),并结束该程序。
路由选择部12若从控制处理器14接收到PADO信息包,则根据接收信息包的目标MAC地址(MAC-DA901),来参照端口管理表19。这种情况下,因为端口管理表19如图7所示,作为和MAC地址“00-00-00-00-00-03”对应的端口号码191,表示出PPPoE终端40-m的连接端口号码“8”,所以路由选择部12从端口号码“8”的线路接口发送上述PADO信息包(SQ113)。
还有,在PADI未被指定为监控对象时,因为在图13所说明的PADI信息包接收处理程序130中,没有具有终端MAC地址“00-00-00-00-03”的表项目向连接管理表18的登录,所以从连接管理表的目标项目检索失败(142)。
这种情况下,控制处理器14生成新的表项目,该新的表项目包含接收信息包的目标MAC地址(MAC-DA901)的值“00-00-00-00-00-03”来作为终端MAC182,并且包含发送源MAC地址(MAC-SA902)的值“00-00-00-22-22-01”来作为GW MAC 184。在上述表项目的终端端口181中,设定和从端口管理表19检索到的上述目标MAC地址“00-00-00-00-00-03”对应的端口号码的值“8”。但是,终端端口181的值也可以省略。控制处理器14在将上述表项目登录于连接管理表18中(143)之后,执行步骤146~148。
控制处理器14在接收到来自BAS20LP-2的PADO信息包时,也执行PADO信息包处理程序140。控制处理器14从连接管理表18,检索终端MAC182和接收信息包的目标MAC地址(MAC-DA901)的值“00-00-00-00-00-03”一致的表项目(141)。在此次检索到的表项目中,如图17(B)所示,状态185已经变更成PADS等待状态。从而,控制处理器14其状态检查(144)的结果为,判断出此次所接收到的PADO信息包是从冗余化后的别的BAS所发送的,将接收信息包废弃(149),并结束该程序。
PPPoE终端40-m若接收到上述PADO信息包,则对作为其发送源的BAS20LP-1,发送PADR信息包(SQ114)。在本实施例中如图17(B)所示,因为连接管理表18的状态185为作为对PADR的响应信息包之PADS等待状态,所以PADR信息包被从监控对象去除。这种情况下,GW选择装置10L-1的控制处理器14若接收到上述PADR信息包,则将其直接传送给路由选择部12。
路由选择部12若接收到上述PADR信息包,则按照端口管理表19对接收信息包进行路由选择。上述PADO信息包的目标MAC地址(MAC-DA901)表示出BAS20LP-1的MAC地址“00-00-00-22-22-01”,并且在端口管理表19中和上述MAC地址相对应,存储和BAS20LP-1之间的连接线路的端口号码“5”。从而,PADR信息包从GW选择装置10L-1传送给BAS20LP-1(SQ115)。
BAS20LP-1对上述PADR进行响应,回发PADS信息包(SQ116)。GW选择装置10L-1的路由选择部12若接收到上述PADS信息包,则将其和接收端口号码“5”一起,输出给接收缓冲器13R。
控制处理器14(处理器14)若接收到PADS信息包,则执行图15所示的PADS信息包接收处理程序150。在PADS信息包接收处理程序150中,控制处理器14将从路由选择部12所通知的接收端口号码“5”、接收信息包的目标MAC地址(MAC-DA901)的值“00-00-00-00-00-03”和发送源MAC地址(MAC-SA902)的值“00-00-00-22-22-01”作为检索关键字,从连接管理表18检索GW端口183、终端MAC182、GW MAC184与检索关键字一致的表项目(151)。
若检索的结果(152)为找到了与检索关键字一致的表项目,则控制处理器14如图17(C)所示,将所接收到的PADS信息包所示的会话ID的值(在该例子中,是“10”)设定于上述表项目的状态185中(153),把上述PADS经由发送缓冲器13T传送给路由选择部12(154),并结束该程序。
因为上述PADS信息包的目标地址(MAC-DA901)为“00-00-00-00-00-03”,所以路由选择部12将上述PADS信息包传送给图7的端口管理表19所示的端口号码“8”的线路接口。借此,PADS信息包发送给PPPoE终端40-m(SQ117)。
在连接管理表18中没有与检索关键字一致的表项目时,处理器将所接收到的PADS传送给路由选择部12(154),并结束该程序。该事件例如根据计时监控程序,发生于表项目被自动删除的场合。
若PPPoE终端40-m接收到PADS信息包,则从PPPoE连接阶段SP1转移成PPPoE传送阶段SP2。在PPPoE传送阶段SP2中,GW选择装置10L-1进行下述PPPoE传送信息包的传送(SQ200)和keepalive信息包的传送(SQ210~SQ213),该PPPoE传送信息包在PPPoE终端40-m和BAS20LP-1之间进行相互通信,该keepalive信息包在PPPoE终端40-m和BAS20LP-1之间进行相互通信。
在PPPoE传送阶段SP2中,BAS20LP-1将经由GW选择装置10L-1从PPPoE终端40-m所接收到的PPPoE信息包传送给路由器24,并将从路由器24所接收到的PPPoE信息包经由GW选择装置10L-1传送给PPPoE终端40-m(SQ201)。另外,BAS20LP-1通过周期性发放keepalive request信息包(SQ210),并接收来自终端的响应信息包(keepalive acknowledge)信息包,来确认PPPoE终端40-m的动作状态。
若终端用户结束了因特网接入,则从PPPoE终端40-m给BAS20LP-1发送连接结束信息包PADT(SQ310),并从PPPoE传送阶段SP2转移成PPPoE断开阶段SP3。GW选择装置10L-1的路由选择部12若接收到上述PADT信息包,则将其和接收端口号码“8”一起,输出给接收缓冲器13R。
控制处理器14若接收到上述PADT信息包,则执行图16所示的PADT信息包接收处理程序300。在PADT信息包接收处理程序300中,控制处理器14将接收端口号码“8”、接收信息包的发送源MAC地址(MAC-SA902)的值“00-00-00-00-00-03”和目标MAC地址(MAC-DA901)的值“00-00-00-22-22-01”作为检索关键字,从连接管理表18检索终端端口181、终端MAC182、GW MAC184和检索关键字一致的表项目(310)。但是,接收端口号码也可以从检索关键字项目除去。
若检索的结果(302)为,找到了与检索关键字一致的表项目,则控制处理器14判定上述表项目的状态185所示的会话ID的值是否和所接收到PADT信息包的会话ID922所示的会话ID值“10”一致(305)。如果,在判定的结果(306)为2个会话ID一致时,控制处理器14从连接管理表18将上述表项目删除(307),把接收信息包经由发送缓冲器13T传送给路由选择部12(308),并结束该程序。
路由选择部12若从控制处理器14接收到PADT信息包,则从端口管理表19确定输出端口的端口号码191,并将上述PADT信息包传送给BAS20LP-1(SQ311)。
在PADT信息包从BAS20LP-1方发放的情况下,在判定步骤302中判明在连接管理表18中不存在目标表项目。这种情况下,控制处理器14改变检索关键字项目的组合,将接收信息包的目标MAC地址(MAC-DA901)的值“00-00-00-00-00-03”、接收端口号码“5”及发送源MAC地址(MAC-SA902)的值“00-00-00-22-22-01”作为检索关键字,从连接管理表18检索终端MAC182、GW端口183及GW MAC184和检索关键字一致的表项目(303)。
在检索的结果(304)为按目标找到了表项目时,控制处理器14执行上述的步骤305~308,在按目标没有找到表项目时,执行步骤308,并结束该程序。
如同可以从上面的说明所理解的那样,根据本实施例,即使在对从PPPoE终端40所广播的连接开始请求由多个GW装置(BAS)进行了响应时,由于信息包传送装置(GW选择装置)10使来自特定GW装置的响应成为有效,并使来自其他GW装置的响应成为无效,因而PPPoE终端40仍可以和上述特定的BAS执行此后的通信控制过程,因此不依赖于PPPoE终端40的安装,就可以实现BAS的冗余化。
在上述实施例中,虽然由控制处理器14来进行GW选择,但是只要在路由选择部12的处理性能上没有问题,也可以将实施例中所说明的控制处理器14的功能安装于路由选择部12中。另外,在连接控制表18中,可以同时存在图6所示的IEEE802.1X(EAPOL)用的表项目和图17所示的PPPoE用的表项目。
在实施例中,虽然对于下述通信网络结构进行了说明,该通信网络结构通过在接入网内配置具有EAPOL和PPPoE协议处理功能的信息包传送装置(GW选择装置),而能够在同一第2层接入网上连接按IEEE802.1X进行动作的终端群和按PPPoE进行动作的终端群,但是通过增加信息包传送装置(GW选择装置)能对应的协议种类,本发明的应用范围能得到进一步扩大。例如,通过使信息包传送装置(GW选择装置)具有DHCP信息包的传送控制功能,即使在用户终端对IP地址的分配请求进行了广播时,仍可以选择对请求响应后的多个DHCP服务器之中的1个,和用户终端进行通信。