CN102804716B - 通信***、交换式集线器以及路由器 - Google Patents
通信***、交换式集线器以及路由器 Download PDFInfo
- Publication number
- CN102804716B CN102804716B CN201180014286.3A CN201180014286A CN102804716B CN 102804716 B CN102804716 B CN 102804716B CN 201180014286 A CN201180014286 A CN 201180014286A CN 102804716 B CN102804716 B CN 102804716B
- Authority
- CN
- China
- Prior art keywords
- port
- packet
- router
- switch hub
- frame
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明的目的在于,在抑制交换式集线器中的电力消耗的同时,不产生无用的数据流。在交换式集线器(50)中,仅基于从下游侧接收到的数据包的头部,对该数据包是否为IGMP数据包进行判定,在为IGMP数据包的情况下,执行将接收到该数据包的端口的端口标识符向路由器(60)通知的处理、以及根据来自路由器(60)的指示进行下游侧端口的开闭的处理。另一方面,在路由器(60)中,在接收到上述端口标识符的通知的情况下,参照由该通知源中继的数据包的有效负载部,对该数据包是否为IGMPJoin进行判定,根据其判定结果,执行向上述通知源的交换式集线器发出端口开闭指示的处理。
Description
技术领域
本发明涉及一种数据的中继技术,特别地,涉及一种多播传送的数据的中继技术。
背景技术
作为在构建通信***时使用的中继装置的一个例子,可以举出路由器及交换式集线器。所谓路由器,是进行从OSI参考模型的第1层(物理层)至第3层(网络层)为止的连接的中继装置,起到经由互联网等IP(Internet Protocol)网与其他路由器进行数据的发送/接收的作用。另一方面,所谓交换式集线器,是指进行从第1层至第2层(数据链路层)为止的连接的中继装置,起到将位于数据通信末端的通信终端(例如,个人计算机等)收容于通信网中的作用。在这里,所谓进行第n层的连接,是指根据第n层的通信协议,进行数据的转送控制。
例如,在第2层的数据组即帧的头部中,作为该帧的发送源地址以及发送目标地址,写入有该帧的发送源以及发送目标通信装置(中继装置或通信终端)的硬件地址即MAC(Media Access Control)地址,在其有效负载部中,写入有第3层的数据组即数据包。并且,在数据包的头部中,作为该数据包的发送源地址以及发送目标地址,写入有用于在第3层中识别其发送源以及发送目标的通信地址即IP地址。在路由器及交换式集线器中,基于在接收到的数据组的头部中所写入的发送目标地址,进行该数据组的转送控制。下面,参照图8,说明路由器及交换式集线器所进行的数据组的转送控制。
图8是表示包含路由器以及交换式集线器的通信***的一个例子的图。在图8所示的通信***中,从发送装置10向接收装置40-k(k=1~4)进行数据发送。此外,在图8中省略了详细的图示,但在路由器20和发送装置10之间,存在与路由器20连接的IP网、以及将该IP网和发送装置10连接的其他路由器。在路由器20上连接有交换式集线器30,在交换式集线器30上,连接有用于接收从发送装置10发送的数据的通信终端(接收装置40-1~40-4)。
如果图8的路由器20接收到包含从发送装置10以接收装置40-1为目标发送的数据包的帧(在有效负载部中写入有该数据包的帧),则参照该数据包的头部,在其发送目标IP地址为已分配给本装置下属的通信终端的IP地址的情况下,将该帧向交换式集线器30转送。相反地,在接收到的帧内所包含的数据包不是发送给下属的通信终端的数据包的情况下,路由器20根据路由表的存储内容,将该帧向其他路由器转送。
图8的交换式集线器30具有各自与其他通信装置(路由器、其他交换式集线器、通信终端)连接的多个端口,与上述多个端口分别进行关联而存储该端口的连接目标通信装置的MAC地址。并且,交换式集线器30如果经由某个端口接收到帧,则参照该帧的头部中所写入的发送目标MAC地址,将该帧向与该发送目标MAC地址对应的端口输出。此外,下面,在交换式集线器所具有的多个端口中,将与路由器连接的端口(或者,经由其他交换式集线器与路由器连接的端口)称为“上游侧端口”,将其他端口(在图8中为与接收装置40-k连接的端口)称为“下游侧端口”。
如上述所示,交换式集线器基于与各端口相关联的MAC地址和接收到的帧的发送目标MAC地址,进行帧的转送控制。因此,在从上游侧接收到包含IP多播传送的数据包的帧的情况下,存在使该交换式集线器的下游侧产生无用的数据流等问题。其原因如下。作为IP多播,是指不以特定的通信终端为目标发送数据包,而是以声明了接收该数据包的通信终端的组(多播组)为目标发送数据包的方式。在IP多播中,数据包的发送目标地址成为分配给多播组的IP地址。相同地,对于包含IP多播传送的数据包的帧,其发送目标MAC地址也不是特定的通信终端的MAC地址,而使用根据多播组的IP地址生成的多播MAC地址。
由于多播MAC地址是根据多播组的IP地址生成的,所以和与交换式集线器的各端口相关联的MAC地址均不一致。如上述所示,在接收到具有和与各端口相关联的MAC地址均不一致的发送目标MAC地址的帧的情况下,在交换式集线器中,执行将该帧向所有下游侧端口发送的处理(泛洪)。例如,在图8所示的通信***中,发送装置10以某个多播组为目标发送数据包,即使在仅接收装置40-1参加了该多播组的情况下,由于在交换式集线器30中进行泛洪,所以也向接收装置40-2~40-4进行包含以上述多播组为目标的数据包的帧的转送。由于接收装置40-2~40-4没有参加多播组,所以向它们进行该帧的转送必然形成无用的数据流。在接收到包含IP多播传送的数据包的帧的情况下,会在交换式集线器的下游产生无用的数据流的原因就在于此。
在现有技术中,提出了各种用于避免这种问题发生的技术,作为其中一个例子,可以举出IGMP(Internet Group ManagementProtocol)侦听。在这里,作为IGMP,是用于实现多播通信的通信协议之一,是用于从通信终端向路由器作出参加多播组的通知的通信协议。如果根据IGMP从下属的通信终端作出参加多播组的通知,则路由器进行下述处理,即,存储表示在本装置的下属设备中存在参加多播组的通信终端这一情况的信息(以下,称为参加管理处理。另外,与根据从多播组脱离的脱离通知删除该信息的处理相组合,称为参加/脱离管理处理),然后,开始将从上游侧以该多播组为目标发送来的数据包向下游侧转送。所谓侦听是“探听”的意思,具有IGMP侦听功能的交换式集线器,参照通过下游侧端口接收到的帧中所包含的数据包的有效负载部,如果该数据包是用于向路由器作出参加多播组的通知的数据包(IGMPJoin),则将表示该多播组的标识符(例如,多播MAC地址:以下称为多播组标识符)与该端口相关联而存储。并且,在从上游侧转送来的帧的发送目标MAC地址与上述多播组标识符一致的情况下,仅向关联了该多播组标识符的下游侧端口发送该帧,不向其他下游侧端口发送该帧。由此,避免无用数据流的产生。此外,作为与具有IGMP侦听功能的交换式集线器相关的现有技术文献,可以举出专利文献1。
专利文献1:日本特开2007-288544号公报
发明内容
另外,在近年,由于对于环境问题的意识提高,将电子设备的消耗电力抑制为与其功能相对应的最低限度值这一点成为大课题,有时通过所谓节约能量法等以立法方式限制消耗电力。对于交换式集线器等通信装置,也不在这种潮流之外(参照“エネルギ一使用の合理化に関する法律施行令第21条特定機器”(日本))。如上述所示,为了不产生无用的数据流,需要在交换式集线器上安装IGMP侦听功能,但在安装IGMP侦听功能的情况下,与不安装该功能的情况相比需要更高的处理能力,自然使消耗电力上升。
本发明就是鉴于上述课题而提出的,其目的在于,提供一种可以在抑制交换式集线器中的电力消耗的同时,不产生无用的数据流的技术。
为了解决上述课题,本发明提供一种通信***,其包含:1或多台交换式集线器,其具有各自连接下游侧的通信装置的多个下游侧端口、和与上游侧的通信装置连接的上游侧端口,基于经由各端口接收到的帧的发送目标地址,进行该帧的转送控制;以及路由器,其位于所述1或多台交换式集线器的上游,该通信***构成为,所述1或多台交换式集线器分别针对所述多个下游侧端口,参照通过该下游侧端口接收到的帧中包含的数据包的头部,对该数据包是否为根据用于实现多播通信的规定的通信协议发送的数据包进行判定,在判定为是根据该通信协议发送的数据包的情况下,执行将表示该下游侧端口的端口标识符向所述路由器通知的第1处理、和根据来自所述路由器的指示进行下游侧端口的开闭的第2处理,所述路由器在由所述1或多台交换式集线器中的某一台通知了端口标识符的情况下,参照通过作为其通知源的交换式集线器向该路由器中继的数据包的有效负载部,对该数据包是否为用于根据所述通信协议作出参加多播组的通知的数据包进行判定,在判定为是用于作出参加多播组的通知的数据包的情况下,对该端口标识符的通知源的交换式集线器发出下述指示,即,仅将该端口标识符所表示的下游侧端口向该多播组开放。
在现有的具有IGMP侦听功能的交换式集线器中,进行下述处理,即,参照数据包的有效负载部,对是否为IGMPJoin进行判定,但在本通信***中包含的交换式集线器中,则是参照数据包的头部。参照数据包的头部的处理与参照数据包的有效负载部的处理相比,处理负载较低。因此,上述通信***中包含的交换式集线器采用处理能力比具有IGMP功能的现有的交换式集线器低的交换式集线器即可,可以抑制其消耗电力。此外,参照数据包的有效负载部对是否为IGMPJoin进行判定的处理,是由路由器进行的,路由器根据该判定结果对交换式集线器发出下游侧端口开闭的指示。在交换式集线器中,根据来自路由器的指示进行下游侧端口的开闭,因此,在交换式集线器的下游侧不会产生无用的数据流。
另外,为了解决上述课题,本发明提供一种交换式集线器,其构成为,具有上游侧端口以及多个下游侧端口,该上游侧端口用于经由1或多个其他交换式集线器而在与路由器之间,或者不经由其他交换式集线器而在与路由器之间,对帧进行发送/接收,该下游侧端口用于在与下游侧的通信装置之间对帧进行发送/接收,该交换式集线器基于经由各端口接收到的帧的发送目标地址,进行该帧的转送控制,该交换式集线器具有:通知单元,其针对所述多个下游侧端口,分别参照经由该下游侧端口接收到的帧中包含的数据包的头部,对该数据包是否为根据用于实现多播通信的规定的通信协议发送的数据包进行判定,在判定为是根据所述规定的通信协议发送的数据包的情况下,将表示该下游侧端口的端口标识符向所述路由器通知;以及端口开闭控制单元,其根据来自所述路由器的指示进行下游侧端口的开闭。此外,在本发明的其他方式中,考虑提供一种使计算机作为上述通知单元以及端口开闭控制单元起作用的程序。
另外,为了解决上述课题,本发明提供一种路由器,其构成为,将经由1或多台交换式集线器接收到的数据包向其他路由器转送,另一方面,将从该其他路由器接收到的数据包经由所述1或多台交换式集线器向其目标地址转送,该路由器具有:判定单元,其在从所述1或多台交换式集线器中的某一台接收到下述通知,即,表示接收到为了实现多播通信而根据规定的通信协议发送的数据包这一状况、且用于告知表示接收到该数据包的端口的端口标识符的通知的情况下,参照该数据包的有效负载部,对该数据包是否是为了根据所述规定的通信协议向该路由器作出参加多播组的通知而发送的数据包进行判定;以及端口开闭指示单元,其在通过所述判定单元判定为是用于作出参加多播组的通知的数据包的情况下,对进行了所述端口标识符的通知的交换式集线器发出下述指示,即,仅将该端口标识符所表示的端口向该多播组开放。此外,在本发明的其他方式中,考虑提供一种使计算机作为上述判定单元以及端口开闭指示单元起作用的程序。
附图说明
图1是表示本发明的第1实施方式的通信***1A的结构例的图。
图2是表示该通信***1A中包含的交换式集线器50的结构例的框图。
图3是表示该交换式集线器50的交换引擎(switching engine)部520所执行的IGMP数据包判定处理的流程的流程图。
图4是表示该通信***1A中包含的路由器60的结构例的框图。
图5是表示该路由器60的路由引擎部620所执行的交换式集线器控制处理的流程的流程图。
图6A是表示本发明的第2实施方式的通信***1B的图。
图6B是表示本发明的第2实施方式的通信***1C的图。
图7是用于说明变形例(1)的端口标识符的通知方式的图。
图8是用于说明路由器和交换式集线器的功能的图。
符号的说明
1A、1B、1C…通信***,10…发送装置,20、60…路由器,30、50…交换式集线器,40-k(k=1~4)…接收装置,510、610…通信I/F部,512U、512D-k(k=1~4)、612U、612D…端口,520…交换引擎部,620…路由引擎部,530、630…存储部,540…控制部。
具体实施方式
下面,参照附图,对本发明的实施方式进行说明。
(A:第1实施方式)
(A-1:结构)
图1是表示本发明的第1实施方式的通信***1A的结构例的图。在图1中,对于与图8中的要素相同的构成要素,标注相同的标号。如果将图1和图8进行对比则明确可知,该通信***1A在取代路由器20而设置路由器60这一点和取代交换式集线器30而设置交换式集线器50这一点上,与图8所示的通信***不同。在该通信***1A中,即使在接收装置40-k(k=1~4)的某1台接收以某个多播组为目标从发送装置10发送的数据包的情况下,也使路由器60和交换式集线器50进行明显代表本实施方式的特征的处理,通过使两者协调动作,从而不在交换式集线器50的下游侧(即,交换式集线器50和其他接收装置40-k之间)产生无用的数据流。下面,以显著代表本实施方式的特征的交换式集线器50以及路由器60为中心进行说明。
图2是表示交换式集线器50的结构的框图。如图2所示,交换式集线器50具有通信接口(以下称为I/F)部510、交换引擎部520、存储部530以及控制部540。控制部540是例如CPU(CentralProcessing Unit),根据存储在存储部530中的固件,集中进行各部分的动作控制。对于控制部540根据该固件执行的处理,在后面详细说明。
通信I/F部510是在与其他通信装置之间进行帧的发送/接收的接口,具有连接各个其他通信装置的多个端口(在图2中为端口512U及512D-1~512D-4这5个端口)。在本实施方式中,经由上述多个端口分别在与其连接目标通信装置之间进行帧的发送/接收。图2的端口512U是与路由器60连接的上游侧端口,端口512D-k(k=1~4)是分别与接收装置40-k连接的下游侧端口。向上述多个端口预先分别分配有唯一地识别各端口的端口标识符。在本实施方式中,向端口512U分配端口编号“0”,向端口512D-k(k=1~4)分配端口编号“k”,这些端口编号起到端口标识符的作用。
交换引擎部520是例如ASIC(Application Specific IntegratedCircuit)。该交换引擎部520在参照存储部530中存储的帧转送控制表的存储内容的同时,基于经由通信I/F部510的各端口接收到的帧的发送目标MAC地址,进行上述帧的转送控制。并且,本实施方式的交换引擎部520在经由下游侧端口接收到帧的情况下,在该帧的转送控制之前,执行图3所示的IGMP数据包判别处理。对于详细内容在动作例中明确说明,但该IGMP数据包判别处理是,在经由下游侧端口接收到的帧为包含IGMP数据包(无论是否为IGMPJoin)的帧的情况下,将接收到该帧的端口的端口标识符向路由器60通知的处理。在本实施方式中,在向路由器60通知端口标识符时,使用专用的帧(以下称为端口标识符通知帧)。在该端口标识符通知帧的头部中,除了该帧的发送源(即,交换式集线器50)以及发送目标(路由器60)的MAC地址之外,还写入表示该帧为端口标识符通知帧的类别信息。另外,在端口标识符通知帧的有效负载部中,写入接收到包含IGMP数据包的帧的下游侧端口的端口标识符。
对于存储部530,在图2中省略了详细的图示,但包含例如RAM(Random Access Memory)等易失性存储器和EPROM(ErasableProgrammable ROM)等非易失性存储器。上述固件存储在非易失性存储器中,在易失性存储器中存储上述帧转送控制表。另外,该易失性存储器被控制部540用作执行上述固件时的工作存储器,并且还起到在上述帧转送控制时临时存储帧的缓存的作用。
在图2的帧转送控制表中,与各端口的端口标识符相关联而登录有与该端口连接的通信装置的MAC地址。此外,对于向帧转送控制表中进行的MAC地址以及端口标识符的登录,采用众所周知的方法即可。另外,在该帧转送控制表中,在上述各端口的连接目标通信装置已参加多播组的情况下,与该端口的端口标识符相关联而登录该多播组的多播组标识符。交换引擎部520在从通信I/F部510接收到的帧为以多播组为目标的帧的情况下,仅从与该多播组的多播组标识符相关联而登录在帧转送控制表中的端口标识符所表示的端口输出该帧,由此避免无用数据流的产生。
如上述所示,与端口标识符相关联而在帧转送控制表中登录多播组标识符的动作,意味着使以该多播组为目标的帧可以通过该端口标识符所表示的端口,因此,称为“对多播组开放端口”。相反地,将相互关联地登录在帧转送控制表中的端口标识符以及多播组标识符的组删除的动作,或者,不进行上述登录的动作,被称为“对多播组关闭端口”。详细内容在后面记述,但对多播组开放(或者关闭)端口的端口开闭控制处理是控制部540根据来自路由器60的指示而执行的。对于来自路由器60的端口开闭指示,也使用新定义的专用的帧(端口开闭指示帧)。
以上是交换式集线器50的结构。
下面,参照图4,对路由器60的结构进行说明。图4是表示路由器60的结构的框图。如图4所示,路由器60具有通信I/F部610、路由引擎部620以及存储部630。通信I/F部610与图2的通信I/F部510相同地,具有多个端口(在图4中为端口612U及612D这2个端口)。图4的端口612U是与IP网(省略图示)连接的上游侧端口,端口612D是与交换式集线器50连接的下游侧端口。此外,本实施方式的通信I/F部610仅具有1个下游侧端口,但当然也可以具有多个下游侧端口。
路由引擎部620包含CPU和RAM(在图4中均省略图示)。上述CPU根据存储部630中存储的固件(程序),基于存储部630中存储的路由表和从通信I/F部610传送的帧的有效负载部中所写入的数据包的发送目标IP地址进行数据包转送控制及相对于多播组的参加/脱离管理处理。对于数据包转送控制处理,由于与通常的路由器进行的处理没有特别的不同之处,所以省略说明。此外,在本实施方式中,由CPU和RAM构成路由引擎部620,但当然也可以由ASIC构成。
并且,本实施方式的路由引擎部620的CPU,在进行上述数据包转送控制处理及相对于多播组的参加/脱离管理处理之前,根据上述固件,执行图5所示的交换式集线器控制处理。对于详细内容在后面记述,但在该交换式集线器控制处理中,首先,对从通信I/F部610传送的帧是否为端口标识符通知帧进行判定,并且,对从该端口标识符通知帧的发送源(即,交换式集线器50)接收到的其他帧中所包含的数据包是否为用于通知参加多播组(或者从多播组脱离)的数据包进行判定。然后,在完全满足上述要件的情况下,路由引擎部620将上述端口开闭指示帧发送回上述端口标识符通知帧的发送源。即,根据上述固件进行动作的路由引擎部620作为下述单元起作用,即:判定单元,其进行上述各判定;以及端口开闭指示单元,其将端口开闭指示帧发送回上述端口标识符通知帧的发送源,对下游侧端口的开闭进行指示。在该端口开闭指示帧的头部中,写入有发送源(即,路由器60)及发送目标(即,交换式集线器50)的MAC地址,和表示该帧为端口开闭指示帧的类别信息。另外,在端口开闭指示帧的有效负载部中写入:多播组标识符,其表示通过上述IGMP数据包做出了参加(或者脱离)的通知的多播组;应相对于该多播组开放(或者关闭)的端口的端口标识符(即,通过上述端口标识符通知帧通知的端口标识符);以及指示符,其对使该端口开放还是关闭进行指示。
以上是路由器60的结构。
(A-2:动作)
下面,在图1所示的通信***1A中,以接收装置40-1接收从发送装置10多播传送的数据的情况为例,对交换式集线器50以及路由器60所执行的动作进行说明。
接收装置40-1的用户在期望接收从发送装置10多播传送的数据的情况下,首先,对接收装置40-1进行指示参加该多播组的操作。如果进行这种操作,则接收装置40-1的控制部(省略图示)生成用于通知参加上述多播组的IGMP数据包(即,IGMPJoin)。这样生成的IGMP数据包,在接收装置40-1内被写入第2层的数据组即帧的有效负载部中,以路由器60为目标进行发送。在该帧的头部中,作为其发送源MAC地址而写入有接收装置40-1的MAC地址,作为其发送目标MAC地址而写入有路由器60的MAC地址。
这样从接收装置40-1发送的帧,在交换式集线器50中经由连接该接收装置40-1的端口(在本动作例中为端口512D-1)向交换引擎部520输入。如上述所示,交换引擎部520在经由下游侧端口接收到帧的情况下,执行图3所示的IGMP数据包判别处理,然后,进行基于其目标地址的帧转送控制。此外,在经由上游侧端口接收到帧的情况下,交换引擎部520不进行IGMP数据包判别处理,而是进行基于其目标地址的帧转送控制。在本动作例中,由于交换式集线器50经由作为下游侧端口的端口512D-1而接收帧,所以在帧转送控制之前,执行图3的IGMP数据包判别处理。
图3是表示交换式集线器50的交换引擎部520所执行的IGMP数据包判别处理的流程的流程图。如图3所示,交换引擎部520参照经由下游侧端口接收到的帧的有效负载部中写入的数据包的头部,对该数据包是否为IGMP数据包进行判定(步骤SA100)。具体地说,交换引擎部520将接收到的帧的有效负载部中写入的数据包的头部读出,对在该头部中记述的协议类别是否为表示IGMP的协议类别进行判定。在该协议标识符为表示IGMP的协议标识符的情况下,步骤SA100的判定结果成为“是”,在为表示其他协议的协议标识符的情况下,步骤SA100的判定结果成为“否”。另外,交换引擎部520仅在步骤SA100的判定结果为“是”的情况下,生成用于对接收到IGMP数据包的下游侧端口的端口标识符进行通知的端口标识符通知帧,并向路由器60发送(步骤SA110)。
如上述所示,在本动作例中,在从接收装置40-1向交换式集线器50发送的帧的有效负载部中,写入有IGMP数据包(具体地说为IGMPJoin)。因此,上述步骤SA100的判定结果成为“是”,从交换式集线器50向路由器60发送在有效负载部中写入有接收到该帧的端口的端口标识符(端口512D-1的端口标识符)的端口标识符通知帧。另外,还独立于该端口标识符通知帧,另外将从接收装置40-1接收到的帧(包含IGMP数据包的帧)向路由器60转送。
图5是表示路由器60的路由引擎部620所执行的交换式集线器控制处理的流程的流程图。如图5所示,路由引擎部620如果经由下游侧端口(端口612D)接收到帧,则首先,参照该帧的头部中写入的类别信息,对该帧是否为端口标识符通知帧进行判定(步骤SB100)。然后,路由引擎部620仅在步骤SB 100的判定结果为“是”的情况下,执行步骤SB110以后的处理。在本动作例中,由于从交换式集线器50首先发送来端口标识符通知帧,所以步骤SB100的判定结果成为“是”,执行步骤SB110以后的处理。
步骤SB110的处理是,对从端口标识符通知帧的发送源接收到的其他帧是否为包含用于通知参加多播组(或者从多播组脱离)的IGMP数据包的帧进行判定的处理。在这里,对于从端口标识符通知帧的发送源接收到的其他帧中包含的数据包是否为用于通知参加多播组(或者从多播组脱离)的IGMP数据包的判定,只要与现有的IGMP侦听中的情况相同地,参照该帧中包含的数据包的有效负载部而进行即可。
并且,在步骤SB110的判定结果为“是”的情况下,路由引擎部620与上述IGMP数据包的内容相对应而生成用于指示下游侧端口开闭的端口开闭指示帧,并以上述端口标识符通知帧的发送源为目标进行发送(步骤SB120)。例如,在从端口标识符通知帧的发送源接收到的其他帧中所包含的数据包为,用于通知参加多播组的IGMP数据包(IGMPJoin)的情况下,路由引擎部620生成并发送下述端口开闭指示帧,该帧用于指示仅将由上述端口标识符通知帧通知的端口标识符所表示的端口向该多播组开放。另一方面,在为用于通知从多播组脱离的IGMP数据包的情况下,路由引擎部620生成并发送下述端口开闭指示帧,该帧用于指示将由上述端口标识符通知帧通知的端口标识符所表示的端口,相对于通知了该脱离的多播组而关闭。
在本动作例中,由于经由交换式集线器50从接收装置40-1发送来的数据包是IGMPJoin,所以步骤SB110的判定结果成为“是”,执行步骤SB120的处理。即,在本动作例中,从路由器60向交换式集线器50发送下述端口开闭指示帧,该帧用于指示仅将端口编号“1”的端口向利用上述IGMPJoin进行了参加通知的多播组开放(换言之,将其他下游侧端口关闭)。
交换式集线器50的控制部540如果经由通信I/F部510以及交换引擎部520接收到端口开闭指示帧,则根据该帧的内容,进行下游侧端口的开闭(即,帧转送控制表的存储内容的更新)。其结果,在交换式集线器50的下游侧的4个端口中,仅端口编号“1”的端口(即,端口512D-1)向上述多播组开放,而其他下游侧端口关闭。因此,从发送装置10开始以上述多播组为目标发送数据包,即使该数据包被从路由器60向交换式集线器50转送,也不将该数据包向接收装置40-2、40-3以及40-4转送,不会产生无用的数据流。
以上是本实施方式的动作。
在现有的具有IGMP侦听功能的交换式集线器中,进行参照数据包的有效负载部而判定是否为IGMPJoin的处理,但在本实施方式的交换式集线器50中参照数据包的头部,而对于参照数据包的有效负载部判定是否为IGMPJoin的处理,是在路由器60中进行的。参照数据包的头部的处理与参照数据包的有效负载部的处理相比,处理负载低,因此,作为交换式集线器50,可以使用与具有IGMP侦听功能的交换式集线器相比处理能力较低的设备,可以抑制其消耗电力。另外,如上所述,本实施方式中在交换式集线器50的下游不产生无用的数据流。如上述所示,根据本实施方式,可以在抑制交换式集线器中的电力消耗的同时,在该交换式集线器的下游侧不产生无用的数据流。
(B:第2实施方式)
在上述第1实施方式的通信***1A中,在路由器60上仅连接有1台交换式集线器,但当然还可以考虑多台交换式集线器与路由器60的下游连接的方式。在本实施方式中,在路由器60的下游连接有多台交换式集线器这一点,与上述第1实施方式不同。
在这里,作为在路由器60的下游连接多台交换式集线器的方式的具体例子,考虑以下2种方式。第1,如图6A所示的通信***1B那样,多台交换式集线器(在图6A中为交换式集线器50A、50B、50C以及50D这4台)直接与路由器连接的方式(换言之,各交换式集线器不经由其他交换式集线器而与路由器连接的方式)。此外,在图6A中,省略了路由器60上游的通信装置(例如,图1的发送装置10)的图示(图6B也相同)。另外,第2方式为,如图6B所示的通信***1C那样,在多台交换式集线器中,包含经由1台或多台其他交换式集线器与路由器连接的交换式集线器的方式。例如,在图6B中,交换式集线器50B经由1台其他交换式集线器(交换式集线器50A)与路由器60连接,交换式集线器50C经由多台其他交换式集线器(即,交换式集线器50B及50A)与路由器60连接。
在图6A及图6B所示的连接方式中,均通过使交换式集线器50A~50D分别执行图3的IGMP数据包判别处理以及端口开闭控制处理,并且,使路由器60执行图5所示的交换式集线器控制处理,从而可以避免无用的数据流的产生。此外,在图6B所示的连接方式中,在下游侧连接有其他交换式集线器的交换式集线器,不进行IGMP数据包判别处理以及端口开闭控制处理,另外,即使是连IGMP侦听功能也不具有的交换式集线器(即,不进行多播数据包的过滤的交换式集线器),只要该交换式集线器可以转送端口标识符通知帧以及端口开闭指示帧,更下游的交换式集线器可以执行图3的IGMP数据包判别处理以及端口开闭控制处理,则在该下游侧的交换式集线器的下游不产生无用的数据流。
例如,在图6B所示的方式中,假设交换式集线器50A不进行IGMP数据包判别处理以及端口开闭控制处理,另外,也不具有IGMP侦听功能。并且,假设交换式集线器50B~50D均可以执行IGMP数据包判别处理以及端口开闭控制处理。在此情况下,如果仅有与交换式集线器50B连接的接收装置40B发送IGMPJoin,则交换式集线器50B将连接有接收装置40B的端口的端口标识符向路由器60通知,根据来自路由器60的指示,仅将该端口向该多播组开放。另外,对于交换式集线器50C及50D,由于没有从各自的连接目标接收装置发送来IGMPJoin,所以不进行上述IGMP数据包判别处理,不从路由器60指示对该多播组开放端口。即,交换式集线器50C及50D的下游侧的各端口保持相对于上述多播组关闭的状态。
如果在这种状况下开始以上述多播组为目标发送数据包,则由于在交换式集线器50A中不进行多播数据包的过滤,所以将包含该数据包的帧向交换式集线器50B和50D转送。但是,在交换式集线器50D中,由于没有对上述多播组开放下游侧端口,所以不将上述帧向交换式集线器50D的下游侧转送。另一方面,在交换式集线器50B中,由于仅将连接有接收装置40B的端口向上述多播组开放,所以仅经由该端口进行该帧的转送,而不从交换式集线器50B向交换式集线器50C转送上述帧。如上述所示,即使最上游的交换式集线器50A不进行多播数据包的过滤,也不会在其下游侧的交换式集线器50B、50C及50D的下游产生无用的数据流。
如上述所示,即使在路由器的下游连接有多台交换式集线器的情况下,与仅由交换式集线器进行IGMP侦听的情况相比,也可以在减轻各交换式集线器的处理负载的同时,防止产生无用的数据流。因此,与使各交换式集线器执行IGMP侦听的情况相比,可以将各交换式集线器的处理能力抑制得较低,可以抑制其电力消耗。
(C:变形)
以上,对本发明的第1及第2实施方式进行了说明,但当然也可以将这些实施方式以下述方式进行变形。
(1)在上述实施方式中,通过端口标识符通知帧的发送,而向路由器60通知接收到包含IGMP数据包的帧的下游侧端口的端口标识符,但也可以通过在该帧的头部的规定区域(例如,选项(option)字段等)中追加上述端口标识符和进行该端口标识符的通知的交换式集线器的MAC地址,并进行转送,从而实现向路由器60的通知。在这里,除了端口标识符之外还追加该端口标识符的通知源的MAC地址这一点,是为了将该通知源向路由器60传达。另外,在通信***中,包含经由1或多个其他交换式集线器与路由器连接的交换式集线器的情况下,只要以越是上游侧的交换式集线器越在上述规定区域的接近开头的位置处追加端口标识符以及MAC地址的方式,阶梯式地进行端口标识符以及MAC地址的追加即可。例如,在图6B的交换式集线器50B进行包含IGMP数据包的帧F1的转送时,向交换式集线器50A发送在头部中追加了接收到该帧的端口的端口标识符和该端口标识符的通知源的MAC地址(即,交换式集线器50B的MAC地址)后的帧F2(参照图7),在交换式集线器50A中,只要向路由器60发送在头部中追加了接收到该帧的端口的端口标识符和该端口标识符的通知源的MAC地址(即,交换式集线器50A的MAC地址)后的帧F3(参照图7)即可。
(2)在上述实施方式中,接收到包含IGMP数据包的帧的交换式集线器50,向路由器60通知接收到该帧的下游侧端口的端口标识符。但是,除了端口标识符之外,也可以通知该IGMP数据包的发送源的通信地址(MAC地址或者IP地址)。根据这种方式,即使在接收装置40-k(k=1~4)分别参加各自的多播地址不同的多个多播组的情况下,也可以将从各接收装置40-k发送的IGMPJoin和接收到包含该IGMPJoin的帧的交换式集线器的下游侧端口的端口标识符,基于该IGMPJoin的发送源地址和与上述端口标识符一起通知的通信地址而进行关联,适当地相对于各多播组进行端口的开闭。
(3)在上述实施方式中,在路由器60中判定由端口标识符通知帧的发送源的交换式集线器进行中继的帧中包含的数据包是否为用于通知参加多播组或者从多播组脱离的数据包,并使路由器60发送与该判定结果对应的端口开闭指示帧。但是,随着IGMP版本的不同,存在没有定义用于通知从多播组脱离的IGMP数据包的情况。因此,当然也可以仅将用于通知参加多播组的数据包,作为步骤SB110的判定对象。如上述所示,在仅将用于通知参加多播组的数据包作为步骤SB110的判定对象的情况下,也可以使路由器60执行下述等的计时器处理,即,在从接收该数据包开始经过一定时间后的时刻,发送用于指示相对于该多播组关闭端口的端口开闭指示帧。
(4)在上述实施方式中,使ASIC(交换引擎部520)执行交换式集线器50中的IGMP数据包判别处理,使控制部540根据固件执行该端口开闭控制处理。即,在上述实施方式中,由硬件实现IGMP数据包判别处理,由软件实现端口开闭控制处理。但是,也可以使两者都由软件(或硬件)实现,另外,也可以由软件实现IGMP数据包判别处理,由硬件实现端口开闭控制处理。相同地,当然也可以由硬件实现路由器60中的交换式集线器控制处理。
另外,在由软件(即,交换式集线器的固件)实现IGMP数据包判别处理和端口开闭控制处理的方式中,也可以在CD-ROM(Compact Disk-Read Only Memory)等计算机可读取的记录介质中写入该固件并分发,另外,也可以通过经由互联网等电通信线路的下载而分发该固件。其原因在于,通过利用这样分发的固件改写已有的交换式集线器的固件,从而可以使已有的交换式集线器具备与交换式集线器50相同的功能。相同地,对于实现交换式集线器控制处理的固件,也可以向计算机可读取的记录介质中写入并分发,也可以通过经由互联网等电通信线路的下载而分发。其原因在于,通过利用这样分发的固件改写已有的路由器的固件,从而可以使已有的路由器具备与路由器60相同的功能。此外,在上述实施方式中,对于交换式集线器50的存储部530中存储的固件(即,使控制部540执行端口开闭控制处理的程序),也可以向计算机可读取的记录介质中写入并分发,另外,也可以通过经由电通信线路的下载而分发。
Claims (3)
1.一种通信***,其包含:1或多台交换式集线器,其具有各自连接下游侧的通信装置的多个下游侧端口、和与上游侧的通信装置连接的上游侧端口,基于经由各端口接收到的帧的发送目标地址,进行该帧的转送控制;以及路由器,其位于所述1或多台交换式集线器的上游,
该通信***构成为,
所述1或多台交换式集线器分别针对所述多个下游侧端口中的每一个,参照通过本下游侧端口接收到的帧中包含的数据包的头部,对该数据包是否为根据用于实现多播通信的规定的通信协议发送的数据包进行判定,在判定为是根据该通信协议发送的数据包的情况下,执行将表示本下游侧端口的端口标识符向所述路由器通知的第1处理、和根据来自所述路由器的指示进行下游侧端口的开闭的第2处理,
所述路由器在由所述1或多台交换式集线器中的某一台通知了端口标识符的情况下,参照通过作为其通知源的交换式集线器向该路由器中继的数据包的有效负载部,对该数据包是否为用于根据所述通信协议作出参加多播组的通知的数据包进行判定,在判定为是用于作出参加多播组的通知的数据包的情况下,对该端口标识符的通知源的交换式集线器发出下述指示,即,仅将该端口标识符所表示的下游侧端口向该多播组开放。
2.一种交换式集线器,其构成为,具有上游侧端口以及多个下游侧端口,该上游侧端口用于经由1或多个其他交换式集线器而在与路由器之间,或者不经由所述其他交换式集线器而在与路由器之间,对帧进行发送/接收,所述多个下游侧端口用于在与下游侧的通信装置之间对帧进行发送/接收,所述交换式集线器基于经由各端口接收到的帧的发送目标地址,进行该帧的转送控制,
所述交换式集线器具有:
通知单元,其针对所述多个下游侧端口中的每一个,分别参照经由本下游侧端口接收到的帧中包含的数据包的头部,对该数据包是否为根据用于实现多播通信的规定的通信协议发送的数据包进行判定,在判定为是根据所述规定的通信协议发送的数据包的情况下,将表示本下游侧端口的端口标识符向所述路由器通知;以及
端口开闭控制单元,其根据来自所述路由器的指示进行下游侧端口的开闭。
3.一种路由器,其构成为,将经由1或多台交换式集线器接收到的数据包向其他路由器转送,另一方面,将从该其他路由器接收到的数据包经由所述1或多台交换式集线器向其目标地址转送,
该路由器具有:
判定单元,其在从所述1或多台交换式集线器中的某一台接收到下述通知,即,表示接收到为了实现多播通信而根据规定的通信协议发送的数据包这一状况、且用于告知表示接收到该数据包的端口的端口标识符的通知的情况下,参照该数据包的有效负载部,对该数据包是否是为了根据所述规定的通信协议向该路由器作出参加多播组的通知而发送的数据包进行判定;以及
端口开闭指示单元,其在通过所述判定单元判定为是用于作出参加多播组的通知的数据包的情况下,对进行了所述端口标识符的通知的交换式集线器发出下述指示,即,仅将该端口标识符所表示的端口向该多播组开放。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-057990 | 2010-03-15 | ||
JP2010057990A JP5569057B2 (ja) | 2010-03-15 | 2010-03-15 | 通信システム、スイッチングハブ、およびルータ |
PCT/JP2011/055425 WO2011114951A1 (ja) | 2010-03-15 | 2011-03-08 | 通信システム、スイッチングハブ、およびルータ |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102804716A CN102804716A (zh) | 2012-11-28 |
CN102804716B true CN102804716B (zh) | 2015-05-27 |
Family
ID=44649049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180014286.3A Active CN102804716B (zh) | 2010-03-15 | 2011-03-08 | 通信***、交换式集线器以及路由器 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5569057B2 (zh) |
CN (1) | CN102804716B (zh) |
WO (1) | WO2011114951A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5677392B2 (ja) * | 2012-09-26 | 2015-02-25 | 三菱電機株式会社 | 通信アダプタ、識別符号生成方法、プログラム及びネットワークシステム |
WO2016021180A1 (ja) * | 2014-08-07 | 2016-02-11 | 日本電気株式会社 | 通信端末装置及びその送受信方法、並びにコンピュータ・プログラムが格納された記録媒体 |
CA2982147A1 (en) * | 2017-10-12 | 2019-04-12 | Rockport Networks Inc. | Direct interconnect gateway |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608726A (en) * | 1995-04-25 | 1997-03-04 | Cabletron Systems, Inc. | Network bridge with multicast forwarding table |
EP0967753A2 (en) * | 1998-06-17 | 1999-12-29 | Fujitsu Limited | Communication control unit and communication control method applied for multicast-supporting LAN |
CN1414759A (zh) * | 2002-01-30 | 2003-04-30 | 华为技术有限公司 | 受控组播的***及其实现方法 |
JP2008060631A (ja) * | 2006-08-29 | 2008-03-13 | Alaxala Networks Corp | 通信装置及びマルチキャストユーザ認証方法 |
-
2010
- 2010-03-15 JP JP2010057990A patent/JP5569057B2/ja active Active
-
2011
- 2011-03-08 CN CN201180014286.3A patent/CN102804716B/zh active Active
- 2011-03-08 WO PCT/JP2011/055425 patent/WO2011114951A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608726A (en) * | 1995-04-25 | 1997-03-04 | Cabletron Systems, Inc. | Network bridge with multicast forwarding table |
EP0967753A2 (en) * | 1998-06-17 | 1999-12-29 | Fujitsu Limited | Communication control unit and communication control method applied for multicast-supporting LAN |
CN1414759A (zh) * | 2002-01-30 | 2003-04-30 | 华为技术有限公司 | 受控组播的***及其实现方法 |
JP2008060631A (ja) * | 2006-08-29 | 2008-03-13 | Alaxala Networks Corp | 通信装置及びマルチキャストユーザ認証方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102804716A (zh) | 2012-11-28 |
JP2011193261A (ja) | 2011-09-29 |
WO2011114951A1 (ja) | 2011-09-22 |
JP5569057B2 (ja) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1564930B1 (en) | Method of transporting a multipoint stream in a local area network and device for connection implementing the method | |
US10075371B2 (en) | Communication system, control apparatus, packet handling operation setting method, and program | |
JP5850471B2 (ja) | 通信システム、制御装置、ノード制御方法およびプログラム | |
US8934486B2 (en) | System and method for implementing multicast over a label-switched core network | |
CN101133607B (zh) | 创建多点到多点传输树的方法和装置 | |
US7746858B2 (en) | Scaling enhancement for PIM control messages in multicast VPNs | |
JP5017218B2 (ja) | パケット転送装置 | |
CN102075417A (zh) | 组播剪枝方法及协议无关组播路由器、二层交换机 | |
CN113196705B (zh) | 组播流量的路径内遥测 | |
EP2686982B1 (en) | Quantifying available service-level capacity of a network for projected network traffic | |
CN100550849C (zh) | 分组传送控制方法与*** | |
CN102804716B (zh) | 通信***、交换式集线器以及路由器 | |
CN100492977C (zh) | 指定源组播协议无关组播模式下跨虚拟局域网组播的方法和*** | |
CN102804707A (zh) | 用于在数据链路层内管理源节点和目标节点之间的路径的方法,以及相应的源节点和表 | |
CN103477594B (zh) | 通信***、路由器、交换式集线器及通信方法 | |
CN104767720A (zh) | 一种软件定义网络中OpenFlow消息跟踪和过滤的方法 | |
CN104518970A (zh) | 流表更新方法、装置及控制器 | |
CN101483582B (zh) | 实现二三层组播路径跟踪切换的方法、***及路由器 | |
CN2938596Y (zh) | 一种在现有epon网络中实现ipv6组播过滤的装置 | |
CN111970201A (zh) | 一种多芯片级联的转发***及转发控制方法 | |
CN102882794A (zh) | 以太网组播数据传输的优化方法 | |
EP3104562B1 (en) | Method of aggregation of flows in ict networks | |
CN102377639A (zh) | 组播剪枝方法及协议无关组播路由器、组管理窥探交换机 | |
CN2922305Y (zh) | 采用硬件扩展方式在epon上实现ipv6组播过滤的装置 | |
CN101222780B (zh) | 在以太网交换芯片上实现虚拟局域网与用户绑定的方法 |
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 |