数据包传送装置
技术领域
本发明涉及一种数据包传送装置,尤其是涉及一种在接入者侧终结L2TP(Layer2 Tunneling Protocol)协议的数据包传送装置。
背景技术
当接入者终端经因特网连接从业商(ISP:Internet Service Provider)连接于因特网上时,有一种为了进行接入者的用户认证,而使用PPP(Point toPoint Protocol)协议的方法。PPP协议相当于第2层的协议,将接入者终端与ISP访问点间1对1地进行连接。PPP协议可用于最初通过拨号连接而直接连接于各ISP的访问点上、接受认证后连接于因特网上等方式中。但是,随着当前始终与因特网连接的进展,现在采用在从接入者终端至ISP服务器之间、除电话网外、还插入使用IP(Internet Protocol)的访问载波网络的方式。这里,因为访问载波网络是第3层网络,所以为了经访问载波网络并利用PPP来执行认证,必需将PPP数据包传送到ISP侧PPP终端装置的方案。作为该方案,使用L2TP协议。
L2TP协议可以在访问载波网络内,在接入者终端与因特网连接从业商之间铺设逻辑专用线,将PPP的终端引到访问载波网络的出口(ISP侧)。将该逻辑专用线称为L2TP隧道和L2TP对话(session)。利用接入者侧的L2TP终端装置(LAC:L2TP Access Concentrator)和因特网连接从业商侧的L2TP终端装置(LNS:L2TP Network Server)来建立L2TP连接,经L2TP连接,在作为ISP侧的L2TP和PPP终端装置的LNS终结PPP数据包。这里,由于LNS在PPP的终端也实施,所以随着接入者的增加,L2TP的对话增加。另外,基于L2TP的PPP接线的延长和LAC/LNS的功能示于RFC2661中。
另外,在专利文献1(特开2002-164930号公报)中,记载了如下通信方法,即在与因特网连接业者的连接中,使用L2TP等IP隧道效应技术,并且,在多点传送内容的发送中,使用一般具备路由器或层3的开关的IGMP等多点传送协议或多点传送路由协议。
通常,在访问载波网络内通过L2TP连接来对接入者-ISP间进行连接的方式下,由于削减了访问载波网络的成本,所以强烈要求削减LAC与LNS间的信息量。
这里,从存在于因特网上的服务器对节目等进行多点传送发送,接入者在接收本多点传送数据包时,为了削减LAC与LNS间的通信量,考虑在LAC部中复制多点传送数据包并分配给接入者。但是,在L2TP类型的访问网络的情况下,在PPP接线内传送用户的IP数据包,在一般的LAC中仅传递PPP接线,不执行IP数据包等级的处理,所以LAC不能管理多点传送数据包的发送对象。因此,根据IETF草案(draft-ietf-12tpext-mcast-03.txt),由LNS来管理多点传送数据包的发送对象列表,并通知给LAC,由此实现LAC的多点传送数据包的复制发送。但是,在该方法中,每当发出向多点传送数据包群追加接入者、删除接入者委托时,必需实施由LNS发送对象列表并通知LAC的序列,对追加、删除接入者产生时滞,同时,存在使用发送对象列表传送用的序列分频域的问题。
发明内容
因此,本发明鉴于上述问题,其目的在于用LAC来管理多点传送数据包的发送对象,并实现LAC的多点传送数据包的复制发送。
在本发明中,具备由LAC调查PPP数据包的中段并管理多点传送数据包群的接入者信息的部件。另外,若接入者为了加入多点传送数据包群而发行的IGMP join(IGMP:Internet Group Management Protocol)或MLD join(MLD:Multicast Listener Discovery)等IGMP/MLD数据包到达LNS,则在多点传送数据包发送时,LNS侧复制接入者数量的数据包,所以通过具备由LAC终结来自接入者侧的IGMP/MLD数据包的部件,可防止LNS的接入者的复制处理。另外,作为LAC经L2TP连接从LNS接收多点传送数据包的部件,可建立多点传送用L2TP隧道和对话,这可通过LAC内的虚拟终端具备向LNS发出因特网连接请求的部件来实现。在确立多点传送用L2TP连接后,作为用于向该接线传送多点传送数据包的部件,可通过从LAC内的虚拟终端向LNS发行IGMP/MLD数据包来实现。本发明主要通过在LAC中配备以上部件来解决上述问题。
另外,在本发明中,为了实现上述方案,作为装置,具备多个线路接口部、多个数据包处理部、内部开关、控制部,可通过外带来进行控制终端的连接。另外,作为功能和存储器上保持的表格,具备LAC功能与来自接入者侧的IGMP数据包的调查功能、和来自接入者侧的MLD数据包终端功能,具备执行与多点传送数据包用的LNS的对话管理的IPv4用的LNS-多点传送群信息表格、IPv6用的LNS-多点传送群信息表格、对L2TP进行去封装(capsule)用的L2TP去封装表格、确定多点传送数据包的发送对象的IPv4用多点传送路由表格、IPv6用多点传送路由表格、多点传送index表格,并具备数据包复制功能、首标附加功能。
该数据包传送装置例如具备分别连接于IP网上的多个协议处理部、和在上述各协议处理部之间交换IP数据包的开关部,在建立L2TP隧道及L2TP对话的网络中,位于接入者侧并终结L2TP协议的数据包传送装置具备如下部件:终结来自接入者侧的IGMP数据包及MLD数据包的部件;建立多点传送数据包用的L2TP隧道和L2TP对话的部件;管理属于多点传送群的接入者信息的部件;通过多点传送数据包用的L2TP隧道和L2TP对话来生成并发送IGMP和MLD数据包的部件;和根据属于多点传送群的接入者信息、复制从多点传送数据包用的L2TP隧道和L2TP对话接收到的多点传送数据包、并发送给接入者的部件。
另外,该数据包传送装置具有管理表格,管理多点传送群与可接收该群的多点传送数据包的因特网侧L2TP终端装置的地址群、和从可接收多点传送数据包的因特网侧L2TP终端装置群中选择建立多点传送用的L2TP隧道和对话的相对因特网侧L2TP终端装置用的信息,在多点传送数据包的传送路径中、该数据包传送装置与多个因特网侧L2TP终端装置之间,可实施路径的负荷分散。
该数据包传送装置在某个ISP对一个接入者侧L2TP终端装置具有多个因特网侧L2TP终端装置的情况下,通过具有管理用于选择建立上述多点传送用L2TP隧道及对话的相对置的因特网侧L2TP终端装置的信息的表格,可将多点传送数据包的传送路径集约到一个因特网侧L2TP终端装置。
并且,该数据包传送装置通过具备线路异常检测部件,可使用其它的输出端口,在与单个或多个因特网侧L2TP终端装置之间进行多点传送用L2TP隧道和L2TP对话的冗余。
该数据包传送装置在建立上述多点传送用L2TP隧道和对话时,通过从该数据包传送装置向因特网侧L2TP终端装置建立L2TP隧道和对话,可利用对应于已有的多点传送的因特网侧L2TP终端装置。
根据本发明的解决方案,提供一种数据包传送装置,在建立了L2TP(Layer2 Tunneling Protocol)隧道及L2TP对话的网络中,位于接入者侧,并终结L2TP协议,其特征在于,具备:
LNS-多点传送群信息表格,对应于接入者终端所属的LNS(L2TP NetworkServer)地址和多点传送群地址,存储了建立多点传送用的L2TP连接的LNS地址、L2TP连接的完成确立标志、上行L2TP隧道识别符和对话识别符;
L2TP去封装表格,对应于LAC地址、下行L2TP隧道识别符和对话识别符,存储表示是多点传送用的L2TP连接的多点传送对话标志;
多点传送表格,对应于多点传送用的LNS地址和多点传送群地址,存储包含复制并发送多点传送数据包的输出接口信息和端口信息的线路信息;和
协议处理部,可访问各所述表格,经接口连接于网络上,
所述协议处理部具有如下部件:
从希望接收多点传送数据包的接入者终端,接收多点传送接收请求消息数据包的部件,该多点传送接收请求消息数据包用于接入者终端加入包含接入者终端所属的LNS地址和多点传送群地址的多点传送群;
根据首标或数据部分来判断来自接入者终端侧的数据包是否包含多点传送接收请求消息,在包含多点传送接收请求消息的情况下,不执行L2TP封装处理,使接收到的数据包终结的部件;
参照所述LNS-多点传送群表格,基于接收到的LNS地址和多点传送群地址,根据L2TP连接的完成确立标志来判断是否已建立多点传送群用的L2TP连接的部件;
在建立了L2TP连接的情况下,在所述多点传送表格中,对应于LNS地址和多点传送群地址,登录线路信息的部件,该线路信息包含发送了多点传送接收请求消息的接入者终端的输出接口信息和端口信息;
从服务器接收多点传送数据包,根据首标内的L2TP隧道识别符和对话识别符、目的地地址,检索所述L2TP去封装表格,通过多点传送对话标志来判断被发送的数据包是否是从多点传送用的L2TP连接接收到的多点传送数据包的部件;和
若判断为是多点传送用数据包,则执行L2TP去封装处理,根据LNS地址和多点传送群地址,从所述多点传送表格中检索包含作为发送对象的接入者终端的输出接口信息和端口信息的线路信息,并向对应于线路信息的接入者终端复制不发送多点传送数据包的部件。
在使用L2TP的多点传送通信中,在现有技术下,LAC不能伴随多点传送数据包的分配对象的管理来实施多点传送数据包发送,但根据本发明,通过从PPP接线中选择地取出来自接入者侧的IGMP/MLD数据包,可实现LAC中伴随多点传送数据包的分配对象管理的多点传送数据包发送功能。从而,分配对象列表的更新变快,并且,可使访问载波网络内的通信量减轻,该减轻的量对应于使位于IETF草案(draft-ietf-12tpext-mcast-03.txt)中的LNS-LAC间的分配对象列表同步的序列部分。另外,即使构成为建立在一个LAC与多个LNS之间建立的多个L2TP对话,也可通过将多点传送用L2TP对话集约到一个LAC-LNS间的对话,并且可分散多个L2TP对话中的路径负荷,可弹性且有效适用访问载波网络的频域。另外,因为本发明仅安装在LAC中,所以可利用现有的具备多点传送发送功能的LNS。
附图说明
图1是表示本实施方式的网络结构例的图。
图2是表示该数据包格式的图。
图3是表示在接入者接收到多点传送数据包之前的基本序列实例的图。
图4是表示涉及接入者追加的序列实例的图。
图5是表示涉及接入者删除的序列实例的图。
图6是表示数据包传送装置的结构例的图。
图7是表示数据包传送装置的控制部的图。
图8是表示数据包传送装置的协议处理部的图。
图9是表示LNS-多点传送群信息表格的结构图。
图10是表示L2TP去封装表格的结构图。
图11是表示v4多点传送路由表格的结构图。
图12是表示v4多点传送index表格的结构图。
图13是表示v6多点传送路由表格的结构图。
图14是表示v6多点传送index表格的结构图。
图15是表示v4多点传送用L2TP连接的连接处理的图。
图16是表示v4多点传送用L2TP连接释放处理的图。
图17是表示v6多点传送用L2TP连接的连接处理的图。
图18是表示v6多点传送用L2TP连接释放处理的图。
图19是表示接收侧协议处理部中的多点传送发送处理的图。
图20是表示发送侧协议处理部中的多点传送发送处理的图。
图21是表示多个ISP的LNS连接于一个LAC上时的适用例的图。
图22是表示多个ISP的LNS连接于一个LAC上的情况下、接入者接收到多点传送数据包之前的序列实例的图。
图23是表示在多点传送用L2TP对话中实施集约功能的情况下的序列实例的图。
图24是表示在多点传送用L2TP对话中实施集约功能的方式的图。
图25是表示多点传送用L2TP对话中路径的负荷分散的实施方式的图。
图26是表示多点传送用L2TP对话的冗余功能适用前的状态的图。
图27是表示多点传送用L2TP对话的冗余功能适用后的状态的图。
图28是表示多点传送用L2TP对话的冗余功能适用时的状态的图。
具体实施方式
1、系统结构
图1是表示适用本实施方式的网络结构例的图
该系统作为一例,具备接入者终端(H1i-j)(i=1~n、j=1~n)、LAC(1-i)、LNS(2-i)、服务器(S1)、网络(NW1、NW2)。
本实施方式适用于如下方式,即接入者终端(H1i-j)在使用PPP、经网络服务提供商(ISP)、利用IP连接于因特网上的方式下,在接入者与ISP之间存在访问载波网络(NW1),在该访问载波网络(NW1)内使用L2TP协议,并使用逻辑总线。L2TP隧道和对话在LAC(1-i)和LNS(2-i)之间展开,LNS连接于因特网等网络(NW2)上,通过L2TP连接(connection)来执行接入者与因特网间的数据传送。LNS(2-i)与服务器S1之间由具有路由器的网络(NW2)来连接。本实施方式提供一种数据包传送装置,在存在于网络(NW2)上的服务器(S1)通过节目发送等向接入者发送多点传送数据包的情况下,由LAC(1-i)管理接入者信息,并且可进行对应于接入者个数的数据包复制和发送。
另外,图2中示出此时的数据包格式。如图所示,数据包PK1、PK2、PK3分别表示在各装置间传送的数据包的格式。
从服务器(S1)发送的数据包按照NW2的IP地址规则来发送(数据包PK1)。在从LNS(2-1)发送到LAC(1-i)时,利用PPP首标和L2TP首标、NW1的IP数据包,来进行封装(capsule)(数据包PK2)。之后,由LAC(1-i)实施L2TP去封装处理,以赋予了PPP首标及遵守NW2的IP地址规则的IP首标的数据包形式(数据包PK3),发送到接入者终端。按照各个网络的第2层的方式来赋予L2首标。
图6表示本实施方式的LAC内的数据包传送装置的结构图。
数据包传送装置(1)具备多个输入输出线路(60-i)、多个线路接口(30-i)与多个协议处理部(10-i)、内部开关(20)、和控制内部开关、协议处理部、线路接口的控制部(40),另外,也可利用外带的控制终端(50)来进行控制。
线路接口(30-i)根据IP网的接收信号,再现IP数据包,并传送到协议处理部(10-i),同时,将从协议处理部(10-i)接收到的IP数据包变换成遵守输入输出线路(60-i)上的通信协议、例如以太网(注册商标)或ATM等的通信帧的形式,送出到IP网。
各协议处理部(10-i)安装IP路由、或后述的多点传送数据包路由和多点传送数据包复制处理等,对从线路接口(30-i)接收到的每个IP数据包,按照IP首标中包含的目的地IP地址,参照路由表格,得到输出端口序号。控制部(40)监视协议处理部(10-i)和内部开关(20)的状态,并作为节点内部状态通知给控制终端,同时,响应于来自控制终端的指示,对各协议处理部(10-i)执行各种控制参数设定。另外,控制部(40)具备状态监视必需的协议处理、例如L2TP隧道连接处理等功能。内部开关(20)将从各协议处理部(10-i)接收到的数据包传送到与输出端口存在的线路接口(30-i)连接的协议处理部(10-i)。
图7表示控制部的结构图。
控制部(40)具备执行处理的处理器(401)、记述处理内容的存储器(41i)、用于与控制终端的接口(402)和与协议处理部(10-i)的协议处理处理器通信的处理器间接口(403)。作为处理功能,控制部(40)在存储器上安装例如来自接入者侧的IGMP的终端处理(414)、来自接入者侧的MLD终端处理(415)、将L2TP隧道和对话建立成LNS的隧道处理(413)和对话处理(412)、或取得IP地址时的IPCP/IPv6CP处理(411)。
图8中示出协议处理部的结构图。
协议处理部(10-i)具有从线路接口(30-i)接收数据包用的接口侧接收缓冲器(102)、执行协议处理的协议处理处理器(101)、向内部开关(20)发送数据包用的SW侧发送缓冲器(103)、从内部开关(20)接收数据包用的SW侧接收缓冲器(104)、和向线路接口(30-i)发送数据包用的接口侧发送缓冲器(105)。另外,具有在协议处理处理器(401)与控制部(40)的处理器的通信中使用的处理器间接口(106)。
另外,作为处理功能,在存储器上安装数据包传送控制处理(111)、L2TP封装处理(112)、L2TP去封装处理(113)、多点传送发送中的数据包复制处理(114)、和输出首标附加处理(115)。另外,作为各处理中使用的表格,在存储器上保持用于确定从哪个LNS接收各多点传送表格的v4LNS-多点传送(MC)群信息表格(121)、v6LNS-多点传送群信息表格(122)、用于判断去封装的L2TP数据包是多点传送用对话还是单点传送用对话的L2TP去封装表格(123)、用于确定多点传送数据包的传送对象的线路接口(30-i)的v4多点传送路由表格(124)、v6多点传送路由表格(125)、用于确定多点传送数据包的输出端口并确定输出首标的v4多点传送index表格(126)、v6多点传送index表格(127)。另外,还具备传送通常的单点传送数据包时的v4/v6路由表格(128/129)。
另外,在本说明书中,将v4/v6多点传送路由表格124/125与v4/v6多点传送index表格126/127统称为v4/v6多点传送表格。另外,在仅支持IPv4或IPv6之一的情况下,也可省略另一方用的各表格。
下面,说明各表格。在各表格中,还附记用于检索该表格的检索密钥与作为检索结果求出的数据。另外,标志除[0]/[1]外,也可以是[ON]/[OFF],或其相反的值。
图9是表示LNS-多点传送群信息表格的结构图。
另外,图10是表示L2TP去封装表格的结构图。
就IPv4而言,图11是表示v4多点传送路由表格的结构图,图12是表示v4多点传送index表格的结构图。另一方面,就IPv6而言,图13是表示v6多点传送路由表格的结构图,图14是表示v6多点传送index表格的结构图。
另外,图12和图14中,分别表示在图11的数据1243和图13的数据1253所示的每个IP输出中设置表格126-1~126-n和127-1~127-n。
2、动作概述
图3中表示本实施方式的网络中、接入者接收到多点传送数据包之前的基本序列图。另外,在以下的各序列的说明中,作为一例,说明IGMP,但不限于此,也可适用于MLD等适当的多点传送(multi cast)协议中。
首先,LAC(1-1)的控制终端对LAC上的LNS-多点传送群信息表格(图8:121、122)制作入口(entry)(SQ1-1)。该表格是如上表格,具有对各多点传送群而言可接收的LNS的信息,在有多个可接收的LNS的情况下,定义LAC与哪个LNS建立多点传送用的L2TP连接、即从哪个LNS接收多点传送数据包。该表格的详细实例如图9所示。
例如,在登录成属于LNS(2-1)的IP-LNS1-1的接入者(当连接于NW2时建立的L2TP对话在LNS侧的终端IP地址变为IP-LNS1-1的接入者)接收多点传送群G1的数据包的情况下,在图9的数据1211中登录IP-LNS1-1(接入者所属的LNS),在图9的数据1212中登录G1(想接收的群地址)。接着,为了定义将该多点传送群G1用的L2TP连接建立为哪个LNS,在图9的数据1213中登录LNS的IP地址。例如,在IP-LNS1-1之间建立该多点传送用的L2TP连接的情况下,将IP-LNS1-1登录在数据1213中。这里,因为指向了属于LNS1-1的接入者的多点传送群G1用的L2TP连接未确立,所以图9的数据1214为[0],数据1215和1216的值在数据1214为0的阶段无效。另外,若确立L2TP连接,则该标志变为[1]。
下面,每次接收多点传送数据包,就有两次契机。一个是在从LNS(2-1)定期确认有无多点传送数据包接收希望者的情况、和接入者终端主动地发出多点传送数据包接收的请求的情况。
在从LNS(2-1)确认有无接收希望者的情况下,LNS(2-1)通过用于各接入者的已建立的L2TP隧道和对话(图1:T1内的L2TP对话),向各接入者(H11-i)发送IGMP Query数据包(SQ1-2、SQ1-3)。
希望接收多点传送群G1的多点传送数据包的接入者返回IGMP join消息(SQ1-4、SQ1-5)。在接入者终端主动发出多点传送数据包接收请求的情况下,从该阶段开始。
在LAC(1-1)中,通常对来自接入者侧的数据包实施L2TP封装(capsule)处理,并通过发送IGMP Query的L2TP连接T1,传送数据包,但在本实施方式中,根据PK3的IP2首标的内容和数据部分,判断来自接入者侧的数据包是否是IGMP join消息,在是IGMP数据包的情况下,不实施L2TP封装处理,终结该IGMP数据包(SQ1-4、SQ1-5)。之后,根据LNS-多点传送群表格来判断是否已建立多点传送群G1用的L2TP连接(图9:用数据1214来判断。SQ1-6)。
这里,在未建立L2TP连接的情况下,对于登录在图9的数据1213中的LNS,移动到多点传送数据包用的L2TP连接T3的连接处理。该连接处理依照L2TP协议(SQ1-7~SQ1-14)。在该序列上,确定上行方向(LAC→LNS方向)的L2TP隧道ID(图9:数据1215)与对话ID(图9:数据1216)、和下行方向(LNS→LAC方向)的L2TP隧道ID(图10:数据1232)与对话ID(图10:数据1233),更新LNS-多点传送群信息表格的入口,并将入口追加到L2TP去封装表格(SQ1-15)。即,就LNS-多点传送群信息表格而言,将图9的数据1214变为表示完成对话确立的[1],在数据1215和1216中写入在先确定的值。另外,就L2TP去封装表格而言,在图10的数据1231中写入执行LAC侧的L2TP终端的IP地址IP-LAC1-1,在数据1232、1233中写入在先确定的隧道ID和对话ID,在数据1234中写入表示是多点传送用的L2TP连接的[1]。
之后,LAC按IPCP(Internet Protocol Control Protoco1)来执行地址请求(SQ1-16),经多点传送用L2TP连接,分配IPv4地址(SQ1-17)。LAC将分配的IPv2地址处理成LAC内的虚拟终端的地址。之后,LAC将IGMP join消息通过上述建立的多点传送用L2TP连接发送到LNS(SQ1-18)。LNS识别按IPCP分配的IP地址的虚拟终端加入多点传送群G1,另一方面,LAC根据建立T1时保持的接入者信息,将发送IGMP join的各接入者信息登录在多点传送表格(图8:124-127)中(SQ1-20)。多点传送表格是复制发送多点传送数据包时管理复制对象列表的表格群。登录在各对应区域中的内容是对应于发送接收到的IGMP join消息的终端的线路信息(输出线路接口)序号、物理端口(输出端口)序号、线路种类、PPPoE对话IC、VPI、VCI)等,通过多点传送index在装置内唯一管理复制对象列表,装置管理一个多点传送路由表格,在线路接口上附带的每个协议处理部(图12:126-1~126-n、图14:127-1~127-n)管理多点传送index表格。
接收到IGMP join消息的LNS通过PIM join(Protocol IndependentMulticast join)等向多点传送数据包的发送源(进行多点传送发送的服务器或会合点)回信(SQ1-19)。
若从服务器实施多点传送数据包的发送,则将多点传送数据包传送到LNS,LNS按照LNS的多点传送数据包发送规则来发送。因为在LNS把握的多点传送数据包发送对象中登录上述多点传送用L2TP连接,所以通过多点传送用L2TP连接T3将多点传送数据包发送到LAC(SQ1-21)。LAC根据L2TP去封装表格来判断由该对话发送的数据包是否来自由LAC执行复制发送的多点传送用L2TP连接(SQ1-22)。具体而言,将存储在PK2的L2TP首标内的L2TP隧道ID和对话IC、或PK2的IP1首标内的目的地地址作为检索Key,检索L2TP去封装表格(图10:检索由数据1231-1233匹配的区域),利用多点传送对话标志(图10:数据1234)进行判断。之后,LAC从多点传送表格中检索作为发送对象的接入者信息(图11:输出1F、v4/v6 MCindex、图12),向登录的接入者复制发送多点传送数据包(SQ1-23、SQ1-24)。
(发送对象的追加)
图4中表示向发送中的多点传送数据包附加发送对象时的序列图。
设为处于从服务器发送多点传送群G1的多点传送数据包(SQ2-1、SQ2-5)、接入者C(H11-3)与接入者D(H11~n)接收该多点传送数据包(SQ2-3、SQ2-4、SQ2-7、SQ2-8)的状态。
这里,因为接入者B(H11-2)加入多点传送群G1,所以发送IGMP join消息(SQ2-9)。LAC(1-1)根据PK3的IP2首标的内容和数据部分来判断来自接入者侧的数据包是否是IGMP join消息,对该IGMP数据包不实施L2TP封装处理而使之终结(SQ2-9)。之后,根据LNS-多点传送群表格来判断是否已建立多点传送群G1用的L2TP连接(图9:用1214来判断)。在这次的情况下,判断为已建立多点传送群G1用的L2TP连接,不重新建立L2TP连接,LAC(1-1)将接入者B追加到管理接入者信息的多点传送表格中,作为多点传送群G1的发送对象(SQ2-10)。之后,若从服务器发送多点传送数据包(SQ2-11),则LAC向接入者B、C、D复制发送数据包(SQ2-13~SQ2-15)。并且,在接入者A(H11-1)加入多点传送群G1的情况下,也按同样的步骤来更新多点传送表格,向接入者A、B、C、D发送数据包(SQ2-25~SQ2-28)。
(发送对象的删除)
图5中表示对发送中的多点传送数据包删除发送对象时的序列图。
设为处于从服务器发送多点传送群G1的多点传送数据包(SQ3-1)、接入者A、B、C、D(H11-1~H11-3、H11~n)接收该多点传送数据包(SQ3-3~SQ3-6)的状态。
这里,因为接入者A(H11-1)脱离多点传送群G1,所以发送IGMP Leave消息(SQ3-7)。LAC(1-1)根据PK3的IP2首标的内容和数据部分来判断来自接入者侧的数据包是否是IGMP Leave消息,对该IGMP数据包不实施L2TP封装处理而使之终结(SQ3-7)。之后,LAC(1-1)从管理接入者信息的多点传送表格的多点传送群G1的发送对象中删除接入者A(SQ3-8)。之后,若从服务器发送多点传送数据包(SQ3-9),则LAC向接入者B、C、D复制发送数据包(SQ3-11~SQ3-13)。
并且,在接入者B、C脱离多点传送群G1的情况下,也按同样的步骤来更新多点传送表格,仅向接入者D发送数据包(SQ3-14~SQ3-19)。这里,若作为多点传送群G1的最后分配对象的接入者D(H11~n)发出脱离希望(SQ3-20),则LAC(1-1)从多点传送表格的多点传送群G1中删除接入者D,并识别为没有多点传送群G1的接入者(SQ3-21)。LAC(1-1)为了释放多点传送群G1用的L2TP连接,首先利用IGMP Leave消息来通知LNS(2-1)LAC内的虚拟终端脱离多点传送群G1(SQ3-22)。之后,释放在虚拟终端取得的IP地址(SQ3-23、SQ3-24),释放用于多点传送数据包G1所建立的L2TP连接(SQ3-25~SQ3-28)。之后,从L2TP去封装表格中删除该多点传送用L2TP连接的入口,并将LNS-多点传送群表格的对应入口的多点传送对话完成确立标志(图9:1214)设为0(SQ3-29)。
3、详细流程图
(接线连接处理)
图15中示出本装置中的IPv4多点传送用L2TP连接的连接处理的流程图。本实施方式相当于图3的SQ1-4~SQ1-20中的LAC内的处理。
首先,设从接入者终端接收IGMP join数据包(图3:SQ1-4)。在本发明的数据包传送装置(1)中,从线路接口用接收缓冲器(102)中读出数据包信息,协议处理处理器(101)根据数据包来判断是否是PPP(141)。在是PPP的情况下,判断为来自接入者侧的数据包,并根据数据包的内容来执行是否是IGMP的判断(142)。在是IGMP的情况下,执行是否是IGMP join消息的判断(143)。在是IGMP join的情况下,利用记述在IGMP数据包中的多点传送群地址(图9:1212)和接入者连接的LNS地址(图9:1211)来检索v4LNS-多点传送群信息表格(图9)(SQ1-6),并根据多点传送对话完成确立标志(图9:1214)来判断是否已确立L2TP对话用于该群地址(144)。
在确立对话的情况下(图9:1214为1的情况),移动到步骤153。
另一方面,在未确立对话的情况下(图9:1214为0的情况),根据v4LNS-多点传送群信息表格的检索结果,得到作为建立多点传送用L2TP对话的相对LNS的多点传送对话LND地址(图9:1213)。之后,作为建立L2TP连接的契机,协议处理部(10-i)将接收到的IGMP join数据包与LNS的地址通知给控制部(40)。控制部(40)终结IGMP join数据包,按照L2TP协议的步骤,实施隧道连接处理(145)和对话连接处理(146)(SQ1-7~SQ1-14)。在确立对话后,通过控制部(40)的指示,协议处理处理器(101)将该对话信息写入v4LNS-多点传送群信息表格的上行L2TP Tunnel ID(图9:1215)和上行L2TP SessionID(图9:1216)区域中,另外,在L2TP去封装表格中,形成终结多点传送用L2TP连接的LAC侧的IP地址(图10:1231)为IP-LAC1-1、且表示由在先的L2TP连接的连接处理确定的下行用L2TP连接的下行L2TP Tunnel ID(图10:1232)和下行L2TP Session ID(图10:1233)的入口,将1写入多点传送对话标志(图10:数据1234)(147、SQ1-15)。
接着,控制部(40)为了得到虚拟终端的IP地址,移动到IPCP处理(148)。在IPCP处理(SQ1-16、SQ1-17)之后,控制部(40)的处理器形成IGMP join消息(149),通知给协议处理处理器(101)。协议处理处理器(101)实施利用该多点传送用对话将IGMP join数据包发送到LNS用的PPP封装处理(150)、和L2TP封装处理(151),发送数据包(152、SQ1-18)。
另外,控制部(40)将对v4多点传送表格(v4多点传送路由表格:124、v4多点传送index表格:126)的接入者信息登录指示送出到协议处理处理器(101)。协议处理处理器(101)按照该指令,更新v4多点传送表格(153、SQ1-20)。
图17表示本装置中的IPv6多点传送用L2TP连接的连接处理的流程图。
IPv6的情况与上述IPv4多点传送用对话处理相比,仅将IGMP的调查置换成MLD(241、242、248、251),将IPCP处理置换成IPv6CP(247),将v4多点传送表格置换成v6多点传送表格(252),将v4 LNS-多点传送群信息表格置换成v6 LNS-多点传送群信息表格(243、246),处理流程的内容与IPv4多点传送用对话处理一样。
(发送处理)
图19表示本装置中接收侧的多点传送数据包发送处理的流程图。
该处理是图3的、通过多点传送用的L2TP对话、从服务器接收多点传送数据包(例:SQ1-21)、复制并发送接入者个数的多点传送数据包(例:SQ1-23、SQ1-24)之前的本装置内的接收侧处理。
首先,若数据包经输入线路(60-i)及线路接口(30-i)到达协议处理部(10-i),则协议处理处理器(101)从接收缓冲器(102)中读出数据包(181),根据数据包的内容判断数据包是否是L2TP(182)。在是L2TP的情况下,检索L2TP去封装表格(图10),并判断是否是从多点传送用L2TP对话接收到的表格(图10:1234)(188)。此时的检索Key是终结多点传送用的对话的LAC的地址(图10:1231)、L2TP隧道ID和对话ID(图10:1232、1233),从数据包得到这些信息。
在是来自多点传送用对话的数据包的情况下,协议处理处理器(101)执行L2TP去封装处理(184、图8:113),根据去封装后的IP首标的版本来判断是IPv4还是IPv6(185)。
在是IPv4的情况下,将多点传送群地址(图11:1242)作为检索Key,从建立多点传送用L2TP对话的LNS的地址(图11:1241)和目的地地址中,检索v4多点传送路由表格(图11)(186、图8:111),得到输出多点传送数据包的线路接口(图11:1243)与v4多点传送index(图11:1244)。
另外,IPv6的情况也与IPv4一样,将LNS的地址和作为目的地地址的多点传送群地址作为检索Key,检索v6多点传送路由表格(图13)(187、图8:111),得到输出多点传送数据包的线路接口信息与v6多点传送index。连接输出线路接口的协议处理部为了得到输出端口和输出首标,必需要有v4/v6多点传送index。
在得到输出线路接口的信息后,复制输出线路接口数量的数据包(188、图8:114),经内部开关,向各输出线路接口传送(189)。
图20表示本装置中发送侧的多点传送数据包发送处理的流程图。
该处理是图3的、通过多点传送用的L2TP对话、从服务器接收多点传送数据包(例:SQ1-21)、复制并发送接入者个数的多点传送数据包(例:SQ1-23、SQ1-24)之前的本装置内的发送侧处理。
附加在各输出线路接口的协议处理部(10-i)的协议处理处理器(101)从开关侧的接收缓冲器(104)读出数据包后(191),根据数据包的IP版本来判断是IPv4还是IPv6(192)。
在是IPv4的情况下,将IPv4多点传送index(图12:1261)作为检索Key,检索每个线路接口保持的IPv4多点传送index表格(图12)。根据检索结果得到输出端口信息。具体而言,在发送对象的接入者的线路种类(图12:1262)中线路种类为PPPoE或PPPoEoA的情况下,取得PPPoE对话ID(图12:1263),在线路种类为PPPoA的情况下,取得ATM的VP/VC(图12:1264/1265),并得到输出端口序号(图12:1266)。之后,实施接入者数量的数据包复制(195、114),根据上述检索结果,附加输出首标(下位层的首标)(196、115),并写入发送缓冲器(105)(197)。按属于多点传送群的接入者数量的次数来重复步骤195-197的动作(198、114)。(例:SQ1-23、SQ1-24)
IPv6的情况也与IPv4一样,将IPv6多点传送index(图14:1271)作为检索Key,检索IPv6多点传送index表格(图14)(194)。省略之后的处理的说明。
(发送对象的增加)
图15中说明在实施了对接入者的多点传送发送的状态下,新增加了接收希望者时(SQ2-9)的实施方式。
若从接入者终端接收IGMP join数据包(图4:SQ2-9),则协议处理部(10-i)的协议处理处理器(101)从线路接口用接收缓冲器(102)中读出数据包信息(141),根据数据包判断是否是PPP(142)。在是PPP的情况下,判断为来自接入者侧的数据包,并根据数据包的内容,执行是否是IGMP的判断(143)。在是IGMP的情况下,执行是否是IGMP join消息的判断(143)。在是IGMP join的情况下,利用记载在IGMP数据包中的多点传送群地址(图9:1212)和接入者连接的LNS地址(图9:1211),检索v4LNS-多点传送群信息表格(图10),并根据多点传送对话完成确立标志(图9:1214)来判断是否已确立L2TP对话用于该群地址。这次由于确立对话(图9:1214对话确立的含义的1成立),通知控制部(40)接收到的IGMP join数据包与多点传送用对话已存在。控制部(40)终结IGMP join数据包(414),将向v4多点传送表格(v4多点传送路由表格:124、v4多点传送index表格:126)发送IGMP join的接入者信息的追加指示送出到协议处理处理器(101)。协议处理处理器(101)按照该指令,更新v4多点传送表格(153)。
IPv6的情况通过在上述处理中,将IGMP置换成MLD,将IPCP处理置换成IPv6CP,将v4多点传送表格置换成v6多点传送表格(v6多点传送路由表格:125、v6多点传送index表格:127)来实现。
(脱离)
图16是表示v4多点传送用L2TP连接释放处理的图。
图15、图16中说明在实施了对接入者的多点传送发送的状态下、接入者脱离多点传送群时的本装置的实施例(以SQ3-15和SQ3-20为例)。
在接收SQ3-13的IGMP Leave消息的情况下,在图15的流程的步骤143中,判断为不是IGMP join。之后,移动到v4多点传送对话释放处理(160)(图16),由协议处理处理器(101)判断是否是IGMP Leave(161)。在是IGMP Leave消息的情况下,协议处理处理器(101)从v4多点传送表格(v4多点传送路由表格:124、v4多点传送index表格:126)中删除接入者C的入口(162),根据v4多点传送表格来判断有无加入多点传送群G1的接入者的存在(163)。在SQ3-15的情况下,因为接入者D存在,所以结束删除处理。
另一方面,在接收SQ3-20的IGMP Leave消息的情况下,首先,与上述一样,在图15的流程的步骤143中,判断为不是IGMP join。之后,移动到v4多点传送对话释放处理(160)(图16),由协议处理处理器(101)判断是否是IGMP Leave(161)。在是IGMP Leave消息的情况下,协议处理处理器(101)从v4多点传送表格(v4多点传送路由表格:124、v4多点传送index表格:126)中删除接入者D的入口(162),根据v4多点传送表格来判断有无加入多点传送群G1的接入者的存在(163)。
这里,在SQ3-20的情况下,因为不存在接入者,所以协议处理处理器(101)通知控制部(40)接收到的IGMP Leave数据包和已不存在接入者。控制处理器(401)接收上述信息后,终结IGMP Leave消息,并生成IGMP Leave消息(164),传送给协议处理部(10)。协议处理处理器(101)实施PPP封装处理(165)和L2TP封装处理(166),并向LNS发送数据包(167、SQ3-22_。接着,控制部(40)执行IPCP处理,并释放虚拟终端用的IP地址(168、SQ3-23~SQ3-24),实施L2TP对话释放处理(169、SQ3-25~SQ3-26)、L2TP隧道释放处理(170、SQ3-27~SQ3-28),释放多点传送用的L2TP连接。最后,控制处理器(401)通知协议处理部(10)从v4LNS-多点传送群信息表格(图9)和L2TP去封装表格(图10)中删除释放的对话信息,协议处理处理器(101)按照指示,更新v4LNS-多点传送群信息表格和L2TP去封装表格(171)。
图18中表示v6多点传送用L2TP连接释放处理。
图示IPv6的情况的实例,但因为处理流程与IPv4一样,所以省略说明。
4、对一个LAC连接多个LNS的系统
(多点传送)
图21是在一个LAC上连接多个ISP的LNS时的本装置的适用例的图。
另外,图22中示出此时的连接序列。图22中,以已确立多点传送群G1的L2TP连接、实施新的多点传送群G2用的连接的情况为例。首先,对LNS-多点传送群信息表格的接入者所属的LNS地址(图9:1211)与建立多点传送用L2TP连接的LNS地址(图9:1213)设定相同地址(SQ4-1)。例如在ISP2的情况下,在两者的LNS地址字段(1211、1213)中放入LNS2-2的地址。另外,通过将多点传送群地址(图9:1212)设为Don’t care(D.C),对于全部多点传送群,设定成对图9:1213中设定的LNS确立对话。
LAC中LAC(1-1)若接收来自接入者的IGMP join数据包(SQ4-4、SQ4-5),则根据LNS-多点传送群信息表格的信息,将对LNS2-1的接入者(H11-i)用的多点传送G2用L2TP连接、和对LNS2-2的接入者(H12-i)用的多点传送G2用L2TP连接,分别在LNS2-1、LNS2-2(SQ4-6~SQ4-25、SQ4-26、SQ4-28)上建立。L2TP连接的连接序列本身与图3一样。之后,将接入者H11-i和接入者H12-i的信息登录到多点传送表格中。
此外,在LNS-多点传送群信息表格的多点传送群设定是Don’t care的情况下,在确立对话后,制作新的关于对话确立的多点传送群的信息,作为LNS-多点传送群信息表格的入口。即,在ISP2的LNS与多点传送群G2相关的L2TP对话确立的情况下,对于LNS-多点传送群信息表格(图9),向LNS地址(图9:1211)新追加ISP2的LNS(2-2)的地址,向多点传送群地址(1212)新追加多点传送群地址G2,向多点传送对话LNS地址(1213)新追加LNS(2-2)的地址,多点传送对话完成确立标志(1214)表示完成确立(例如标志ON),向L2TP隧道IP(1215)、对话ID(1216)新追加用于多点传送G2确立的L2TP连接的上行各ID进入的入口。
由此,如图21所示来发送多点传送数据包。
(集约)
图23中示出涉及属于同一ISP的多个LNS的多点传送群的集约的序列图。另外,图24是表示多点传送用L2TP对话的集约功能实施例的图,图25是表示多点传送用L2TP对话中的路径的负荷分散的实施例的图。
接入者H11-i(i=1~n)经LAC1-1,通过与LNS2-1之间建立的L2TP连接,连接于因特网NW2上。另外,接入者H12-i(i=1~n)经LAC1-1,通过在LNS2-2之间建立的L2TP连接,连接于因特网NW2上。这里,LNS2-1与LNS2-2是同一ISP管理的装置。作为多点传送群,存在G1和G2,G1仅可由LNS2-1接收,而G2可由LNS2-1与LNS2-2两者接收。此时,多点传送群G1设定在LNS-多点传送群信息表格(SQ5-1)中,以经LNS2-1发送。接着,多点传送G2基本上经LNS2-1与LNS2-2建立两条多点传送用L2TP对话,但因为LNS2-1与LNS2-2属于同一ISP,所以可集约到一条多点传送用L2TP对话。
因此,将LNS-MC群信息表格(图9)设定为,登录LNS2-2(图9:1211为LNS2-2的地址)的G2多点传送数据包(图9:1212是G2)的对话终端对象,作为LNS2-1(图9:1213是LNS2-1的地址)(SQ5-1)。另外,设登录LNS2-1的G2多点传送数据包的对话终端对象,作为LNS2-1。这种设定登录例如可由操作者手动设定,或在适当条件下自动设定。
LNS2-1、LNS2-2通过已建立的接入者用的L2TP隧道和对话,使用IGMP或MLD数据包来发送对多点传送群G2的加入确认的数据包(SQ5-4、SQ5-5)。这里,若设接入者H12-n与H11-1向多点传送群G2发出加入委托(SQ5-6、SQ5-7),则LAC(1-1)根据LNS-多点传送群信息表格,在LAC1-1和LNS2-1之间建立G2用的L2TP连接(SQ5-8~SQ5-18),接入者H11-1和原来作为LNS2-2的接入者的H12-n在多点传送路由表格中形成表格入口,作为从LNS2-1接收到的G2的分配对象(SQ5-19)。
结果,接入者H12-n经LNS2-1接收G2的多点传送数据包(SQ5-22、SQ5-27)。这样,属于LNS2-2的接入者可经LNS2-1接收G2的数据包,集约L2TP对话(图24)。
另外,在存在多个多点传送群的情况下,通过对LNS-多点传送群信息表格适当执行分配LNS,来作为各集约的L2TP对话的终端对象的设定,如图25所示,实现路径的负荷分散。
(故障)
图26、图27和图28中示出使用本装置的LAC-LNS间的多点传送用L2TP隧道和对话的冗余功能的实施方式。
图28是表示多点传送用L2TP对话的冗余功能适用时的序列图。另外,图26中示出线路异常发生前的状态的说明图。图27是表示多点传送用L2TP对话冗余功能适用后的状态图。
设LNS2-1的接入者H11-i经LNS2-1接收来自多点传送服务器S1的多点传送数据包G1。另外,LNS2-2也可接收多点传送群G1的多点传送数据包,但LNS2-2的接入者H12-i未加入多点传送群G1。
在LNS-多点传送群信息表格(图9)中,登录在图28的序列的LNS2-1与LAC1-1之间确立多点传送数据包G1用的L2TP连接(SQ6-1)后、在LAC1-1和LNS2-2之间也能确立多点传送群G1用的L2TP隧道和对话(SQ6-2)。即,在LNS-多点传送群信息表格的LNS地址(图9的1211)中登录LNS2-1,在多点传送群地址(图9的1212)中登录G1,在多点传送对话LNS地址(图9的1213)中登录LNS2-2的地址,在多点传送对话完成确立标志(图9的1214)中登录表示未确立的0。
这里,通过在LAC1-1中配备任何线路故障检测部件,一旦检测LAC1-1与LNS2-1之间多点传送用L2TP对话线路中产生异常(SQ6-7),切断L2TP连接(SQ6-8),则LAC(1-1)从LNS-多点传送群信息表格中删除切断的G1用的L2TP对话信息(SQ6-9)。另外,LAC1-1识别为根据LNS-多点传送群信息表格,将LNS2-1的地址与G1作为检索Key,LNS2-2可确立G1用的L2TP隧道和对话(SQ6-10~SQ6-20)。之后的动作与上述的多点传送对话处理和多点传送数据包发送处理一样。从而两个LNS的冗余完成(图27)。
另外,在本例中示出使用两个LNS的冗余,但通过向LNS-多点传送群表格追加n个LNS信息,向LNS-多点传送群表格追加建立多点传送用的L2TP连接的优先级,即使是两个以上的LNS结构也可进行冗余化,另外,通过向LNS-多点传送群信息表格追加物理端口的信息,对一个LNS也可进行基于多个物理端口的冗余化。