CN102439948B - 为基于以太网的多播通信确定组地址 - Google Patents
为基于以太网的多播通信确定组地址 Download PDFInfo
- Publication number
- CN102439948B CN102439948B CN201080016348.XA CN201080016348A CN102439948B CN 102439948 B CN102439948 B CN 102439948B CN 201080016348 A CN201080016348 A CN 201080016348A CN 102439948 B CN102439948 B CN 102439948B
- Authority
- CN
- China
- Prior art keywords
- multicast
- address
- hash
- group
- multicast group
- 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
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
Abstract
本发明提供一种通信系统,其包括:多播组地址分配器,其与配置为至少一个多播组的多个节点通信,其中,在从所述节点之中创建新多播组后,所述多播组地址分配器经配置以基于属于所述新多播组的每一组成员的散列片段的所指派多播地址而将多播地址指派给所述新多播组。本发明提供一种多播组地址分配器,其包括:网络接口,其与多个节点通信;控制器,其耦合到所述网络接口;以及存储媒体,其耦合到所述控制器,其中,在被请求时,所述控制器将多播地址指派给来自所述节点之中的新多播组,其中所述控制器存取所述节点的散列片段信息,且基于所述散列片段信息而选择所述多播地址,且其中所述散列片段信息存储在所述存储媒体中。
Description
本发明要求李明等人在2009年4月24日递交的发明名称为“为基于以太网的多播通信确定组地址的方法”的申请号为61/172,609的美国临时专利申请,以及李明等人在2010年4月16日递交的发明名称为“为基于以太网的多播通信确定组地址”的申请号为US12/761,827的美国专利申请的在先申请优先权,该等在先申请的内容以全文引用的方式并入本文本中。
技术领域
无
发明背景
计算机和有关装置通常使用已知的组网方案组网在一起,以交换数据的包或帧(通常称为数据包、数据帧或数据报)。连接到网络的计算机通常称为主机。在因特网上,术语“主机”通常表示具有对因特网上的其它计算机的全双向接入权的任何计算机。联结到网络的计算机使用某一种类的连接装置,例如网络接口卡(NIC),来与网络通信和交换数据。
存在多种不同的网络类型。举例来说,广域网(WAN)是地理上分散的电信网络。WAN可为私有的或租借的,但通常将此术语解释为包含公共(共享用户)网络。将WAN被称为比城域网(MAN)的电信结构广的电信结构,MAN大于局域网(LAN)。LAN是在相对较小的地理区域(例如办公楼)内共享单个处理器或服务器的资源的互连工作站的网络。一些常见LAN技术包含:以太网、令牌环、附加资源计算机网络(ARCNET)以及光纤分布数据接口(FDDI)。LAN可仅服务几个用户,或通过使用FDDI,可服务宽得多的区域上的几千个用户。服务器通常将具有由多个工作站用户共同共享的应用程序和数据存储装置。
如果采取安全保卫措施来保护内部应用程序和数据免受外界存取,那么LAN服务器还可用作因特网上的万维网服务器。在因特网上,使用某些协议,包含传输控制协议(TCP)和因特网协议(IP)。TCP使用一组规则来在信息包层级上与其它因特网连接交换消息。IP使用一组规则来在因特网地址层级上发送和接收消息。对于IP第4版,IP地址由32位数字组成,且用于识别以包的形式在因特网上发送的信息的每一发送者和接收者。相反,IP第6版使用128位地址,且未来版本将可能使用更多的位来促进较高的数据业务流。TCP/IP将唯一编号(或“IP编号”)指派给每个工作站。此IP编号为四字节值,按照惯例,通过将每一字节转换成十进制数(0到255)且用点号分离所述字节,来表达所述四字节值。IP地址具有两个部分:因特网上的特定网络的识别符(前两个字节),以及所述网络内的特定装置的识别符(其可为服务器或工作站,且为后两个字节)。基于32位IP地址内的高阶位将IP地址的范围分成若干“类”。A类地址是针对具有许多装置的大网络,B类地址是针对中等大小的网络,C类地址是针对小网络(例如,少于256个装置),D类地址是多播地址,且E类地址保留。
开放系统互连(OSI)标准是用于在电信网络中的两个点之间传输消息的系统。将通信分成若干个层,其中每一层增加某一额外功能性。对于任一给定消息,发送点处将存在向下经过每一层的数据流。在接收点处,数据将向上流经所述层。提供这些功能性层的编程和硬件通常源自计算机操作系统、应用程序和TCP/IP或其它网络协议的组合。OSI将通信分成七个层。所述层可进一步分成两个组,其中当消息从用户传递或传递给用户时,使用上部四个层,且当任何消息经过主机计算机时,使用下部三个层。既定用于此计算机的消息传递到上部层。去往某一其它主机计算机的消息不向上传递到上部层,而是转发到另一主机。
七个OSI层包含:层1,物理层,其在电和机械层级经由网络传达位流;层2,数据链路层,其为物理层级提供错误控制和同步;层3,网络层,其处置数据的路由和转发;层4,输送层,其管理数据传送的端到端控制和错误校验;层5,会话层,其设置、协调和终止每一端处的应用程序之间的谈话、交流和会话;层6,呈现层,其通常是操作系统的一部分,且将传入和传出数据从一种呈现格式转换为另一种呈现格式(例如,语法层);以及层7,应用层,其为识别通信合作者、识别服务质量、考虑用户验证和隐私以及识别对数据语法的限制的层。再次参考层2,此协议层处置数据经由网络中的物理链路的移入和移出。层2含有两个子层:媒体接入控制(MAC)和逻辑链路控制(LLC)。举例来说,在LAN上,通过供应六字节唯一识别符,称为MAC地址,来在机器之间发送消息。
再次参考属于D类的IP地址,使用多播地址来将数据发送到因特网上的大量主机,而不是发送到特定的个别用户。不是所有主机都会实际使用或处理此数据。类似于无线电或TV广播,接收方必然已“调谐”其计算机装置以接收此数据。对于多播地址(在32位系统中),最低的4个位是“1110”,接着是28位多播地址。因此,目的地以“1110”开始的每个IP数据报都是IP多播数据报。组织的局域网内所使用的机器或物理地址(例如,MAC地址)可不同于因特网上的IP地址。典型实例是48位以太网地址(以太网是广泛安装的LAN技术)。TCP/IP包含称为地址解析协议(ARP)的设施,其令网络管理员创建将32位(4字节)IP地址映射到48位(6字节)MAC地址的表。在以太网LAN上,MAC地址通常与以太网地址相同。
发明内容
在一个方面中,本发明包含一种通信系统,其包括多播组地址分配器,所述多播组地址分配器与配置为至少一个多播组的多个节点通信,其中,在从所述节点之中创建新的多播组后,所述多播组地址分配器经配置以基于属于新多播组的每一组成员的散列片段的所指派多播地址而将多播地址指派给新的多播组。
在另一方面中,本发明包含一种多播组地址分配器,其包括:网络接口,其与多个节点通信;控制器,其耦合到网络接口;以及存储媒体,其耦合到控制器,其中,在被请求时,控制器将多播地址指派给来自所述节点之中的新多播组,其中控制器存取所述节点的散列片段信息,且基于所述散列片段信息而选择多播地址,且其中所述散列片段信息存储在存储媒体中。
在第三方面中,本发明包含一种用于多播组地址分配的方法,其包括:从多个节点接收散列片段信息;接收将多播地址指派给来自所述节点之中的新多播组的请求;以及基于接收到的散列片段信息而指派多播地址。
从结合附图和所附权利要求书进行的以下详细描述将更清楚地理解这些和其它特征。
附图简述
为了更完整地理解本发明,现在参考以下结合附图和详细描述进行的简要描述,其中相同参考标号表示相同部分。
图1说明根据本发明实施例的多播通信系统。
图2说明根据本发明实施例的多播组地址分配器。
图3说明根据本发明实施例的多播组地址分配方法。
图4说明根据本发明实施例的计算机系统。
具体实施方式
最初应理解,尽管下文提供一个或一个以上实施例的说明性实施方案,但可使用任何数目的技术,不管是当前已知还是现有的,来实施所揭示的系统和/或方法。本发明决不应限于下文所说明的所述说明性实施方案、图式和技术,包含本文所说明并描述的示范性设计和实施方案,而是可在所附权利要求书的范围以及其均等物的完整范围内修改。
将多播地址发射到网络上的许多主机。然而,不是所有与多播地址相关联的数据帧都既定穿过主机机器且由主机机器处理。因此,为了提高主机机器的效率,对多播地址的过滤变得重要。在过去的配置中,多播地址过滤器使用整个六字节目的地址来执行散列功能。接着将结果的某些位用作散列查找表的索引,其中所述表由主机机器驱动器或嵌入式固件初始化。如果查找表中的加索引值是设定的,那么接收到的数据包经过过滤器,且传递到主机机器上以供进一步处理。如果查找表中的加索引值未设定,那么丢弃所述数据包。
散列是将一串字符变换成表示原始串的通常较短的固定长度值或键。散列用于从表(或数据库)中索引和检索项目。一般来说,散列证明是用于索引和寻找项目的较快方法,因为其使用较短的散列键,而不是原始(较长)值。散列算法被称为散列函数。通常,第一散列串将产生与第二散列串不同的值。然而,随着散列函数输出的位数目(例如,散列索引长度)减少,散列函数产生来自两个不同串的同一所得值的可能性增加。散列函数和输出位的数目取决于所使用的MAC芯片。
从不同输入串产生相同散列函数值的概率极其小,特别是随着散列函数输出的位的数目接近输入的位的数目的情况。然而,在实践中,实际使用所述位的相当小的部分。举例来说,将48个地址位向下散列到32个位,从而增加复制的机会。对于所得的32个位,更加小的数目的位通常用于形成索引。这些因素实质上增加了散列表的两个索引相同的机会。此情形导致无用数据帧被上载到主机机器,其消耗来自主机中央处理单元(CPU)的有价值的处理能力。
图1说明根据本发明实施例的多播通信系统100。如图所示,多播通信系统100包括多个通信节点102A到102N,其经配置以基于多播组地址分配器操作而通信。在至少一些实施例中,通信节点102A到102N是无线局域网(WLAN)的一部分。举例来说,通信节点102A到102N中的至少一者可以是提供无线数据和/或通信服务(例如,电话服务、因特网服务、数据服务、消息接发服务、即时消息接发服务、电子邮件(email)服务、聊天服务、视频服务、音频服务、游戏服务等)的接入点,而其它通信装置可以是多种固定位置和/或移动无线装置或台(STA)中的任一者。应了解,通信系统100意在为说明性的而非详尽的。举例来说,应了解,可使用更多、不同或更少的通信节点102A到102N来实施本发明的实施例。
通信节点102A到102N可包括具有无线通信能力的任何种类的移动装置和/或个人计算机(PC)、个人数字助理(PDA)或MP3播放器、无线电话(例如蜂窝式电话、智能电话等),以及具有无线通信能力的膝上型计算机。在至少一些实施例中,通信装置102A到102D是根据至少一个有线和/或无线通信标准(例如,来自电气和电子工程师学会(IEEE)802.11标准体系)来实施。
根据实施例,通信节点102A到102N中的至少一者作为多播发送器而操作,而其它通信装置作为多播接收器而操作。应理解,所有的通信节点102A到102N都能够作为多播发送器和多播接收器两者而操作。换句话说,同一通信装置能够执行多播发送器操作和多播接收器操作。如先前所提到,通信节点102A到102N所执行的多播是基于如本文所述的多播组地址分配器的操作而进行。本文所述的多播组地址分配器的操作可例如由通信节点102A到102N中的一者或由与通信节点102A到102N通信的单独管理装置来执行。
在图1中,论述通信节点102A的各种组件。对通信节点102A的论述也适用于其它通信节点102B到102N。如图所示,通信节点102A包括耦合到MAC核心106(或作为其一部分)的多播组地址分配器接口104。多播组地址分配器接口104促进通信节点102A与多播组地址分配器120之间的通信,多播组地址分配器120为通信系统100提供集中式组地址指派功能。
在至少一些实施例中,MAC核心106对通信节点102A执行MAC地址过滤。以此方式,主机处理器(未图示)不用对无用MAC地址进行过滤。如图所示,MAC核心106包括散列装置110。散列装置110例如对传入的MAC目的地址(DA)的某一数目个位执行循环冗余校验(CRC)功能。尽管CRC可用于校验已在通信链路上发射的所接收数据中的错误,但散列装置110可将CRC用作散列功能来将位流变换成较简单的代表值。举例来说,可使用传入的6字节MAC目的地址的某些较低位来产生CRC值。另外,所得CRC值的某些位用于经散列值。在数学上,数千个MAC地址将散列到同一值,但随着使用较多的位,针对两个不同输入串产生同一经散列值的机会减小。然而,为了加速处理,所使用的位的数目通常将取决于所使用的MAC芯片。本文可使用且相关技术中已知的其它相对较简单的散列功能包含:除法-余数方法、折叠、基数变换以及数位重排。
不管特定散列操作如何,散列装置110均产生用于搜遍散列片段114的索引值112。散列片段114含有状态条目(通常为“1”或“0”),其表示与每一MAC目的地址相关联的数据帧的有效性。散列片段条目例如由主机计算机上的驱动器或NIC的嵌入式固件输入。根据索引值112来索引散列片段条目,这使得能够快速地搜索到散列片段,以提供对应于每一传入MAC目的地址116的数据帧的状态。举例来说,如果将状态设定为“1”,那么接收到的数据包经过MAC核心106的过滤操作,且上载到主机以供进一步处理。否则,接收到的数据包被由组件108表示的主机驱动器或板上处理器丢弃。
不滤出无用多播业务的主要原因之一是多个多播地址可能散列到同一散列片段中。对于经散列的多播地址,接收节点对一些多播地址感兴趣,而其它多播地址是无用的。对于给定数目的组(N个组),需要解决的问题是:1)如何选择N个多播地址(将每一组指派给不同的MAC地址);和2)如何为新的组指派来自N个多播地址的多播地址。根据至少一些实施例,多播组地址分配器120执行多播组地址指派和分配,以便以使节点所接收到的所有或大多数无用多播业务能够被MAC硬件滤出的方式来处置这两个问题。以此方式,用于处理无用多播业务的主机CPU介入得以减到最小。为了确定多播地址,集中式地址分配器需要知道:1)系统将支持的组的最大数目;和2)MAC芯片中使用的散列函数以及散列片段的数目。
在至少一些实施例中,多播地址选择和指派是基于两个原理。第一原理是将较小数目的多播地址指派给每一散列片段是优选的。解释是当节点需要启用新的散列片段时(例如,当创建/加入组时),此所启用散列片段中的有用多播业务仅应寻址到此组。然而,一些无用多播业务也可能散列到此散列片段中。如果指派给此散列片段的多播地址的数目较小,那么较少的无用多播业务可进入到此散列片段中。在理想情况下,每一片段仅被指派一个多播地址。以此方式,没有无用多播业务可散列到所启用的散列片段中。
总之,对于给定数目的组,指派给每一散列片段(例如,散列片段114)的多播地址的数目应最小化。如果将多播地址均匀地指派给每一片段,那么可实现此第一原理。举例来说,对于具有给定数目个组(MAX_GRP)的通信系统,通信节点的片段将被指派MAX_GRP/NUM_BINS个多播地址,其中NUM_BINS是特定通信节点中的散列片段的数目。
第二原理是通信节点中有较小数目个所启用散列片段是优选的。解释是当通信节点创建组时,多播地址被指派给此组。所指派的多播地址可启用新的散列片段,或可落入现有所启用散列片段中。如果存在较高数目的所启用散列片段,那么较多无用多播业务将进入所启用散列片段。
举例来说,假设MAX_GRP=1024且NUM_BINS=128。基于本文所述的两个原理,每一散列片段将被指派八(1024/128)个多播地址。如果节点创建16个组,那么有两种方式将16个多播地址指派给所述组。以第一方式,16个多播地址落入两个散列片段中。对于此第一方式,两个所启用散列片段中不存在任何无用多播业务,因为所述两个散列片段中的每一多播地址属于16个组中的一者。以第二方式,16个多播地址落入16个散列片段中。对于此第二方式,每一所启用散列片段中仅一个多播地址对此节点有效。每一所启用散列片段中的其它七个多播地址(注意,每一散列片段被指派8个多播地址)不由此节点使用,而是可由其它节点使用。尽管针对这七个多播地址的多播业务对于此节点是无用多播业务,但其将被此通信节点接受,因为其落入所启用散列片段中。因此,对于给定数目的组,每一通信节点(或大多数节点)中的所启用散列片段应为最小。
对于先前提到的第一个问题(例如,如何为给定的N个组选择N个多播地址),第一原理指示为给定数目个组选择的多播地址应相等地分布在每一节点的每一散列片段中。由于以下原因,此分布可能是复杂的:1)不同节点中的散列片段的数目可能不同;和/或2)用于不同节点的散列索引可以不同方式确定。因此,在至少一些实施例中,多播组地址分配器120使用启发法来寻找N个多播地址,其将在可能的情况下相等地分布在每一节点的每一片段中。选择所述N个多播地址的任务需要知道:1)系统将支持的组的最大数目;2)MAC芯片中所使用的散列函数以及散列片段的数目;以及3)所选的多播地址空间。这些数据可为系统设计中已知的。在真实世界中,组的数目通常小于2,000,散列片段的数目小于1,000,且所选多播地址空间约为224。
对于先前提到的第二个问题(例如,如何为新的组指派来自N个多播地址的多播地址),第二原理指示当节点创建组时,所指派的多播地址应最小化系统中的每一节点(或大多数节点)中的所启用片段。如果仅考虑创建组的节点,那么多播地址指派是直接的,因为仅考虑此节点中的散列片段。然而,针对一个节点实施的多播地址指派对于其它节点可能不是最优的。因此,在至少一些实施例中,多播组地址分配器120应具有针对通信节点102A到102N中的每一者的所有散列片段信息。在可能的情况下,当通信节点102A到102N中的一者创建组,且可根据已知信息确定组成员(在一些情况下,组成员在组被创建时可能是未知的)时,多播组地址分配器120基于落入请求节点和所有组成员节点的所启用散列片段的一者中的所指派多播地址而将多播地址指派给所述组。
总之,在通信系统100中创建新的多播组后,多播组地址分配器120经配置以基于落入新多播组的每一组成员的所启用散列片段中的所指派多播地址而将多播地址指派给所述新多播组。如果新多播组包括已知组成员和未知组成员,那么多播组地址分配器120经配置以基于落入新多播组的每一已知组成员的所启用散列片段中的所指派多播地址而将多播地址指派给所述新多播组。周期性地,所启用散列片段信息由多播组地址分配器120跟踪(例如,当启用额外片段时,或当先前未知的节点变为多播组地址分配器120已知时)。
多播组地址分配器120还执行向通信系统100的通信节点102A到102N的多播地址分布。举例来说,如果存在N个多播组,那么多播组地址分配器120经配置以将N个多播地址大约相等地分布于多个通信节点102A到102N中的每一者的所启用散列片段之间。由多播组地址分配器120分布的N个多播地址的实际值可通过以下各者基于启发法来确定:1)最大组数目(例如N);2)最大散列片段数目;以及3)最小多播地址空间数目。
图2说明根据本发明实施例的多播组地址分配器200。举例来说,多播组地址分配器200可对应于图1的多播组地址分配器120。根据至少一些实施例,多播组地址分配器200可并入通信节点102A到102N的一者中。或者,多播组地址分配器200与通信节点102A到102N分离。
如图所示,多播组地址分配器200包括用于与通信节点102A到102N的通信的网络接口210。多播组地址分配器200还包括用于存储从通信节点接收到的所启用散列片段信息的存储媒体212(例如,易失性或非易失性存储器)。多播组地址分配器200的操作由控制器202管理。举例来说,控制器202可对应于执行指令的处理器和/或其它硬件。
在至少一些实施例中,控制器202管理新地址指派操作204、地址分布操作206以及请求散列片段信息操作208。举例来说,当多个通信节点中的一者创建新组时,执行新地址指派操作204。作为响应,新地址指派操作204基于存储在存储媒体212中或可由其它构件存取的所启用散列片段信息214来为新组选择和指派多播地址。通过执行请求散列片段信息操作208来存储和/或更新所启用散列片段信息214,请求散列片段信息操作208致使与多播组地址分配器200通信的节点提供/更新所启用散列片段信息214。或者,与多播组地址分配器200通信的节点可经配置以提供/更新所启用散列片段信息214,而不等待来自多播组地址分配器200的请求。
地址分布操作206经配置以将用于N个组的N个多播地址大约相等地分布在与多播组地址分配器200通信的多个节点中的每一者的所启用散列片段之中。在至少一些实施例中,通过以下各者基于启发法来选择所分布的N个多播地址:1)最大组数目(例如N);2)最大散列片段数目;以及3)最小多播地址空间数目。
图3说明根据本发明实施例的多播组地址分配方法300。方法300可例如由多播组地址分配器200执行。如图所示,方法300在框302处开始,且继续进行到框304,其中接收将新多播地址指派给新组的请求。在框306处,基于所启用散列片段信息而指派新的多播地址,所启用散列片段信息存储在集中式地址分配器上(这是已知信息,因为每一接收器中的散列片段数目和所指派多播地址是已知的)。换句话说,在可能的情况下,所述新多播地址应属于新组中的通信节点的每一者的所启用散列片段内。
如图所示,方法300在框308处结束。然而,作为额外步骤,方法300可进一步包括将用于N个组的N个多播地址大约相等地分布于多个节点中的每一者的所启用散列片段之中。
本文所述的多播组地址分配技术可在具有足够处理能力、存储器资源和网络吞吐量能力以处置其所负担的必要工作量的任何通用通信装置上实施。图4说明适合实施本文所揭示组件的一个或一个以上实施例的典型通用通信装置400。通信装置400包括处理器402(其可称为中央处理单元或CPU),其与包含次要存储装置404、只读存储器(ROM)406、随机存取存储器(RAM)408的存储器装置、输入/输出(I/O)装置410以及网络连接性装置412通信。处理器402可实施为一个或一个以上CPU芯片,或可为一个或一个以上专用集成电路(ASIC)的一部分。
次要存储装置404通常由一个或一个以上磁盘驱动器或磁带驱动器组成,且用于数据的非易失性存储,且用作溢流数据存储装置,前提是RAM408的大小不足以保持所有工作数据。次要存储装置404可用于存储程序,当选择此些程序来执行时,将所述程序加载到RAM408中。ROM406用于存储在程序执行期间读取的指令以及可能的数据。ROM 406是通常相对于次要存储装置404的较大存储器容量具有较小存储器容量的非易失性存储器装置。RAM408用于存储易失性数据,且也许用于存储指令。对ROM406和RAM408两者的存取通常比对次要存储装置404的存取快。
揭示至少一个实施例,且所属领域的技术人员对所述实施例和/或所述实施例的特征的变化、组合和/或修改在本发明的范围内。因组合、整合和/或省略所述实施例的特征而产生的替代实施例也在本发明的范围内。在明确陈述数值范围或限制的情况下,应将此些表达范围或限制理解为包含属于明确陈述的范围或限制内的类似量值的重复范围或限制(例如,从约1到约10包含2、3、4等;大于0.10包含0.11、0.12、0.13等)。举例来说,每当揭示具有下限R1和上限Ru的数值范围时,具体是揭示属于所述范围的任何数字。明确地说,特定揭示在所述范围内的以下数字:R=R1+k*(Ru-R1),其中k是范围在1%到100%内的具有1%增量的变量,例如k是1%、2%、3%、4%、5%、......、50%、51%、52%、......、95%、96%、97%、98%、99%或100%。此外,还特定揭示由如上文所定义的两个R数字定义的任何数值范围。相对于权利要求的任一元素使用术语“任选地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用例如包括、包含和具有等较广术语应被理解为提供对例如由......组成、基本上由......组成以及大体上由......组成等较窄术语的支持。因此,保护范围不受上文所陈述的描述限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有均等物。每一和每个权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。所述揭示内容中的参考的论述并不是承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文中,其提供补充本发明的示范性、程序性或其它细节。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所揭示的系统和方法可以许多其它特定形式来体现。本发明的实例应被视为说明性的而非限制性的,且本发明不限于本文所给出的细节。举例来说,各种元件或组件可在另一系统中组合或集成,或某些特征可省略或不实施。
另外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可与其它系统、模块、技术或方法组合或整合。展示或论述为彼此耦合或直接耦合或通信的其它项目也可以电方式、机械方式或其它方式通过某一接口、装置或中间组件间接地耦合或通信。改变、替代和更改的其它实例可由所属领域的技术人员确定,且可在不脱离本文所揭示的精神和范围的情况下作出。
Claims (9)
1.一种通信系统,其包括:
多播组地址分配器,其与配置为至少一个多播组的多个节点通信,
其中,对于N个多播组,所述多播组地址分配器经配置以基于启发式方法来确定N个多播地址,并将所述N个多播地址均衡地分布于所述节点中的每一者的散列片段之中,且其中N为整数;
其中,在从所述节点之中创建新的多播组后,所述多播组地址分配器更新启用的散列片段信息;
所述多播组地址分配器经配置根据所述启用的散列片段信息,以基于落入所述新多播组的每一组成员的散列片段中的所指派多播地址而将多播地址指派给所述新多播组。
2.根据权利要求1所述的通信系统,其中所述多播组地址分配器经配置以接收和存储用于所述节点的散列片段信息。
3.根据权利要求1所述的通信系统,其中如果所述新多播组包括已知组成员和未知组成员,那么所述多播组地址分配器经配置以基于落入所述新多播组的每一已知组成员的所述散列片段中的所述所指派多播地址而将多播地址指派给所述新多播组。
4.根据权利要求1所述的通信系统,其中所述启发式方法用于用以下输入来确定所述N个多播地址:组数目、散列函数、散列片段数目以及多播地址空间。
5.一种多播组地址分配器,其包括:
网络接口,其与多个节点通信;
控制器,其耦合到所述网络接口;以及
存储媒体,其耦合到所述控制器,
其中,在被请求时,所述控制器将更新启用的散列片段信息;
其中,对于N个多播组,所述控制去器经配置以基于启发式方法来确定N个多播地址,并将所述N个多播地址均衡地分布于所述节点中的每一者的散列片段之中,且其中N为整数;
其中所述控制器存取所述节点的散列片段信息,且根据所述散列片段信息,以基于落入新多播组的每一组成员的散列片段中的所指派多播地址而将多播地址指派给所述新多播组,且
其中所述散列片段信息存储在所述存储媒体中。
6.根据权利要求5所述的多播组地址分配器,其中如果所述新多播组包括已知组成员和未知组成员,那么所述控制器经配置以基于所述已知组成员的所述散列片段信息而将多播地址指派给所述新多播组。
7.根据权利要求5所述的多播组地址分配器,其中所述启发法假定最大组数目、最大散列片段数目以及最小多播地址空间数目。
8.一种用于多播组地址分配的方法,其包括:
对于N个多播组,基于启发式方法来确定N个多播地址,并将所述N个多播地址均衡地分布于节点中的每一者的散列片段之中,且其中N为整数;
从多个节点接收散列片段信息;
接收将多播地址指派给来自所述节点之中的新多播组的请求;以及,
更新启用的散列片段信息;
根据所述启用的散列片段信息,以基于落入所述新多播组的每一组成员的散列片段中的所指派多播地址而将多播地址指派给所述新多播组。
9.根据权利要求8所述的方法,其进一步包括从所述节点请求经更新的散列片段信息。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17260909P | 2009-04-24 | 2009-04-24 | |
US61/172,609 | 2009-04-24 | ||
US12/761,827 | 2010-04-16 | ||
US12/761,827 US8428060B2 (en) | 2009-04-24 | 2010-04-16 | Determining the group address for an Ethernet-based multicast communication |
PCT/CN2010/072176 WO2010121572A1 (en) | 2009-04-24 | 2010-04-24 | System, method and multicast group address allocator for determining group address for ethernet-based multicast communication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102439948A CN102439948A (zh) | 2012-05-02 |
CN102439948B true CN102439948B (zh) | 2015-01-28 |
Family
ID=42992083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080016348.XA Active CN102439948B (zh) | 2009-04-24 | 2010-04-24 | 为基于以太网的多播通信确定组地址 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8428060B2 (zh) |
CN (1) | CN102439948B (zh) |
WO (1) | WO2010121572A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10111055B2 (en) | 2004-11-23 | 2018-10-23 | Kodiak Networks, Inc. | Optimized methods for large group calling using unicast and multicast transport bearer for PoC |
WO2015105970A1 (en) * | 2014-01-08 | 2015-07-16 | Kodiak Networks, Inc. | OPTIMIZED METHODS FOR LARGE GROUP CALLING USING UNICAST AND MULTICAST TRANSPORT BEARERS FOR PUSH-TO-TALK-OVER-CELLULAR (PoC) |
FR3009659B1 (fr) * | 2013-08-07 | 2018-03-16 | Thales | Procede de traitement, dans un reseau ad hoc de radiocommunication, stations de radiocommunication et programmes d'ordinateur correspondants |
WO2017020950A1 (en) | 2015-08-04 | 2017-02-09 | Advantest Corporation | Addressing scheme for distributed hardware structures |
CN110636033B (zh) * | 2018-06-25 | 2021-11-26 | 中国电信股份有限公司 | 组播数据传输方法、系统、组播隧道终结点和存储介质 |
CN113728606B (zh) * | 2019-04-25 | 2024-03-08 | 交互数字专利控股公司 | 用于多播和单播mac地址指派协议mumaap的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863153A (zh) * | 2005-10-09 | 2006-11-15 | 华为技术有限公司 | 以太网支持源特定组播转发的方法及其设备 |
CN101095331A (zh) * | 2005-10-26 | 2007-12-26 | 汤姆森许可贸易公司 | 用于选择组播ip地址的系统和方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327621B1 (en) * | 1998-08-25 | 2001-12-04 | International Business Machines Corporation | Method for shared multicast interface in a multi-partition environment |
US6389027B1 (en) * | 1998-08-25 | 2002-05-14 | International Business Machines Corporation | IP multicast interface |
US7343395B2 (en) * | 2002-03-29 | 2008-03-11 | Intel Corporation | Facilitating resource access using prioritized multicast responses to a discovery request |
CN1300991C (zh) | 2004-11-23 | 2007-02-14 | 北京航空航天大学 | 组播地址分配方法 |
US7477654B2 (en) | 2005-04-14 | 2009-01-13 | Alcatel Lucent | Method and system for managing access to multicast groups |
CN101141688A (zh) | 2007-10-12 | 2008-03-12 | 中兴通讯股份有限公司 | 通道组播地址产生方法和传递方法 |
US7898965B2 (en) * | 2007-10-12 | 2011-03-01 | Nortel Networks Limited | IP network and performance monitoring using ethernet OAM |
-
2010
- 2010-04-16 US US12/761,827 patent/US8428060B2/en active Active
- 2010-04-24 CN CN201080016348.XA patent/CN102439948B/zh active Active
- 2010-04-24 WO PCT/CN2010/072176 patent/WO2010121572A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863153A (zh) * | 2005-10-09 | 2006-11-15 | 华为技术有限公司 | 以太网支持源特定组播转发的方法及其设备 |
CN101095331A (zh) * | 2005-10-26 | 2007-12-26 | 汤姆森许可贸易公司 | 用于选择组播ip地址的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102439948A (zh) | 2012-05-02 |
US20100272105A1 (en) | 2010-10-28 |
WO2010121572A1 (en) | 2010-10-28 |
US8428060B2 (en) | 2013-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102439948B (zh) | 为基于以太网的多播通信确定组地址 | |
CN101827134B (zh) | 自动释放为宽带接入网内的用户设备保留的资源 | |
CN101133605B (zh) | 对基于mac的表执行扩展查找 | |
CN100459517C (zh) | 用于自行配置网络中的路由设备的方法和装置 | |
CN108768866B (zh) | 组播报文跨卡转发方法、装置、网络设备及可读存储介质 | |
WO2013102346A1 (zh) | 成员资源的访问方法、群组服务器和成员设备 | |
US9119020B2 (en) | Method and apparatus for discovering wireless devices | |
CN103797774A (zh) | 一种网络地址转换设备及方法 | |
CN101459536A (zh) | 端口配置方法和交换设备 | |
CN103338274A (zh) | 树形泛在网络中面向路由的地址分配方法 | |
US20120185487A1 (en) | Method, device and system for publication and acquisition of content | |
CN107580079A (zh) | 一种报文传输方法和装置 | |
EP2739076B1 (en) | Method, system and device for implementing multicast in shared network | |
CN107113207B (zh) | 网络系统、地址管理装置以及地址管理方法 | |
CN116982307A (zh) | 用于在群聚基础设施中强制实施功能过滤规则的方法和计算设备 | |
CN101924698B (zh) | 基于ip单播路由的二层域负载均衡方法、系统和设备 | |
CN102025604A (zh) | 一种承载网络及数据传输方法 | |
CN101394339A (zh) | 一种在对等网络中实现路由的方法、系统及装置 | |
Dooley et al. | IPv6 Deployment and Management | |
CN102263669B (zh) | 基于组播转换的可控组播系统的网管系统及方法 | |
CN115567441A (zh) | 一种用于生成转发信息的方法、装置和系统 | |
US8973015B2 (en) | Information processing device, system, control method, and program | |
Li et al. | Research of Subnetting Based on Huffman Coding | |
CN107547687A (zh) | 一种报文传输方法和装置 | |
WO2023116566A1 (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 |