CN1820467B - 通信系统、组播对应路由器、发送终端、接收终端以及通信方法 - Google Patents
通信系统、组播对应路由器、发送终端、接收终端以及通信方法 Download PDFInfo
- Publication number
- CN1820467B CN1820467B CN2004800195413A CN200480019541A CN1820467B CN 1820467 B CN1820467 B CN 1820467B CN 2004800195413 A CN2004800195413 A CN 2004800195413A CN 200480019541 A CN200480019541 A CN 200480019541A CN 1820467 B CN1820467 B CN 1820467B
- Authority
- CN
- China
- Prior art keywords
- address
- destination
- message
- multicastapackets
- router
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
通信系统(1)具备UR(20a~20h)和发送终端(10)。UR(20a~20h)包含:保存转发目的地地址的入口保存部(21a~21h);与发送终端地址以及组播组地址相对应,将其他UR的地址作为转发目的地地址登录在入口保存部(21a~21h)中的消息处理部(25);和把请求在发送目的地地址中追加UR的地址的加入请求消息提供给发送终端地址的消息提供部(26)。发送终端(10)包含:保存发送目的地地址的入口保存部(11);和根据加入请求消息将UR(20a~20h)的地址作为发送目的地地址登录在入口保存部(11)中的消息处理部(14)。
Description
技术领域
本发明涉及通信系统、组播对应路由器、发送终端、接收终端以及通信方法。
背景技术
目前进行对多个接收终端发送分组的组播(Thomas A.Maufer著,楠木博之翻译,《IP マルチキヤスト入門》)。在通信系统中,使用在IETF(InternetEngineering Task Force)中正在标准化的SSM(Source-Specific Multicast)(Internet Draft,「draft-ietf-ssm-overviw-xx.txt」)、「電子情報通信学会和文输文誌B」,Vol.J85-B,No.8,PP.1207-1214)、IGMPv3(Internet ManagementProtocol Version 3)(RFC3 376,「Internet Management Protocol Version 3」)、HBH(Hop by Hop Multicast Routing Protocol)(L.HMK Costa,S.Fidia and OCMB Duarte,「Hop by Hop Multicast Routing Protocol」,ACM SIGCOM2001,Aug.2001)、PIM-SM(Protocol Independent Multicast-Sparse Mode)(RFC2362,「Protocol Independent Multicast-Sparse Mode(PIM-SM):ProtocolSpecification」)等协议来进行组播。
此外,为了即使在发送组播分组的发送终端进行移动,其地址发生了变化的情况下继续进行通信,提出了MIP-BT(Mobile IP Bi-DirectionalTunneling)。在MIP-BT中,经由归属代理(HomeAgent)转发由移动到外部网络(Foreign Network)的发送终端所发送的组播分组,由此实现继续通信。
发明内容
但是在现有的通信系统中,如果全部的路由器不是对应组播协议的组播对应路由器,则无法转发组播分组。即,在现有的通信系统中,在组播对应路由器和没有与组播协议对应的组播非对应路由器混合存在的情况下,无法转发组播分组。
因此,本发明的目的在于在通信系统中即使存在组播非对应路由器,也可以设定恰当的组播树转发组播分组。本发明的通信系统具备组播对应路由器和发送终端。组播对应路由器包含:转发目的地保存部,其保存组播对应路由器转发组播分组的转发目的地地址;转发目的地登录部,其对应发送终端地址以及组播组地址,将其他的组播对应路由器的地址作为转发目的地地址登录在转发目的地保存部中;以及路由器消息提供部,其向发送终端地址提供加入请求消息,该加入请求消息请求在发送终端发送组播分组的发送目的地地址中追加组播对应路由器的地址。发送终端包含保存发送目的地地址的发送目的地保存部;和根据加入请求消息,将组播对应路由器的地址作为发送目的地地址登录在发送目的地保存部中的发送目的地登录部。
转发目的地地址是组播对应路由器转发组播分组的地址。发送目的地地址是发送终端发送组播分组的地址。发送终端地址是发送终端的地址。组播组地址是表示组播组的地址。
在本发明的通信方法中,对应发送终端地址以及组播组地址,将其他的组播对应路由器的地址作为转发目的地地址登录在保存转发目的地地址的转发目的地保存部中,并对发送终端地址发送加入请求消息,该加入请求消息请求在发送目的地地址中追加组播对应路由器的地址。而且,发送终端根据加入请求消息,将组播对应路由器的地址作为发送目的地地址登录在保存发送目的地地址的发送目的地保存部中。
根据这样的通信系统和通信方法,组播对应路由器可以将其他的组播对应路由器的地址作为转发目的地地址进行保存。发送终端可以将组播对应路由器的地址作为发送目的地地址进行保存。因此,设定从发送终端经由组播对应路由器对接收终端转发组播分组的合适的组播树。
由此,存在于发送终端和组播对应路由器之间的或组播对应路由器之间的组播非对应路由器可以通过单播转发组播分组。如此,通信系统即使存在组播非对应路由器也可以设定恰当的组播树转发组播分组。
此外,在本发明中,一部分支由器通过单播转发组播分组。因此,为了把本发明所实现的组播协议与通常的组播协议区分开,特此将其称为「单播扩张组播协议(Unicast Extension Multicast Protocol以下表示为「UMP」)」。而且,把与UMP对应的路由器称为「UMP路由器」,把没有与UMP对应的路由器称为「非UMP路由器」。
附图说明
图1是本发明第一实施方式的通信系统的结构图。
图2是本发明第一实施方式的UR结构的方框图。
图3是表示本发明第一实施方式的UR的入口保存部的图。
图4是本发明第一实施方式的发送终端的结构图。
图5是表示本发明第一实施方式的发送终端的入口保存部的图。
图6是本发明第一实施方式的UR接收到分组时的动作顺序的流程图。
图7是本发明第一实施方式的UR进行的组播分组的处理顺序的流程图。
图8是表示本发明第一实施方式的UR进行的Join消息的处理顺序的流程图。
图9是表示本发明第一实施方式的UR进行的Prune消息的处理顺序的流程图。
图10是表示由本发明第一实施方式的接收终端请求发送组播分组时的顺序的时序图。
图11表示由本发明第一实施方式的接收终端请求发送组播分组时的通信系统的示意图。
图12是表示本发明第一实施方式的组播分组的转发顺序的时序图。
图13是本发明第一实施方式的组播分组的转发的示意图。
图14是表示本发明第一实施方式的接收终端加入组播树的顺序的时序图。
图15是本发明第一实施方式的接收终端向组播树的加入的示意图。
图16是本发明第一实施方式的根据新设定的组播树的组播分组的转发的示意图。
图17是本发明第一实施方式的多个发送终端加入到了组播树状态下的组播分组的转发的示意图。
图18是本发明第一实施方式的组播树已移至稳定状态时的通信系统的示意图。
图19是表示本发明第一实施方式的脱离组播树的顺序的流程图。
图20是本发明第一实施方式的脱离组播树时的通信系统的示意图。
图21是本发明第一实施方式的脱离后的组播分组的转发的示意图。
图22是本发明第二实施方式的通信系统的结构的示意图。
图23是表示本发明第二实施方式的接收终端加入组播树的顺序的时序图。
图24是本发明第二实施方式的接收终端向组播树的加入的示意图。
图25是本发明第二实施方式的根据新设定的组播树的组播分组的转发的示意图。
图26是表示本发明第三实施方式的接收终端加入组播树的顺序的时序图。
图27本发明第三实施方式的接收终端向组播树的加入的示意图。
图28本发明第三实施方式的根据新设定的组播树的组播分组的转发的示意图。
图29是本发明第四实施方式的发送终端已移动时的通信系统的动作的示意图。
图30是本发明第五实施方式的通信系统的示意图。
图31是本发明第五实施方式的组播树处于初期状态的处理的示意图。
图32是本发明第五实施方式的组播树处于初期状态的接收终端的加入的示意图。
图33是本发明第五实施方式的组播树处于稳定状态的处理的示意图。
图34是本发明第五实施方式的组播树处于稳定状态的接收终端的加入的示意图。
图35是表示本发明第五实施方式的接收Join消息时的处理顺序的流程图。
图36是本发明第五实施方式的接收Prune消息时的处理顺序的流程图。
图37是表示本发明第五实施方式的转发组播分组的顺序的时序图。
图38是本发明第六实施方式的通信系统的发送终端移动后的状态的示意图。
图39是本发明第六实施方式的接收终端的结构的示意图。
图40是本发明第六实施方式的接收终端的入口保存部的示意图。
图41是本发明第六实施方式的发送终端地址变更前后的组播树并存的状态的示意图。
图42是本发明第六实施方式的仅维持了发送终端地址变更后的组播树的状态的示意图。
图43是本发明第六实施方式的UR动作顺序的流程图。
图44是本发明第六实施方式的接收终端的动作顺序的流程图。
具体实施方式
(第一实施方式)
(通信系统)
如图1所示,通信系统1具备发送终端10、多个UMP路由器(UMP Router,以下称为「UR」)20a~20h、多个非UMP路由器(Non-UMP Router,以下称为「NR」)30a~30f、多个接收终端40a~40d。发送终端10、UR20a~20h和NR30a~30f一层一层地连接。在通信系统1中,在最上游设置发送终端10,在最下游设置UR20f~20h和NR30d~30f。
对发送终端10赋予发送终端地址「S」。对发送终端40a、40b、40c、40d分别赋予地址「R1」、「R2」、「R3」、「R4」。对UR20a、20b、20c、20d、20e、20f、20g、20h分别赋予地址「UR1」、「UR2」、「UR3」、「UR4」、「UR5」、「UR6」、「UR7」、「UR8」。对NR30a、30b、30c、30d、30e、30f、30g分别赋予地址「NR1」、「NR2」、「NR3」、「NR4」、「NR5」。此外,虽然在通信系统1中使用IPv6,但也可使用IPv4。
发送终端10向发送目的地地址转发组播分组。接收终端40a~40d接收组播分组。UR20a~20h以及NR30a~30f按照在发送终端10和接收终端40a~40d之间已设定的组播分组的转发路径(以下称为「组播树」),向发送目的地地址转发组播分组。
UR20a~20h可以为向多个转发目的地地址转发组播分组的分支路由器。接收终端40a~40d和UR20f、20g、20h、NR30d、30e、30f进行无线通信。发送终端10、UR20a~20h以及接收终端40a~40d设定组播树。
UR的结构
首先,以UR20a为例对UR的结构进行说明。如图2所示,UR20a具备入口保存部21a、接收部22、转发部23、转发控制部24、消息处理部25和消息提供部26。此外,UR20b~20h也具备和UR20a相同的结构。
接收部22从发送终端10、其他的UR或NR、接收终端40a~40d接收组播分组或控制消息。在组播分组中包含来自发送终端10的数据。此外,组播分组在发送终端和UR之间以及UR之间被封装转发。控制消息是与组播树的设定、维持、变更等,以及与组播树的控制有关的消息。
控制消息中存在Join消息、Membership Report、设定了Stable选项的Join消息(以下称为「Stable Join消息」)、设定了Stable选项的MembershipReport(以下称为「Stable Membership Report」)、Prune消息、Leave Group消息、Redirect消息、Binding Update消息(以下表示为「BU消息」)、LocationUpdate消息(以下表示为「LU消息」)等。在Join消息、Stable Join消息、Prune消息、Redirect消息的头部中设定表示是控制消息的特殊的选项。
Join消息、Membership Report是请求在发送终端10发送组播分组的发送目的地地址中、在UR20a~20h转发组播分组的转发目的地地址中追加地址的加入请求消息。即,加入请求消息是对发送终端10请求组播分组的发送的控制消息。
在组播树中存在初期状态和稳定状态。组播树从初期状态迁移至稳定状态。当新加入的接收终端减少时,组播树被判断为迁移至稳定状态。在已经对该组播分组设定了组播树的情况下,Join消息、Membership Report成为用于维持在组播树的初期状态下发送的组播树的维持请求消息。Stable Join消息、Stable Membership Report是用于维持在组播树已迁移至稳定状态后发送的组播树的维持请求消息。
Prune消息、Leave Group消息是请求脱离组播树的脱离请求消息。Join消息、Prune消息由UR20a~20h和接收终端40a~40d发送。MembershipReport、Leave Group消息由接收终端40a~40d发送。
Redirect消息是请求在发送目的地地址、转发目的地地址中追加地址,从发送目的地地址、转发目的地地址中删除地址的加入/脱离请求消息。Redirect消息包含Join消息和Prune消息。具体地说,Redirect消息包含请求向转发目的地地址、发送目的地地址追加的地址和请求从转发目的地地址、发送目的地地址中删除的地址。
BU消息是在发送终端地址已变更的情况下,对发送目的地地址通知发送终端地址的变更的变更通知消息。LU消息是在发送终端地址已变更的情况下,对接收终端通知变更后的发送终端地址的位置更新消息。例如,在由于发送终端10的移动等发送终端地址已发生了变更的情况下,LU消息把变更前的发送终端地址和变更后的发送终端地址相对应地进行通知,对接收终端通知移动。发送终端可以单独地发送LU消息,还可以将其附加在组播分组中进行转发。
接收部22根据头部的选项判断是控制消息还是组播分组。接收部22将控制消息输入给消息处理部25。接收部22将组播分组输入给转发控制部24。此时,接收部22在已将组播分组进行了封装的情况下,进行解封并输入已取出的组播分组。此外,接收部22把不将UR20a自身作为目的地的分组原样地输入给转发部23。
转发部23向发送终端10、其他的UR或NR、接收终端40a~40d转发控制消息。转发部23向其他的UR或NR、接收终端40a~40d转发组播分组。送部23从接收部22或转发控制部24取得组播分组。转发部23从消息处理部25或消息提供部26取得控制消息。
入口保存部21a是保存转发目的地地址的转发目的地保存部。如图3所示,入口保存部21a与表的类别、发送终端地址、组播组地址、隧道源地址以及前隧道源地址相对应来保存转发目的地地址、KAT(Keep Alive Timer)和JT(Join Timer)。
在表的类别中存在组播控制表(Multicast Control Table,以下表示为「MCT」)和组播转发表(Multicast Forwarding Table,以下表示为「MFT」)。MCT保存用于设定组播树的信息。MFT保存用于组播树的设定以及组播分组的转发的信息。
发送终端地址有时由于发送终端10的移动等而发生变更。因此,入口保存部21a可以保存发送终端10当前位置的当前发送终端地址的MCT入口和MFT入口、变更前的发送终端地址的MCT入口和MFT入口。
组播树、组播分组可以根据发送终端地址和组播组地址的组合来确定是与来自哪个发送终端10的哪个组播组有关的组播树、组播分组。发送终端10对转发组播分组的组播组赋予组播组地址「G」。
入口保存部21a将发送终端地址与组播组地址相关联地保存。可以根据发送终端地址和组播组地址的组合确定入口保存部21a保存的入口。在UR20a已加入了通过发送终端地址「S」以及组播组地址「G」识别的组播树的情况下,入口保存部21a保存与UR20a所加入的组播树有关的入口。
隧道源地址是用于UR接收到的组播分组的封装化的发送源地址。因此,例如在UR20a的入口保存部21a中登录的隧道源地址成为发送终端地址「S」。前隧道源地址是隧道源地址已发生了变更时的变更前的隧道源地址。转发目的地地址是表示UR转发组播分组的转发目的地的地址。
KAT是计量转发目的地地址、发送目的地地址的保存时间的计时器值。KAT与转发目的地地址相对应地保存。保存时间是发送终端10、UR20a~20f保存转发目的地地址、发送目的地地址的时间。在图3中,KAT(UR3)、转发目的地地址「UR3」的KAT、KAT(UR2)表示转发目的地地址「UR2」的KAT。KAT已满的转发目的地地址被从入口保存部21a中删除。
JT是计量直到开始发送Join消息的时间的计时器值。根据JT已满来发送Join消息。只要MFT入口的KAT未满,就在JT已满时再次起动JT。JT与发送终端地址、组播组地址相对应地保存。在表的类别为MCT的情况下,无需保存隧道源地址、前隧道源地址和JT。
转发控制部24根据转发目的地地址来控制组播分组的转发。具体地说,转发控制部24从接收部22取得组播分组。转发控制部24检索入口保存部21a,获取与取得的组播分组中包含的发送终端地址和组播组地址相对应的转发目的地地址。
在入口保存部21a保存多个转发目的地地址的情况下,UR20a为组播分组的复制点。因此,转发控制部24参照入口保存部21a来复制组播分组,使组播分组与转发目的地地址的数量相同。此外,转发控制部24在转发目的地地址的数量是一个的情况下不需要进行复制。
转发控制部24将已解封的组播分组的目的地地址和入口保存部21a保存的转发目的地地址进行比较,在目的地地址和转发目的地地址不同的情况下,使用转发目的地地址封装组播分组。具体地说,转发控制部24把从入口保存部21a取得的转发目的地地址设定为目的地地址,并将UR20a自身的地址设定为发送源地址来封装组播分组。转发控制部24把已封装的组播分组输入给转发部23。转发控制部24可以使用例如「IP in IP Tunneling」(RFC1853)、「Generic Packet Tunneling in Ipv6 Specification」(RFC2473)中表示的封装技术进行封装。
另一方面,转发控制部24把已解封的组播分组的目的地地址和入口保存部21a保存的转发目的地地址进行比较,在目的地地址和转发目的地地址相同的情况下,将组播分组原样地输入给转发部23。
消息处理部25处理控制消息。消息处理部25作为转发目的地登录部来发挥作用,该转发目的地登录部与发送终端地址以及组播组地址相对应地将其他组播对应路由器(UR)的地址作为转发目的地地址登录在转发目的地保存部。消息处理部25从接收部22取得UR20a接收到的控制消息。消息处理部25根据控制消息的种类、控制消息的目的地地址或发送源地址、入口保存部21a保存的信息,来进行向入口保存部21a的信息的登录和入口保存部21a保存的信息的更新或删除。
消息处理部25在登录新的转发目的地地址的情况下,生成MFT入口或MCT入口。具体地说,消息处理部25在入口保存部21a的表类别中设定MFT或MCT,并对每个发送终端地址、组播组地址生成MFT入口或MCT入口。例如,消息处理部25对每个由UR20a新接收到的Join消息所指定的发送终端地址、组播组地址生成MFT入口或MCT入口。像这样生成的MFT入口或MCT入口作为MFT或MCT来发挥功能。
消息处理部25在已生成的MFT入口将发送终端地址、组播组地址、隧道源地址、前隧道源地址、转发目的地地址、KAT以及JT相对应地进行登录。消息处理部25在已生成的MCT入口将发送终端地址、组播组地址、转发目的地地址以及KAT相对应地进行登录。消息处理部25将接收到的控制消息输入给消息提供部26。
消息提供部26生成控制消息,并提供给发送终端10或其他的UR。消息提供部26作为路由器消息提供部来发挥作用,该路由器消息提供部把请求在发送目的地地址中追加组播对应路由器的地址的加入请求消息提供给发送终端地址。
消息提供部26从消息处理部25取得UR20a接收到的控制消息。消息提供部26根据已取得的控制消息和入口保存部21a保存的信息来生成控制消息。消息提供部26把已生成的控制消息输入给转发部23,并通过转发部23提供给发送终端10或其他的UR。
(发送终端的结构)
下面,对发送终端10的结构进行说明。如图4所示,发送终端10具备入口保存部11、接收部12、发送部13、消息处理部14和分组生成部15。
接收部12从UR20a~20h接收控制消息。接收部12把接收到的控制消息输入给消息处理部14。
入口保存部11是保存发送目的地地址的发送目的地保存部。如图5所示,入口保存部11与表类别、发送终端地址、组播组地址相对应地保存发送目的地地址和KAT。由于MFT以外不使用,发送终端10在表类别中设定「MFT」。发送目的地地址是发送终端10发送组播分组的地址。发送终端10保存的发送目的地地址是组播对应路由器的地址(UR的地址)或接收终端的地址。
与图3相同,KAT(UR1)表示发送目的地地址「UR1」的KAT。发送终端地址有时因发送终端10的移动等而发生变更。因此,入口保存部11可以保存发送终端10当前位置的当前发送终端地址的MFT入口和变更前的发送终端地址的MFT入口。
消息处理部14处理控制消息。消息处理部14作为发送目的地登录部来发挥作用,该发送目的地登录部根据加入请求消息,把组播对应路由器(UR)的地址作为发送目的地地址登录在发送目的地保存部。消息处理部14从接收部12取得发送终端10接收到的控制消息。消息处理部14根据控制消息的种类、控制消息的发送源地址、入口保存部11保存的信息来进行向入口保存部11的登录、入口保存部11保存的信息的更新和删除。
消息处理部14在入口保存部11的表类别中设定MFT,并对每个发送终端地址、组播组地址生成MFT入口。例如,消息处理部14对每个由发送终端10新接收到的Join消息或Redirect消息所指定的发送终端地址、组播组地址生成MFT入口。消息处理部14将发送终端地址、组播组地址、发送目的地地址、KAT与已生成的MFT入口相对应地进行登录。
分组生成部15生成包含数据的组播分组。分组生成部15根据需要生成像BU消息或LU消息那样的控制消息、或附加了LU消息的组播分组。分组生成部15根据发送目的地地址生成组播分组。分组生成部15从入口保存部11取得发送目的地地址。此外,分组生成部15通过来自应用部的输入或外部的输入来取得数据。
首先,分组生成部15在数据中生成发送终端地址作为发送源地址,生成附加了组播组地址的组播分组作为发送目的地地址。分组生成部15参照入口保存部11复制已生成的组播分组,使组播分组与发送目的地地址的数量相同。此外,分组生成部15在发送目的地地址的数量为1的情况下无需进行复制。
分组生成部15在发送源地址设定发送终端地址,并在目的地地址设定发送目的地地址来对组播分组进行封装。分组生成部15把已封装的组播分组输入给发送部13。
发送部13对UR20a~20h或NR30a~30f以及接收终端40a~40d发送组播分组或控制消息。发送部13从分组生成部15取得已封装的组播分组,从消息处理部14取得控制消息。
「通信方法」
下面,参照图6~图21对通信系统的动作进行说明。
(UR的动作顺序)
使用图6~图9说明UR20a~20h的动作顺序。首先,图6表示分组接收时的动作顺序。UR20a~20h的接收部22从相邻的UR或NR接收分组(S101)。接收部22判断是否在接收到分组中设定了特殊的选项(S102)。
在特殊的选项中,在使用IPv6的情况下可以使用由RFC2460所规定的Hop-by-Hop选项。在使用IPv4的情况下可以使用由RFC2113所规定的Router Alert选项。由此,UR20a~20h可以将分组为特殊的控制消息的情况通知给其他的UR或发送终端10。而且,作为特殊的选项,即使是无法解释选项的情况,指示不抛弃该消息的数据,例如在Hop-by-Hop选项的情况下,可以附加选项类型的开头从「00」开始的选项。由此,即使在中途的路径中存在无法解释选项的路由器,例如即使NR存在也不会抛弃,UR20a~20h或发送终端10可以接收控制消息。此外,还具有在RFC2711中所规定的路由器警告选项等。
在步骤(S102)中,在没有设定特殊选项的情况下,接收部22判断分组目的地地址是否是UR自身(S103)。另一方面,在步骤(S102),在设定了特殊选项的控制消息的情况下,接收部22把该控制消息输入给消息处理部25(S108)。
在步骤(S103),在分组的目的地地址不是UR自身的情况下,接收部22把分组输入给转发部23(S104)。另一方面,在步骤(S103),在分组的目的地地址是UR自身的情况下,接收部22判断该分组是否已被封装(S105)。在已将分组封装的情况下,接收部22进行解封取出分组(S106)。
然后,接收部22判断接收到的分组本身或通过解封取出的分组是组播分组还是控制消息(S107)。在步骤(S107),在分组为组播分组的情况下,接收部22将组播分组输入给转发控制部24(S108)。另一方面,在步骤(S107),在判断出分组是控制消息的情况下,接收部22将控制消息输入给消息处理部25(S109)。UR20a~20h在每次接收分组时重复图6所示的顺序。
然后,图7表示UR20a接收到组播分组时的处理顺序。接收部22接收组播分组(S201)。接收部22对已封装的组播分组进行解封。接收部22把取出的组播分组和在已封装的组播分组中设定的发送源地址输入给转发控制部24。转发控制部24在入口保存部21a的隧道源地址中设定已封装的组播分组的发送源地址(S202)。
此外,在步骤(S202),转发控制部24在隧道源地址和已设定的隧道源地址不同的情况下,可以将已设定的隧道源地址设定为入口保存部21a的前隧道源地址。由此,此后在接收部22从前隧道源地址接收到组播分组的情况下,通过消息提供部26明确地将Prune消息发送给前隧道源地址来防止组播分组的重复接收。转发控制部24检索入口保存部21a,判断是否存在包含从接收部22取得的组播分组中包含的发送终端地址「S」和组播组地址「G」的入口(S203)。
在存在入口的情况下,转发控制部24判断组播分组的目的地地址是否包含在该入口的转发目的地地址中(S204)。在目的地地址不包含在转发目的地地址中的情况下,转发控制部24判断由包含在组播分组中的发送终端地址「S」和组播组地址「G」确定的组播树是否已稳定(S205)。
在组播树已稳定的情况下,转发控制部24判断包含入口保存部21a的发送终端地址「S」和组播组地址「G」的入口中是否存在多个转发目的地地址(S206)。在不存在多个转发目的地地址的情况下,转发控制部24对消息提供部26指示生成Redirect消息。消息提供部26生成与组播分组的隧道源地址相对的Redirect消息,并由转发部23进行发送(S207)。Redirect消息包含请求接收到组播分组的UR自身的脱离的Prune消息和UR请求加入入口保存部21a保存的转发目的地地址的Join消息。
另一方面,在步骤(S205)在组播树没有稳定的情况,或在步骤(S206)存在多个转发目的地地址的情况下,转发控制部24使用转发目的地地址将组播分组进行封装(S208)。此时,转发控制部24复制组播分组,使其与转发目的地地址的数量相同,并使用转发目的地地址对各个组播分组进行封装。转发控制部24把已封装的组播分组输入给转发部23。而且,转发部23根据目的地地址转发组播分组(S209)。
另一方面,在步骤(S204),在转发目的地地址中包含目的地地址的情况下,转发控制部24把接收到的组播分组原样地输入给转发部23。而且,转发部23根据目的地地址把接收到的组播分组原样地转发(S209)。如此,转发控制部24使用转发目的地地址进行封装,由此根据转发目的地地址控制组播分组的转发。另一方面,在步骤(S203)在不存在入口的情况下,转发控制部24抛弃已取得的组播分组(S210)。
然后,图8、图9表示UR20a~20h接收到控制消息时的处理顺序。首先,图8表示控制消息为Join消息的情况。接收部22接收Join消息,并将其输入给消息处理部25(S301)。消息处理部25检索入口保存部21a,判断是否存在包含已取得的Join消息中包含的发送终端地址「S」和组播组地址「G」的入口(S302)。在存在入口的情况下,消息处理部25判断入口保存部21a中的包含发送终端地址「S」和组播组地址「G」的入口中是否存在多个转发目的地地址(S303)。
消息处理部25在判断出不存在多个转发目的地地址的情况下,判断在转发目的地地址中是否包含Join消息的发送源地址(S304)。消息处理部25在判断出包含的情况下,判断接收到的Join消息是否为设定了Stable选项的Stable Join消息(S305)。消息处理部25在判断出已设定了Stable选项的情况下,把接收到的Join消息输入给转发部23。转发部23将接收到的Join消息原样地转发给上游(S306)。
另一方面,在步骤(S304),消息处理部25在判断出在MFT入口的转发目的地地址中没有包含Join消息的发送源地址的情况下,在入口保存部21a保存的MFT入口的转发目的地地址中追加发送源地址(S308)。而且,消息处理部25抛弃Join消息(S309)。并且,消息处理部25起动与在入口保存部21a中追加了的转发目的地地址有关的KAT(S310)。
另一方面,在步骤(S303),消息处理部25在判断出存在多个转发目的地地址的情况下,判断在转发目的地地址中是否包含Join消息的发送源地址(S307)。消息处理部25在判断出包含转发目的地地址的情况下,进行步骤(S309)、(S310)的处理。消息处理部25在判断出不包含转发目的地地址的情况下,进行步骤(S308)~(S310)的处理。
此外,在步骤(S302),在入口保存部21a中不存在入口的情况下,消息处理部25判断接收到的Join消息是否为已设定了Stable选项的Stable Join消息(S311)。消息处理部25在判断出没有设定Stable选项的情况下,新生成将Join消息的发送源地址作为转发目的地地址与Join消息中包含的发送终端地址「S」和组播组地址「G」对应的MFT入口。消息处理部25把已生成的MFT入口登录在入口保存部21a中。然后,消息处理部25起动已登录的转发目的地地址的JT(S312)。而且,消息处理部25起动已登录的转发目的地地址的KAT(S313)。
然后,消息处理部25抛弃Join消息(S314)。而且,消息处理部25对消息提供部26指示生成Join消息。消息提供部26生成对发送源地址设定了UR自身的地址、对目的地地址设定了发送终端地址的Join消息。然后,消息处理部26把已生成的Join消息输入给转发部23,转发部23发送Join消息(S315)。
另一方面,在步骤(S311),消息处理部25在判断出组播树已稳定的情况下,将接收到的Join消息原样地输入给转发部23。转发部23根据包含在Join消息中的发送终端地址将Join消息原样地转发给上游(S316)。
如此,消息处理部25根据UR接收到的Join消息,消息处理部25与发送终端地址「S」和组播组地址「G」相对应地将转发目的地地址登录在入口保存部21a中。
此外,消息提供部26对发送终端地址提供请求在发送终端10的地址中追加UR地址的Join消息(加入请求消息)。Join消息由UR根据例如来自接收终端40a~40d等的组播分组的发送请求,即根据请求加入组播树的Join消息来生成,并将其发送给设置在上游的发送终端10。此外,UR像这样地发送已将UR自身的地址设定为发送源地址的Join消息,其他的UR根据该Join消息将转发目的地地址登录在入口保存部21a中。因此,消息处理部25将其他的UR的地址作为转发目的地地址登录在入口保存部21a中。
然后,图9表示控制消息为Prune消息的情况。消息处理部25从接收部22取得Prune消息(S401)。消息处理部25检索入口保存部21a,判断是否存在包含在已取得的Prune消息中包含的发送终端地址「S」、组播组地址「G」以及转发目的地地址的入口(S402)。
在存在入口的情况下,消息处理部25从该入口中删除Prune消息中包含的转发目的地地址(S403)。另一方面,在不存在入口的情况下,消息处理部25抛弃Prune消息(S410)。消息处理部25判断在步骤(S403)消除转发目的地地址后的结果,即该入口是否消除(S404)。当转发目的地地址为0时入口消除。
在入口消除时,消息处理部25对消息提供部26指示生成Prune消息。消息提供部26生成已把UR自身的地址设定为发送源地址,已把发送终端地址设定为目的地地址的Prune消息(S405)。消息处理部26把已生成的Prune消息输入给转发部23(S409)。如此,为了UR明示地从组播树脱离开而将Prune消息发送给发送终端10。
另一方面,在步骤(S404)入口不消除的情况下,消息处理部25判断由包含在Prune消息中的发送终端地址「S」和组播组地址「G」确定的组播树是否已稳定(S406)。在组播树已稳定的情况下,消息处理部25判断在包含发送终端地址「S」和组播组地址「G」的入口中是否存在多个转发目的地地址(S407)。
在不存在多个转发目的地地址的情况,即存在1个转发目的地地址的情况下,消息处理部25判断为UR自身不是在UR对接收到的组播分组进行复制的复制点。消息处理部25对消息提供部26指示生成Redirec消息。消息提供部26生成Redirect消息(S408)。消息提供部26将UR自身的地址设定为Redirect消息的发送源地址。消息提供部26生成Redirect消息,该Redirect消息请求从转发目的地地址或发送目的地地址中删除UR自身、并在转发目的地地址或发送目的地地址中追加在入口中剩余的转发目的地地址。
如此,在组播树为稳定的状态时,在UR从接收终端40a~40d或其他的UR接收到请求从组播树脱离的消息时,Redirect消息可以用作变更请求信息来对位于比UR自身更上游的UR或发送终端10指示变更入口保存部11、21a保存的信息。
转发部23根据在Prune消息或Redirect消息中包含的发送终端地址来转发Prune消息或Redirect消息。此外,在步骤(S406)组播树没有稳定的情况下,在步骤(S407)存在多个转发目的地地址的情况下,消息处理部25结束处理。
(组播树的设定、组播分组的转发)
然后,使用图10~21对组播树的设定、组播分组的转发进行说明。首先,使用图10、11对因接收终端40a对发送终端10请求发送组播分组,由此来设定组播树时的通信系统1的动作进行说明。图10表示顺序,图11表示通信系统1的结构。
在以下的说明中,根据需要一并记述UR20a~20h具备的入口保存部21a~21h和发送终端10具备的保存部11。但是,为了使说明变得简单,在入口保存部21a~21h保存的信息中只表示表类别、发送终端地址、组播组地址、和转发目的地地址或发送目的地地址。
具体地说,如同(发送终端地址、组播组地址):「转发目的地地址或发送目的地地址」那样地书写发送终端地址、组播组地址、转发目的地地址或发送目的地地址。根据(发送终端地址、组播组地址)可以确定组播树或组播分组与来自哪个发送终端的哪个组播组有关。此外,将发送终端10作为最上游来进行说明。
如图10、11所示,接收终端40a向UR20f发送加入请求消息(S501)。在接收终端40a通过无线链路连接着的路由器是UR的情况下,接收终端40a按照IGMPv2(Internet Management Protocol Version 2)或MLDv2(MulticastListener Discovery Version 2、参照「draft-vida-mld-v2-xx.txt」)可以请求组播分组的发送,以及向组播树的加入。具体地说,接收终端40a将Membership Report 2发送给UR20。此外,接收终端40a在使用IPv6的情况下按照MLDv2,但在使用IPv4情况下按照IGMPv3来发送Membership Report2。
UR20f的消息处理部25根据在Membership Report 2已设定的发送终端地址「S」和组播地址「G」,生成把发送终端地址「S」、播组地址「G」以及转发目的地地址「G」对应起来的MFT入口。该MFT入口在UR20f自身的控制下,表示存在希望接收由发送终端地址「S」和组播地址「G」的组合确定的组播分组的接收终端40a。即,在转发目的地地址为组播组地址「G」的情况下,表示希望接收由(S,G)确定的组播分组的接收终端40a与UR20f相连接。由此,UR20f的转发部23在目的地地址为组播组地址「G」的情况下,可以把由转发控制部24解封了的组播分组发送给与UR20f自身相连接接收终端40a。消息处理部25将已生成的MFT入口登录在入口保存部21f中(S502)。
UR20f的消息提供部26生成Join消息3,该Join消息3请求在发送终端10的发送目的地地址中追加UR20f的地址,并通过转发部23提供给发送终端地址(S503)。具体地说,消息提供部26生成Join消息3,该Join消息3对目的地地址设定发送终端地址「S」、对发送源地址设定UR20f的地址「UR6」、并指定了组播组地址「G」。位于比UR20f更上游的UR或发送终端10,根据在Join消息3中设定了的特殊的选项可以检测到接收到的分组为Join消息。转发部23根据在目的地地址中设定了的发送终端地址「S」,转发Join消息3。
与UR20f连接,位于比UR20f更上游的UR20d接收Join消息3。UR20d的消息处理部25根据Join消息3中已设定的发送终端地址「S」、组播地址「G」以及发送源地址「UR6」,生成将发送终端地址「S」、组播地址「G」以及转发目的地地址「UR6」对应起来的MFT入口。消息处理部25把已生成的MFT入口登录在入口保存部21d中(S504)。
而且,UR20d的消息提供部26生成Join消息3,并通过转发部23提供给发送终端地址(S505),该Join消息3对目的地地址设定发送终端地址「S」、对发送源地址设定UR20d的地址「UR4」、指定了组播组地址「G」。
与UR20d连接,位于比UR20d更上游的UR20b接收Join消息3。UR20b的消息处理部25根据Join消息3生成将发送终端地址「S」、组播地址「G」以及转发目的地地址「UR4」对应起来的MFT入口。消息处理部25把已生成的MFT入口登录在入口保存部21b中(S506)。
而且,UR20b的消息提供部26生成Join消息3,并通过转发部23提供给发送终端地址(S507),该Join消息3对目的地地址设定发送终端地址「S」、对发送源地址设定UR20b的地址「UR2」、并指定了组播组地址「G」
在位于UR20b和UR20d上游的UR20a之间存在的的NR30a,根据在发送目的地地址中设定了的发送终端地址「S」,使用单播来转发Join消息3。
位于比UR20b更上游的UR20a接收Join消息3。UR20a的消息处理部25根据Join消息3生成将发送终端地址「S」、组播地址「G」以及转发目的地地址「UR2」对应起来的MFT入口。消息处理部25把已生成的MFT入口登录在入口保存部21a中(S508)。
而且,UR20a的消息提供部26生成Join消息3,并通过转发部23提供给发送终端地址(S509),该Join消息3对目的地地址设定发送终端地址「S」、对发送源地址设定UR20a的地址「UR1」、并指定了组播组地址「G」
发送终端10的消息处理部14根据在Join消息3中已设定的发送终端地址「S」、组播地址「G」以及发送源地址「UR1」,生成将发送终端地址「S」、组播地址「G」以及发送目的地地址「UR1」对应起来的MFT入口。消息处理部14把已生成的MFT入口登录在入口保存部11中(S510)。如此,消息处理部14在已将发送终端地址「S」设为组播树的上游时,把位于最上游的UR20a的地址「UR1」登录在入口保存部11中。
如图11所示,根据以上那样的顺序设定通过发送终端10、UR20a、UR20b、UR20d、UR20f对接收终端40a转发组播分组的组播树。
然后,使用图12,13对根据图11所示的组播树转发组播分组时的通信系统1的动作进行说明。图12表示顺序,图13表示通信系统1的结构。
首先,发送终端10的分组生成部15参照入口保存部11,在数据中作为发送源地址设定发送终端地址「S」,作为目的地地址设定组播组地址「G」来生成组播分组。然后,分组生成部15在已生成的组播分组中,作为发送源地址设定发送终端地址「S」,作为目的地地址设定入口保存部11保存的发送目的地地址「UR1」,将组播分组进行封装。然后,发送终端10的发送部13根据该目的地地址「UR1」将已被封装的组播分组5a发送给UR20a(S601)。
UR20a的接收部22对已被封装的组播分组5a进行解封。接收部22把取出的组播分组和在已被封装的组播分组5a中所设定的发送源地址「S」输入给转发控制部24。转发控制部24在入口保存部21a的隧道源地址中设定已被封装的组播分组5a的发送源地址「S」。UR20a的转发控制部24参照入口保存部21a,由于转发目的地地址「UR2」和解封后的组播分组的目的地地址「G」不同,作为发送源地址设定UR20a自身的地址「UR1」,作为目的地地址设定转发目的地地址「UR2」来进行封装。然后,转发部23根据该目的地地址「UR2」将已被封装的组播分组5b转发给UR20b(S602)。
由此,存在于UR20a和UR20b的路径上的NR30a无需意识到组播分组5a是组播分组,可以根据目的地地址「UR2」通过通常的单播处理来进行转发。
UR20b的接收部22对已被封装的组播分组5b进行解封。UR20b的转发控制部24对入口保存部21b的隧道源地址设定已被封装的组播分组5b的发送源地址「UR1」。UR20b的转发控制部24参照入口保存部21b,由于转发目的地地址「UR4」和解封后的组播分组的目的地地址「G」不同,作为发送源地址设定UR20b自身的地址「UR2」,作为目的地地址设定转发目的地地址「UR4」来进行封装。然后,转发部23根据该目的地地址「UR4」将已被封装的组播分组5c转发给UR20b(S603)。
UR20d的接收部22对已被封装的组播分组5c进行解封。UR20d的转发控制部24对入口保存部21d的隧道源地址设定已被封装的组播分组5c的发送源地址「UR2」。UR20d的转发控制部24参照入口保存部21d,由于转发目的地地址「UR6」和解封后的组播分组的目的地地址「G」不同,作为发送源地址设定UR20d自身的地址「UR4」,作为目的地地址设定转发目的地地址「UR6」来进行封装。然后,转发部23根据该目的地地址「UR6」将已被封装的组播分组5d转发给UR20f(S604)。
UR20f的接收部22对已被封装的组播分组5d进行解封来取出组播分组5e。UR20f的转发控制部24对入口保存部21f的隧道源地址设定已被封装的组播分组5d的发送源地址「UR4」。UR20f的转发控制部24参照入口保存部21f,由于转发目的地地址「G」和解封后的组播分组的目的地地址「G」相同,所以原样地输入给转发部23。转发部23根据目的地地址「G」将组播分组5e通过组播发送给接收终端40a(S605)。
如图13所示,将多播分组按照已设定的组播树组播分组从发送终端10转发给接收终端40a。此时,组播分组5a~5d通过发送目的地地址或转发目的地地址(UR1、UR2、UR4、UR6)被封装。因此,存在于发送终端10和UR20f之间的NR30a无需意识到接收到的分组是组播分组,可以通过通常的单播来转发组播分组。
然后,使用图14~图17对在设定了图11所示的组播树的状态下,新的接收终端40b~40d加入组播树时的通信系统1的动作进行说明。此外,在图15、17,对于入口保存部21a、21b、21e,为了区别更新前和更新后的状态,将更新前的入口保存部21a、21b、21e的状态表示为更新前入口保存部211a、211b、211e。
如图14、15所示,接收终端40b将Membership Report2发送给UR20g,并请求加入组播树(S701)。
UR20g的消息处理部25根据在Membership Report2已设定的发送终端地址「S」和组播地址「G」,生成将发送终端地址「S」、播组地址「G」以及转发目的地地址「G」对应起来的MFT入口。消息处理部25将已生成的MFT入口登录在入口保存部21g中(S702)。
UR20g的消息提供部26生成Join消息3,该Join消息3对目的地地址设定发送终端地址「S」、对发送源地址设定UR20g的地址「UR7」、并指定了组播组地址「G」。转发部23根据在目的地地址中已设定的发送终端地址「S」,转发Join消息3(S703)。
在位于UR20g和UR20g上游的UR20b之间存在的NR30b根据在发送目的地地址中已设定的发送终端地址「S」用单播转发Join消息3。
位于UR20g上游的UR20b接收Join消息3。UR20b的消息处理部25根据接收到的Join消息3和入口保存部21b保存的入口更新入口保存部21b。
具体地说,消息处理部25根据更新前入口保存部211b保存的转发目的地地址「UR4」和在Join消息3的发送源地址中「UR7」,新生成将发送终端地址「S」、播组地址「G」以及转发目的地地址「UR4,UR7」对应起来的MFT入口。消息处理部25将新生成的MFT入口登录在入口保存部21b中,由此将入口保存部21b从更新前入口保存部211b的状态更新为图15所示的入口保存部21b的状态(S704)。
如图15所示,根据以上那样的顺序通过发送终端10、UR20a、UR20b、UR20d、UR20f对接收终端40a转发组播分组,并设定通过发送终端10、UR20a、UR20b、UR20d、UR20g对接收终端40b转发组播分组的组播树。
然后,使用图16对根据图15所示的组播树转发组播分组时的通信系统1的动作进行说明。
首先,发送终端10的分组生成部15参照入口保存部11,在数据中作为发送源地址设定发送终端地址「S」,作为目的地地址设定组播组地址「G」来生成组播分组。然后,分组生成部15在已生成的组播分组中,作为发送源地址设定发送终端地址「S」,作为目的地地址设定入口保存部11保存的发送目的地地址「UR1」,将组播分组进行封装。然后,发送终端10的发送部13根据该目的地地址「UR1」将已被封装的组播分组5a发送给UR20a。
UR20a的接收部22对已被封装的组播分组5a进行解封。接收部22把取出的组播分组和在已被封装的组播分组5a中所设定的发送源地址「S」输入给转发控制部24。转发控制部24在入口保存部21a的隧道源地址中设定已被封装的组播分组5a的发送源地址「S」。UR20a的转发控制部24参照入口保存部21a,由于转发目的地地址「UR2」和解封后的组播分组的目的地地址「G」不同,作为发送源地址设定UR20a自身的地址「UR1」,作为目的地地址设定转发目的地地址「UR2」来进行封装。然后,转发部23根据该目的地地址「UR2」将已被封装的组播分组5b转发给UR20b。
UR20b的接收部22对已被封装的组播分组5b进行解封。UR20b的转发控制部24参照入口保存部21b,由于存在两个转发目的地地址,所以复制解封后的组播分组,以使组播分组为两个。
转发控制部24把转发目的地地址「UR4,UR7」和已解封的组播分组的目的地地址「G」进行比较。由于全部的转发目的地地址和目的地地址不同,所以转发控制部24作为发送源地址设定UR20b自身的地址「UR2」,并对其中一方的组播分组的目的地地址设定转发目的地地址「UR4」,对另一方的组播分组的目的地地址设定转发目的地地址「UR7」来进行封装。
然后,转发部23根据该目的地地址「UR4」把已被封装的组播分组5c转发给UR20d。而且,转发部23根据该目的地地址「UR7」把已被封装的组播分组5f转发给UR20g。
UR20d、UR20f与图12、13相同地转发组播分组5d、5e。UR20g的接收部22对已被封装的组播分组5f进行解封,取出组播分组5e。UR20g的转发控制部24参照入口保存部21g,由于转发目的地地址「G」和解封后的组播分组的目的地地址「G」相同,所以原样地输入给转发部23。转发部23根据目的地地址「G」将组播分组5e通过组播发送给接收终端40b。如此,按照已设定的组播树,组播分组从发送终端10被转发给接收终端40a、40b。
而且,图17表示通过接收终端40c、40d加入图15所示的组播树而新设定的组播树。接收终端40c因为与NR30e相连接,所以检测出接收终端40c通过无线链路连接着的路由器是NR。接收终端40c可以根据有无MembershipQuery的接收来进行检测。例如,接收终端40c在规定时间以上无法接收到Membership Query的情况下,可以判断出不存在发送Membership Query的UR,可以检测出与NR相连接。或者,接收终端40c在发送了MembershipReport后,即使经过了规定的时间也无法接收到组播分组的情况下,也可以判断出不存在可以处理Membership Report的UR,可以检测出与NR相连接。
接收终端40c在与NR相连接的情况下,发送请求加入由(S,G)确定的组播树的Join消息3。由于在接收终端40c发送的Join消息3中设定了特殊的选项,所以NR30e不抛弃Join消息3,存在于从接收终端40c开始到发送终端10的路径上UR可以接收Join消息3。接收终端40c对目的地地址设定发送终端地址「S」,对发送源地址设定接收终端40c的地址「R3」,并发送指定了组播地址「G」的Join消息3。此时,在UR中,位于从接收终端40c向发送终端10的路径的最下游的UR20e接收Join消息3。
接收终端40c加入组播树,由此UR20a产生还要对UR20c转发组播分组的必要性。因此,UR20e的消息处理部25将入口保存部21a保存的入口从更新前入口保存部211a中的入口(S,G):「UR2」更新为入口(S,G):「UR2,UR3」。此外,UR20c需要将组播分组转发给UR20e。因此,UR20c的消息处理部25在入口保存部21c中登录入口(S,G):「UR5」。
因为存在于UR20e和接收终端40c之间的路由器是NR30e,所以UR20e需要对接收终端40c转发组播分组。因此,UR20e的消息处理部25在入口保存部21e中登录如更新前入口保存部211e所示的入口(S,G):「R3」。
在该状态下,进一步通过接收终端40d加入组播树,UR20e产生还要对UR20h转发组播分组的必要性。因此,UR20e的消息处理部25将入口保存部21e保存的入口从更新前入口保存部211e中的入口(S,G):「R3」更新为入口(S,G):「R3,UR8」。而且,UR20h的消息处理部25在入口保存部21h中登录入口(S,G):「G」。由此,设定从发送终端10对多个接收终端40a~40e转发组播分组的组播树。
按照该组播树的组播分组的转发如以下那样进行。首先,发送终端10的分组生成部15参照入口保存部11,在数据中作为发送源地址设定发送终端地址「S」,作为目的地地址设定组播组地址「G」来生成组播分组。然后,分组生成部15在已生成的组播分组中,作为发送源地址设定发送终端地址「S」,作为目的地地址设定入口保存部11保存的发送目的地地址「UR1」,将组播分组进行封装。然后,发送终端10的发送部13根据该目的地地址「UR1」将已被封装的组播分组5a发送给UR20a。
UR20a的接收部22对已被封装的组播分组5a进行解封。UR20a的转发控制部24参照入口保存部21a,由于存在两个转发目的地地址,所以复制解封后的组播分组,以使组播分组成为两个。转发控制部24将解封后的组播分组的目的地地址「G」与转发目的地地址「UR2,UR3」进行比较。由于全部的转发目的地地址和目的地地址不同,所以转发控制部24设定UR20a自身的地址「UR1」作为发送源地址,并对其中一方的组播分组的目的地地址设定转发目的地地址「UR2」,对另一方的组播分组的目的地地址设定转发目的地地址「UR3」来进行封装。
然后,转发部23根据该目的地地址「UR2」把已被封装的组播分组5b转发给UR20b。而且,转发部23根据该目的地地址「UR3」把已被封装的组播分组5g转发给UR20c。
UR20b的接收部22对已被封装的组播分组5b进行解封。UR20b的转发控制部24参照入口保存部21b,由于存在两个转发目的地地址,所以复制解封后的组播分组,以使组播分组成为两个。
转发控制部24将解封后的组播分组的目的地地址「G」与转发目的地地址「UR4,UR7」进行比较。由于全部的转发目的地地址和目的地地址不同,所以转发控制部24设定UR20b自身的地址「UR2」作为发送源地址,并对其中一方的组播分组的目的地地址设定转发目的地地址「UR4」,对另一方的组播分组的目的地地址设定转发目的地地址「UR7」来进行封装。
然后,转发部23根据该目的地地址「UR4」把已被封装的组播分组5c转发给UR20d。而且,转发部23根据该目的地地址「UR7」把已被封装的组播分组5f转发给UR20g。
UR20d、UR20f与图12、13相同地转发组播分组5d、5e。UR20g的接收部22对已被封装的组播分组5f进行解封,取出组播分组5e。UR20g的转发控制部24参照入口保存部21g,由于转发目的地地址「G」和解封后组播的分组的目的地地址「G」相同,所以原样地输入给转发部23。转发部23根据目的地地址「G」将组播分组5e通过组播发送给接收终端40b。
UR20c的接收部22对已被封装的组播分组5g进行解封来取出组播分组。UR20c的转发控制部24参照入口保存部21c,由于转发目的地地址「UR5」和解封后的组播分组的目的地地址「G」不同,作为发送源地址设定UR20c自身的地址「UR3」,作为目的地地址设定转发目的地地址「UR5」来进行封装。然后,转发部23根据该目的地地址「UR5」将已被封装的组播分组5h转发给UR20e。
UR20e的接收部22对已被封装的组播分组5h进行解封。UR20e的转发控制部24参照入口保存部21e,由于存在两个转发目的地地址,所以复制解封后的组播分组,以使组播分组成为两个。转发控制部24将解封后的组播分组的目的地地址「G」与转发目的地地址「R3,UR8」进行比较。由于全部的转发目的地地址和目的地地址不同,所以转发控制部24作为发送源地址设定UR20e自身的地址「UR5」,并对其中一方的组播分组的目的地地址设定转发目的地地址「R3」,对另一方的组播分组的目的地地址设定转发目的地地址「UR8」来进行封装。
然后,转发部23根据该目的地地址「R3」把已被封装的组播分组5j转发给接收终端40c。而且,转发部23根据该目的地地址「UR8」把已被封装的组播分组5i转发给UR20h。如此,UR20e根据入口(S,G):「R3、UR8」通过单播对接收终端40c转发作为目的地地址设定了「R3」的组播分组。UR20h对组播分组5i进行解封,并把取出的组播分组5e组播转发给接收终端40d。
然后,使用图18对组播树移至稳定状态时的通信系统1的动作进行说明。组播树从初期状态移至稳定状态。例如由于新加入的接收终端的减少,组播树移至稳定状态。例如,在实况广播开始后新加入的接收终端减少。发送终端10在可以判断出新加入的接收终端减少了的情况下,可以判断出已经移至稳定状态。
关于移至稳定状态后的处理,以在图17所示的组播树的状态下已移到稳定状态时的情况为例进行说明。此外,在图18中,关于入口保存部21a、21b,为了区别更新前和更新后的状态,将更新前的入口保存部21a、21b的状态表示为更新前入口保存部212a、212b。此外,将更新前后移动阶段的入口保存部21a、21b的状态表示为移动中入口保存部312a、312b。
当通信系统1移至稳定状态时,设定联结作为组播分组的复制点的分支路由器的组播树。由此,存在于组播树的路径上的分支路由器以外的UR(UR20c等)可以与单播分组相同地处理组播分组。如此,在通信系统1中包含的全部UR无需处理组播分组,因此可以减轻整个通信系统1的负荷。
具体地说,当组播树移至稳定状态时,发送终端10的分组生成部15生成已设定了表示已移至稳定状态的Stable选项的组播分组,并由发送部13进行发送。由此,发送终端10对加入的接收终端40a~40d通知组播树已移至稳定状态。接收终端40a~40d在接收到已设定了Stable选项的组播分组后,发送Stable Membership Report或Stable Join消息。例如,接收终端40c在接收到已设定了Stable选项的组播分组后,发送目的地地址为发送终端地址「S」、发送源地址为「R3」的Stable Join消息。
然后,UR20e~20h在从接收终端40a~40d接收到Stable MembershipReport或Stable Join消息后,判断组播树已移至稳定状态,并给上游的UR发送Stable Join消息3a。例如,作为末端路由器的UR20f的消息提供部26在即使存在1个JT已满时KAT还未满的转发目的地地址的情况下,生成目的地地址为发送终端地址「S」,发送源地址为「UR6」,作为组播组地址指定了「G」的Stable Join消息3a。UR20c的转发部23发送已生成的Stable Join消息3a。
在移至稳定状态后,不是分支路由器的UR20c,20d仅通过将Stable Join消息3a用于入口的登录或更新,来原样地将其转发给上游的UR20a,20b。由此,例如来自UR20f的Stable Join消息3a通过UR20d由作为分支路由器的UR20b接收。结果,UR20b的消息处理部25根据来自UR20f的Stable Join消息3a在UR20b的转发目的地地址中追加「UR6」。即,UR20b的消息处理部25将入口保存部21b保存的入口从更新前入口保存部212b中的入口(S,G):「UR4,UR7」更新为移动中入口保存部3 12b中的入口(S,G):「UR4,UR6,UR7」。后面,UR20b把从UR20a接收到的组播分组转发给UR20d、UR20f、UR20g。
而且,通过了Stable Join消息3a的UR20d的消息提供部26通过转发部23对UR20b提供Redirect消息4。Redirect消息4是请求从转发目的地地址删除UR20d的地址「UR4」,在转发目的地地址中追加UR20f的地址「UR6」的消息。对Redirect消息4的目的地地址设定发送终端地址「S」。
接收到Reidirect消息4的UR20b的消息处理部25将入口保存部21b保存的入口从移动中入口保存部312b中的入口(S,G):「UR4,UR6,UR7」更新为入口(S,G):「UR6,UR7」。由此,UR20f可以防止从两条路径,即UR20b对UR20d转发组播分组、UR20d对UR20f转发组播分组的路径和UR20b直接向UR20f转发组播分组的路径重复接收组播分组。
如此,Reidirect消息在UR从接收终端40a~40d或其他的UR接收到请求加入组播树的消息时,对于处于UR自身上游的UR或发送终端10,可以作为指示变更入口保存部保存的信息的变更请求消息来使用。
同样地,来自UR20e的Stable Join消息3a通过UR20c由作为分支路由器的UR20a接收。由此,UR20a的消息处理部25将入口保存部21a保存的入口从更新前入口保存部212a中的入口(S,G):「UR2,UR3」更新为移动中入口保存部312a中的入口(S,G):「UR2,UR3,UR5」。
而且,通过了Stable Join消息3a的UR20c的消息提供部26对UR20a提供Redirect消息4,该Redirect消息4请求从转发目的地地址删除UR20c的地址「UR3 」、在转发目的地地址中追加UR20e的地址「UR5」。接收到Reidirect消息4的UR20a的消息处理部25将入口保存部21a保存的入口从移动中入口保存部312a中的入口(S,G):「UR2,UR3,UR5」更新为入口(S,G):「UR2,UR5」。
然后,使用图19~21对接收终端请求从组播树脱离时的通信系统1的动作进行说明。在这里,如图18所示,对组播树为稳定状态时接收终端40b进行脱离的情况进行说明。此外,在图20中,关于入口保存部21a、21b和21g,为了区别更新前和更新后的状态,将更新前的入口保存部21a、21b和21g的状态表示为更新前入口保存部213a、213b和211g。图19表示动作顺序,图20表示通信系统1的结构。
接收终端40b对UR20g发送请求从转发目的地地址或发送目的地地址的删除的脱离请求消息。具体地说,接收终端40b根据IGMPv2或MLDv2,来发送Leave Group消息7。由此,接收终端40b请求脱离组播树,请求停止发送组播分组(S801)。
UR20g的消息处理部25从入口保存部21g中删除由设定在Leave Group消息7中的发送终端地址「S」和播组组地址「G」确定的入口(S802)。由此,入口保存部21g保存的入口从保存入口(S,G):「G」的更新前入口保存部211g的状态更新为不保存由(S,G)确定的入口的状态。
由于入口保存部21g已不保存由(S,G)确定的入口,所以UR20g的消息提供部26为了UR20g自身脱离组播树而生成Prune消息8,并通过转发部23提供给发送终端地址(S803)。因为对Prune消息8设定了特殊的选项,所以位于UR20g上游的UR可以检测出接收到的Prune消息8为特殊的控制消息。
存在于UR20g和UR20g上游的UR20b之间的NR30b根据发送终端地址「S」通过单播来转发接收到的Prune消息8。
UR20b的消息处理部25根据接收到的Prune消息8,将入口保存部21b保存的入口从更新前入口保存部213b中的入口(S,G):「UR6,UR7」更新为入口(S,G):「UR6」。即,从转发目的地地址中删除UR7(S804)。
由于入口保存部21b保存的转发目的地地址已变为1个,所以UR20b的消息处理部25判断出在分支路由器中已没有转发目的地地址。因此,消息提供部26生成Redirect消息4,并通过转发部23提供给发送终端地址(S805)。Redirect消息4是请求从转发目的地地址删除UR20b的地址「UR2」,在转发目的地地址中追加UR20f的地址「UR6」的消息。对Redirect消息4的目的地地址设定发送终端地址「S」。
存在于UR20b和UR20b上游的UR20a之间的NR30a根据发送终端地址「S」通过单播来转发接收到的Redirect消息4。
UR20a的消息处理部25根据接收到的Redirect消息4,将入口保存部21a保存的入口从更新前入口保存部21 3a中的入口(S,G):「UR2,UR5 」更新为入口(S,G):「UR6、UR5」(S806)。UR20a的转发部23根据发送终端地址「S」将Redirect消息4转发给发送终端10。
发送终端10的消息处理部14根据接收到的Redirect消息4检索入口保存部11。因为由Redirect消息4中包含的发送终端地址「S」和播组组地址「G」确定的入口的发送目的地地址「UR1」、和Redirect消息4中包含的「UR2」不一致,所以消息处理部14不更新入口保存部11,抛弃Redirect消息4(S808)。由此,组播树被更新为图20所示的状态。如此,通过接收终端40b请求停止发送组播分组,可以限定成为组播分组的复制点的分支路由器。由此,分散通信系统1的负荷。
图20所示的按照组播树的组播分组的转发成为图21所示的那样。发送终端10将组播分组5a发送给UR20a。UR20a把对发送源地址设定了「UR1」,对目的地地址设定了「UR6」的组播分组5k转发给UR20b。UR20b把对发送源地址设定了「UR2」,对目的地地址设定了「UR6」的组播分组51转发给UR20f。UR20f把组播分组5e转发给接收终端40e。
此外,UR20a把对发送源地址设定了「UR1」,对目的地地址设定了「UR5」的组播分组5m转发给UR20e。UR20e把组播分组5j转发给接收终端40c,把组播分组5i转发给UR20h。UR20h将组播分组5e转发给接收终端40d。
通过这样的通信系统1、发送终端10、UR20a~UR20h以及通信方法,UR20a~UR20h可以将其他UR的地址作为转发目的地地址进行保存。发送终端10可以将UR的地址作为发送目的地地址进行保存。因此,设定从发送终端10经由UR对接收终端40a~40d转发组播分组的恰当的组播树。
由此,存在于发送终端10和UR之间或UR之间的NR30a~f可以通过单播转发组播分组。这样,通信系统1即使存在NR也可以设定恰当的组播树来转发组播分组。即,即使在通信系统1中混合存在UR20a~20h和NR30a~30f,也可以实现组播分组的转发。因此,通过在通信系统1内部分地导入UR,可以容易且低成本地转发组播分组。
而且,消息处理部25、24根据来自接收终端40a~40d或UR20a~20h的Membership Report2或Join消息3等加入请求消息,可以将地址登录在入口保存部11、21a~21h中。由此,接收终端40a~40d或UR20a~20h可以加入已设定的组播树。结果,在通信系统1中,对已加入的接收终端40a~40d或UR20a~20h转发组播分组。
(第二实施方式)
如图22所示,通信系统201具备发送终端10、UR20a~20i、NR30a~30f和接收终端40a~40d。下面,以和图1所示的通信系统1的不同点为中心进行说明。UR20d和UR20i与同一子网50相连接。在子网50中,例如存在因特网。UR20d和UR20i经由子网50与位于上游的UR20b连接。
使用图23、24对接收终端40b新加入接收终端40a加入并正移至稳定状态的组播树时的动作进行说明。此外在图24中,关于入口保存部11、21a和21b,为了区别更新前和更新后的状态,将更新前的入口保存部11、21a、21b的状态表示为更新前入口保存部111、214a、214b。图23表示动作顺序,图24表示通信系统201的结构。
接收终端40b根据IGMPv2或MLDv2对UR20g发送Membership Report2(901)。UR20g的消息处理部25根据Membership Report2,生成把发送终端地址「S」、播组组地址「G」以及转发目的地地址「G」对应起来的入口。消息处理部25将已生成的入口登录在入口保存部21g中(S902)。
UR20g的消息提供部26根据接收到的Membership Report2生成用于UR20g加入组播树的Join消息3,并通过转发部23提供给发送终端地址。消息提供部26生成对目的地地址设定「S」,对发送源地址设定「UR7」,并指定了组播组地址「G」的Join消息3。转发部23根据对目的地地址设定的发送终端地址「S」来转发Join消息3(S903)。
UR20i的消息处理部25根据接收到的Join消息3,生成将发送终端地址「S」、组播组地址「G」以及转发目的地地址「UR7」对应起来的入口,并将其登录在入口保存部21i中(S904)。
UR20i的消息提供部26生成对目的地地址设定「S」,对发送源地址设定「UR9」,并指定了组播组地址「G」的Join消息3。转发部23根据对目的地地址设定的发送终端地址「S」来转发Join消息3(S905)。
此外,由于与同一子网50连接的UR20d正在接收由发送终端地址「S」和组播组地址「G」确定的组播分组,所以UR20i在组播树稳定后,也如分支路由器那样接收Join消息3。
UR20b的消息处理部25根据接收到的Join消息3和入口保存部21b保存的表示为更新前入口保存部214b的入口,检测与同一子网50连接的UR20d和UR20i请求发送相同的组播分组。然后,消息处理部25生成把发送终端地址「S」、播组组地址「G」以及转发目的地地址「G」对应起来的入口。消息处理部25通过将已生成的入口登录在入口保存部21b中,将入口保存部21b保存的入口从更新前入口保存部214b中的入口(S,G):「UR6」更新为入口(S,G):「G」(S906)。
这样,入口保存部26在对与同一子网50连接的UR20d和UR20i转发组播分组时,保存组播组地址作为转发目的地地址。
为了指示更新发送终端10保存的入口,UR20b的消息提供部26生成Redirect消息4,并通过转发部23提供给发送终端地址(S907)。消息提供部26成生Redirect消息4,该Redirect消息4请求从转发目的地地址中删除UR20f的地址「UR6」,并在转发目的地地址中追加UR20b的地址「UR2」。对Redirect消息4的目的地地址设定发送终端地址「S」。
存在于UR20b和UR20b上游的UR20a之间的NR30a根据发送终端地址「S」单播转发接收到的Redirect消息4。
UR20a的消息处理部25根据接收到的Redirect消息4,将入口保存部21a保存的入口从更新前入口保存部214a中的入口(S,G):「UR6」更新为入口(S,G):「UR2」(S908)。UR20a的转发部23根据目的地地址将Redirect消息4转发给发送终端10(S909)。
发送终端10的消息处理部14根据接收到的Redirect消息4将入口保存部11保存的入口从更新前入口保存部111中的入口(S,G):「UR6」更新为入口(S,G):「UR2」(S910)。由此,设定图24所示的新的组播树。
使用图25对根据图24所示的组播树的组播分组的转发进行说明。发送终端10的分组生成部15参照入口保存部11,在数据中作为发送源地址设定发送终端地址「S」,作为目的地地址设定组播组地址「G」来生成组播分组。然后,分组生成部15在已生成的组播分组中,作为发送源地址设定发送终端地址「S」,作为目的地地址设定入口保存部11保存的发送目的地地址「UR2」,对组播分组进行封装。然后,发送终端10的发送部13根据该目的地地址「UR2」发送已被封装的组播分组5n。
UR20b的接收部22对已被封装的组播分组5n进行解封。UR20b的转发控制部24参照入口保存部21b,由于转发目的地地址「G」和解封后的组播分组的目的地地址「G」相同,所以原样地输入给转发部23。转发部23根据目的地地址「G」将组播分组5e通过组播转发给子网50。
UR20d的接收部22通过子网50接收组播分组5e。UR20d的转发控制部24参照入口保存部21d,由于转发目的地地址「UR6」和组播分组5e的目的地地址「G」不同,所以作为发送源地址设定UR20d自身的地址「UR4」,作为目的地地址设定转发目的地地址「UR6」来进行封装。然后,转发部23根据该目的地地址「UR6」将已被封装的组播分组5d转发给UR20f。UR20f对组播分组5d进行封装,将组播分组5e通过组播转发给接收终端40a。
同样地,UR20i的接收部22通过子网50接收组播分组5e。UR20i的转发控制部24参照入口保存部21i,由于转发目的地地址「UR7」和组播分组5e的目的地地址「G」不同,所以作为发送源地址设定UR20i自身的地址
「UR9」,作为目的地地址设定转发目的地地址「UR7」来进行封装。然后,转发部23根据该目的地地址「UR7」将已被封装的组播分组5o转发给UR20g。UR20g对组播分组5o进行封装,将组播分组5e通过组播转发给接收终端40b。
(第三实施方式)
在第一实施方式、第二实施方式中,包含在通信系统1中的全部的UR20a~20h在接收到控制消息时进行处理,但UR20a~20h可以使控制消息通过来委托其他的UR进行处理。例如,资源不足的UR可以省略控制消息的处理,通过原样地将控制消息转发给上游来委托其他的UR处理控制消息。使用图26~28对此时的通信系统1的动作进行说明。
在图26、27中,以在接收终端40a已加入组播树的状态下,UR20b的资源不足时,接收终端40b加入组播树的情况为例来进行说明。此外,在图27中,关于入口保存部11、21a,为了区别更新前和更新后的状态,将更新前的入口保存部11、21a的状态表示为更新前入口保存部112、215a。
接收终端40b对UR20g发送Membership Report2,请求加入组播树(S1001)。UR20g的消息处理部25根据接收到的Membership Report2,生成将发送终端地址「S」、播组组地址「G」以及转发目的地地址「G」对应起来的入口,并登录在入口保存部21a中(S1002)。
UR20g的消息提供部26生成Join消息3,并通过转发部23提供给发送终端地址。消息提供部26生成对目的地地址设定「S」,对发送源地址设定「UR7」,并指定了组播组地址「G」的Join消息3。转发部23根据对目的地地址设定的发送终端地址「S」来转发Join消息3(S1003)。
存在于UR20g和UR20g上游的UR20b之间的NR30b根据发送终端地址「S」单播转发接收到的Join消息3。而且,因为用于根据接收到的Join消息3来进行处理的资源不足,所以UR20b根据发送终端地址「S」通过单播原样地转发Join消息3。而且,存在于UR20b和UR20b上游的UR20a之间的NR30a根据发送终端地址「S」单播转发接收到的Join消息3。
结果,UR20a接收Join消息3。UR20a的消息处理部25根据接收到的Join消息3和表示为更新前入口保存部215a的状态的入口保存部21a保存的入口来生成将发送终端地址「S」、组播组地址「G」以及转发目的地地址「UR6、UR7」对应起来的入口。消息处理部25通过将已生成的入口登录在入口保存部21b中,将入口保存部21b保存的入口从更新前入口保存部215b中的入口(S,G):「UR6」更新为入口(S,G):「UR6、UR7」(S1004)。
为了指示更新发送终端10保存的入口,UR20a的消息提供部26生成Redirect消息4,并通过转发部23提供给发送终端地址(S1005)。消息提供部26成生请求从转发目的地地址中删除UR20f的地址「UR6」,并在转发目的地地址中追加UR20a的地址「UR1」的Redirect消息4。对Redirect消息4的目的地地址设定发送终端地址「S」。
发送终端10的消息处理部14根据接收到的Redirect消息4,将入口保存部11保存的入口从更新前入口保存部112中的入口(S,G):「UR6」更新为入口(S,G):「UR1」(S1006)。由此,设定图27所示的新的组播树。
使用图28对按照图27所示的组播树的组播分组的转发进行说明。发送终端10的分组生成部15参照入口保存部11,在组播分组中作为发送源地址设定发送终端地址「S」,作为目的地地址设定入口保存部11保存的发送目的地地址「UR1」,将组播分组进行封装。然后,发送终端10的发送部13根据该目的地地址「UR1」发送已被封装的组播分组5a。
UR20a的接收部22对已被封装的组播分组5a进行解封,取出组播分组。UR20a的转发控制部24参照入口保存部21a,由于存在两个转发目的地地址,所以对已取出的组播分组进行复制,以使组播分组成为两个。
由于转发目的地地址「UR6、UR7」和已取出的组播分组的目的地地址「G」不同,所以转发控制部24作为发送源地址设定UR20a自身的地址「UR1」。转发控制部24对其中一方的组播分组作为目的地地址设定转发目的地地址「UR6」,并对另一方的组播分组设定目的地地址「UR7」来进行封装。然后,转发部23根据该目的地地址「UR6」、「UR7」把已被封装的组播分组5p、5q分别转发给UR20f、20g。UR20f、20g分别对组播分组5p、5q进行解封,并通过组播把组播分组5e转发给接收终端40a、40b。
由此,例如UR20a~20h在资源不足等情况下,可以不进行控制消息的处理,通过原样地转发来委托其他的UR进行控制消息的处理。而且,通过一部分UR进行控制消息的处理,可以实现通信系统1中负荷的分散,减轻整个通信系统1的负荷。
(第四实施方式)
使用图29,对发送终端10从归属网络60a移动到外部网络60b时(切换)的通信系统1的动作进行说明,此外,在图29中,关于入口保存部11、21a~21h,为了区分更新前和更新后的状态,将更新前的入口保存部11,21a~21h的状态分别表示为更新前入口保存部113,216a,215b,211c,211d,212e,212g,211f和211h。
对发送终端10从归属网络60a移动到外部网络60b,发送终端地址从「S」变化为「S’」的情况进行说明。以下,将变更后的发送终端地址,即发送终端10当前位置的地址称为「ISA(Instantaneous Source Address)」。将变更前的发送终端地址称为「oISA(old ISA)」。
例如,发送终端10使用Mobile IPv6从归属网络60a移动到外部网络60b时(切换)。然后,发送终端10在移动目的地的外部网络60b,例如取得CoA(Care ofAddress)作为ISA「S’」。
发送终端10的分组生成部15生成把ISA「S’」设定为发送源地址,把在归属网络60a使用的oISA「S」设定为HAO(Home Address option)的组播分组。而且,在发送终端地址变化,发送终端10保存的发送目的地地址为1个的情况下,分组生成部15设定特殊的选项。发送终端10的分组生成部15参照处于更新前入口保存部113的状态的入口保存部11,根据移动前的入口对目的地地址设定「UR1」,并对组播分组进行封装。发送部13根据目的地地址转发已被封装的组播分组5r。此外,在入口保存部11保存着多个发送目的地地址的情况下,分组生成部15不设定特殊的选项,而是以多个转发目的地地址生成已被封装的组播分组。
而且,发送终端10的消息处理部14生成将ISA「S’」以及oISA「S」、组播组地址「G」、更新前入口保存部113保存的发送目的地地址「UR1」对应起来的入口。消息处理部14把已生成的入口登录在入口保存部11中,将入口保存部11保存的入口从更新前入口保存部113中的入口(S,G):「UR1」更新为入口(S/S’,G):「UR1」。
由发送终端10发送的组播分组5r由例如UR20b接收。UR20b的接收部22因为设定了特殊的选项,所以对组播分组5r进行解封,将取出的组播分组、在组播分组5r中设定了的(已用于封装)目的地地址「UR1」以及发送源地址「S’」输入给消息处理部25。
消息处理部25根据对发送源地址设定的ISA「S’」、对HOA设定的oISA「S」以及处于更新前入口保存部215b的状态的入口保存部21b,生成将ISA「S’」以及oISA「S」、组播组地址「G」、更新前入口保存部215b保存的转发目的地地址「UR6,UR7」对应起来的入口。
消息处理部25把已生成的入口登录在入口保存部21b中,将入口保存部21b保存的入口从更新前入口保存部215b中的入口(S,G):「UR6,UR7」更新为入口(S/S’,G):「UR6,UR7」。消息处理部25将解封后的组播分组、设定在组播分组5r中的目的地地址「UR1」输入给转发控制部24。
转发控制部24对取出的组播分组的目的地地址设定在组播分组5r中设定了的目的地地址「UR1」,对发送源地址设定UR20b的地址「UR2」来对组播分组进行封装。转发部23根据该目的地地址将已被封装的组播分组5s转发给UR20a。如此,在发送终端地址发生了变化的情况下,转发控制部24进行控制将组播分组转发给发送终端10的变更前发送目的地地址「UR1」。由此,转发部23对作为UR20b到目前接收到的组播分组的发送源的UR20a转发组播分组5s。
而且,转发控制部24参照入口保存部21b,由于存在两个转发目的地地址,所以复制组播分组,以使组播分组成为两个。由于转发目的地地址「UR6,UR7」和取出的组播分组的目的地地址「G」不同,所以转发控制部24作为发送源地址设定UR20b自身的地址「UR2」。转发控制部24对其中一方的组播分组作为目的地地址设定转发目的地地址「UR6」,对另一方的组播分组设定目的地地址「UR7」来进行封装。然后,转发部23根据该目的地地址「UR6」、「UR7 」把已被封装的组播分组5t、5u分别转发给UR20f、20g。
UR20f、20g的消息处理部25也和UR20b一样,将入口保存部21f、21g从更新前入口保存部211f、212g中的入口(S,G):「G」更新为入口(S’,G):「G」。而且,存在于UR20b和UR20f之间的UR20d的消息处理部25也将入口保存部21d从更新前入口保存部211d中的入口(S,G):「UR6」更新为入口(S/S’,G):「UR6」。
UR20f、20g分别对组播分组5t、5u进行解封,并通过组播对接收终端40a,40b转发已将ISA「S’」设定为发送源地址、将oISA「S」设定为HAO的组播分组5y。
另一方面,UR20a的接收部22接收已转发给「UR1」的组播分组5s。接收部22因为设定了特殊的选项,所以对组播分组5s进行解封,将取出的组播分组、在组播分组5s中设定了的(已用于封装的)目的地地址「UR1」以及发送源地址「UR2」输入给消息处理部25。
UR20a的消息处理部25根据已用于封装的发送源地址「UR2」和处于更新前入口保存部216a的状态的入口保存部21a,UR20a判断没有必要对作为组播分组的发送源的「UR2」转发组播分组。由此,消息处理部25从转发目的地地址中删除「UR2」。
然后,消息处理部25根据对发送源地址设定的ISA「S’」、对HOA设定的oISA「S」、已用于封装的发送源地址「UR2」以及处于更新前入口保存部216a的状态的入口保存部21a,生成将ISA「S’」以及oISA「S」、组播组地址「G」和转发目的地地址「UR5」对应起来的入口。
消息处理部25把已生成的入口登录在入口保存部21a中,将入口保存部21a保存的入口从更新前入口保存部215a中的入口(S,G):「UR2,UR5」更新为入口(S/S’,G):「UR5」。消息处理部25将解封后的组播分组输入给转发控制部24。UR20a的转发控制部24参照更新后的入口保存部21a,通过转发目的地地址「UR5」将已被封装的组播分组5v转发给UR20e。
这样,UR20a从接收组播分组5s时入口保存部21a保存的转发目的地地址对删除了作为组播分组5s的转发源的UR20b的UR20e转发组播分组5v。
存在于UR20a和UR20e之间的UR20c的消息处理部25也将入口保存部21c从更新前入口保存部211c中的入口(S,G):「UR5」更新为入口(S/S’,G):「UR5」。UR20e的消息处理部25也将入口保存部21e从更新前入口保存部2 12e中的入口(S,G):「R3,UR8」更新为入口(S’,G):「R3,UR8」。
UR20e的转发控制部24根据入口保存部21e,把对发送源地址设定「UR5」、对目的地地址设定「UR3」来进行了封装的组播分组5w转发给接收终端40c。而且,转发控制部24把对发送源地址设定「UR5」、对目的地地址设定「UR8」来进行了封装的组播分组5x转发给UR20h。UR20h将入口保存部21h保存的入口从更新前入口保存部211h保存的入口(S,G):「G」更新为入口(S/S’,G):「G」。而且,通过组播将组播分组5y转发给接收终端40d。
接收终端40a~40d接收已将ISA「S’」设定为发送源地址,将oISA「S」设定为HAO的组播分组5y。此外,接收终端40c通过对组播分组5w进行解封来取出组播分组5y。由此,接收终端40a~40d在接收到来自移动到外部网络60b的发送终端10的组播分组时,对ISA「S’」发送Membership Report2或Join消息3。由此,设定以ISA「S’」为上游的组播树。
此外,在接收终端40a~40d一方要移动(切换)时,对在移动前连接并转发了组播分组的UR20f、20g、20e、20h发送Leave Group消息7。然后,接收终端40a~40d对移动目的地的网络新发送Membership Report2或Join消息3。在现有的MIP-BT中,即使发送终端移动也可以继续进行通信,但由于组播分组要通过归属网络,所以存在转发路径冗长的问题。与此相对,在通信系统1中,即使在发送终端10进行了移动的情况下,也可以设定恰当的组播树转发组播分组。因此,在通信系统1中,可以继续进行通信,而且可以防止转发路径变得冗长。特别地,通过UR20a~UR20h检测发送终端10的移动,并对入口保存部21a~21h进行更新,可以在通信系统1中将组播分组恰当地转发给接收终端40a~40d。由此,接收终端40a~40d无需自己检测发送终端10的移动,可以省略基于该检测的控制。由此,可以无需变更接收终端40a~40d的功能,并可以减轻负荷。
(第五实施方式)
(通信系统)
如图30所示,通信系统301具备发送终端10、UR20a~20c、NR30a~30c和接收终端40a~40c。通信系统301与图1所示的通信系统1相比,除了UR、NR以及接收终端的数量不同,发送终端10与UR20a~20c、NR30a~30c和接收终端40a~40c的连接关系发生了变化之外,实质上是相同的。下面,以和上述实施方式的不同点为中心进行说明。UR20a~20c可以为对多个转发目的地地址转发组播分组的分支路由器。在本实施方式中,组播分组在发送终端与分支路由器之间、在分支路由器之间被封装地转发。
UR20a~20c的接收部22判断被已被封装的组播分组的目的地地址与UR20a~20c自身的地址是否一致。接收部22在判断为一致时,由于是UR20a为分支路由器的情况,所以将组播分组输入给转发控制部。
此外,UR20a~20c的消息处理部25在已将发送终端地址设为组播树的上游时,作为判断UR是否为分支路由器的判断部发挥作用。消息处理部25根据控制消息以及入口保存部21a~21c保存的转发目的地地址进行判断。而且,消息处理部25在判断为分支路由器的情况下,还作为对应发送终端地址将多个转发目的地地址登录在转发目的地保存部中的转发目的地登录部发挥作用。具体地说,消息处理部25在判断UR20a~20c为分支路由器的情况下,在入口保存部21a~21c中生成MFT入口登录转发目的地地址。
此外,消息处理部25根据来自路由器20a~20c自身下游的分支路由器的Redirect消息4(加入/脱离请求消息),从入口保存部21a~21c中删除下游的分支路由器的转发目的地地址,并在入口保存部21a~21c中登录下游的路由器的地址。由此,设定从发送终端10经由多个分支路由器对接收终端40a~40c转发组播分组的恰当的组播树。
此外,消息处理部25除了在判断UR20a~20c为分支路由器的情况之外,还在UR20a~20c为与接收终端40a~40c连接的终端的情况下,生成MFT入口与发送终端地址以及组播组地址相对应地登录转发目的地地址。由此,设定从发送终端10经由分支路由器、末端路由器对接收终端40a~40c转发组播分组的恰当的组播树。消息处理部25在UR20a~20c为分支路由器和末端路由器之外的情况下,生成MCT入口来登录转发目的地地址。
此外,消息处理部25根据UR20a~20c是否为分支路由器来判断是原样地发送接收到的控制消息,还是根据接收到的控制消息新生成控制消息并将其发送。消息处理部25在不成为分支路由器的情况下判断原样地进行发送,将接收到的控制消息输入给转发部23。消息处理部25在成为分支路由器的情况下判断新地生成,并将接收到的控制消息输入给消息提供部26。
消息提供部26生成控制消息。消息提供部26根据从消息处理部25取得的UR20a~20c接收到的控制消息、入口保存部21a~21c保存的信息来生成控制消息。消息提供部26将已生成的控制消息输入给转发部23。
发送终端10的入口保存部11保存分支路由器、末端路由器和接收终端中某一个的地址作为发送目的地地址。消息处理部14作为根据作为加入/脱离消息的Redirect消息从发送目的地保存部中删除分支路由器的转发目的地地址,并在发送目的地保存部中登录分支路由器的地址的发送目的地登录部发挥作用。
然后,在通信系统301的组播树的设定中,使用图31~34来进行详细的说明。如上所述,在组播树中存在初期状态和稳定状态。因此,分为初期状态的处理和稳定状态的处理来说明。
(初期状态)
在初期状态下,入口保存部11、21a~21c没有保存发送目的地地址和转发目的地地址。如图31所示,接收终端40a在希望开始接收发送终端10发送的组播分组的情况下,请求发送组播分组。接收终端40a在接收终端40a通过无限链路连接的路由器为UR的情况下,可以按照MLDv2请求发送。具体地说,接收终端40a对UR20c发送Membership Report2。
接收终端40a使用Membership Report2,请求发送由发送终端地址「S」、组播组地址「G」,既由(S,G)确定的组播分组。Membership Report2对目的地地址设定组播组地址「G」,对发送源地址设定接收终端40a的地址「R1 」,并包含组播组地址「G」。
存在于从接收终端40a向发送终端10的路径最下游的UR20c接收Membership Report2。UR20c的消息处理部25因为UR20c是与接收终端40a连接的末端路由器,所以在入口保存部21c中生成MFT入口。消息处理部25在MFT入口中登录(S,G):「G」。消息处理部25起动与转发目的地地址「G」的KAT以及(S,G)有关的JT。
UR20c的消息处理部25将接收到的Membership Report2输入给消息提供部26。UR20c的消息提供部26生成接收终端40a使用Membership Report2对发送终端10请求发送组播分组的Join消息3。具体地说,消息提供部26生成对目的地地址设定发送终端地址「S」,对发送源地址设定UR20c的地址「UR3」,并指定了组播组地址「G」的Join消息3。
UR20c的消息提供部26将已生成的Join消息3输入给转发部23,UR20c的转发部23对发送终端10发送Join消息3。由此,UR20c还可以对上游的UR20b、20a转发Join消息3。
存在于从UR20c到发送终端10的路径上的UR20b接收Join消息3。UR20b的消息处理部25参照入口保存部21b。消息处理部25因为入口保存部21b没有保存转发目的地地址,所以判断出UR20b转发组播分组的转发目的地地址是由Join消息3决定的1个。由此,消息处理部25判断出UR20b不成为分支路由器。
因此,UR20b的消息处理部25在入口保存部21b中生成MCT入口。消息处理部25将已对Join消息3的发送源地址设定的「UR3」判断为转发目的地地址,将(S,G):「UR3」登录在MCT入口中。消息处理部25起动转发目的地地址「UR3」的KAT。如此在初期状态下,不是分支路由器的UR也保存MCT。而且,消息处理部25将接收到的Join消息3原样地输入给转发部23。UR20b的转发部23对发送终端10发送Join消息3,并对上游的UR20a转发Join消息。
然后,存在于从UR20c到发送终端10的路径上游的UR20a接收Join消息3。UR20a的消息处理部25也与UR20b相同地在入口保存部21a中生成MCT入口,将(S,G):「UR3」登录在MCT入口中,并起动转发目的地地址「UR3」的KAT。NR30a因为无法解释特殊的选项,所以将Join消息3作为通常的单播分组转发给发送终端10。
最后,发送终端10接收Join消息3。消息处理部14在入口保存部11中生成MFT入口。消息处理部14将已对Join消息3的发送源地址设定的「UR3」判断为发送目的地地址,并将(S,G):「UR3」登录在MFT入口中。消息处理部25起动发送目的地地址「UR3」的KAT。
通过以上的处理,设定从最上游的发送终端10经由作为末端路由器的UR20c对接收终端40a转发组播分组的组播树。在图31所示的接收终端40a加入了由该(S,G)确定的组播树的状态下,接收终端40b在希望开始接收由发送终端10发送的组播分组的情况下,如图32所示加入组播树。
此外,关于入口保存部11、21a和21b,为了区别图31所示的仅接收终端40a加入了的状态和图32所示的接收终端40b已加入的状态,将图31中的入口保存部11、21a和21b的状态在图32中表示为更新前入口保存部114、217a和216b。
首先,接收终端40b因为与NR30b相连接,所以检测出接收终端40b通过无线链路连接着的路由器是NR。因此,接收终端40b发送请求加入由(S,G)确定的组播树的Join消息3。由于在Join消息3中设定了特殊的选项,所以NR30b不抛弃Join消息3,存在于从接收终端40b到发送终端10的路径上的UR20b可以接收Join消息3。接收终端40b发送对目的地地址设定发送终端地址「S」,对发送源地址设定接收终端40b的地址「R2」,并指定了组播组地址「G」的Join消息3。
在UR中,存在于从接收终端40b到发送终端10的路径最下游的UR20b接收Join消息3。UR20b的消息处理部25参照UR20b的更新前入口保存部216b。消息处理部25因为保存MCT入口的更新前入口保存部216b作为与(S,G)对应的转发目的地地址已保存的「UR3」和接收到的与(S,G)有关的Join消息3的发送源地址「R2」不同,所以判断存在「UR3」和「R2」多个地址。由此,消息处理部25判断UR20b为分离路由器。如此在初期状态下,MCT用于判断是否为分离路由器。
已判断为分离路由器的UR20b的消息处理部25从更新前入口保存部216b中删除MCT入口,新生成入口MFT。消息处理部25根据更新前入口保存部216b保存的信息和接收到的Join消息3,把(S,G):「UR3,R2」登录在入口保存部21b的MFT中,并复制在MCT入口中已使用的转发目的地地址「UR3」的KAT。此外,消息处理部25起动转发目的地地址「R2」的KAT以及有关(S,G)的JT。而且,消息处理部25将接收到的Join消息3输入给UR20b的消息提供部26。
UR20b的消息提供部26根据入口保存部21b保存的转发目的地地址和接收到的Join消息3,生成Redirect消息4。消息提供部26在生成Redirect消息4后,抛弃接收到的Join消息3。UR20b的消息提供部26生成包含Join消息和Prue消息的Redirect消息4,该Join消息请求在发送目的地地址中追加为分支路由器的UR20b的地址「UR2」,该Prue消息请求从发送目的地地址中删除作为分支路由器的UR20b的转发目的地地址「UR3」和「R2」。
此外,消息提供部26生成对目的地地址设定发送终端地址「S」,对发送源地址设定UR20b的地址「R2」,并指定了组播组地址「G」的Redirect消息4。然后,UR20b的消息提供部26将已生成的Redirect消息4输入给转发部23,UR20b的转发部23对发送终端10发送Redirect消息4。由此,UR20b还可以对上游的UR20a转发Redirect消息4。这样,转发部23作为对发送地址提供请求在发送目的地地址中追加分支路由器的地址,并从发送目的地地址中删除分支路由器的转发目的地地址的加入/脱离消息的路由器消息提供部发挥作用。
然后,存在于从UR20a到发送终端10的路径上的UR20a接收Redirect消息4。UR20a的消息处理部25根据Redirect消息4,更新入口保存部21a。具体地说,消息处理部25从更新前入口保存部217a的MCT入口中删除接收到删除指示的「UR3」、「R2」中作为转发目的地地址保存的「UR3」以及其KAT,并在MCT入口中作为转发目的地地址登陆接收到追加指示的「UR2」。由此,入口保存部21a的MCT入口更新为(S,G):「UR2」。这样,位于分支路由器上游的UR也在转发目的地地址中追加Redirect消息4中包含的分支路由器的地址,并从转发目的地地址中删除分支路由器的转发目的地地址。
而且,消息处理部25将接收到的Redirect消息4原样地输入给转发部23。然后,UR20a的转发部23对发送终端10发送Redirect消息4,NR30a将Redirect消息4作为单播分组转发给发送终端10。
最后,发送终端10接收Redirect消息4。消息处理部14根据Redirect消息4更新入口保存部11。具体地说,消息处理部14从更新前入口保存部114的MFT入口中删除接收到删除指示的「UR3」、「R2」中作为发送目的地地址保存的「UR3」以及其KAT,并在MFT入口中作为发送目的地地址登陆接收到追加指示的分支路由器的地址「UR2」。消息处理部14起动发送目的地地址「UR2」的KAT。由此,入口保存部11的MFT入口更新为(S,G):「UR2」。这样,消息处理部14根据加入/脱离消息作为发送目的地登录部发挥作用,该发送目的地登录部从发送目的地保存部中删除分支路由器的转发目的地地址、并在发送目的地保存部中登录分支路由器的地址。
通过以上的处理,设定从最上游的发送终端10经由已成为分支路由器的UR20b和作为末端路由器的UR20c对接收终端40a转发组播分组,并经由UR20b对接收终端40b转发组播分组的组播树。这样,在组播树的初期状态下,新的接收终端一个一个地加入组播树。然后,每次存在新的加入时,变更设定组播树。
接收终端40b以及已成为末端路由器的UR20c、已成为分支路由器的UR20b分别定期地对作为分支路由器的UR20b、发送终端10发送Join消息3。此外,接收终端40a定期地对作为末端路由器的UR20c发送MembershipReport2。发送终端10、UR20b通过接收Join消息3,UR20c通过接收Membership Report2维持入口保存部11,21a~21c的发送目的地地址或转发目的地地址。
具体地说,已成为分支路由器的UR20b的消息提供部26参照入口保存部21b,在JT已满时生成目的地地址为发送终端地址「S」,发送源地址为「UR2」的Join消息3。然后,UR20b的转发部23发送已生成的Join消息3。发送终端10的消息处理部14参照入口保存部11,在发送目的地地址「UR2」的KAT已满的情况下,从入口保存部11中删除对应(S,G)的发送目的地地址「UR2」。另一方面,消息处理部14在发送目的地地址「UR2」的KAT已满的保存时间内,在接收部12从作为分支路由器的UR20b接收到发送源地址为「UR2」的Join消息3时,起动发送目的地地址「UR2」的KAT,延长保存时间。
此外,已成为末端路由器的UR20c也和UR20b相同,在即使存在1个JT已满时KAT还未满的转发目的地地址的情况下,发送目的地地址为发送终端地址「S」,发送源地址为「UR3」的Join消息3。接收终端40b也发送目的地地址为发送终端地址「S」,发送源地址为「R2」的Join消息3。
已成为分支路由器的UR20b的消息处理部25参照入口保存部21b,在转发目的地地址「UR3」的KAT已满的情况下,删除入口保存部21b的MFT入口生成MCT入口,并登录转发目的地地址「R2」。消息处理部25因为转发目的地地址已成为1个「R2」,所以判断UR20b从分支路由器变为不是分支路由器的路由器(以下称为「非分支路由器」)。然后,消息提供部26生成请求在发送目的地地址中追加已成为非分支路由器的UR20b的转发目的地地址「R2」,从发送目的地地址中删除已成为非分支路由器的UR20b的地址「UR2」的Redirect消息4。然后,转发部23将该Redirect消息4发送给发送终端地址「S」。
这样,消息处理部25判断UR从分支路由器变为非分支路由器。然后,转发部23在消息处理部25已判断变为非分支路由器的情况下,对发送终端地址发送请求在发送目的地地址中追加非分支路由器的转发目的地地址,从发送目的地地址中删除非分支路由器的地址的加入/脱离请求消息。由此,在通信系统301中,在一部分为分支路由器的UR变化为非分支路由器的情况下,也可以变更为恰当的组播树。
然后,UR20b的消息处理部25在转发目的地地址「R2」的kAT已满的情况下,从入口保存部21b中删除登录了转发目的地地址「R2」的MCT入口。另一方面,UR20b的消息处理部25在转发目的地地址「UR3」、「R2」的kAT已满之前,在UR20b的接收部22从作为末端路由器的UR20c、接收终端40b接收到发送源地址为「UR3」、「R2」的Join消息3时,再次起动转发目的地地址「UR3」、「R2」的KAT,延长保存时间。此外,作为末端路由器的UR20c的消息处理部25也和UR20b一样,参照入口保存部21c,在转发目的地地址「G」的KAT已满的情况下,从入口保存部21c的MFT入口删除与(S,G)对应的转发目的地地址「G」。此外,UR20c的消息处理部25在UR20c的接收部22从接收终端40a接收到Membership Report2的情况下,再次起动转发目的地地址「G」的KAT。
如此在初期状态下维持组播树。此外,Join消息3或Membership Report4可以作为用于维持组播树的维持请求消息来发挥作用。
(稳定状态)
对于移动到稳定状态后的处理,以在图32所示的组播树的状态下移动到稳定状态后的情况为例,使用图33进行说明。此外,对于入口保存部21a,为了区别图32中的状态和移动到稳定状态后的状态,在图33中将图32中的入口保存部21a的状态表示为更新前入口保存部218a。
当组播树移动到稳定状态时,发送终端10的分组生成部15生成设定了表示已移动到稳定状态的Stable选项的组播分组,并由发送部13发送。由此,发送终端10对已加入的接收终端40a、40b通知组播树已移动到稳定状态的情况。接收终端40a、40b在接收到设定了Stable选项的组播分组后,在接收终端40a的情况下发送Stable Membership Report,在接收终端40b的情况下发送Stable Join消息3a。例如,接收终端40b在接收到设定了Stable选项的组播分组后,发送目的地地址为发送终端地址「S」,发送源地址为「R2」的Stable Join消息3a。
然后,UR20b,20c在从接收终端40a、40b或下游的UR接收到Stable Join消息3a后,发送Stable Join消息3a。例如,作为末端路由器的UR20c的消息提供部26在即使存在1个JT已满时KAT还未满的转发目的地地址的情况下,生成目的地地址为发送终端地址「S」、发送源地址为「UR3」、作为组播组地址指定了「G」的Stable Join消息3a。UR20c的转发部23发送已生成的Stable Join消息3a。
然后,存在于从UR20c到发送终端10的路径上的UR20b接收来自UR20c的Stable Join消息3a。UR20b的消息处理部25参照入口保存部21b,判断将接收到的Stable Join消息3a的发送源地址作为转发目的地地址保存的入口是MFT入口或MCT入口的哪一个。消息处理部25在MFT入口作为转发目的地地址保存了Stable Join消息3a的发送源地址的情况下,延长转发目的地地址的保存时间。消息处理部25在MCT入口作为转发目的地地址保存了StableJoin消息3a的发送源地址的情况下,不延长保存时间。此外,在MFT入口作为转发目的地地址保存了Stable Join消息3a的发送源地址的情况下,理所当然地在该转发目的地地址的KAT已满之前,即在保存时间内UR20b接收Stable Join消息3a。
UR20b的消息处理部25因为入口保存部21b的MFT入口作为转发目的地地址保存了接收到的Stable Join消息3a的发送源地址「UR3」,所以再次起动转发目的地地址「UR3」的KAT延长保存时间。同样地,存在于从接收终端40b到发送终端10的路径上的UR20b接收来自接收终端40b的StableJoin消息3a。然后,UR20b的消息处理部25因为入口保存部21b的MFT入口作为转发目的地地址保存了接收到的Stable Join消息3a的发送源地址「R2」,所以再次起动转发目的地地址「R2」的KAT延长保存时间。
而且,UR20b的消息处理部25对消息提供部26指示在此后生成的Join消息中设定Stable选项。然后,UR20b的消息提供部26在即使存在1个JT已满时KAT还未满的转发目的地地址的情况下,生成目的地地址为发送终端地址「S」,发送源地址为「UR2」、并作为组播组地址指定了「G」的Stable Join消息3a。然后,UR20b的转发部23发送已生成的Stable Join消息3a。如此,分支路由器在接收到Stable Join消息3a之后自身还发送Stable Join消息3a。
然后,存在于从UR20b到发送终端10的路径上的UR20a接收Stable Join消息3a。UR20a的消息处理部25参照变更前入口保存部211a。消息处理部25因为变更前入口保存部211a只保存了MCT入口,并且已登录在MCT入口中的转发目的地地址和接收到的Stable Join消息3a的发送源地址「UR2」不同,所以不再次起动该转发目的地地址「UR2」的KAT,不延长保存时间。如此,Stable Join消息3a不用于MCT入口保存的转发目的地地址的KAT的再次起动。
而且,UR20a的消息处理部25将Stable Join消息3a原样地输入给转发部23。UR20a的转发部23对发送终端10发送Stable Join消息3a,NR30a将Stable Join消息3a作为单播分组转发给发送终端10。
更新前入口保存部218a保存的转发目的地地址「UR3」的KAT不被再次起动,所以已满。UR20a的消息处理部25从更新前入口保存部218a中删除KAT已满的转发目的地地址「UR2」。其结果,入口保存部21a抛弃MCT入口,被更新为不保存转发目的地地址的状态。
最后,发送终端10接收Stable Join消息3a。消息处理部14因为入口保存部11作为发送目的地地址保存着接收到的Stable Join消息3a的发送源地址「UR2」,所以再次起动发送目的地地址「UR2」的KAT,延长保存时间。此外,作为末端路由器的UR20c的入口保存部21c保存的转发目的地地址「G」的KAT与初期状态下维持组播树的情况相同,在UR20c接收到MembershipReport的情况下,UR20c的消息处理部25再次起动。
如此,在通信系统301中,在移动到稳定状态后,通过使用仅用于延长入口保存部21a~21c的MFT入口保存的转发目的地地址的保存时间的StableJoin消息3a,只保存入口保存部21a~21c的MFT入口保存的转发目的地地址,删除MCT入口保存的转发目的地地址。由此,仅在UR20a~UR20c是入口保存部21a~21c的MFT入口保存转发目的地地址的分支路由器或末端路由器的情况下,可以继续保存转发目的地地址,可以维持稳定状态的组播树。
MCT用于组播树的设定,更具体地说,用于判断UR是否为分支路由器。因此,在频繁产生接收终端的加入的组播树的初期状态下有用。但是,在组播树移动到稳定状态后,由于新加入组播树的接收终端的数量减少,判断UR是否为分支路由器的机会减少,使用MCT入口的机会也减少。因此,通过仅在初期状态下保存MCT入口保存的转发目的地地址,并在组播树移动到稳定状态后进行删除,由此可以减轻分支路由器以及末端路由器以外的UR的负荷。
在图33所示的移动到稳定状态,而且删除了MCT入口保存的转发目的地地址的状态下,在接收终端40c开始接收发送终端10发送的组播分组的情况下,如图34所示加入稳定状态的组播树。此外,对于入口保存部11、21a,为了区别图33所示的接收终端40a,40b已加入的状态、图34所示的接收终端40c已加入的状态和从图33所示的状态向图34的状态的移动状态,在图34中将图33中的入口保存部11、21a的状态表示为更新前入口保存部116、220a,将处于移动状态的入口保存部11、21a的状态表示为移动中入口保存部115、219a。
首先,接收终端40c因为与NR30c相连接,所以与接收终端40b相同检测出接收终端40c通过无线链路连接着的路由器是NR,并发送Join消息3。此时,接收终端40c因为没有加入组播树,所以没有接收设定了Stable选项的组播分组。由此,接收终端40c发送没有设定Stable选项的通常的Join消息3。接收终端40c发送对目的地地址设定发送终端地址「S」,对发送源地址设定接收终端40c的地址「R3」,并指定了组播组地址「G」的Join消息3。
在UR中,存在于从接收终端40c向发送终端10的路径上的UR20a接收Join消息3。UR20a的消息处理部25参照UR20a的更新前入口保存部220a。消息处理部25因为更新前入口保存部220a没有保存转发目的地地址,而且接收到不是用于维持稳定状态的组播树的Stable Join消息3a的通常的Join消息3,所以将接收到的Join消息3的已设定为发送源地址的「R3」判断为UR20a转发组播分组的转发目的地地址。而且,因为转发目的地地址为1个所以消息处理部25判断UR20a不成为分支路由器。
因此,UR20a的消息处理部25在更新前入口保存部220a中生成MCT入口来登录(S,G):「R3」,并设为移动中入口保存部219a的状态。而且,消息处理部25将接收到的Join消息3原样地输入给UR20a的转发部23,转发部23对发送终端10发送Join消息3。
发送终端10接收Join消息3。消息处理部14因为更新前入口保存部116没有保存接收到的Join消息3的已设定为发送源地址的「R3」,所以将「R3」判断为新的转发目的地地址。消息处理部14生成MFT入口来追加转发目的地地址「R3」,将更新前入口保存部116更新为移动中入口保存部115的状态(S,G):「UR2,R3」。由此,暂时构筑从发送终端10对接收终端40c直接转发组播分组的组播树。
之后,UR20b根据JT已满发送目的地地址为发送终端地址「S」,发送源地址为「UR2」,并作为组播组地址指定了「G」的Stable Join消息3a。然后,存在于从UR20b到发送终端10的路径上的UR20a接收Stable Join消息3a。
UR20a的消息处理部25参照移动中入口保存部219a。消息处理部25因为移动中入口保存部219a作为与(S,G)对应的转发目的地地址已保存的「R3」和接收到的与(S,G)有关的Stable Join消息3a的发送源地址「UR2」不同,所以判断Stable Join消息3a不是用于维持稳定状态的组播树的消息。而且,消息处理部25因为UR20a转发由(S,G)确定的组播分组的转发目的地地址存在「UR2」和「R3」多个地址,所以判断UR20a为分支路由器。
因此,UR20a的消息处理部25从移动中入口保存部219a中删除MCT入口,新生成MFT入口。消息处理部25将(S,G):「UR2,R3」登录在入口保存部21a的MFT入口中。
而且,UR20a的消息提供部26生成包含请求在发送目的地地址中新追加为分支路由器的UR20a的地址「UR1」的Join消息和请求从发送目的地地址中删除作为分支路由器的UR20a的转发目的地地址「UR2」和「R3」的Prue消息的Redirect消息4。此外,消息提供部26生成对目的地地址设定发送终端地址「S」,对发送源地址设定UR20a的地址「UR1」,并指定了组播组地址「G」的Redirect消息4。然后,UR20a的转发部23对发送终端10发送Redirect消息4。
发送终端10接收Redirect消息4。消息处理部14根据Redirect消息4更新入口保存部11。具体地说,消息处理部14从移动中入口保存部115的MFT入口中删除接收到删除指示的「UR2」、「R3」,并在MFT入口中作为发送目的地地址登陆接收到追加指示的分支路由器的地址「UR1」。由此,入口保存部11的MFT入口更新为(S,G):「UR1」。
通过以上的处理,设定从最上游的发送终端10经由新成为上游的分支路由器的UR20a、相对处于上游的UR20a已成为分支路由器已成为下游的分支路由器的UR20b、以及作为末端路由器的UR20c,对接收终端40a转发分组分组,经由UR20a、UR20b对接收终端40b转发分组分组,经由UR20a对接收终端40c转发分组分组的组播树。由此设定稳定的组播树。
(通信方法)
对使用图30所示的通信系统301的通信方法进行说明。首先,对接收到Join消息时的处理顺序进行说明。如图35所示,UR20a~20c的接收部22接收Join消息(S1101)。UR20a~20c的消息处理部25检索入口保存部21a~21c,判断是否存在包含接收到的Join消息中包含的发送终端地址和组播组地址的入口(S1102)。
在步骤(S1102)中,UR20a~20c的消息处理部25在判断不存在入口的情况下,判断接收到的Join消息是否为设定了Stable选项的Stable Join消息(S1103)。UR20a~20c的消息处理部25在判断是Stable Join消息的情况下,UR20a~20c的转发部23向上游转发Stable Join消息(S1106)。
另一方面,在步骤(S1103)中,UR20a~20c的消息处理部25在判断为不是Stable Join消息而是通常的Join消息的情况下,在入口保存部21a~21c中生成MCT入口(S1105)。而且,UR20a~20c的消息处理部25在已生成的MCT入口中作为转发目的地地址登录接收到的Join消息的发送源地址,并起动其KAT(S1107)。然后,UR20a~20c的转发部23对上游转发Join消息(S1108)。
此外,在步骤(S1102)中,UR20a~20c的消息处理部25在已判断存在入口的情况下,判断是MCT入口或MFT入口的哪一个(S1104)。在已判断是MFT入口的情况下,UR20a~20c的消息处理部25判断在Join消息表示的发送终端地址和组播组地址,即与(S,G)对应的MFT入口的转发目的地地址中是否包含了Join消息的发送源地址(S1109)。
UR20a~20c的消息处理部25在判断在与(S,G)对应的MFT入口的转发目的地地址中没有包含的情况下,将Join消息的发送源地址作为转发目的地地址登录在与入口保存部21a~21c的(S,G)对应的MFT入口中(S1114)。然后,UR20a~20c的消息处理部25抛弃接收到的Join消息(S1115)。而且,UR20a~20c的消息处理部25起动已登录的与(S,G)对应的MFT入口保存的转发目的地地址的KAT(S1118)。
另一方面,在步骤(S1109),UR20a~20c的消息处理部25在判断在与(S,G)对应的MFT入口的转发目的地地址中包含了的情况下,进入到步骤(S1115),抛弃接收到的Join消息。而且,UR20a~20c的消息处理部25进入到步骤(S1118),再次起动登录在与(S,G)对应的MFT入口中的转发目的地地址的KAT。
在步骤(S1104)中,在判断是MCT入口的情况下,UR20a~20c的消息处理部25判断在Join消息表示的发送终端地址和组播组地址,即与(S,G)对应的MCT入口的转发目的地地址中是否包含了Join消息的发送源地址(S1110)。UR20a~20c的消息处理部25在判断在与(S,G)对应的MCT入口中没有包含的情况下,生成与(S,G)对应的MFT入口(S1111)。
而且,UR20a~20c的消息提供部26生成与(S,G)对应的Redirect消息,UR20a~20c的转发部23对发送终端地址进行发送(S1113)。然后,UR20a~20c进入步骤(S1114)、(S1115),在已生成的与(S,G)对应的MFT入口中作为转发目的地地址登录发送源地址,抛弃Join消息。而且,UR20a~20c进入步骤(S1118),起动已登录的作为与(S,G)对应的MFT入口所保存的转发目的地地址的KAT。此外,在该情况下UR20a~20c还起动JT。
另一方面,在步骤(S1110)中,UR20a~20c的消息处理部25在判断在与(S,G)对应的MCT入口的转发目的地地址中包含了的情况下,判断接收到的Join消息是否为已设定了Stable选项的Stable Join消息(S1112)。UR20a~20c的消息处理部25在判断是Stable Join消息的情况下,UR20a~20c的转发部23将Stable Join消息转发给上游(S1116)。另一方面,在步骤(S1112)中,UR20a~20c的消息处理部25在判断不是Stable Join消息,而是通常的Join消息的情况下,UR20a~20c的转发部23在将Join消息转发给上游后(S1117),进入到步骤(S118),再次起动在与(S,G)对应的MFT入口中包含的转发目的地地址的KAT。这样,通信系统301设定组播树。
然后,对接收到Prune消息时的处理顺序进行说明。如图36所示,UR20a~20c的接收部22接收Prune消息(S1201)。UR20a~20c的消息处理部25判断入口保存部21a~21c是否作为转发目的地地址保存了Prune消息的发送源地址(S1202)。UR20a~20c的消息处理部25在判断没有保存Prune消息的发送源地址的情况下,将接收到的Prune消息转发给上游(S1208)。
另一方面,在步骤(S1202),UR20a~20c的消息处理部25在判断保存了Prune消息的发送源地址的情况下,判断是否作为入口保存部21a~21c的MCT入口或MFT入口中的某一个进行了保存(S1203)。在判断作为MCT入口进行了保存的情况下,UR20a~20c的消息处理部25从入口保存部21a~21c中删除MCT入口(S1205)。然后,UR20a~20c进入步骤(S1208)。
另一方面,在步骤(S1203),UR20a~20c的消息处理部25在判断作为MFT入口进行了保存的情况下,从入口保存部21a~21c的MFT入口删除Prune消息的发送源地址(S1204)。UR20a~20c的消息处理部25在步骤(S1204),通过从MFT入口中删除Prune消息的发送源地址,判断MFT入口是否变为MCT入口(S1206)。
在步骤(S1206)中,UR20a~20c的消息处理部25在判断出变化为MCT入口的情况下,对消息提供部26指示生成Redirect消息。UR20a~20c的消息提供部26生成Redirect消息4,转发部23发送给发送终端10(S1207)。然后,UR20a~20c的消息处理部25抛弃Prune消息(S1209)。另一方面,在步骤(S1206),UR20a~20c的消息处理部25在判断为MFT入口保存着多个转发目的地地址,即使从MFT入口中删除了发送源地址在MCT入口中也不发生变化的情况下,进入步骤(S1209)。
然后,对使用已设定的组播树的组播分组的转发方法进行说明。在图37中表示使用图32所示的初期状态的组播树的转发方法。
首先,发送终端10在数据中作为发送源地址设定发送终端地址「S」,作为目的地地址设定组播组地址「G」来生成组播分组。然后,发送终端10在已生成的组播分组中,作为发送源地址设定发送终端地址「S」,作为目的地地址设定入口保存部11保存的发送目的地地址「UR2」,将组播分组进行封装。然后,发送终端10通过单播将已被封装的组播分组105a转发给作为分支路由器的UR20b(S1301)。由此,存在于发送终端10和作为分支路由器的UR20b的路径上的NR30a、UR20a无需意识到组播分组105a为组播分组,可以通过通常的单播的处理进行转发。
UR20b对入口保存部21b的隧道源地址设定已被封装的组播分组105a的发送源地址「S」,对已被封装的组播分组105a进行解封。UR20b为了对入口保存部21b保存的转发目的地地址「UR3」和「R2」进行发送,使用转发控制部24复制组播分组。然后,UR20b作为发送源地址设定UR20b自身的地址「UR2」,作为目的地地址设定转发目的地地址「UR3」来进行封装,并将已封装的组播分组105a转发给作为末端路由器的UR20c(S1302)。UR20c对已被封装的组播分组105a进行解封取出组播分组105a,转发给接收终端40a(S1303)。
此外,UR20b作为发送源地址设定UR20b自身的地址「UR2」,作为目的地地址设定另一个转发目的地地址「R2」来进行封装,并将已封装的组播分组105d转发给接收终端40b(S1304)。这样,可以对多个发送目的地、接收终端40a和接收终端40b组播分配数据。
根据这样的通信系统301、UR20a~20c以及通信方法,UR20a~20c仅在判断出是将发送终端10发送的组播分组转发给多个转发目的地地址的分支路由器的情况下,保存多个转发目的地地址来成为复制点。而且,UR20a~20c在已成为分支路由器的情况下,通过对发送终端地址发送如Redirect消息那样的加入/脱离消息,可以对自身上游的UR或发送终端10请求向分支路由器地址的转发目的地地址或发送目的地地址的加入,和从分支路由器的转发目的地地址的转发目的地地址或发送目的地地址的删除,该Redirect消息请求在发送目的地地址中追加该UR20a~20c的地址,并从发送目的地地址中删除分支路由器的转发目的地地址。而且,上游的UR或发送终端10可以作为转发目的地地址或发送目的地地址保存下游分支路由器的地址,并可以从转发目的地地址或发送目的地地址中删除下游的分支路由器的转发目的地地址。
由此,UR20a~20c可以恰当地成为分支路由器。即,在通信系统301中,自动地决定分支路由器。然后,设定从发送终端10经由分支路由器对接收终端40a~40c转发组播分组的恰当的组播树。而且,在UR20a~20c、NR30a~30c中,仅分支路由器保存转发目的地地址,将组播分组转发给多个转发目的地。由此,存在于发送终端10和分支路由器之间的UR或NR通过单播转发已被封装的分组就可以了。
因此,减轻分支路由器以外的UR的负荷,即使分支路由器以外的路由器是NR,也可以作为通信系统301的全体实现组播。例如,在使用HBH的情况下,虽然无需全部的路由器在MCT中保存用于设定组播树的信息,但需要进行组播分组的复制的路由器之外的路由器也保存MCT。因此,存在无法充分地降低通信系统全体负荷的情况。但是,根据通信系统301,可以不增大通信系统301的负荷,而且即使在发送终端和分支路由器之间或分支路由器之间存在NR,也可以设定恰当的组播树来实现组播。
此外,消息处理部14、25在发送目的地地址或转发目的地地址的KAT已满的情况下,从入口保存部11、21a~21c中删除发送目的地地址或转发目的地地址,在发送终端10或UR20a~20c在KAT已满之前接收到以转发目的地地址或发送目的地地址为发送源地址的Join消息3或Stable Join消息3a(维持请求消息)的情况下,再次起动KAT。因此,通信系统301通过在KAT已满之前维持组播树,在网路拓扑发生了变化的情况下也可以始终使用恰当的组播树。而且,通信系统301可以通过Join消息3或Stable Join消息3a(维持请求消息)在必要的期间维持组播树。
(第六实施方式)
(通信系统)
然后,使用图38所示的通信系统401,对由于发送终端10的移动等,发送终端地址变更的情况进行说明。通信系统401具备发送终端10、UR20a~20f、NR30a、30b和接收终端40a~40c。通信系统401与图1所示的通信系统1相比,除了UR、NR以及接收终端的数量不同,发送终端10、UR20a~20f、NR30a、30b以及接收终端40a~40c的连接关系发生了变化之外实质上是相同的。考虑发送终端10在网络中移动,发送终端地址已从「S」变化为「S’」的情况。
(接收终端的结构)
然后,对接收终端40a~40c的结构进行说明。如图39所示,接收终端40a具备入口保存部41、接收部42、发送部43、分组处理部44以及消息提供部45。此外,接收终端40b、40c也具备和接收终端40a相同的结构。
接收部42从UR20a~20f或NR30a,30b、发送终端10接收控制消息、组播分组。接收部42将接收到的控制消息以及组播分组输入给分组处理部44。
入口保存部41是保存ISA,即发送终端地址以及组播组地址的地址保存部。如图40所示,入口保存部41保存ISA、组播组地址、oISA、MPT(MessagePending Timer)、ST(Stale Timer)。入口保存部41将ISA和oISA对应地保存。
MPT是对抑制Prune消息或Leave Group消息的发送的消息抑制时间进行计量的计时器值。在MPT已满,成为OFF的期间,发送Prune消息或LeaveGroup消息。在MPT为ON的期间,不发送Prune消息或Leave Group消息。ST是计量oISA的保存时间的计数器值。ST被与oISA对应地保存。当ST已满时,从入口保存部41中删除对应的oISA。
分组处理部44处理控制消息以及组播分组。分组处理部44从接收部42取得接收终端40a接收到的控制消息以及组播分组。分组处理部44在接收到LU消息或附加了LU消息的组播分组的情况下,将入口保存部41当前保存着的ISA「S」设定为入口保存部41的oISA,并起动该ST。而且,分组处理部44把包含在LU消息中的ISA「S’」设定为入口保存部41的ISA。
而且,分组处理部44参照入口保存部41,判断组播分组的发送源地址是否为oISA。分组处理部44在发送源地址为oISA的情况下,参照入口保存部41判断MPT是ON还是OFF。分组处理部44在MPT为OFF的情况下,对消息提供部45指示生成指定了oISA的Prune消息或Leave Group消息。而且,分组处理部44起动入口保存部41的MPT。而且,分组处理部44从入口保存部41中删除ST已满的oISA。
消息提供部45生成控制消息,并通过发送部43进行提供。消息提供部45从入口保存部41取得ISA、组播组地址。消息提供部45使用已取得的ISA、组播组地址来生成Join消息、Membership Report、Stable Join消息等。消息提供部45根据来自分组处理部44的生成指定了oISA的Prune消息或LeaveGroup消息的指示,生成Prune消息或Leave Group消息。消息提供部45将已生成的控制消息输入给发送部43。
特别地,消息提供部45在发送组播分组的发送终端地址发生了变化的情况下,作为接收终端消息提供部发挥作用,该接收终端消息提供部根据通知变更后的发送终端地址的位置更新消息(LU消息),请求在发送终端10发送组播分组的发送目的地地址中追加接收终端的地址的加入请求消息(Join消息或Membership Report)提供给变更后的发送终端地址(ISA)。而且,消息提供部45在接收终端40a与NR连接的情况下,提供附加了指示不抛弃加入请求消息的数据的加入请求消息。具体地说,消息提供部45生成Join消息3,并通过转发部43提供。因为在Join消息3中设定了特殊的选项,所以即使在接收终端40a与NR连接的情况下,NR也不抛弃Join消息,所以存在于从接收终端40a到发送终端10的路径中的UR可以接收Join消息。
发送部43对UR20a~20f、NR30a、30b以及发送终端10发送控制消息。发送部43从消息提供部45取得控制消息来进行发送。
然后,使用图38、41以及42对发送终端地址发生了变更时的通信系统401的处理进行说明。图38表示发送终端10刚从oISA「S」移动到ISA「S’」的状态。因此在图38中,入口保存部21a~21f保存着由使用了oISA「S」的(S,G)确定的组播树中的转发目的地地址。在发送终端10存在于oISA「S」时,设定了组播树以使在已将oISA「S」作为组播树的上游时为最佳。此外,接收终端40a~40c全部加入了组播树。由此,发送终端10的入口保存部11保存(S,G):「UR1」,UR20a的入口保存部21a将(S,G):「UR3,UR6」作为MFT入口进行保存,UR20c的入口保存部21c将(S,G):「UR4,UR5」作为MFT入口进行保存,成为了分支路由器。此外,UR20d~20f的入口保存部21d~21f将(S,G):「G」作为MFT入口进行保存,成为了末端路由器。
当发送终端10从oISA「S」移动到ISA「S’」时,分组生成部15成生已将oISA「S」和ISA「S’」对应起来的BU消息6。分组生成部15根据入口保存部11,对BU消息6的目的地地址设定发送给「UR1」的地址。然后,分组生成部15通过发送部13将BU消息6提供给UR20a。
UR20a的消息处理部25根据接收部22接收到的BU消息6,将oISA「S」和ISA「S’」对应地保存。然后,UR20a的消息处理部25将接收部22接收到的发给oISA「S」的控制消息由转发部23转发给ISA「S’」。如此,UR20a在与发送终端10之间构筑隧道(Bi-Directional Tunneling)9,作为归属代理发挥作用。
而且,发送终端10的发送部13根据入口保存部11将组播分组105发送给UR20a,使用由(S,G)确定的组播树进行发送。由于在已将oISA「S」作为组播树的上游时为最佳地设定了由(S,G)确定的组播树,因此包含冗长的路径。由此,通信系统201需要根据ISA「S’」,再次设定由(S’,G)确定的组播树。因此,分组生成部15生成没有设定Stable选项的组播分组105。
而且,分组生成部15在组播分组105中附加用于通知已将oISA「S」和ISA「S’」对应起来的ISA的LU消息。分组生成部15通过发送部13对接收终端40a~40c提供这样的组播分组105,并对接收终端40a~40c通知发送终端10已从oISA「S」向ISA「S’」移动的情况。
这样,分组生成部15在发送终端地址已变更的情况下,首先,对发送目的地地址提供用于通知发送终端地址的变更的转发目的地更新消息(BU消息)。而且,分组生成部15作为对接收组播分组的接收终端40a~40c提供用于通知变更后的发送终端地址的位置更新消息(LU消息)的更新通知部发挥作用。
如图13所示,接收终端40a~40c根据在接收到的组部分组105中附加了的LU消息,发送对目的地地址设定了ISA「S’」的Membership Report2。具体地说,分组处理部44根据LU消息更新入口保存部41。然后,消息提供部45使用在更新后的入口保存部41中保存的ISA「S’」来生成MembershipReport2,并由发送部43进行发送。此外,在多个接收终端与一个末端路由器相连接的情况下,接收终端按照在MLD中规定了的拥阻回避控制来发送Membership Report2。据此,全部的接收终端可以避免由于要加入新设定的由(S,G)确定的组播树而引起的拥阻。
当作为末端路由器的UR20d~20f的接收部22接收到已将ISA「S’」设定为目的地地址的Membership Report2时,UR20d~20f的消息处理部25将接收到的Membership Report2输入给消息提供部26。UR20d~20f的消息提供部26接收到Membership Report2时,生成已将目的地地址设定为ISA「S’」的Join消息3。而且,UR20d~20f的转发部23发送发送给ISA「S’」的Join消息3。
以该发送给ISA「S’」的Membership Report2以及Join消息3为契机,发送终端10以及UR20d~20f与图31、32所示的通信系统301中的设定初期状态的组播树时的处理相同,为了在已将ISA「S’」作为组播树的上游时为最佳,在入口保存部11,21a~21f中登录与(S’,G)相对应的转发目的地地址。
具体地说,UR20d~20f的消息处理部25在已把作为变更后的发送终端地址的ISA「S’」作为组播树的上游时,判断UR20a~20f是否成为分支路由器。判断出成为分支路由器的UR20a~20f的消息处理部25在入口保存部21a~21f中登录与使用了ISA「S’」的(S’,G)相对应的多个转发目的地地址。然后,判断出成为分支路由器的UR20a~20f的消息提供部26生成已将目的地地址设定为ISA「S’」的Redirect消息,并通过转发部23提供。
结果,如图41所示,没有保存转发目的地地址的UR20b的入口保存部21b将(S’,G):「UR3,UR4」作为MFT入口进行保存,成为由(S’,G)确定的组播树中的分支路由器。此外,UR20c的入口保存部21c除了作为MFT入口保存的(S,G):「UR4,UR5」,还将(S’,G):「UR5,UR6」作为MFT入口进行保存,也在由(S’,G)确定的组播树中成为分支路由器。而且,UR20a的入口保存部21a除了作为MFT入口保存的(S,G):「UR3,UR6」,还将(S’,G):「UR6」作为MCT入口进行保存。
此外,UR20d~20f的入口保存部21d~21f除了作为MFT入口保存的(S,G):「G」,还将(S’,G):「G」作为MFT入口进行保存,也在由(S’,G)确定的组播树中成为分支路由器。而且,发送终端10的入口保存部11除了保存的(S,G):「UR1」,还保存(S’,G):「UR2」。
如此,在对ISA「S’」刚刚设定了最佳的组播树后,如图41所示,通信系统401成为由(S,G)确定的对oISA「S」来说最佳的组播树和由(S’,G)确定的对ISA「S’」来说最佳的组播树并存的状态。因此,在通信系统401中,由于存在两个组播树,所以重复发送组播分组。接收终端40a~40c重复接收组播分组。
因此,发送终端10、UR20a~20f的消息处理部14、24最好根据LeaveGroup消息、Prune消息或发送目的地地址、转发目的地地址的保存时间中的至少一个从,入口保存部11、21a~21f中删除与oISA「S」对应的发送目的地地址、转发目的地地址。
接收到LU消息的接收终端40a~40c停止指定了(S,G)的Stable Join消息的发送。具体地说,接收终端40a~40c的消息提供部45使用入口保存部41的ISA「S’」来生成Stable Join消息。因此,在通过LU消息变更了入口保存部41的ISA之后,消息提供部45不生成使用了已成为oISA的「S」的Stable Join消息。
结果,接收终端40a~40c仅发送指定了(S’,G)的Stable Join消息。由此,消息处理部14、25只再次起动与(S’,G)对应的发送目的地地址或转发目的地地址的KAT,并延长保存时间。因此,只保存与入口保存部11,21a~21f的(S’,G)对应的MFT入口,并删除与(S,G)对应的MFT入口保存的发送目的地地址或转发目的地地址。由此,发送终端10、UR20a~20f可以删除与(S,G)对应的组播树,只继续保存与(S’,G)对应的MFT入口。因此,发送终端10、UR20a~20f可以维持与(S’,G)对应的组播树。
此外,如图42所示,接收终端40a~40c不等待KAT的已满,通过使用Leave Group消息7或Prune消息8,可以明确地脱离使用了oISA「S」的组播树。接收终端40a~40c在从由(S’,G)确定的组播树接收到组播分组之后,将请求脱离由(S,G)确定的组播树的Leave Group消息7发送给作为末端路由器的UR20a~20f。具体地说,接收终端40a~40c的消息提供部45生成指定了oISA「S」的Leave Group消息7,并由发送部43进行发送。
UR20d~20f的消息处理部25根据请求脱离由(S,G)确定的组播树的Leave Group消息7,删除入口保存部21d~21f保存的与(S,G)对应的MFT入口。而且,消息处理部25将接收到的Leave Group消息7输入给消息提供部26。
UR20d~20f的消息提供部26根据Leave Group消息7,生成对目的地地址设定oISA「S」、请求删除与(S,G)对应的MFT入口的Prune消息8,并通过转发部23进行提供。UR20d~20f的转发部23发送Prune消息8。UR20a在接收到Prune消息8时,根据ISA「S’」和oISA「S」的对应,通过隧道9将Prune消息8转发给ISA「S’」。这样,Prune消息8到达UR20a~20c或位于ISA「S’」的发送终端10。
发送终端10的消息处理部14或UR20a~20c的消息处理部25根据Prune消息8,从入口保存部11、21a~21c中删除与(S,G)对应的MFT入口。结果,如图42所示,发送终端10或UR20a~20f的入口保存部11、21a~21f可以只保存与(S’,G)对应的MFT入口。
(通信方法)
对使用了图38所示的通信系统401的通信方法的顺序进行说明。首先,对UR20a~20f的动作进行说明。UR20a~20f的接收部22接收组播分组(S1401)。UR20a~20f的转发控制部24从组播分组中取得隧道源地址,并暂时将其存储(S1402)。UR20a~20f对组播分组进行解封(S1403)。UR20a~20f根据已设定在组播分组中的发送终端地址或组播组地址,判断入口保存部21a~21f是否保存了对应的MCT入口或MFT入口(S1404)。UR20a~20f在判断出没有保存的情况下,抛弃组播分组(S1406)。
另一方面,在步骤(S1404)中,UR20a~20f的消息处理部25在判断出保存了的情况下,判断是否作为MCT入口或MFT入口中的某一个进行了保存(S1405)。在判断出作为MCT入口进行了保存的情况下,UR20a~20f的消息提供部26生成的Redirect消息。该Redirect消息请求在发送目的地地址中追加UR20a~20f的转发目的地地址,从发送目的地地址中删除UR20a~20f自身的地址,并设定了Hop-by-Hop选项的发送给发送终端地址。然后,转发部23发送Redirect消息(S1412)。
另一方面,在(S1405)中,在判断出作为MFT入口进行了保存的情况下,UR20a~20f的转发控制部24判断结束到的组播分组的隧道源地址是否与入口保存部21a~21f保存的隧道源地址一致(S1407)。
当在步骤(S1407)中隧道源地址不一致的情况下,UR20a~20f的转发控制部24判断接收到的组播分组的隧道元地址是否与入口保存部21a~21f保存的前隧道源地址一致(S1408)。在与前隧道源地址一致的情况下,UR20a~20f的消息提供部26生成没有设定Hop-by-Hop选项的Prune消息,并由转发部23转发给前隧道源地址(S1409)。
另一方面,在步骤(S1408),在与前隧道源地址不一致的情况下,UR20a~20f的转发控制部24将入口保存部21a~21f当前保存的隧道源地址设定为入口保存部21a~21f的前隧道源地址(S1410)。此时,转发控制部24可以将入口保存部21a~21f的KAT作为ST使用,并可以根据ST的已满来进行设定以删除前隧道源地址。之后,UR20a~20f的转发控制部24把在步骤(S1402)已存储的隧道源地址登录在入口保存部21a~21f中(S1411)。UR20a~20f在步骤(S1409)、(S1411)之后进入步骤(S1413)。
在步骤(S1407)中隧道源地址一致的情况下或在步骤(S1409)、(S1411)已结束的情况下,UR20a~20f的转发控制部24判断组播分组的目的地地址是否包含在MFT入口的转发目的地地址中(S1413)。在目的地地址没有包含在转发目的地地址中时,转发控制部24使用转发目的地地址对组播分组进行封装(S1414)。转发控制部24当在步骤(S1413)中判断出目的地地址包含在转发目的地地址中时,将组播分组原样地输入给转发部23。转发控制部24把在步骤(S1414)中已封装的组播分组输入给转发部23。然后,转发部23对从转发控制部24取得的组播分组进行转发(S1415)。此外,可以省略(S1407)~(S1411)。
然后,对接收终端40a~40c的动作进行说明。接收终端40a~40c的接收部42接收组播分组(S1501)。接收终端40a~40c的分组处理部44参照入口保存部41,判断接收到的组播分组的发送源地址是否为ISA(S1502)。
在组播分组的发送源地址为ISA的情况下,接收终端40a~40c的分组处理部44判断入口保存部41是否保存oISA(S1503)。在入口保存部41保存oISA的情况下,分组处理部44判断该MPT是ON还是OFF(S1504)。在MPT为OFF状态的情况下,接收终端40a~40c的消息提供部45生成设定了Hop-by-Hop选项的发送给oISA的Prune消息,并通过发送部43来提供。或者,消息提供部45生成发送给oISA的Leave Group,并通过发送部43来提供(S1505)。而且,分组处理部44起动入口保存部41的MPT(S1506)。
此外,当在步骤(S1502)组播分组的发送源地址不是ISA的情况下,在步骤(S1503)入口保存部41不保存oISA的情况下,或在步骤(S1504)MPT为ON的情况下,接收终端40a~40c不进行特别的处理,分组处理部44处理在组播分组中包含的数据。
根据这样的通信系统401、UR20a~20f、接收终端40a~40c以及通信方法,发送终端10具备在该发送终端地址已变更的情况下,对发送目的地地址提供用于通知发送终端地址的变更的BU消息,对接收终端40a~40c提供用于通知ISA「S’」的LU消息的消息提供部45。此外,接收终端40a~40c具备根据LU消息对ISA提供Join消息或Membership Report的消息提供部45。
因此,在由于发送终端10的移动等发送终端地址发生了变更的情况下,通过发送终端10对发送目的地地址发送BU消息,可以在发送终端和其发送目的地地址的UR之间构筑隧道。由此,发送给oISA的控制消息被转发给发送终端10。
而且,发送终端10可以通过LU消息对接收终端40a~40c通知发送终端地址的变更。然后,接收终端40a~40c可以根据LU消息掌握发送终端地址的变更来对ISA「S’」发送Join消息或Membership Report。因此,以发送给ISA「S’」的Join消息或Membership Report为契机,在ISA「S’」中新设定恰当的组播树。由此,即使发送终端地址变化,通信系统401也可以实现使用了恰当的组播树的组播。
而且,分支路由器可以与ISA「S’」对应地保存多个转发目的地地址。由此,UR20a~20f可以明确地区分与oISA「S」,即与(S,G)对应的组播树和与ISA「S’」,即与(S’,G)对应的组播树。
此外,接收终端40a~40c的消息提供部45提供指定了变更前的发送终端10的地址的Leave Group消息7或Prune消息8。然后,发送终端10、UR20a~20f的消息处理部14、25根据Leave Group消息7或Prune消息8、发送目的地地址或转发目的地地址的保存时间,从入口保存部11、21a~21f中删除与oISA「S」,即与(S,G)对应的发送目的地地址或转发目的地地址。
因此,通信系统401可以使用Leave Group消息7或Prune消息8、发送目的地地址或转发目的地地址的保存时间来删除使用oISA「S」形成了的组播树。由此,可以抑制由于并存使用了oISA「S」的组播树和使用了ISA「S’」的组播树而引起的组播分组的重复转发。特别地,根据Leave Group消息7或Prune消息8,接收终端40a~40c可以不等待保存时间的已满,明确地脱离使用由Leave Group消息7或Prune消息8指定了的oISA「S」已形成的组播树。由此,在通信系统401中,可以进一步减轻重复了的转发。
(变更例)
本发明并不限定于上述第一~第六的实施方式,也可以进行各种各样的变更。
IP因为是无连接通信,所以存在消息不到达目的节点的情况。因此,在通信系统1~401中最好进行使控制消息确实到达目的节点的对应措施。即,最好进行控制消息丢失的对应措施。
例如,UR20a~UR20i的消息提供部26或发送终端10的消息处理部14可以对UR20a~UR20i接收到的加入请求消息(Membership Report2或Join消息3)、脱离请求消息(Leave Group消息7或Prune消息8)、加入/脱离请求消息或变更请求消息(Recirect消息4)等的控制消息的发送源提供确认应答。
例如,消息提供部26可以根据接收到的控制消息生成在入口保存部21a~21i中登录的入口,可以在从入口保存部21a~21i中删除了入口的情况下,或者在根据接收到的控制消息已生成控制消息的情况下,对发送源的接收终端40a~40c或其他的UR明确地提供确认应答。例如,消息提供部26在转发已生成的控制消息时,可以对发送源的接收终端40a~40c或其他的UR提供确认应答。此外,发送终端10的消息处理部14可以生成在入口保存部11中登录的入口,即使在从入口保存部11不删除入口的情况下,也可以对控制消息的发送源提供确认应答。
发送了控制消息的发送源的接收终端40a~40c或UR20a~UR20i接收确认应答,由此不仅接收到控制消息的发送终端10或UR接收到控制消息,存在于自身和接收到控制消息的发送终端10或UR之间的UR也可以接收到控制消息。
如此,根据接收到的控制消息进行了入口的生成、删除或控制消息生成的UR或发送终端10提供确认应答,由此发送源的接收终端40a~40c或UR20a~UR20i可以恰当地处理自身提供的控制消息,可以确认发送终端10或UR20a~UR20i保存的入口保存部11,21a~21i确实被更新了。然后,发送源的接收终端40a~40c或UR20a~UR20i根据无法取得确认应答,可以检测出控制消息的丢失,并再次提供控制消息。由此,在通信系统1~401中,可以使控制消息确实达到目的节点。而且,假设控制消息的有丢失,也无需为了安全而多次发送相同的控制消息。由此,可以减轻整个通信系统1~401的负荷。
此外,在通信系统1、201中,通过像通信系统301、401那样使用KAT,可以进行脱离请求消息丢失的对应措施。在各入口中包含的KAT已满之前(保存时间内)接收到与该入口相关联的Join消息3的情况下,UR20a~UR20i、发送终端10再次起动KAT,延长保存时间。另一方面,UR20a~UR20i、发送终端10在各入口中包含的KAT已满之前(保存时间内)没有接收到Join消息的情况下,自动地从该入口的转发目的地地址或发送目的地地址中删除。
此时,希望维持在入口中的UR20a~UR20i或接收终端40a~40c由于在对应入口的KAT已满之前对发送终端地址发送Join消息3,因此需要再次起动UR20a~UR20i或发送终端10的KAT。但是,在希望脱离组播树时,根据KAT已满,从入口的转发目的地地址或发送目的地地址中自动地被删除。由此希望停止组播分组的发送的UR20a~UR20i或接收终端40a~40c假设脱离请求消息有丢失,也可以不多次发送脱离请求消息。
此外,通信系统1~401对于组播分组,通过将TCP或SCTP(参照RFC2960)等技术用于组播分组的转发,可以增强可靠性。
而且,由于新的接收终端向组播树的加入,在发送终端10或UR20a~UR20i根据Redirect消息等控制消息直接更新了入口保存部11,21a~21i时,可能产生组播分组的丢失。例如,在图24中,在从入口保存部11删除了「UR6」,并删除了发送终端10和UR20f之间的转发路径时,可能在UR20f产生分组丢失。
为了防止像这样的入口保存部11,21a~21i保存的信息变更以及组播树变更时的组播分组的丢失,为了更加确实地转发组播分组,发送终端10、UR20a~UR20i可以将更新前的入口保存规定的期间。即,可以通过设置一定的延迟期间来降低分组的丢失。
此时,例如UR20f在经过规定期间之前,重复接收发送终端10直接发送的组播分组和UR20b转发的组播分组。但是,在经过规定期间后,如果从发送终端10删除更新前的入口,则自动停止发送直接发送的组播分组。
此外,UR20f在规定期间内重复地接收到组播分组时,可以对发送终端10发送明确请求停止发送组播分组的Redirect消息等消息。由此,可以停止组播分组的重复接收,可以顺利地进行组播树的变更。
此外,在通信系统1~401中,虽然使用转发目的地地址或发送目的地地址对组播分组进行封装,并进行转发,但如果发送终端10、UR20a~UR20i根据入口保存部11,21a~21i保存的发送目的地地址或转发目的地地址来转发组播分组,则不限定其方法。例如,发送终端10、UR20a~UR20i可以使用NAT(Network Address Translation)或IP Masquerade。此时,可以降低封装的开销(overhead)。
产业上的利用可能性
即使在通信系统中存在组播非对应路由器,也可以设定恰当的组播树来转发组播分组。
Claims (12)
1.一种通信系统,将从发送终端向接收终端发送的组播分组按照规定的转发路径进行转发,其特征在于,
所述转发路径包括多个组播对应路由器和多个组播非对应路由器,
所述多个组播对应路由器包括非分支路由器和分支路由器,非分支路由器在所述转发路径的所述接收终端侧与一个其他组播对应路由器进行通信,分支路由器在所述转发路径的所述接收终端侧与包含所述非分支路由器的多个其它组播对应路由器进行通信,
所述非分支路由器包括:
消息提供部,其生成请求消息,该请求消息请求从转发目的地地址删除所述非分支路由器的地址,并在所述转发目的地地址中追加连接在所述非分支路由器的所述接收终端侧的组播对应路由器的地址;和
转发部,将所述请求消息提供给与所述非分支路由器的所述发送终端侧连接的所述分支路由器,
所述分支路由器包括:
转发目的地保存部,保存追加有所述多个其它组播对应路由器各自的地址的表;
转发目的地登录部,响应所述请求消息的接收,通过从所述表的所述转发目的地地址中删除所述非分支路由器的地址,并在所述表的所述转发目的地地址中追加所述组播对应路由器的地址,来更新所述表;
转发控制部,响应对所述组播分组设定了所述分支路由器地址的第一封装化组播分组的接收,生成第二封装化组播分组,
所述分支路由器的所述转发控制部,当从所述第一封装化组播分组提取的所述组播分组的目的地地址和所述转发目的地地址不同时,通过将所述转发目的地地址设定为所述目的地地址,来生成所述第二封装化组播分组。
2.根据权利要求1所述的通信系统,其特征在于,
所述发送终端追加位于所述发送终端侧最近的分支路由器的地址。
3.根据权利要求1所述的通信系统,其特征在于,
所述多个组播对应路由器还包括与所述接收终端连接的末端路由器,
所述末端路由器保存对所述发送终端转发所述组播分组的组播组赋予的组播组地址。
4.根据权利要求3所述的通信系统,其特征在于,
所述末端路由器根据作为目的地地址包含在所述组播分组中的所述组播组地址将所述组播分组组播发送到所述接收终端。
5.根据权利要求1所述的通信系统,其特征在于,
所述分支路由器连接的所述多个其它组播路由器分别与同一子网连接的情况下,所述转发目的地登录部在所述表中追加对所述发送终端转发所述组播分组的组播组赋予的组播组地址,来代替追加所述多个其它组播对应路由器各自的地址,
在所述表中追加有所述组播组地址的情况下,所述转发控制部将从所述第一封装化组播分组提取的所述组播分组组播发送到所述多个其它组播对应路由器。
6.根据权利要求1所述的通信系统,其特征在于,
所述多个组播对应路由器还包括设于所述发送终端与所述分支路由器之间的其他分支路由器,
在由于所述发送终端的移动而使所述发送终端连接的路由器从所述其他分支路由器变更为所述分支路由器的情况下,
所述分支路由器的所述转发控制部,从所述发送终端接收对所述组播分组设定了所述其他分支路由器地址的第三封装化组播分组,通过对从所述第三封装化组播分组提取的所述组播分组重新设定在更新的所述表中追加的地址以及所述其他分支路由器的地址,来生成多个第四封装化组播分组。
7.根据权利要求1所述的通信系统,其特征在于,
所述发送终端具备更新通知部,该更新通知部在所述发送终端地址发生了变更的情况下提供位置更新消息,该位置更新消息对接收终端通知变更后的新的发送终端地址,
所述接收终端具备接收终端消息提供部,该接收终端消息提供部根据所述位置更新消息对所述新的发送终端地址提供加入请求消息,该加入请求消息请求追加所述接收终端的地址。
8.根据权利要求1所述的通信系统,其特征在于,
所述组播对应路由器为其他分支路由器或者末端路由器,
所述其他分支路由器在所述接收终端侧与多个其它组播对应路由器连接,
所述末端路由器与所述接收终端连接。
9.一种组播对应路由器,用于通信系统,该通信系统中,将从发送终端向接收终端发送的组播分组按照包含多个组播对应路由器与多个组播非对应路由器的转发路径进行转发,
本路由器为在所述转发路径的所述接收终端侧与一个其他组播对应路由器连接的非分支路由器的情况下,包括:
消息提供部,其生成请求消息,该请求消息请求从转发目的地地址删除所述非分支路由器的地址,并在所述转发目的地地址中追加连接在所述非分支路由器的所述接收终端侧的组播对应路由器的地址;和
转发部,将所述请求消息提供给与所述非分支路由器的所述发送终端侧连接的所述分支路由器,
本路由器为在所述转发路径的所述接收终端侧与包含所述非分支路由器的多个其它组播对应路由器连接的分支路由器的情况下,包括:
转发目的地保存部,保存追加有所述多个其它组播对应路由器各自的地址的表;
转发目的地登录部,响应所述请求消息的接收,通过从所述表的所述转发目的地地址中删除所述非分支路由器的地址,并在所述表的所述转发目的地地址中追加所述组播对应路由器的地址,来更新所述表;
转发控制部,响应对所述组播分组设定了所述分支路由器地址的第一封装化组播分组的接收,生成第二封装化组播分组,
所述转发控制部,当从所述第一封装化组播分组提取的所述组播分组的目的地地址和所述转发目的地地址不同时,通过将所述转发目的地地址设定为所述目的地地址,来生成所述第二封装化组播分组。
10.一种通信方法,将从发送终端向接收终端发送的组播分组按照包含多个组播对应路由器和多个组播非对应路由器的转发路径进行转发,其特征在于,
非分支路由器在所述转发路径的所述接收终端侧与一个其他组播对应路由器进行通信,
分支路由器在所述转发路径的所述接收终端侧与包含所述非分支路由器的多个其它组播对应路由器进行通信,
所述非分支路由器进行以下步骤:
生成请求消息,该请求消息请求从转发目的地地址删除所述非分支路由器的地址,并在所述转发目的地地址中追加连接在所述非分支路由器的所述接收终端侧的组播对应路由器的地址;和
将所述请求消息提供给与所述非分支路由器的所述发送终端侧连接的所述分支路由器,
所述分支路由器进行以下步骤:
接收所述请求消息;
所述分支路由器按照接收到的所述请求消息,通过从登录有所述多个其它组播对应路由器各自地址的表的所述转发目的地地址中删除所述非分支路由器的地址,并在所述表的所述转发目的地地址中登录所述登录对象组播对应路由器的地址,来更新所述表;
所述分支路由器,接收对所述组播分组设定了所述分支路由器地址的第一封装化组播分组;
所述分支路由器,当从所述第一封装化组播分组提取的所述组播分组的目的地地址和所述转发目的地地址不同时,通过将所述转发目的地地址设定为所述目的地地址,来生成第二封装化组播分组。
11.根据权利要求10所述的通信方法,其特征在于,
所述发送终端追加位于所述发送终端侧最近的分支路由器的地址。
12.根据权利要求10所述的通信方法,其特征在于,还包括以下步骤:
在发送终端地址发生了变更的情况下,发送对接收终端通知变更后新发送终端地址的位置更新消息,
根据所述位置更新消息,将所述加入请求消息发送给所述新发送终端地址,该加入请求消息请求登录所述接收终端的地址。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003193232A JP4474124B2 (ja) | 2003-07-07 | 2003-07-07 | マルチキャスト通信システム及びルータ |
JP193232/2003 | 2003-07-07 | ||
JP024871/2004 | 2004-01-30 | ||
JP2004024871A JP4481666B2 (ja) | 2004-01-30 | 2004-01-30 | 通信システム、ルータ、送信端末、受信端末及び通信方法 |
PCT/JP2004/009663 WO2005004419A1 (ja) | 2003-07-07 | 2004-07-07 | 通信システム、マルチキャスト対応ルータ、送信端末、受信端末及び通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1820467A CN1820467A (zh) | 2006-08-16 |
CN1820467B true CN1820467B (zh) | 2012-06-20 |
Family
ID=34204757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800195413A Expired - Fee Related CN1820467B (zh) | 2003-07-07 | 2004-07-07 | 通信系统、组播对应路由器、发送终端、接收终端以及通信方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4474124B2 (zh) |
CN (1) | CN1820467B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4882756B2 (ja) * | 2007-01-17 | 2012-02-22 | 富士通株式会社 | 視聴状況監視方法、視聴状況監視装置、視聴状況監視プログラムおよび視聴状況監視システム |
EP2134029A1 (en) | 2008-06-09 | 2009-12-16 | THOMSON Licensing | Network device and method for obtaining terminal multicast status |
JP5636995B2 (ja) * | 2011-02-07 | 2014-12-10 | セイコーエプソン株式会社 | ネットワーク通信装置、方法、及びプログラム |
US9998351B2 (en) * | 2013-03-21 | 2018-06-12 | Mitsubishi Electric Corporation | Gateway device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503538A (zh) * | 2002-11-20 | 2004-06-09 | ������������ʽ���� | 数据发送系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4213358B2 (ja) * | 2001-04-12 | 2009-01-21 | 株式会社エヌ・ティ・ティ・ドコモ | マルチキャスト情報配信制御方法及びシステム、並びにサーバ及びクライアント |
JP3888209B2 (ja) * | 2002-04-17 | 2007-02-28 | 株式会社日立製作所 | マルチキャスト通信装置およびシステム |
-
2003
- 2003-07-07 JP JP2003193232A patent/JP4474124B2/ja not_active Expired - Fee Related
-
2004
- 2004-07-07 CN CN2004800195413A patent/CN1820467B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503538A (zh) * | 2002-11-20 | 2004-06-09 | ������������ʽ���� | 数据发送系统 |
Non-Patent Citations (2)
Title |
---|
JP特开2002-368751A 2002.12.20 |
JP特开2003-309601A 2003.10.31 |
Also Published As
Publication number | Publication date |
---|---|
JP4474124B2 (ja) | 2010-06-02 |
CN1820467A (zh) | 2006-08-16 |
JP2005033283A (ja) | 2005-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100592693C (zh) | 用于在广域分组网络系统中快速收敛生成树的多播ip区域 | |
CN101383717B (zh) | 数据包中继装置 | |
KR100667318B1 (ko) | 지그비 네트워크에서 멀티캐스트 방법 | |
CN101179496B (zh) | 中继装置、无线通信系统以及多播中继方法 | |
KR100967274B1 (ko) | 중계 장치, 무선 통신 시스템 및 멀티캐스트 중계 방법 | |
JP4387519B2 (ja) | マルチキャスト樹を蓄積するための効果的な手段 | |
CN102820977B (zh) | 组播方法、装置及网络设备 | |
CA2640713A1 (en) | Wireless router system and method | |
EP1667381A1 (en) | Communication system, multicast-capable router, transmitter terminal, receiver terminal, and communication method | |
JP4436960B2 (ja) | パケット通信システムおよび移動通信システム | |
CN109729009A (zh) | 用于实现组播业务的方法和装置 | |
CN109756559A (zh) | 面向嵌入式机载系统分布式数据分发服务的构建及使用方法 | |
JPH10506509A (ja) | 少なくとも2つのセグメントから成る回路網の加入者のアドレス指定方法および装置 | |
CN105144639A (zh) | 在覆盖网络中至双重连接(vpc)的主机的有效组播传送 | |
WO2006103719A1 (ja) | マルチキャスト通信システム | |
CN104980355A (zh) | 一种sdn环境下的源端可控组播数据传输方法及系统 | |
CN102668461A (zh) | 用于支持基于网络的移动性的移动多播系统及其方法 | |
CN1820467B (zh) | 通信系统、组播对应路由器、发送终端、接收终端以及通信方法 | |
CN106453088B (zh) | 一种静态路由配置方法及终端 | |
CN101369994A (zh) | 一种实现组播组成员管理协议代理的方法、装置和系统 | |
CN101383757A (zh) | 组播路由方法、装置及系统、媒体网关和媒体网关控制器 | |
CN106375222A (zh) | 环型组网组播线路切换的方法及装置 | |
CN107453994A (zh) | 基于dht网络的数据传输方法及装置 | |
CN100440863C (zh) | 扩展路由功能的具体源静态组功能实现方法 | |
WO2014199924A1 (ja) | 制御装置、通信システム、中継装置の制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120620 Termination date: 20150707 |
|
EXPY | Termination of patent right or utility model |