1、IP 组播与组播协议 在 Internet 上,多媒体业务诸如:流媒体,视频会议和视频点播等,正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特性-单点发送多点接收,因为服务器必须为每一个接收者提供一个相同内容的 IP 报文拷贝,同时网络上也重复地传输相同内容的报文,占用了大量资源。如图 1.1 所示。虽然 IP 广播允许一个主机把一个 IP 报文发送给同一个网络的所有主机,但是由于不是所有的主机都需要这些报文,因而浪费了网络资源。在这种情况下组播(multicast)应运而生,它的出现解决了一个主机向特定的多个接收者发送消息的方法。1989 年,IETF 通过 RF
2、C1112,定义了 Internet 上的组播方式。图 1.11. IP 组播IP 组播是指一个 IP 报文向一个“主机组”的传送,这个包含零个或多个主机的主机组由一个单独的 IP 地址标识。主机组地址也称为“组播地址”,或者 D 类地址。除了目的地址部分,组播报文与普通报文没有区别,网络尽力传送组播报文但是并不保证一定送达。主机组的成员可以动态变化,主机有权选择加入或者退出某个主机组。主机可以加入多个主机组,也可以向自己没有加入的主机组发送数据。主机组有两种:永久组和临时组。永久组的 IP 地址是周知的,由 Internet 管理机构分配,是保留地址。临时组的地址则使用除永久组地址外的非保留
3、 D 类地址。IP 组播分组在互联网上的转发由支持组播的路由器来处理。主机发出的 IP 组播分组在本子网内被所有主机组成员接收,同时与该子网直接相连的组播路由器会把组播报文转发到所有包含该主机组成员的网络上。组播报文传递的范围由报文的生存期值(TTL, Time-to-Live)决定,如果 TTL 值等于或者小于设置的路由器端口 TTL门限值(TTL Threshold),路由器将不再转发该报文。2. 组播地址IP 组播地址,或称为主机组地址,由 D 类 IP 地址标记。D 类 IP 地址的最高四位为“1110”,起范围从 224.0.0.0 到 239.255.255.255。如前所述,部分
4、 D 类地址被保留,用作永久组的地址,这段地址从 224.0.0.0-224.0.0.255。比较重要的地址有:224.0.0.1 网段中所有支持组播的主机224.0.0.2 网段中所有支持组播的路由器224.0.0.4 网段中所有的 DVMRP 路由器224.0.0.5 所有的 OSPF 路由器224.0.0.6 所有的 OSPF 指派路由器224.0.0.9 所有 RIPv2 路由器224.0.0.13 所有 PIM 路由器临时主机组的组播地址由网络管理员选择,他需要保证这个地址在一定的范围内没有其他的主机组在使用这个组播地址。第 2 层的组播地址(组播 MAC 地址)可以从 IP 组播地
5、址中衍生。计算方法是把 IP 地址的最后 23 位拷贝到 MAC 地址的最后 23 位,然后把这 23 位前面的那一位置为 0。MAC 地址的前 24 位必须为 0x01-00-5E。例如:组播 IP 地址 224.0.1.128,16 进制表示为 0xE0-00-01-10,最低的 23 位为 0x00-01-10,计算得出的 MAC 地址为:0x01-00-5E-00-01-10。3.Internet 组管理协议(IGMP)IGMP 协议由主机成员关系协议发展而来,目前有两个版本:IGMPv1(RFC1112),IGMPv2 (RFC2326)。主机使用 IGMP 消息通告本地的组播路由器
6、它想接收组播流量的主机组地址。如果主机支持 IGMPv2,它还可以通告组播路由器它退出某主机组。组播路由器通过 IGMP 协议为其每个端口都维护一张主机组成员表,并定期的探询表中的主机组的成员,以确定该主机组是否存活。 IGMP 消息被置于 IP 报文中传送。IGMPv1 的报文如图 1.2 所示。IGMPv1 中定义了两种消息类型:主机成员询问和主机成员报告。当某主机想要介绍某个组播流量时,它向本地的组播路由器发送“主机成员报告“消息,告知欲接收的组播地址。组播路由器收到“主机成员报告“消息后把该主机加入指定的主机组,并在设定的周期内向组播地址 224.0.0.1(代表所有支持组播的主机)
7、发送“主机成员询问“消息。主机如果还想继续接收组播流量,必须发送“主机成员报告“消息。IGMPv2 的报文如图 1.3 所示。与 IGMPv1 不同的是它将版本字段和消息类型字段融合,把未使用字段作了“最大响应时间“字段。IGMPv2 报文的消息类型字段定义了四种消息类型:图 1.30x11 - 成员询问0x12 - IGMPv1 成员报告0x16 - IGMPv2 成员报告0x17 - 退出主机组IGMPv2 向前兼容 IGMPv1 协议, IGMPv1 的设备可以接收处理 IGMPv2 的消息报文。 IGMPv2 中允许路由器对指定的主机组地址做“成员询问“,非该组的主机不必响应。如果某主
8、机想退出,它可以主动向路由器发送“推出主机组“消息,而不必像 IGMPv1 中那样只能被动退出。4. CGMP 协议在交换网络中,2 层交换机可能即不了解哪个端口有哪些组播组,也不能在其源 MAC 地址表中找到组播 MAC 地址的表项。从而,交换机只能简单地把组播报文向所有端口转发,组播的优势将大大削弱。因此,Cisco 提出 CGMP 协议,让组播路由器来配置交换机的组播转发表,从而彻底解决交换网络中的组播问题。CGMP ( Cisco Group management protocol)全称 Cisco 组管理协议,采用 CGMP 的路由器将主机加入或者退出组播组的 IGMP 消息通知交换
9、机,交换机则根据该消息将该主机所在端口从组播转发表中加入或者删除。通过 CGMP 协议的使用,2 层交换机可以掌握接收组播的主机的情况,从而提高整个网络的性能和利用率。 通过 IGMP 协议提高 IP 多媒体流传输效率利用 IP 实现多媒体流传输将是未来互联网的一个重要应用,而提高基于 IP 传输的可靠性、提供更丰富的内容和提高服务质量是该应用取得成功的关键。 IGMP 多播方案能有效利用带宽,利用该方案设计工程师可构建符合这三个要求的宽带设备。本文详细介绍了 IGMP 协议特点和实现方法。 随着单一的数据业务收入增长放缓,运营商必须推出各种新业务。通过已有的宽带网络提供视频传输服务,从而使已
10、有的宽带网络获得较高的投资回报。然而,网络运营商和多业务运营商(MSO)将面临如何在基于因特网协议(IP)的网络中进行视频传输的困难。尽管 IP 为数据网络带来了许多好处,但在进行视频传输时面临很多挑战,至少对于要求高服务质量(QoS)的视频流传输而言,性能不稳定的 IP 网络并非一个友好的环境。幸运的是,设计工程师可以通过多播数据流来解决 IP 数据流的传输问题。多播数据流采用因特网组群管理协议(IGMP),本文将详细讲述 IGMP 多播如何在宽带网络中有效地传输视频流。 IGMP 协议 IGMP 是通过充分利用 IP 堆栈来实现的。网络堆栈由不同的层构成,每一层只和相邻的上、下层通信。IG
11、MP 使用第 2 层和第 3 层,使用方式与通常的单播或广播流略微不同。 在网络上传输的数据流由数据包组成,每个数据包头均带有该数据包的起始地址和目的地址信息。单播数据流(如文件传输)的起始地址十分明显,该地址就是 IP 地址,位于第 3 层或 IP 数据包头中,而起始媒体访问控制(MAC)地址则位于第 2 层或数据链路层上。 广播数据包的格式与单播数据包的格式一样,但在广播数据包中,目的地址是一个广播地址。因此,对于网络地址为 192.168.34.0 的 IP 网络来说,它的目的地址是 192.168.34.255。 多播数据流也必须遵循与单播和广播数据流相同的基本格式,它们之间的差别在于
12、其目的地址的不同。IGMP 多播数据流具有一个 D 类目的地址,范围为 224.0.0.0 到 239.255.255.255。该目的地址并不对应于网络中某台具体的电脑或主机,而是与网络中距离最近的第 3 层设备相匹配,通常为网络中的一个路由器。当多播数据包到达路由器时,路由器必须决定是继续传输该数据包还是停止传输。必须注意的是,作为该数据包目的地址的 D 类 IP 地址并非某一台实际的主机,而是一个组,它们必须先与离它最近的路由器连接,然后再告知数据流传输主机。如果是首次到达的数据包,路由器便会开始“构建组”。如果其它主机没有要求路由器从该组接收数据,那么这些数据包将被丢弃。 发送 D 类地
13、址作为请求 多播数据流请求也使用 D 类地址。如果一台主机希望寻找某个多播组,它会向保留地址 224.0.0.2 发送一个“加入”信息。通过该保留地址,此信息实际上发送给了“子网上所有的路由器”。当主机要求加入某个特殊组时,这条路径上的路由器便会将该请求向外发送出去。最后,当找到该组时,数据流会顺着相同路径传回给提出请求的主机。 当主机接收完毕,决定不再需要该数据流时,它也向某个特殊的多播地址发送信息,然后该数据流便会停止发送。在实际操作中,在由各个路由器和其它第 3 层设备组成的不同树结构中将会“删除”这台接收完毕的主机,数据流也不再发送给它。 IGMP 的作用 IGMP 协议很有用,基于该
14、协议,主机要求加入一个组的请求不必到达离数据流传输主机最近的路由器。如果一台主机申请加入数据流传输路由中的某个多播组,那么离数据流传输路由器最近的路由器便会将这些数据包进行复制,然后从这一请求多播的端口大量地向下传输给提出申请的主机。因此尽管每台提出请求的主机都可以接收到数据流,但由于这些请求并没有传输到源服务器,而数据流也只在需要多播的路由器上进行复制而不是在源服务器上复制,因此可以节省整个网络的带宽。 如果某一系统只能进行单播而不能进行多播,那么每个请求都必须返回到源服务器,然后单独从源服务器获得所需的数据流。尽管在某种意义上来说这样比较方便,例如主机可在从开始到结束的整个过程中的任一时候
15、按自己的需要加入,但这种方法效率较低,而且并不节省网络资源。 IGMP 多播的实现 在 IP 多播中,每台请求接收的 PC 都可以获得所需的数据流,而网络本身则管理这些 PC 和客户组。为了实现 IGMP 多播,网络必须知道数据流在何处及何时进行复制。 使用 IGMP 多播时,发送器(源服务器)将数据流和附加信息发送到离它最近,或在同一子网中的路由器。接收到信息后,路由器创建一个符合 D 类 IP 地址定义的组目的地址(GDA)。 路由器随后查看是否有客户机需要该多播组。如果没有,路由器便丢弃那些从发送器传来的数据包,不再继续发送(见图 1)。 但是,如果有客户机希望接收这些数据流,即使这一客
16、户机位于远程网络中,路由器将执行下列步骤: 1. 首先,接收器将一个专用多播 IP 地址发送到其子网中的所有路由器,并申明它希望加入一个多播组; 2. 如果子网中的路由器找到了该多播组,它开始将数据包发送给提出请求的接收器。相反,如果路由器没有找到 IGMP 组,它便向外发送信息并开始找寻这个组; 3. 通过与其它路由器通信,最初发送请求的路由器便可找寻到这个多播组。路由器之间的通信基于各种IGMP 使用的“路由”协议,如多播开放最短路径优先(MOSPF)和距离向量多播路由协议(DVMRP)。 4. 当多播组找到后,该路径上的路由器便作为“源”路由器,发送或复制该数据流。 IGMP 方案的最大
17、好处在于节省了带宽。如图 2 所示,网络 A 中的远程接收器从紧接源路由器后的第一个路由器接收一个数据流。支持 IGMP 第 2 版的源路由器仅在需要复制的地方(本例中是在源路由器后的第一个路由器)将这一数据流进行复制,而不是在源路由器进行复制,因此节省了带宽。 目前使用的 IGMP 版本为第 2 版。IGMP 第 1 版和第 2 版之间的主要差别在于如何从多播组中去除客户机。第 1 版中规定,即使接收器不再需要某个数据流,路由器仍继续向该接收器发送数据流,并持续几分钟。在 IGMP 第 1 版中,当客户机希望停止接收数据流时,它无法告知路由器。第 2 版则规定,接收器可发送信息告知路由器,如
18、果没有其它接收器出现便可停止发送数据包。因此,与第 1 版相比,第 2 版能节省更多的带宽。 组播(Multicast)2007-06-28 10:13一、引言1、组播技术引入的必要性随着宽带多媒体网络的不断发展,各种宽带网络应用层出不穷。IP TV、视频会议、数据和资料分发、网络音频应用、网络视频应用、多媒体远程教育等宽带应用都对现有宽带多媒体网络的承载能力提出了挑战。采用单播技术构建的传统网络已经无法满足新兴宽带网络应用在带宽和网络服务质量方面的要求,随之而来的是网络延时、数据丢失等等问题。此时通过引入 IP 组播技术,有助于解决以上问题。组播网络中,即使组播用户数量成倍增长,骨干网络中网
19、络带宽也无需增加。简单来说,成百上千的组播应用用户和一个组播应用用户消耗的骨干网带宽是一样的,从而最大限度的解决目前宽带应用对带宽和网络服务质量的要求。2、IP 网络数据传输方式组播技术是 IP 网络数据传输三种方式之一,在介绍 IP 组播技术之前,先对 IP 网络数据传输的单播、组播和广播方式做一个简单的介绍:单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。组播(Mu
20、lticast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。广播(Broadcast)传输:是指在 IP 子网内广播数据包,所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网每一个主机都投递一份数据包,不论这些主机是否乐于接收该数据包。所以广播的使用范围非常小,只在本地子网内有效,通过路由器和交换机网络设备控制广播传输。二、组播技术1、 IP 组播技术体系结构组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系
21、协议包括 IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播路由协议包括 PIM-SM、PIM-DM、DVMRP 等协议,域间组播路由协议包括 MBGP、MSDP 等协议。同时为了有效抑制组播数据在链路层的扩散,引入了 IGMP Snooping、CGMP 等二层组播协议。IGMP 建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议根据 IGMP 维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发。域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息,以使组播数据在域间进行转发。2、 组播 IP
22、 地址组播 IP 地址用于标识一个 IP 组播组。IANA 把 D 类地址空间分配给 IP 组播,其范围是从 224.0.0.0 到 239.255.255.255。如下图所示(二进制表示),IP 组播地址前四位均为 1110。八位组(1) 八位组(2) 八位组(3) 八位组(4)1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX3、 组成员关系协议 (IGMP)IGMP 协议运行于主机和与主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属
23、于某个组播组的成员),实现所连网络组成员关系的收集与维护。IGMP 有三个版本,IGMPv1 由 RFC1112 定义,目前通用的是 IGMPv2,由 RFC2236 定义。IGMPv3 目前仍然是一个草案。IGMPv1 中定义了基本的组成员查询和报告过程,IGMPv2 在此基础上添加了组成员快速离开的机制,IGMPv3 中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。这里着重介绍 IGMPv2 协议的功能。IGMPv2 通过查询器选举机制为所连网段选举唯一的查询器。查询器周期性的发送普遍组查询消息进行成员关系查询;主机发送报告消息来应答查询。当要加入组播组时,主机不必等待查询
24、消息,主动发送报告消息。当要离开组播组时,主机发送离开组消息;收到离开组消息后,查询器发送特定组查询消息来确定是否所有组成员都已离开。通过上述 IGMP 机制,在组播路由器里建立起一张表,其中包含路由器的各个端口以及在端口所对应的子网上都有哪些组的成员。当路由器接收到某个组 G 的数据报文后,只向那些有 G 的成员的端口上转发数据报文。至于数据报文在路由器之间如何转发则由路由协议决定,IGMP 协议并不负责。4、 网络二层组播相关协议网络二层组播相关协议包括 IGMP Snooping ,IGMP Proxy 和 CGMP 协议。IGMP Snooping 的实现机理是:交换机通过侦听主机发向
25、路由器的 IGMP 成员报告消息的方式,形成组成员和交换机接口的对应关系;交换机根据该对应关系将收到组播数据包只转给具有组成员的接口。IGMP Proxy 与 IGMP Snooping 实现功能相同但机理相异:IGMP snooping 只是通过侦听 IGMP 的消息来获取有关信息,而 IGMP Proxy 则拦截了终端用户的 IGMP 请求并进行相关处理后,再将它转发给上层路由器。CGMP(Cisco Group Management Protocol)是 Cisco 基于客户机/服务器模型开发的私有协议,在 CGMP 的支持下,组播路由器能够根据接收到的 IGMP 数据包通知交换机哪些主
26、机何时加入和脱离组播组,交换机利用由这些信息所构建的转发表来确定将组播数据包向哪些接口转发。GMRP 是主机到以太网交换机的标准协议,它使组播用户可以在第二层交换机上对组播成员进行注册。5、 组播路由协议 (PIM-SM)众多的组播路由协议中,目前应用最多的协议是 PIM-SM 稀疏模式协议无关组播。在 PIM-SM 域中,运行 PIM-SM 协议的路由器周期性的发送 Hello 消息,用以发现邻接的 PIM 路由器,并且负责在多路访问网络中进行指定路由器(DR)的选举。这里,DR 负责为其直连组成员朝着组播分发树根节点的方向发送“加入/剪枝“消息,或是将直连组播源的数据发向组播分发树。组播介
27、绍 一、一 组播产生的原因 随着 Internet 的迅速普及以及一些高带宽应用的发展,如视频会议,视频点播,等等,网路显得越来越来拥挤,于是人们提出各种解决网络拥挤的方案,而组播正是其中比较有 优点的一项技术。 二 组播的基础 1。组播的工作原理 组播是一个发送者或多个发送者将数据同时发送给一组(多个)接受者而且只用发送一份数据,数据在传送过程中组播路由器会将数据复制传送给需要数据的主机。相比较,单播是一个发送者将数据同时发送个一个接受者,如果要发个多个接收者,就的将数据同时发送多份,显然这将占用大量带宽。而广播虽然也能同时发送给多个接收者并且数据也是单一发送的,但接受者只能是全体网络而且路
28、由器和交换机都不会转发广播,所以组播既可以发送给特定的一组成员也可以在大型网络中使用而且对带宽的占用也是很小的。 2.组播的缺点 虽然组播的优点比较明显,但也存在缺点,最大的缺点是组播是基于 UDP 传送的,所以它无法对网络的拥塞进行控制,而且在传送过程中容易出现乱序的问题 3.组播组 收受数据的主机必须是组成员而发送者不必是,而且是全体组成员都会收到发往该组的数据 4.组播地址 组播的地址是保留的 D 类地址从 224.0.0.0239.255.255.255,而且一些地址有特定的用处如,224.0.0.0244.0.0.255 只能用于局域网中路由器是不会转发的,并且 224.0.0.1
29、是所有主机的地址,224.0.0.2 所有路由器的地址,224.0.0.5 所有 ospf 路由器的地址,224.0.13 事 PIMv2 路由器的地址;239.0.0.0239.255.255.255 是私有地址(如 192.168.x.x);224.0.1.0238.255.255.255 可以用与 Internet 上的。 2 层的 MAC 地址是如何与 3 层的 IP 地址进行映射的呢?通过将 MAC 地址的前 25 位强行规定位 0100.5e,而后 23 位对应 IP 地址的后 23 位,而组播 IP 地址的前 4 位均相同如: IP 地址: 1110yyyy.yxxxxxxx.x
30、xxxxxx.xxxxxxxx MAC 地址: 00000001.00000000.01011110.0xxxxxxx.xxxxxxx.xxxxxxxx 显然有 32 个 IP 地址(有 5 个 y 可以不一样)对应一个 MAC 地址,所以要避免在同一网络中使用的多个组播 IP 地址对应一个 MAC 地址。5.IGMP 当主机要加入一个组播组是,主机就会发送一个 IGMP 的 report 来加入一个组播组,而要保持组播组就需要路由器定期(每隔60s)来发送一个查询,如果还有主机在组中,主机就会对查询作出一个应答,路由器就会保持组数据的传输,但如果组中已经有一个成员做出了应答,那么其他成员就会
31、通过一个抑止技术,来抑止自己的应答,相当于只有一个主机做出了应答。 在 IGMPv1 中,当一个主机要离开一个组时,它是不会通知路由器的,路由器通过 3 次查询都没有应答来知道该主机已经来开组了,就不在传输该组的数据,这样一来,路由器知道主机离开组播组就存在延时,所以在 IGMPv2 中,当主机要离开时就会发送一个消息通知路由器,路由马上就会发送一个查询看还有没有其他的成员如果没有了就马上停止该组数据的传输 6.组播树 a 在单播模型中,数据包通过网络沿着单一路径从源主机向目标主机传递,但在组播模型中,组播源向某一组地址传递数据包,而这一地址却代表一个主机组。为了向所有接收者传递数据,一般采用
32、组播分布树描述 IP 组播在网络里经过的路径。 组播分布树有四种基本类型:泛洪法、有源树、有核树和 Steiner 树。 洪泛法(Flooding) 这是最简单的向前传送组播路由算法,并不构造所谓的分布树。其基本原理如下:当组播路由器收到发往某个组播地址的数据包后,首先判断是否是首次收到该数据包,如果是首次收到,那么将其转发到所有接口上,以确保其最终能到达所有接收者;如果不是首次收到,则抛弃该数据包。 洪泛法的实现关键是“首次收到”的检测。这需要维护一个最近通过的数据包列表,但无需维护路由表。它适合于对组播需求比较高的场合,并且能做到即使传输出现错误,只要还存在一条到接收者的链路,则所有接收者
33、都能接收到组播数据包。然而,洪泛法不适合用于 Internet,因为它不考虑链路状态,并产生大量的拷贝数据包。此外,对于高速网络而言,“首次收到”列表将会很长,占用相当大的内存;尽管它能保证不对相同的数据包进行二次转发,但不能保证对相同数据包只接收一次。 有源树 有源树也称为基于信源的树或最短路径树(Shortest Path Tree:SPT)。它是以组播源为根构造的从根到所有接收者路径都最短的分布树。如果组中有多个组播源,则必须为每个组播源构造一棵组播树。由于不同组播源发出的数据包被分散到各自分离的组播树上,因此采用 SPT 有利于网络中数据流量的均衡。同时,因为从组播源到每个接收者的路径
34、最短,所以端到端(end-to-end)的时延性能较好,有利于流量大、时延性能要求较高的实时媒体应用。SPT 的缺点是:要为每个组播源构造各自的分布树,当数据流量不大时,构造 SPT 的开销相对较大。 b 共享树 共享树也称 RP 树(RPT),是指为每个组播组选定一个共用根(汇合点 RP 或核心),以 RP 为根建立的组播树。同一组播组的组播源将所要组播的数据单播到 RP,再由 RP 向其它成员转发。目前,讨论最多同时也是最具代表性的两种共享树是 Steiner 树和有核树(CBT)。 Steiner 树是总代价最小的分布树,它使连接特定图(graph)中的特定组成员所需的链路数最少。若考虑
35、资源总量被大量的组使用的情况,那么使用资源较少最终就会减少产生拥塞的风险。Steiner 树相当不稳定,树的形状随组中成员关系的改变而改变,且对大型网络缺少通用的解决方案。所以 Steiner 树只是一种理论模型,而非实用工具。目前,出现了许多 Steiner 树的次优启发式生成算法。有核树是由根到所有组成员的最短路径合并而成的树。A. Ballardie 在 1997 年 9 月的基于核的组播路由体系结构(Core Based Trees (CBT) Multicast Routing Architecture)(RFC2189 和 RFC2201)中介绍了有核树。关于它的进一步讨论见下文。 共享树在路由器所需存储的状态信息的数量和路由树的总代价两个方面具有较好的性能。当组的规模较大,而每个成员的数据发送率较低时,使用共享树比较适合。但当通信量大时,使用共享树将导致流量集中及根(RP)附近的瓶颈。