具体实施例
下面,参考附图来详细说明本发明的实施例。
图1表示对ISP,可将广域以太网作为L2-VPN提供的本发明的通信网络结构的一例。
NW1表示将多个用户终端H(H1~Hx)和P(P1~Pm)有选择地与多个ISP网NW2(NW2-1~NW2-n)中的一个连接的广域以太网(L2-VPN网)。
广域以太网NW1由分别容纳用户终端侧的多个接入线路的边缘侧的多个分组传送装置(第2层网关:L2GW)10(10-1、10-2)、分别与ISP网NW2(NW2-1~NW2-n)的宽带接入服务器(下面称作BAS)40(40-1~40-n)相连的核心侧的多个分组传送装置(第2层网关:L2GW)20(20-1~20-3)、作为用户认证服务器的Radius服务器31、将L2GW10(10-1、10-2)与L2GW20(20-1~20-3)相连用的多个第2层交换器(下面称作L2SW)30(30-1~30-3)构成。
下面的说明中,将用户终端侧的各L2GW10称作“EGW(EdgeGateway:边缘网关)”,将ISP网侧的L2GW20称作“CGW(CoreGateway:核心网关)”。本发明中,通过在EGW10和CGW20之间,进行基于Ethernet over Ethernet、扩展VLAN等的第2层隧道,而在广域以太网NW1上实现应对ISP的多个L2-VPN。
各EGW10经接入线路通过以太头来封装从各用户终端(H1~Hx、P1~Pn)接收的PPPoE分组,并以第2层隧道分组形式传送到L2SW30,并且,解封装从L2SW30接收的第2层隧道分组,而以PPPoE分组形式传送到连接了目标用户终端的接入线路。
另一方面,各CGW20解封装从L2SW30接收的第2层隧道分组,以PPPoE分组形式传送到ISP网NW2,并且,通过以太头来封装从ISP网NW2接收的PPPoE分组,并以第2层隧道分组形式传送到L2SW30。
在图1所示的例子中,属于各ISP网的BAS40(40-1~40-n)与提供各种信息通信业务的互联网NW3或提供基于IP电话的声音通信业务的VoIP网NW4相连。
用户终端和EGW10的连接可以采用各种接入线路形式。
在图示的例子中,用户终端H1~H3以各自单独的接入线路连接到EGW10-1,用户终端P1~Pm经无源光网络PON(Passive OpticalNetwork)与EGW10-1相连。PON由与EGW10-1相连的站侧装置OLT(Optical Line terminal:光线路终端)51和分别在用户家中配置的多个加入者连接装置ONU(Optical Network Unit:光网络单元)52(52-1~52-m)构成,成为将与OLT相连的光纤通过光耦合器(S.C:Star Coupler)53分路到多个支线光纤,将ONU连接到各支线光纤的结构。另一方面,经单独的接入线路将用户终端Hx连接到EGW10-2,经L2SW50来连接用户终端H4、H5。
各EGW10通过后述的用户管理表,按分别容纳的每个用户终端来管理第2层隧道控制信息,并利用Radius服务器31来进行用户认证。
图2A表示在图1的网络中,在EGW10和用户终端、CGW20和BAS40之间发送接收的PPPoE分组的格式。
PPPoE分组由以太头71、PPPoE头72、作为PPPoE分组的主体的可变长PPPoE有效载荷73构成。
以太头71由发送源MAC地址711、目标MAC地址722、后续头的协议类型713和其他头项目构成。
PPPoE头72包含版本721、类型722、代码723、会话ID724和有效载荷长度725。代码723设置从用户终端作为连接请求分组(PPPoE阶段的开始分组)发送的PADI(The PPPoE Active DiscoveryInitiation:PPPoE主动发现初始)分组、作为对PADI的响应分组的PADO(The PPPoE Active Discovery Offer:PPPoE主动发现提议)分组、作为PPP会话的开始请求分组的PADR(The PPPoE ActiveDiscovery Request:PPPoE主动发现请求)分组、作为对PADR的响应分组的PADS(The PPPoE Active Discovery Session-Confirmation:PPPoE主动发现会话确认)分组、作为PPP通信的结束请求分组的PADT(PPPoE Active Discovery Terminate:PPPoE主动发现停止)等、表示分组类别的识别信息。
另外,在PPPoE有效载荷732中包含TAG731。TAG731如图2B所示,由TAG类型7311、TAG长7312和TAG VALUE 7313构成。TAG类型7311表示TAG VALUE7313的类别。在用户通过业务名来指定希望的通信业务的情况下,在TAG类型7311上设置值“0x0101”,通过TAG长7313来指定业务名的长度,在TAGVALUE7313上描述了业务名。
例如,在用户希望利用VoIP网NW4的IP电话业务的情况下,在TAG类型7311上设置“0x0101”、在TAG VALUE7313上设置VoIP业务的识别名称,在TAG长7312上设置上述业务名称的长度。若TAG VALUE 7313上什么都未描述,则将TAG长7312看作“0”。
TAG VALUE 7313上如后所述,可以与业务名一起,来描述ISP的域名和密码。另外,可省略业务名,仅描述ISP的域名和密码。若没有指定业务名,则在CGW20侧,执行对通常的互联网NW3的连接业务。
图3表示图1所示的广域以太网中的用户终端的连接目标BAS的选择动作的说明图。
本发明中,在利用了广域以太网(L2-VPN网)NW1的连接业务中,为了将从用户终端(H1~Hx、P1~Pm)接收的PPPoE分组动态分配到位于ISP网NW2(NW2-1~NW-n)的多个BAS40-1~40-n中的一个,在图2所示的PPPoE分组的TAG VALUE7313上除了业务名(业务识别符)之外,还描述了表示作为连接目标的ISP的域名和密码信息。
作为PPPoE分组的传送装置的EGW10(10-1、10-2)和CGW20(20-1~20-3)在接收到从用户终端到IP网的连接请求分组(PADI分组)后,将PADI分组分配给由TAG VALUE7313表示的域名所确定的ISP网。
例如,假定图3的用户终端H1发送包含“voip@isp1;pass1”的PADI分组来作为TAG VALUE7313的情况。这里,“voip”表示业务名、“@isp1”表示域名,“pass1”表示密码信息。这时,PADI分组根据域名,如图3的粗实线所示,经EGW10-1和L2SW30传送到CGW20-1。CGW20-1在接收到上述PADI分组后,将其分配到在具有域名“voip”的ISP网NW2-1上设置的VoIP网(NW4)连接用的BAS40-1上。
同样,在从用户H3发送的TAG VALUE7313上包含“voip@isp4;pass4”的PADI分组如粗点划线所示,经EGW10-1和L2SW30传送到CGW20-2,而传送到在具有域名“isp4”的ISP网NW2-4上设置的VoIP网连接用的BAS40-4。
从用户终端H4发送的TAG VALUE7313上包含“@isp5;pass5”的PADI分组由于省略了业务名,所以如粗虚线所示,经EGW10-2和L2SW30传送到CGW20-3。这时,由于TAG VALUE7313上省略了业务名,所以PADI分组被分配到在具有域名“isp5”的ISP网NW2-5上设置的互联网(NW3)连接用的BAS40-5。
图4表示EGW10(10-1、10-2)的一实施例框图结构图。
EGW10由分别具有端口号的多个输入输出线路接口11(11-1~11-n)、与这些输入输出线路接口11相连的路由部12和与路由部12相连的控制部13构成。90表示与控制部13相连的控制终端。
控制部13与路由部12共同地来执行协议处理。
控制部13由处理器14、存储器15、发送缓存器16T和接收缓存器16R构成。在存储器15上作为处理器14执行的程序,存储进行用户终端的互联网连接/切断、PPPoE分组的封装、第2层隧道分组的解封装用的通信处理程序100和与Radius服务器31进行通信用的Radius通信处理程序。另外,在存储器15上形成后述的用户管理表17和端口管理表18。
路由部12在从线路接口11-1~11-n接收到分组后,从PPPoE头的分组种类识别信息判断接收分组是通信控制分组还是用户分组,在接收分组是所述的PADI等的通信控制分组的情况下,将接收分组传送到接收缓存器16R。路由部12对从线路接口11-1~11-n接收的用户分组和处理器14向发送缓存器16T输出的通信控制分组,按照发送目标MAC地址711或TAG731,传送到线路接口11-1~11-n中的其中一个。
图5A~图5F表示EGW10-1的控制部13具有的用户管理表17的结构和时间序列的内容变化。其他EGW也具有与之有相同的结构的用户管理表17。
用户管理表17由与用户终端的MAC地址(下面称作用户MAC地址)对应的多个表项目170(170-1、170-2、...)构成。
各表项目170由用户MAC地址171、在用户终端和BAS40之间定义的VLAN的识别符(VLAN ID)172、在EGW10-1和CGW20(20-1~20-3)之间形成的第2层隧道的种类、例如,表示Ethernet overEthernet、扩展VLAN等的第2层隧道类型173、表示EGW10-1和CGW20(20-1~20-3)之间的VLAN的识别符的S-VLAN ID174、EGW10-1的MAC地址175、通过第2层隧道连接的CGW的MAC地址176、容纳具有MAC地址171的用户终端的线路接口的端口号(用户侧端口号)177、和表示中继VLAN的广域以太网侧的线路接口的端口号(L2-VPN侧端口号)178的多个字段构成。
处理器14在从用户终端接收了PADI分组时,例如,如图5A的项目170-2所示,将表示用户MAC地址171、VLAN ID172、用户侧端口号177的新的表项目追加到用户管理表17。在所接收的PADI分组上没有设置VLAN ID的情况下,在VLAN ID172上设置表示ID未定义的代码“-”。
在第2层隧道类型173、S-VLAN ID174、EGW MAC地址175、CGW MAC地址176上如后所述,在从进行了用户认证后的Radius服务器D1接收了接入许可消息Access-Accept的时刻,设置从接收消息(Access-Accept)提取的值。
Access-Accept消息在没有表示VLAN识别符(S-VLAN ID)的情况下,例如,在隧道类型是Ethernet over Ethernet的情况下,在S-VLAN ID174上设置表示ID未定义的代码“-”。在Access-Accept消息没有表示EGW2的MAC地址和CGW的MAC地址的情况下,例如,在隧道类型是扩展VLAN的情况下,在EGW MAC地址175和CGW MAC地址176上设置表示地址未定义的代码“-”。
在L2-VPN侧端口号178上设置在端口管理表18上登记的每个域名的端口号的值。后面详细描述图5B~图5F表示的用户管理表17的时间序列的内容变化。
图6表示EGW10-1具有的端口管理表18的结构。
端口管理表18与EGW10-1可接入的ISP网NW2-1~NW2-n的域181相对应,由表示L2-VPN侧的线路接口11的端口号(L2-VPN侧端口号)182的多个项目构成。通过网络管理者来预先登记端口管理表18的各项目。
图7表示CGW20(20-1~20-3)的结构。
CGW20由分别具有端口号的多个输入输出线路接口21(21-1~21-n)、与这些线路接口21相连的路由部22和与路由部22相连的控制部23构成。91表示与控制部22相连的控制终端。
控制部23与路由部22一起来执行协议处理。控制部23由处理器24、存储器25、发送缓存器26T和接收缓存器26R构成。
存储器25中作为处理器24执行的程序,存储用于执行用户终端对互联网的连接/切断、相互变换PPPoE分组和第2层隧道分组用的接收分组的封装/解封装、确定来自PADI分组的TAG VALUE的业务名等的处理的通信处理程序200。另外,在存储器25上形成后述的用户管理表27和端口管理表28。
路由部22在从线路接口21-1~21-n接收到分组后,从PPPoE头表示的分组类别判断接收分组是否是通信控制分组,在接收分组是前述的PADI等的通信控制分组的情况下,将接收分组传送到接收缓存器26R。路由部22对从线路接口21-1~21-n接收到的分组用户和处理器24向发送缓存器26T输出的通信控制分组,按照发送源MAC地址711或TAG731,来传送到线路接口21-1~21-n的其中之一。
图8A和图8B表示CGW20-1具有的用户管理表27-1、图9A、图9B表示CGW20-2具有的用户管理表27-2的结构。
用户管理表27-1、27-2由分别与用户终端的MAC地址对应的多个表项目270(270-1、270-2、...)构成。
各表项目270由表示用户终端的MAC地址(用户MAC地址)271、在用户终端和BAS40之间定义的VLAN的识别符(VLAN ID)272、在CGW20(20-1或20-2)和EGW10(10-1或10-2)之间形成的第2层隧道的种类——例如表示Ethernet over Ethernet、扩展VLAN等的第2层隧道类型173、表示CGW20和EGW10之间的VLAN的识别符的S-VLAN ID274、CGW20的MAC地址275、通过第2层隧道连接的EGW10的MAC地址276、L2-VPN侧端口号277和ISP侧端口号278的多个字段构成。
CGW20-1(20-2)在从用户终端以第2层隧道分组形式接收了PADI分组时,将包含用户MAC地址271、VLAN ID:272、第2层隧道类型273、S-VLAN ID:274、CGW MAC地址275、EGW MAC地址276、L2-VPN侧端口号277的新的表项目登记到用户管理表27-1(27-2)上。
在所接收的第2层隧道分组上没有设置用户终端和BAS之间的VLAN ID、及EGW和CGW之间的VLAN ID(S-VLAN ID)的情况下,即,在接收分组的隧道类型是Ethernet over Ethernet的情况下,在上述表项目的VLAN ID272和S-VLAN ID274上设置表示ID未定义的代码“-”。
在所接收的第2层隧道分组上没有设置CGW的MAC地址和EGW的MAC地址的情况下,即,在接收分组的隧道类型是扩展VLAN的情况下,在CGW MAC地址275和EGW MAC地址276上设置表示地址未定义的代码“-“。
在ISP侧端口号278上设置从端口管理表28(28-1、28-2)检索出的端口号。另外,后面详述用户管理表27-1、27-2的更新。
图10表示CGW20-1具有的端口管理表28-1、图11表示CGW20-2具有的端口管理表28-2的结构。
端口管理表28-1(28-2)由多个表项目构成,各项目表示与CGW20-1(20-2)相连的ISP网的域281、在ISP网侧的线路接口21(21-1~21-n)上添加的ISP侧端口号282、业务名编辑标记283之间的对应关系。
业务名编辑标记283表示下列两种情况的区别,即:从L2-VPN网接收到PADI分组时,从接收分组的TAG VALUE7313,将域名和密码除外,编辑到仅包含业务名的TAG VALUE后,将接收分组传送到BAS的情况;还是不执行这种业务名的编辑,而将接收分组传送到BAS的情况的区别。这里,标记信息“1”表示要执行业务名编辑,标记信息“0”表示不需要执行业务名编辑。这些表项目通过网络管理者预先登记到端口管理表28-1、28-2上。
图12表示Radius服务器31具有的用户管理表37的结构。
用户管理表37的各项目表示ISP的域371、密码372、要在EGW和CGW之间适用的第2层隧道的类型373、表示EGW和CGW之间的VLAN ID的S-VLAN ID374、EGW的MAC地址375、CGW的MAC地址376之间的对应关系。
实施例1
接着,作为本发明的第一实施例,参考图13~图20来说明在EGW10-1和CGW20-1之间适用Ethernet over Ethernet的第2层隧道,来实现L2-VPN的情况下的EGW和CGW的动作。
图13表示在图1所示的通信网络中,用户终端H1发出了对VoIP网NW4的连接请求分组PADI的情况下的通信时序图。图14表示第一实施例中的PADI分组的格式的变换过程,图15表示PADO分组的格式变换过程,图16表示PADR分组的格式变换过程。
图17是EGW10-1执行的上行分组(来自用户终端侧的接收分组)的处理程序110的流程图,图18是EGW10-1执行的下行分组(来自L2-VPN网侧的接收分组)的处理程序130的流程图,图19是CGW20-1执行的上行分组(来自L2-VPN网侧的接收分组)的处理程序210的流程图,图20表示CGW20-1执行的下行分组(来自ISP网侧的接收分组)的处理程序203的流程图。EGW10-1执行的分组处理程序110和130是通信处理程序100的一部分,CGW20-1执行的分组处理程序210和230是通信处理程序200的一部分。
用户终端H1在请求对VoIP网NW4的连接的情况下,来广播通过TAG VALUE指定了业务名“voip”的PADI分组(图13的SQ1-1)。上述PADI分组如图14中通过格式F1-1所示,在发送目标MAC地址(Mac DA)711上包含广播地址,在发送源MAC地址(Mac SA)712上包含用户终端H1的MAC地址,在分组类别代码723上包含“PADI”,在TAG731上作为TAG VALUE包含“voip@isp1;pass1”。这里,“voip”、“@isp1”、“pass1”分别表示业务名、域名和密码。
在EGW10-1接收到上述PADI分组后,执行如图17所示的上行分组处理程序110,判断所接收的PPPoE分组是否是PADI分组(步骤111)。由于这次的接收分组是PADI分组,所以EGW10-1在用户管理表17上追加登记新的表项目(112)。
上述表项目如图5A的项目170-2所示,包含接收分组的发送源MAC地址“00.99.c0.61.72.00”来作为用户MAC地址171,包含接收了PADI分组的线路接口11-i端口号(在该例中是“1”)来作为用户侧端口号177。在第2层隧道类型是Ethernet over Ethernet的情况下,不在PADI分组上添加VLAN ID。因此,在上述表项目的VLANID172上设置代码“-”。
EGW20-1之后从接收分组中提取TAG VALUE7313:“voip@isp1;pass1”(113),将包含从该TAG VALUE提取的域名“isp1”和密码“pass1”的用户认证消息(Access-Request)发送到Radius服务器31(114、图13的SQ1-2),而等待来自Radius服务器31的响应(认证结果)消息(115)。
Radius服务器31在接收到Access-Request后,从用户管理表37中检索具有域名“isp1”的表项目370-1,并对照该表项目表示的密码372和Access-Request表示的密码“pass1”。
在密码是正常的情况下,Radius服务器31向EGW19-1发送表示用户认证成功的接入允许消息(Access-Accept)作为对Access-Request的响应消息(SQ1-3)。上述Access-Accept包含在用户管理表37的表项目370-1上登记的第2层隧道类型373:“Ethernetover Ethernet”、CGW MAC地址376:“00.99.c0.44.21.00”和EGWMAC地址375:“00.99.c0.36.11.00”。另外,在Access-Request表示的密码与在表项目370-1上登记的密码372不一致的情况下,Radius服务器31返回表示认证失败的响应消息。
EGW10-1在接收到来自Radius服务器D1的响应消息后,判断认证结果(116)。如果,在认证失败的情况下,EGW10-1从用户管理表中删除上述新项目,将PPP通信的结束请求分组(PADT)发送到请求源用户终端H1(117),而结束该程序。
在来自Radius服务器D1的响应消息是Access-Accept的情况下,EGW10-1将所接收的Access-Accept表示的第2层隧道类型:“Ethernet over Ethernet”、EGW MAC地址: “00.99.c0.36.11.00”、CGW MAC地址:“00.99.c0.44.21.00”登记到用户管理表上(1 18)。在该时刻,表项目170-2为图5B所示的状态。在第2层隧道类型是“Ethernet over Ethernet”的情况下,由于Access-Accept上不包含EGW和CGW之间的VLAN ID的值,所以在表项目170-2的S-VLANID174上设置代码“-”。
EGW10-1接着从PADI分组的TAG VALUE7313中提取域名“isp1”,从端口管理表18中检索出与上述域名“isp1”对应的L2-VPN侧端口号182的值“5”(119),并将所检索出的端口号“5”作为L2-VPN侧端口号178登记到用户管理表17上(120)。由此,用户管理表17的项目170-2为图5C所示的状态。
之后,EGW10-1判断用户管理表17的表项目170-2的第2层隧道类型173(122)。在该例子中,第2层隧道类型173为“Ethernetover Ethernet”。因此,EGW10-1如在图14中格式F1-2所示,作为封装头74的S-MacDA741和S-MacSA742,使用上述表项目170-2表示的CGW MAC地址176和EGW MAC地址175,来封装PADI分组(123、图13的SQ1-4)。
EGW10-1将用户管理表17的项目170-2表示的L2-VPN侧端口号178的值“5”暂时保存在存储器25的工作区域上(125),而判断上述封装后的分组的类别(126)。如这次这样,在封装分组(第2层隧道分组)是PADI分组的情况下,EGW10-1将封装分组从具有端口号“5”的线路接口发送到广域以太网(L2-VPN)(128、图13的SQ1-5),而结束该程序。
在封装分组是PADT分组的情况下,EGW10-1在从用户管理表17中删除用户MAC地址171与上述PADT分组的发送目标MAC地址或发送源MAC地址一致的表项目(127)后,执行将上述封装分组向L2-VPN的发送(128)。
上述封装后的PADI分组(第2层隧道分组)通过L2SW30-1来接收。L2SW:30-1在从EGW10-1接收到第2层隧道分组后,根据发送目标MAC地址“00.99.c0.44.21.00”,将上述接收分组传送到CGW20-1(图13的SQ1-6)。
CGW20-1在接收到上述第2层隧道分组后,执行图19所示的上行分组处理程序210,并判断接收分组的隧道类型(211)。由于这次接收分组的隧道类型是“Ethernet over Ethernet”,所以CGW20-1从接收的第2层隧道分组中去除封装头74后(封装:212、图13的SQ1-7),判断接收分组的类型(214)。
在接收分组是PADI分组的情况下,CGW20-1在用户管理表27上追加所接收的PADI分组的发送源MAC地址是用户MAC地址27的新的表项目。
图8A的表项目270-2表示在该时刻在用户管理表27上新追加的项目的内容。在用户MAC地址271设置用户终端H1的MAC地址“00.99.c0.61.72.00”,在第2层隧道类型273上设置表示作为接收分组的隧道类型的“Ethernet over Ethernet”的代码。在CGW MAC地址275和EGW MAC地址276上设置封装头74的S-MacDA741和S-MacSA742所示的“00.99.c0.44.21.00”和“00.99.c0.36.11.00”,在L2-VPN侧的端口号277上设置接收上述第2层隧道分组的线路接口的端口号“2”。
由于在隧道类型是“Ethernet over Ethernet”的第2层隧道分组上没有设置用户终端和BAS之间的VLAN ID、与EGW和CGW之间的VLAN ID(“S-VLAN ID”),所以在表项目270-2的VLAN ID272和S-VLAN ID274上设置代码“-”。
CGW20-1接着从图10所示的端口管理表28-1中检索出与PADI分组的TAG VALUE表示的域名“isp1”对应的ISP侧端口号282和业务名编辑标记283(216),而将所检索出的ISP侧端口号的值(在该例子中是“5”)作为ISP端口号278登记在用户管理表27-1上(217)。结果,表项目270-2变为图8B所示的状态。
CGW20-1根据所检索出的业务名编辑标记283的值判断是否要进行业务名编辑(218)。端口管理表28-1中,在与域名“isp1”对应的表项目280-11上,业务名编辑标记283设置为“1”。因此,CGW20-1分析PADI分组的TAG VALUE表示的“voip@isp1;pass1”,从TAG VALUE中去除域名“isp1”和密码信息“pass1”,而如图14中格式F1-3所示,将接收分组(PADI分组)作为TAG VALUE变换为仅包含业务名“voip”的发送分组(219、图13的SQ1-8)。
之后,CGW20-1从用户管理表27-1中检索与上述发送分组的发送源MAC地址对应的ISP侧端口号278的值“5”(220),并将发送分组从具有ISP侧端口号“5”的线路接口21-5发送到ISP网(224、图13的SQ1-9)后,结束该程序。
CGW20-1发送到ISP网后的PADI分组通过BAS40-1来加以接收。BAS40-1在接收到上述PADI分组后,作为响应分组将PADO分组返回到CGW20-1(图13的SQ1-10)。PADO分组如图15中格式F2-1所示,在发送目标MAC地址711上包含用户终端H1的MAC地址,在发送源MAC地址712上包含BAS40-1的MAC地址。
CGW20-1在从ISP网侧接收到分组后,执行图20所示的下行分组处理程序230,从用户管理表27-1中检索用户MAC地址271与接收分组的发送目标MAC地址711相应的表项目(231)。在检索的结果(232)是,判断为在用户管理表27-1上未登记与发送目标MAC地址对应的表项目的情况下,CGW20-1丢弃接收分组(233),而结束该程序。
这次的例子中,从用户管理表27-1中检索出与接收分组(PADO)的发送目标MAC地址“00.99.c0.61.72.00”对应的表项目270-2。因此,CGW20-1判断所检索的表项目270-2的第2层隧道类型273(234)。在隧道类型是“Ethernet over Ethernet”的情况下,CGW20-1将上述表项目表示的CGW MAC地址275和EGW MAC地址276适用于封装头74,而封装接收分组(235、图13的SQ1-11)。通过上述封装,接收分组(PADO)如图15中格式F2-2所示,变换为具有EGW110-1的MAC地址“00.99.c0.36.11.00”作为S-MacDA741、并具有CGW20-1的MAC地址“00.99.c0.44.21.00”作为S-MacSA742的发送分组(第2层隧道分组)。
CGW20-1接着判断发送分组是否是表示PPP通信的结束请求的PADT分组(237)。如这次这样,在发送分组是PADO分组的情况下,CGW20-1从与用户管理表27-1的表项目270-2表示的L2-VPN侧端口号278对应的线路接口,发送上述发送分组(239,图13的SQ1-12),而结束该程序。由此,PADO分组以与PADI分组相反的路径,传送到L2SW30-1上。
在发送分组是PADT分组的情况下,CGW20-1从用户管理表27-1中删除上述检索出的表项目(238)后,执行步骤239。
L2SW30-1在从CGW接收到第2层隧道分组后,根据封装头的发送目标MAC地址741(该例子中是“00.99.c0.36.11.00”),将接收分组传送到EGW10-1(图13的SQ1-13)。
EGW10-1在从L2-VPN侧接收到上述第2层隧道分组后,执行图18所示的下行分组处理程序130,判断接收分组的隧道类型(131)。在该例中,由于隧道类型是“Ethernet over Ethernet”,所以EGW10-1从接收分组中去除封装头74(解封装)(132、图13的SQ1-14)。由此,如图15所示,将格式F2-2的L2隧道分组变换为格式F2-3的PPPoE分组。
EGW10-1从用户管理表17中检索用户MAC地址171与解封装后的接收分组的发送目标MAC地址711相应的表项目(134)。EGW10-1判断检索结果(135),若在用户管理表17上没有发现与发送目标MAC地址711对应的表项目,则丢弃接收分组(140),而结束该程序。
这次,从用户管理表17中检索与接收分组的发送目标MAC地址“00.99.c0.61.72.00”对应的表项目170-2。这时,在EGW10-1将表项目170-2表示的用户侧端口号177的值“1”存储到工作存储器(136)后,判断接收分组的类别(137)。若接收分组不是PPP通信的结束请求分组(PADT),则EGW10-1从具有用户侧端口号“1”的线路接口11-1中送出接收分组(139),而结束程序。由此,将从BAS40-1返回的PADO分组传送到PADI分组的发送源用户终端H1上(图13的SQ1-15)。
在接收分组是PADT分组的情况下,EGW10-1从用户管理表17中删除上述检索出的表项目170-2(138)后,执行步骤139。
用户终端H1在接收到PADO分组后,发送作为PPP会话的开始请求分组的PADR(图13的SQ1-16)。PADR分组如图16中格式F3-1所示那样,以太头的发送目标MAC地址711表示BAS40-1的MAC地址“00.99.e0.93.19.00”。
EGW10-1在接收到上述PADR分组后,执行如图17所示的上行分组处理程序110,判断接收分组的类别(步骤111)。由于这次接收PADR分组,所以EGW10-1判断是否在用户管理表17上已登记了用户MAC地址171与接收分组的发送源MAC地址712(“00.99.c0.61.72.00”)相应的表项目(121)。若目的表项目没有登记在用户管理表17上,EGW10-1丢弃接收分组(129),而结束该程序。
由于这次与发送源MAC地址“00.99.c0.61.72.00”对应的表项目170-2已登记在用户管理表17上,所以EGW10-1判断上述表项目170-2的第2层隧道类型173(122)。在该例中,表项目170-2的第2层隧道类型173是“Ethernet over Ethernet”。因此,EGW10-1如图16中格式F3-2所示那样,在S-MacDA741和S-MacSA742上适用包含用户管理表项目170-2表示的CGW MAC地址176和EGW MAC地址175的封装头74,而封装PADR分组(123、图13的SQ1-17),变换为第2层隧道分组。
EGW10-1将用户管理表17的项目170-2表示的L2-VPN侧端口号178的值“5”暂时保存在存储器25的工作区域上(125),而判断上述第2层隧道分组(发送分组)的类别(126)。如这次这样,在发送分组是PADR分组的情况下,EGW10-1将发送分组从具有端口号“5”的输入输出线路接口发送到广域以太网(L2-VPN)(128、图13的SQ21-18),而结束该程序。
上述封装后的PADR分组(第2层隧道分组)通过L2SW30-1传送到CGW20-1。
CGW20-1在接收到包含上述PADR分组的第2层隧道分组后,执行图19所示的上行分组处理程序210,并判断接收分组的隧道类型(211)。由于这次接收分组的隧道类型是“Ethernet over Ethernet”,所以CGW20-2从接收的第2层隧道分组中去除封装头74(解封装:212、图13的SQ1-19),在将接收分组变换为图16的格式F3-3后,判断分组的类型(214)。
在接收分组是PADR分组的情况下,CGW20-1判断是否在用户管理表27-1上登记了用户MAC地址271与接收分组的发送源MAC地址712(“00.99.c0.61.72.00”)相应的表项目(221)。若目的表项目不在用户管理表27-1上,则CGW20-1丢弃接收分组(225),而结束该程序。
在这次的例子中,从用户管理表27-1中检索与接收分组(PADR)的发送源MAC地址“00.99.c0.61.72.00”相应的表项目270-2。因此,CGW20-1判断要发送的分组的类别(222)。如这次这样,在PADR分组的情况下,CGW20-1将上述发送分组从具有ISP侧端口号“5”的线路接口中发送到ISP网(224,图21的SQ2-21),而结束程序。在发送分组是PADT分组的情况下,CGW20-1从用户管理表27-1中删除上述检索项目(223)后,执行步骤224。
上述PADR分组通过由该发送目标MAC地址指定的BAS40-1来加以接收。BAS40-1在接收到上述PADR分组后,将作为对PADR分组的响应分组的PADS分组返回到作为该发送源的用户终端H1(图13的SQ1-21)。PADS分组同前述的PADO相同,为图15中格式F2-1所示的格式。
CGW20-1在接收到PADS分组后,执行图20所示的下行分组处理程序230,从用户管理表27-1中检索用户MAC地址271与接收分组的发送目标MAC地址相应的表项目(231)。
这次的例子中,从用户管理表27-1中检索与接收分组(PADS)的发送目标MAC地址“00.99.c0.61.72.00”对应的表项目270-2。因此,CGW20-1判断所检索出的表项目270-2的第2层隧道类型273(234),由于隧道类型是“Ethernet over Ethernet”,所以将上述表项目表示的CGW MAC地址275和EGW MAC地址276适用于封装头74,而封装接收分组(235、图13的SQ1-22)。
通过上述封装,接收分组(PADS)如图15中格式F2-2所示,变换为作为S-MacDA741具有EGW110-1的MAC地址“00.99.c0.36.11.00”、作为S-MacSA742具有CGW20-1的MAC地址“00.99.c0.44.21.00”的第2层隧道分组(发送分组)。
CGW20-1判断发送分组是否是表示PPP通信的结束请求的PADT分组(237)。在如这次这样,发送分组是PADS分组的情况下,CGW20-1从与用户管理表27-1的表项目270-2表示的L2-VPN侧端口号278对应的线路接口,发送上述发送分组(239、图13的SQ1-12),而结束该程序。由此,PADS分组通过与PADR分组相反的路径,传送到L2SW30-1,并通过L2SW30-1,传送到EGW10-1。
EGW10-1在接收到上述PADO分组后,执行图18所示的下行分组处理程序130,而判断接收分组的隧道类型(131)。这次由于隧道类型是“Ethernet over Ethernet”,所以EGW10-1从接收分组冲去除封装头74(解封装)(132、图13的SQ1-24)。由此,如图15所示,将格式F2-2的接收分组变换为格式F2-3的分组。
EGW10-1从用户管理表17中检索出用户MAC地址171与解封装后的接收分组的发送目标MAC地址711相应的表项目(134)。这次,从用户管理表17中检索与接收分组的发送目标MAC地址“00.99.c0.61.72.00”对应的表项目170-2。这时,EGW10-1在将表项目170-2表示的用户侧端口号177的值“1”存储到工作区域(136)后,判断接收分组的类别(137)。由于发送分组不是PADT分组,所以EGW10-1从具有用户侧端口号“1”的线路接口中送出接收分组(139),而结束该程序。由此,将从BAS40-1返回的PADS分组传送到PADR分组的发送源用户终端H1上(图13的SQ1-25)。
EGW10-1在从用户侧(或L2-VPN侧)接收到用户分组后,根据上述的分组处理程序110(或130),来封装(或解封装)接收分组,而传送到L2-VPN网(或接入网)。同样,CGW20-1也在从L2-VPN侧(或ISP侧)接收到用户分组后的情况下,根据上述的分组处理程序210(或230),来解封装(或封装)接收分组,而传送到ISP网(或L2-VPN网)。
EGW10-1(或CGW20-1)在从用户侧或ISP侧接收了作为PPP通信的结束请求分组的PADT分组的情况下,将所接收的PADT分组传送到作为相对装置的CGW20-1(或EGW10-1),并且,从自身装置的用户管理表17(或27-1)中删除与PADT分组的发送源MAC地址或发送目标MAC地址对应的表项目(127、138、223、238)。
实施例2
接着,作为本发明的第二实施例,来说明在EGW和CGW之间,进行使用了S-VLAN ID后的扩展VLAN型的第2层隧道的情况。
作为前提的***结构和各种表与第一实施例相同。
图21表示在图1所示的通信网络中,用户终端H3发送了对VoIP网NW4的连接请求分组PADI的情况下的通信时序。另外,图22表示第二实施例中的PADI分组的格式的变换过程,图23表示PADO分组的格式变换过程,图24表示PADR分组的格式变换过程。
用户H3在请求对VoIP网的连接的情况下,如图22中格式F4-1所示,包含ID值“1”来作为VLAN 714,并对在TAG VALUE7313上包含表示业务名、域名和密码的“voip@isp4;pass4”的PADI分组进行广播(图21的SQ2-1)。
EGW10-1在接收到上述PADI分组后,执行如图17所示的上行分组处理程序110,判断所接收的PPPoE分组的种类(111)。由于接收分组是PADI分组,所以EGW10-1在用户管理表17上追加登记新的表项目(112)。
上述表项目如图5D的项目170-3所示,作为用户MAC地址171包含所接收的PADI分组表示的发送源MAC地址“00.99.c0.55.34.00”,作为用户侧端口号177包含接收了上述PADI分组的线路接口11-i的端口号(该例子中是“3”),在VLAN ID172上包含接收分组所指定的ID值“1”。
EGW10-1之后从接收分组中提取TAG VALUE7313:“voip@isp4;pass4”(112),将包含从该TAG VALUE提取的域名“isp4”和密码“pass4”的用户认证请求消息(Access-Request)发送到Radius服务器31(114、图13的SQ2-2),等待来自Radius服务器31的响应(115)。
Radius服务器31进行与第一实施例相同的用户认证。这次,具有从用户管理表37检索出的域名“isp4”的表项目370-2指定第2层隧道类型373是“扩展VLAN”,指定S-VLAN ID374是ID值“2”。在密码是正常的情况下,Radius服务器31通过向EGW10-1返回的接入许可消息(Access-Accept)(图21的SQ2-3),来表示第2层隧道类型是“扩展VLAN”,S-VLAN ID的值是“2”。
EGW10-1在从Radius服务器31接收到响应分组(Access-Accept)后,判断认证结果(116)。在响应分组是Access-Accept的情况下,EGW10-1将所接收的Access-Accept表示的第2层隧道类型:“扩展VLAN”和S-LAN ID的值“2”登记到用户管理表的表项目170-3上(118)。在第2层隧道类型是扩展VLAN的情况下,由于在Access-Accept中不指定EGW MAC地址和CGW MAC地址,所以在表项目170-3的EGW MAC地址175和CGW MAC地址176上设置代码“-”。在该时刻,表项目170-3为图5E所示的状态。
接着,EGW10-1从PADI分组的TAG VALUE7313中提取域名“isp4”,从端口管理表18中对与上述域名“isp4”对应的L2-VPN侧端口号182检索值“6”(119),并将所检索出的端口号“6”作为L2-VPN侧端口号178登记到用户管理表17上(120)。由此,表项目170-3为图5F所示的状态。
之后,EGW10-1判断表项目170-3的第2层隧道类型173(122)。这次,由于隧道类型是扩展VLAN,所以EGW10-1如图22中格式F4-2所示,通过包含S-VLAN ID715的封装头(以太头)74来封装接收分组,而变换为第2层隧道分组(124)。
EGW10-1将用户管理表17的项目170-3表示的L2-VPN侧端口号178的值“6”暂时保存在存储器25的工作区域上(125),而判断上述第2层隧道分组(发送分组)的类别(126)。如这次这样,在第2层隧道分组是PADI分组的情况下,EGW10-1将发送分组从具有端口号“6”的输入输出线路接口发送到广域以太网(L2-VPN)(128、图13的SQ2-5),而结束该程序。
上述PADI分组通过L2SW30-2传送到CGW20-2。CGW20-2在接收到上述第2层隧道分组后,执行图19所示的上行分组处理程序210,并判断接收分组的隧道类型(211)。
由于这次接收分组的隧道类型是扩展VLAN,所以CGW20-2从接收分组的头中去除S-VLAN ID715(213、图21的SQ2-7),在存储了上述S-VLAN ID715的值“2”后的状态下,判断接收分组的类别(214)。由于这次接收分组是PADI分组,所以CGW20-2在用户管理表27-2上追加所接收的PADI分组的发送源MAC地址为用户MAC地址271的新的表项目(215)。
图9A的270-22表示在该时刻向用户管理表27-2追加的表项目的内容。在用户MAC地址271设置PADI分组的发送源MAC地址表示的用户终端H3的MAC地址“00.99.c0.55.34.00”,在VLAN ID272上设置接收分组表示的VLAN ID714的值“1”,在第2层隧道类型273上设置表示扩展VLAN的代码。在S-VLAN ID274上设置接收分组表示的S-VLAN ID715的值“2”,在L2-VPN侧端口号277上设置接收了上述第2层隧道分组的线路接口的端口号,在该例子中为“3”。这次,由于在第2层隧道分组中不指定CGW MAC地址和EGW MAC地址,所以在CGW MAC地址275和EGW MAC地址276上设置了代码“-”。
CGW20-2接着从图11所示的端口管理表28-2中检索出与PADI分组的TAG VALUE表示的域名“isp4”对应的ISP侧端口号282和业务名编辑标记283(216),而将所检索出的ISP侧端口号的值(在该例子中是“8”)作为ISP端口号278登记在用户管理表的表项目270-22上(217)。结果,表项目270-22变为图9B所示的状态。
CGW20-1根据所检索出的业务名编辑标记283的值,判断是否要进行业务名编辑(218)。端口管理表28-2中,由于在与域名“isp4”对应的表项目280-22上,将业务名编辑标记283设置为“1”,所以CGW20-2分析PADI分组的TAG VALUE表示的“voip@isp4;pass4”,从TAG VALUE中去除域名“isp4”和密码信息“pass4”,而如图14中格式F4-3所示,将接收分组(PADI分组)作为TAG VALUE变换为包含业务名“voip”的发送分组(219、图21的SQ2-8)。
之后,CGW20-2从用户管理表27-2中检索与上述发送分组的发送源MAC地址对应的ISP侧端口号278的值“8”(220),并将发送分组从具有ISP侧端口号“8”的线路接口21-8发送到ISP网(224、图21的SQ2-9)后,结束该程序。
上述PADI分组通过BAS40-4来加以接收。BAS40-4响应于所接收的PADI分组,来发送PADO分组(图21的SQ2-10)。上述PADO分组如图23中格式F5-1所示,包含作为PADI分组的发送源的用户终端H3的MAC地址“00.99.c0.55.34.00”来作为发送目标MAC地址711,包含BAS40-4的MAC地址“00.99.c0.26.24.00”来作为发送源MAC地址712,包含与PADI分组相同的ID值“1”来作为VLAN ID714。
CGW20-2在接收到上述PADO分组后,执行图20所示的下行分组处理程序230,从用户管理表27-2中检索用户MAC地址271与接收分组的发送目标MAC地址相应的表项目(231)。在这次的例子中,从用户管理表27-2中检索出用户MAC地址271是“00.99.c0.55.34.00”的表项目270-22。因此,CGW20-2判断所检索出的表项目270-22的第2层隧道类型273(234)。这时,由于隧道类型是扩展VLAN,所以CGW20-2适用表项目270-22的S-VLANID274的值“2”,而封装PADO分组(236、图21的Q2-11)。这里的封装是指如图23中格式F5-2所示,将PADO分组变换为在以太头上追加了S-VLAN D717后的形式的第2层隧道分组(发送分组)。
CGW20-2判断上述发送分组的类别(237),若发送分组不是PADT分组,则从与从用户管理表27-2检索出的表项目270-22表示的L2-VPN侧端口号278(“3”)对应的线路接口中,发送上述发送分组(239,图21的SQ2-12),而结束该程序。由此,PADO分组以与PADI分组相反的路径,传送到L2SW30-2。
L2SW30-2在从CGW20-2接收到第2层隧道分组后,根据S-VLAN ID,将接收分组传送到EGW10-1(图21的SQ2-13)。
EGW10-1在接收到上述第2层隧道分组后,执行图18所示的下行分组处理程序130,并判断接收分组的隧道类型(13 1)。这次由于隧道类型是扩展VLAN,所以EGW10-1从接收分组中去除S-VLANID715(解封装)(133、图21的SQ2-14)。通过上述解封装,将第2层隧道分组变换为图23中格式F5-3所示的PPPoE分组。
EGW20-1之后从用户管理表17中检索出用户MAC地址171与上述发送分组的发送目标MAC地址711相应的表项目(134),来判断检索结果(135)。这次,由于从用户管理表17中检索表项目170-3,所以EGW10-1在将用户侧端口号177表示的端口号“3”存储在工作区域(136)后,判断接收分组的类别(137)。若发送分组不是PADT分组,则EGW10-1从具有端口号“3”的线路接口中送出发送分组(139、图21的SQ2-15),而结束程序。由此,将PADO分组传送到PADI分组的发送源用户终端H3。
用户终端H3在接收到PADO分组后,发送作为PPP会话的开始请求分组的PADR分组(图21的SQ2-16)。上述PADR分组如图24中格式F6-1所示,以太头的目标MAC地址711为BAS40-4的MAC,而可以在VLAN ID714上包含与PADI分组相同的值“1”。
EGW10-1在接收到上述PADR分组后,执行如图17所示的上行分组处理程序110,判断接收分组的类别(步骤111)。由于这次接收分组不是PADI分组,所以EGW10-1判断是否在用户管理表17上已登记了用户MAC地址171与接收分组的发送源MAC地址712相应的表项目(121)。
由于与接收分组的发送源MAC地址“00.99.c0.55.34.00”对应的表项目170-3已登记在用户管理表17上,所以EGW10-1判断上述表项目170-3的第2层隧道类型173(122)。这次由于第2层隧道类型是扩展VLAN,所以EGW10-1使用上述表项目170-3的S-VLANID174表示的ID值“2”,来封装接收分组(124、图21的SQ2-17),变换为第2层隧道分组(发送分组)。这里的封装如图24中格式F6-2所示那样,是指在以太头上追加S-VLAN ID715。
EGW10-1之后将用户管理表17的项目170-3表示的L2-VPN侧端口号178的值“6”暂时保存在存储器25的工作区域上(125),判断上述第2层隧道分组的类别(126)。如这次这样,在第2层隧道分组(发送分组)是PADR分组的情况下,EGW10-1将发送分组从具有端口号“6”的线路接口发送到广域以太网(L2-VPN)(128、图21的SQ21-18),而结束该程序。上述第2层隧道分组(PADR)通过L2SW30-2传送到CGW20-2。
CGW20-2在接收到上述第2层隧道分组后,执行图19所示的上行分组处理程序210,并判断接收分组的隧道类型(211)。由于这次接收分组的隧道类型是扩展VLAN,所以CGW20-2从接收分组中去除S-VLAN ID715(解封装)(213),将接收分组变换为具有图23的格式F6-3的发送分组(PPPoE分组)后,判断分组的类别(214)。
在发送分组是PADR分组的情况下,CGW20-2从用户管理表27-2中检索用户MAC地址271与接收分组的发送源MAC地址712相应的表项目(221)。检索的结果,若发现与发送源MAC地址“00.99.c0.55.34.00”相应的表项目270-22,则CGW20-2判断发送分组是否是PADT分组(223)。由于这次发送分组是PADR分组,所以CGW20-2从具有表项目270-22的ISP侧端口号278表示的端口号“8”的线路接口中送出发送分组(224,图21的SQ2-21),而结束该程序。
上述分组(PADR)由BAS40-4来加以接收。BAS40-4在接收到上述PADR分组后,作为对PADR分组的响应分组返回PADS分组(图21的SQ2-21)。PADS分组如图23中格式F5-1所示,发送目标MAC地址711为用户终端H3的MAC地址“00.99.c0.55.34.00”。
CGW20-2在从BAS40-4接收到PADS分组后,执行图20所示的下行分组处理程序230,从用户管理表27-2中检索用户MAC地址271与接收分组的发送目标MAC地址712一致的表项目(23 1)。由于这次检索与发送目标MAC地址“00.99.c0.55.34.00”相应的表项目270-22,所以CGW20-2与PADO分组的接收时相同,判断表项目270-22的第2层隧道类型273(234),适用表项目270-22的S-VLANID274的值“2”,封装PADS分组(236、图21的Q2-22),变换为图23中由格式F5-2所示的第2层隧道分组。
CGW20-2从与表项目270-22表示的L2-VPN侧端口号278(“3”)对应的线路接口发送上述第2层隧道分组(239),而结束该程序。由此,PADS分组通过与PADR分组相反的路径,传送到L2SW30-2,并通过L2SW30-2,传送到EGW10-1(图21的SQ2-23)。
EGW10-1在接收到上述PADS后,执行图18所示的下行分组处理程序130。与PADO分组的接收时相同,EGW10-1判断接收分组的隧道类型(131),从接收分组中去除S-VLAN ID715(解封装化)(133、图21的SQ2-24),从用户管理表17中检索表项目170-3(134),从具有端口号“3”的线路接口中送出具有图23的格式F5-3的发送分组(139、图21的SQ2-25),而结束该程序。由此,将PADS分组传送到PADR分组的发送源用户终端H3。
EGW10-1(或CGW20-2)在从用户侧或ISP侧接收了作为PPP通信的结束请求分组的PADT分组的情况下,将所接收的PADT分组传送到作为相对装置的CGW20-2(或EGW10-1),并且,从自身装置的用户管理表17(27-2)中删除与PADT分组的发送源MAC地址或发送目标MAC地址对应的表项目。
在上述的实施例中,EGW和CGW在作为PPPoE协议中的连接请求分组的PADI分组的接收时,通过将新的表项目追加到用户管理表,从而在EGW和CGW之间设置了L2-VPN,但是,在将例如IEEE802.1X适用于网络的情况下,可以在EAP-Response/ID通知分组的接收时,通过将新的表项目追加到用户管理表,在EGW和CGW之间设置L2-VPN。
以上的实施例中,说明了L2-VPN中的第2层隧道的类型是Ethernet over Ethernet和扩展VLAN的情况,但是本发明还可适用于例如L2TPv3及Ethernet over IP等其他第2层隧道类型。