组播技术协议

发布时间: 2022-06-15 14:04:50
       IPTV基本的业务形式就是广播和直播节目,通常釆用组播技术将直播内容发送到网络的边缘,并且通过组播控制点实现对组播流的复制和控制。组播是指信源将信息发向所有网络节点的某个确定子集的点到多点的通信形式,由于IP组播是以尽力而为(best-ef¬fort)的方式将数据包发送到网络中的某个节点子集,这个子集称为组播组(multicastgroup)oIP组播的基本思想是源主机只发送一份数据,这份数据中的目的地址为组播组地址,组播组中的所有接收者都可接收到同样的一份数据,并且只有组播组内的主机(目标主机)可以接收该数据,网络中的其他主机不能收到。IP组播地址用于标识一个IP组播组,IANA把D类地址空间分配给组播使用,范围从224.0.0.0到239.255.255.255,IP组播地址前四位均为“1110”。IP组播技术有效地解决了单点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够节约大量的网络带宽、降低网络负载。与单播和广播相比,组播更重要的价值是可以利用网络的组播特性,方便地提供一些新的增值业务,包括直播、广播、远程教育、远程医疗、实时视频会议等互联网的信息服务。整个IP组播地址的空间划分如图7-4所示。
组播地址划分
图7-4  组播地址划分
       其中,224.0.0.0-224.0.0.255地址范围被IANA预留,地址224.0.0.0保留,不做分配,其他地址供路由、拓扑查找和维护协议使用。该范围内的地址属于局部地址,不论生存时间字段TTL值是多少,都不会被路由器转发。224.0.1.0〜238.255.255.255地址作为用户组播地址,在全网范围内有效。239.0.0.0〜239.255.255.255地址范围为本地管理组播地址(administrativelyscopedaddresses),仅在特定的范围内有效。当IP层收到组播数据报文时,根据组播目的地址査找组播转发表,对报文进行转发。IANA将MAC地址范围O1:OO:5E:OO:OO:OO~O1:OO:5E:7F:FF:FF分配给组播使用,这就要求将28位的IP组播地址空间映射到23位的MAC地址空间中,具体的映射方法是将组播地址中的低23位放入MAC地址的低23位,如图7-5所示。
组播地址到MAC地址的映射
图7-5   组播地址到MAC地址的映射
     由于IP组播地址的后28位中只有23位被映射到MAC地址,这样会有32个IP组播地址映射到同一MAC地址上。

一、组播协议

       根据协议的作用范围,组播协议分为主机-路由器之间的协议(即组播成员管理协议)以及路由器-路由器之间的协议(主要是各种路由协议)。组播成员管理协议是指IGMP(互联网组管理协议);组播路由协议又分为域内组播路由协议及域间组播路由协议两类。域内组播路由协议包括PIM-SM.PIM-DM,DVMRP等协议;域间组播路由协议包括MBGP.MS-DP等协议。同时为了有效抑制组播数据在二层网络中的扩散,引入了IGMPSnooping等二层组播协议。通过IGMP和二层组播协议,在路由器和交换机中建立起直连网段内的组成员关系信息,明确哪个接口下有哪个组播组的成员。域内组播路由协议采用IGMP维护组成员关系信息,运用一定的组播路由算法构造组播分发树,在路由器中建立组播路由状态,路由器根据这些状态进行组播数据包转发。域间组播路由协议根据网络中配置的域间组播路由策略,在各自治系统(AutonomousSystem,AS)间发布具有组播能力的路由信息以及组播源信息,使组播数据能在域间进行转发。

1.组播路由协议

      组播路由中有两个重要的元素:信源树(Source Tree)和共享树(Shared Tree)。信源树是指以组播源作为树根,将组播源到每一个接收者的最短路径结合起来构成的转发树。由于信源树使用的是从组播源到接收者的最短路径,因此也称为最短路径树(ShortestPathTree,SPT)o信源树的优点是能构造组播源和接收者之间的最短路径,使端到端的延迟达到最小,但是代价是在路由器中必须为每个组播源保存路由信息,这样会占用大量的系统资源,路由表的规模也比较大。对于某个组,网络要为任何一个向该组发送报文的组播源建立一棵树。共享树以某个路由器作为路由树的树根,该路由器称为汇集点(RendezvousPoint,RP),将RP到所有接收者的最短路径结合起来构成转发树。使用共享树时,对应某个组,网络中只有一棵树。所有的组播源和接收者都使用这棵树来收发报文,组播源先向树根发送数据报文,之后报文又向下转发到达所有的接收者。共享树的最大优点是路由器中保留的状态数可以很少,缺点是组播源发出的报文要先经过RP,再到达接收者,经由的路径通常并非最短,而且对RP的可靠性和处理能力要求很高。组播路由协议分为域内组播路由协议和域间组播路由协议。
       域内组播路由协议又分为密集模式和稀疏模式两种类型。密集模式假设组播组成员在网络中密集分布,为每对(组播源,组播组)建立组播树,而且默认网络带宽足够大;稀疏模式假设组播组成员在网络中稀疏分散,而且网络带宽有限。密集模式的组播路由协议包括:距离向量组播路由协议(DVMRP);开放最短路径优先组播路由协议(MOSPF);协议无关组播路由协议-密集模式(PIM-DM)。稀疏模式的组播路由协议包括:协议无关组播路由协议-稀疏模式(PIM-SM);基于核心的组播路由协议(CBT)。域间组播路由协议包括:多协议边界网关协议(MBGP);多点传送源发现协议(MSDP)。下面分别做简要介绍。
       (1)DVMRP(Distance Vector Multicast Routing Protocol)
       DVMRP在IETFRFC1075中定义。DVMRP把RIP协议和修剪反向路径广播算法(Truncated Reverse Path Broadcasting,TRPB)结合在一起实现对组播路由的支持。DVMRP不支持为非组播数据做路由选择。与RIP协议不同,DVMRP使用TRPB算法计算从组播源到所有可能的数据接收者的(反向)最短路径(按跳数最少计算)树,而不是计算单播数据的下一跳地址。DVMRP是第一个在MBONE上得到普遍使用的组播路由协议,它在RIP协议的基础上扩充了支持组播的功能。DVMRP协议首先通过发送探测消息来进行邻居发现,之后通过路由交换来进行单播寻径和确定上下游依赖关系。DVMRP采用逆向路径组播(RPM)算法进行组播转发。当组播源第一次发送组播报文时,使用截断逆向路径组播(truncatedRPM)算法沿着源的组播分发树向下转发组播报文。当叶子路由器不再需要组播数据包时,它朝着组播源发送剪枝消息,对组播分发树进行剪枝,借此减少不必要的通信量。上游路由器收到剪枝消息后,将收到此消息的接口置为剪枝状态,停止转发数据。剪枝状态关联着超时定时器,当定时器超时时,剪枝状态又重新变为转发状态,组播数据再次沿着这些分支流下。另外,当剪枝区域内出现了组播组成员时,为了减少反应时间,下游不必等待上游剪枝状态超时,而是主动向上游发送嫁接报文,以使剪枝状态变为转发状态。可见,DVMRP是由数据触发驱动建立组播路由表,而路由树的建立过程可以概括为“扩散与剪枝M(BroadcastandPrune)„转发特点可以概括为“被动接受,主动退出”。另外,在多路访问网络中,当有两个或多个组播路由器时,网络上可能会重复转发包。为了防止这种情况出现,在多路访问网络上,DVMRP为每个源选择了一个唯一的转发器。
       (2)MOSPF(Multicast Extensionsto OSPF)
       MOSPF在IETFRFC1584中定义。MOSPF在OSPF协议的基础上扩充了对组播路由的支持。这种扩展向下兼容,即MOSPF支持与OSPF的互操作进行单播路由选择。每个MOSPF路由器都釆用IGMP查询消息周期性的收集组播组组成员关系信息。MOSPF中增加了一个类型为group-membership-LSA链路状态宣告,结合OSPF的链路状态数据库,确定所有组播成员在网络中的位置,进而计算出以组播源为根的最短路径组播树。MOSPF与。SPF-样,允许将自治域分区。在这种情况下MOSPF无法得到整个自治系统的拓扑信息。在跨分区转发组播数据时,无法建立最优的最短路径树。
       (3)PIM-DM(Protocol Independent Multicast Dense Mode)
       PIM-DM在IETFRFC3973中定义。PIM-DM不依赖任何一种拓扑发现协议。PIM-DM假设当组播源开始发送数据时所有节点都是组播组成员,组播数据被泛洪到网络的各个区域,这种方式导致了额外的网络带宽消耗。PIM-DM使用反向路径转发,防止产生环路。没有组播组成员的组播树分支被显示的剪枝操作修剪。PIM-DM协议使用下面的假设:当组播源开始发送组播数据时,域内所有的网络节点都需要接收数据,因此釆用“扩散-剪枝”的方式进行组播数据包的转发。组播源开始发送数据时,沿途路由器向除组播源对应的RPF接口之外的所有接口转发组播数据包。这样,PIM-DM域中所有网络节点都会收到这些组播数据包。为了完成组播转发,沿途的路由器需要为组G和源S创建相应的组播路由项(S,G)。(S,G)路由项包括组播源地址、组播组地址、入接口、出接口列表、定时器和标志等。
        如果网络中某区域没有组播组成员,该区域内的路由器会发送剪枝消息,将通往该区域的转发接口剪枝,并且建立剪枝状态。剪枝状态对应着超时定时器。当定时器超时时,剪枝状态又重新变为转发状态,组播数据得以再次沿着这些分支流下。另外,剪枝状态包含组播源和组播组的信息。当剪枝区域内出现了组播组成员时,为了减少反应时间,协议不必等待上游剪枝状态超时,而是主动向上游发送嫁接报文,以使剪枝状态变为转发状态。PIM-DM与PIM-SM的区别主要有两个方面:一个是PIM-DM不使用周期性的组成员加入消息,只有显示触发的修剪和嫁接消息;另一个是PIM-DM,没有汇聚点。
       (4)CBT( Core Based Trees)
       CBT在IETFRFC2201中定义。CBT为每个组播组创建一个共享的组播转发树。CBT中存在一个核心路由器(corerouter)担任组播信源和组播信宿的连接点,即所谓的“核心”。某个需要加入组播组的主机发送IGMP组成员报告消息给本地的CBT路由器。本地CBT路由器收到该消息后发出加入请求(JOIN_REQUEST)消息给到达核心点的路径上的下一跳CBT路由器。每个收到加入请求消息的CBT路由器沿途转发该消息,直到到达核心点路由器或者路径上的某个已经加入组播树的CBT路由器为止。最后收到加入请求消息的CBT路由器返回一个加入确认消息(JOIN_ACK)对加入请求进行确认。加入确认消息沿加入请求消息的反向路径返回到最初发送该加入请求消息的CBT路由器。此后,需要加入组播组的主机便可以收到组播数据。加入请求消息要求途经CBT路由器设立一个临时的加入状态(joinstate),等待对应的加入确认。如果计时器超时还未收到对应的加入确认消息,加入状态被超时拆除。
     (5)PIM-SM(Protocol Independent Multicast Sparse Mode)
       PIM-SM在IETFRFC2362中定义。在PIM-SM协议中,分别与组播源以及组播宿(链路层)直接相连的路由器可以成为指定路由器(DesignatedRouter,DR)oDR为存在组播组成员的组播组周期性的向组播组的汇聚点(Rendezvous Point,RP)发送加入/修剪消息。每个沿途的路由器为此创建一个通配状态并转发加入/修剪消息到RP。这些状态确定了一个以RP为中心的共享组播树。PIM-SM允许建立组播源到各组播宿的最短路径树,并且将该组播宿在共享树中的叶节点(或分支)删除。PIM-SM通过建立组播分发树来进行组播数据包的转发。组播分发树分为两种:以组G的RP为根的共享树和以组播源为根的最短路径树。PIM-SM通过显式地加入/剪枝机制来完成组播分发树的建立与维护。在PIM-SM域中,运行PIM-SM协议的路由器周期性地发送Hello消息,用以发现邻接的PIM路由器,并且负责在多路访问网络中进行DR的选举。这里,DR负责为与其直连的组成员向组播树根节点的方向发送加入/剪枝消息,或是将直连组播源的数据发向组播分发树。在多路访问网络中,PIM-SM还引入了以下机制:使用断言机制选举唯一的转发者,以防向同一网段重复转发组播数据包;使用加入/剪枝抑制机制减少冗余的加入/剪枝消息,使用剪枝否决机制否决不应有的剪枝行为。PIM-SM的路由建立过程如下:
       当DR直连的网络中具有组G的活动成员时,则向着组G的RP方向逐跳发送组播加入消息,加入共享树(图7-6中1)。当本次加入沿着树上行进行时,沿途的路由器建立组播转发状态(图7-6中2),即路由项。路由项中包括以下字段:源地址、组地址、组播数据包的入接口、组播数据包的出接口列表、定时器和标志位等,以使路由器在收到组播数据后可以沿着树向下转发。当不再希望接收组播数据时,DR向着组G的RP逐跳组播剪枝消息用以剪枝共享树。剪枝沿着树上行进行时,沿途的路由器更新它的路由项,例如删除出接口等。转发树上的路由器要向着这个组的RP周期性地发送加入/剪枝消息,用以维护组播分发树状态。
PIM-SM协议的工作过程
图7-6  PIM-SM协议的工作过程
       源主机向组发送组播数据时,源的数据被封装在注册消息内,并由DR单播至RP(图7-6中3),RP再将注册消息解封装成数据包,沿着共享树转发到各个组成员。之后,RP可以朝着源方向发送对特定源的加入/剪枝消息(图7-6中4),加入这个源的最短路径树。这样,源的数据包将沿着最短路径树不加封装地发送到RP(图7-6中5)。当组播数据包沿最短路径到达时,RP向源的DR发送注册-停止消息(图7-6中6),使DR停止注册封装过程。此后,这个源的组播数据不再注册封装,而是先沿着源的最短路径树发送到RP(BfAfRP),再由RP将数据包转发到共享树上,沿着共享树(RPfDfC)发送到各个组成员。若达到一定的数据传送速率,DR也可以发送显式的加入消息加入到源的最短路径树上(图7-6中7),组播报文就经由最短路径树转发下来(图7-6中8)。之后,DR对共享树进行更新,删除相应的共享转发路由(图7-6中9)。PIM-SM中还涉及RP的选择机制。在PIM-SM域内配置了一个或多个候选自举路由器(Candidate-BSR)。使用一定的规则从中选出自举路由器(BSR)。PIM-SM域中还配置有候选RP路由器(Candidate-RP)这些候选RP将包含了它们地址及可以服务的组播组等信息的报文,单播发送给自举路由器,再由BSR定期生成包括一系列候选RP以及相应的组地址的“自举”消息。“自举”消息在整个域中逐跳发送,路由器接收并保存这些“自举”消息。若DR从直连主机收到了IGMP加入报文后,如果它没有这个组的路由项,将使用哈希算法将组地址映射到一个候选RP。然后朝RP方向逐跳组播加入/剪枝消息。若DR从直连主机收到组播数据包,如果它没有这个组的路由项,也将使用哈希算法将组地址映射到一个候选RP,然后将组播数据封装在注册消息中单播发送到RPo
     (6)MBGP(MultiProtocol Border Gateway Protocol)
       MBGP在IETFRFC2858中定义。MBGP在BGP协议的基础上扩充了对多种网络层协议的支持(如IPv6 JPX等),其中包括对组播路由的支持。这种扩展向下兼容,即MBGP支持与BGP的互操作进行单播路由选择。利用BGP协议在自治域之间进行组播路由选择有两种方式。一种是在ASBR之间直接运行标准的EBGP,此时组播路由器上的RPF(Reverse Path Forwarding)检査表与单播路由表相同。其他自治域的主机需要加入组播组时,(在PIM-SM方式下)直接向组播源发起目标组播组的加入请求。该请求在跨越自治域边界时,使用从EBGP获得的ASBR出口信息。另外一种是在ASBR之间运行扩展的EBGP,专门用来传递组播拓扑信息,如组播RPF等。在这种方式允许自治域为组播路由分配专门的ASBR作为组播路由出口,从而和单播路由分开。域间路由的首要问题是路由信息(或者可达信息)如何在自治系统之间传递。由于不同的AS可能属于不同的运营商,因此,除了距离信息外,域间路由信息必须包含运营商的策略,这是与域内路由信息的不同之处。
       目前使用最多的域间单播路由协议是BGP-4O为了实现域间组播路由信息的传递,必须对BGP进行改动,因为组播的网络拓扑和单播拓扑有可能不同。这里既有物理方面的原因,也有策略方面的原因。网络中的一些路由器可能只支持单播不支持组播,也可能按照策略配置不转发组播报文。为了构造域间组播路由树,除了要知道单播路由信息外,还要知道网络中哪些部分是支持组播的,即组播的网络拓扑情况。简而言之,域间的组播路由信息交换协议应该满足能对单播和组播拓扑进行区分以及有一套稳定的对等和策略控制方法。BGP-4已经满足后一个条件,而且已经被证明是一个有效的、稳定的单播域间路由协议。因此合理的解决方案是对BGP-4协议进行增强和扩展,而不是构建一套全新的协议。在RFC2858中规定了对BGP进行多协议扩展的方法,扩展后的BGP协议(MBGP,也写作BGP-4+)不仅能携带IPv4单播路由信息,也能携带其他网络层协议(如组播、IPv6等)的路由信息,携带组播路由信息只是其中一个扩展功能。
        有了MBGP之后,单播和组播路由信息可以通过同一个进程交换,但是存放在不同的路由表里。由于MBGP是BGP-4协议的一个增强版,因此BGP-4所支持的常见的策略和配置方法都可以用到组播里。MBGP对BGP-4进行的改动是,在UPDATE报文里添加了两个属性:MP_REACH_NLRI(多协议可达NLRI)和MP-UNREACH_NLRI(多协议不可达NLRI)。它们都是可选非过渡(optionalnon-transitive)属性,既不支持MBGP的路由器可以忽略这些属性里的信息,而且不对这些属性进行转发。下面简单地介绍这两个属性。
       ①MP_REACH_NLRI属性
       MP_REACH_NLRI属性用一个<AFI,NHI,NLRI>三元组来表示。其中:
       •  AFKAddress Family Information)是地址族信息,它又包括地址族标识AFI和子地址族标识SAFI。AFI表明所使用的通信协议以及NHI中的地址类型,协议标识方法由RFC1700规定,如1代表IPv4地址,2代表IPv6地址。SAFI是对NLRI中信息的补充,在RFC2858中定义了3个值:1表示NLRI中的信息是单播模式;2表示NLRI中的信息是组播模式;3表示NLRI域中的信息既可用于单播也可用于组播。
       •  NHICNext Hop Identifier)是下一跳信息,其中包括下一跳的网络地址。通过下一跳网络地址可以到达NLRI中指定的所有目的地。
       •  NLRI(Network Layer Reachability Information)是网络层可达性信息,其中的目的地址可以通过NHI中的下一跳地址到达。
       ②MP_UNREACH_NLRI属性
       MP_UNREACH_NLRI属性用于取消一条或多条现有路由,用<AFI,WR>二元组表示。其中:
       •  AFI的含义和结构与MP_REACH_NLRI属性中的AFI相同;
       •  WRCWithdrawnRoute)是取消的路由,其中包括一个或多个NLRI,NLRI里的内容是不可达的目的地址。
可见,通过引入SAFI,MBGP既可以支持单播又可以支持组播,在网络中构建不同的单播和组播拓扑结构,而且能分别支持不同的策略。所以,针对某一个策略,MBGP构造出来的域间单播和组播转发路由可能是不同的。
       (7) BGMP(Border Gateway Multicast Protocol)
       BGMP在IETFRFC3913中定义。BGMP用于域间组播路由,而自治域内部可以运行任何一种组播路由协议。BGMP为组播组建立全局双向共享树。共享树的根是一个自治域而不是一个特定的路由器。只要根域可达,组播树的连通性即可得到保证。
        当某个主机申请加入一个组播组时,域出口边界路由器向根域发送一个组播组加入消息,该消息从边界路由器转发到(另一个域的)边界路由器。BGMP路由器在收到加入消息后针对目标组建立一个双向转发状态。所有这些转发状态构成了该组播组的全局双向共享树。
      (8) MSDP(Multicast Source Discovery Protocol)
       MSDP在IETFRFC3618中定义。MSDP定义了连接多个PIM-SM组播域的机制。每个PIM-SM组播域使用自己的汇聚点(RP),并且不依赖于其他组播域的RP。多个PIM-SM组播域的RP之间使用MSDP协议建立MSDP对等关系。当某个域的RP上有新的组播源注册时,该RP发送一个组播源S活动消息(Source-Active,SA)给它的MSDP对等RP。如果这个对等RP所在的域中有需要接收S发送的组播数据的潜在组成员,这个对等RP会向S发送一个加入消息,建立一个到S的最短路径树。
       对于ISP来说,不希望依靠竞争对手的RP转发组播流量,但同时又要求无论信源的RP在哪里,都能从信源获取信息发给自己内部的成员。MSDP就是为了解决这个问题而提出的。在MSDP里使用的是域间信源树而不是公共树,而且要求域内组播路由协议必须是PIM-SM.
       在MSDP中,某个域内的RP使用TCP连接与其他域内的RP建立MSDP对等关系,用这些对等关系交换信源信息。如果本地的接收者要接收其他域的信源发出的报文,则使用与PIM-SM中同样的方法构造信源树。

2、组播成员管理协议

       主机组播管理协议包括三层Internet组管理协议(IGMP)和二层Internet组管理协议(IGMPSnooping)。
       (1)三层Internet组管理协议(IGMP)
       IGMP协议运行于主机和与主机直接相连的组播路由器之间.IGMP实现的功能是双向的。一方面,通过IGMP协议,主机通知本地路由器,希望加入并接收某个特定组播组的信息;另一方面,路由器通过IGMP协议周期性地査询网段内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。通过IGMP,路由器中记录的信息可以反映某个组播组是否有组成员,而不是组播组与主机之间的对应关系。
       IGMP有两个主要的功能。首先,当某个主机申请加入一个组播组时,它向自己的组播网关路由器发送IGMP消息申请加入该组。另外每个组播网关路由器使用IGMP定期的查询与自己直接(链路层)相连的网段上是否有属于某个组的成员。IGMPv2的工作过程是:当同一个网段内有多个组播路由器时,IGMPV2通过选举机制从中选举出唯一的査询器。查询器周期性地发送通用组查询消息进行成员关系查询;主机发送报告消息来响应査询。主机发送报告消息的时间有随机性,当检测到同一网段内有其他成员发送同样的消息时,则抑制自己的响应报文;如果有新的主机要加入组播组,不必等待査询器的査询消息,而是主动发送报告消息。当要离开组播组时,主机发送离开组消息;收到离开组消息后,査询器发送特定组查询消息来确定是否所有组成员都已离开。对于作为组成员的路由器而言,其行为和普通的主机一样响应其他路由器的査询。通过这个机制,在组播路由器里建立起一张表,其中记录了路由器的各个接口所对应的子网上都有哪些组的成员。当路由器接收到某个组G的数据报文后,只向那些有G的成员的接口上转发数据报文。至于数据报文在路由器之间如何转发则由路由协议决定,不是IGMP协议的功能。
       到目前为止,IGMP有3个版本。IGMPvl(RFC1112)中定义了基本的组成员查询和报告过程;目前通用的是IGMPv2(RFC2236),在IGMPvl的基础上添加了组成员快速离开的机制;IGMPv3增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。
       IGMPv2对IGMPvl主要做了如下修订:
       •  组成员报告消息增加了一个新类型,用于区分IGMPvl的报告消息和IGMPv2的报告消息;
       •  增加了离开组消息;
       •  组成员査询消息中增加了最大响应时间;
       •  对组成员查询者的选举方式进行了标准化;
       •  放宽了对组成员査询消息及组成员报告有效性检查的要求;
       •  要求IGMPv2的数据包上设置IP路由器警报选项。
IGMPv3对IGMPv2主要做了如下修订:
       •  增加了源地址过滤;
       •  维护的状态从单纯的组地址变为(组地址,组播源列表);
       •  在协议状态中定义了与IGMPvl和IGMPv2的互操作;
       •  IP服务端口上允许组播源列表说明;
       •  发送组成员査询消息的査询者在查询消息中设置健壮性参数和查询时间间隔参数,以允许和非査询者之间对这些参数进行同步;
       •  放宽了最大响应时间范围;
       •  增加了主机重发状态改变消息,以增强健壮性;
       •  定义了附加消息字段,以便未来进行扩展;
       •  组成员报告消息发送到224.0.0.22辅助二层的监听功能;
       •  组成员报告消息包含多个组记录,以减少消息数量;
       •  取消了主机组成员报告消息抑制;
       •  增加路由器侧计时器更新抑制功能。
       (2)二层Internet组管理协议(IGMP Snooping)
       IGMP组播成员管理机制是针对第三层设计的,在第三层,路由器可以对组播报文的转发进行控制,只要进行适当的接口配置和对TTL值的检测就可以了。但是在很多情况下组播报文要不可避免地经过一些二层交换设备,尤其是在局域网环境里。如果不对二层设备进行相应的配置,则组播报文就会转发给二层交换设备的所有接口,这显然会浪费大量的系统资源。IGMP监听(IGMPSnooping)可以解决这个问题。IGMP监听的工作原理是:主机发出IGMP成员报告消息给路由器,在IGMP成员报告经过交换机时,交换机对这个消息进行监听并记录下来,形成组成员和接口的对应关系;交换机在收到组播数据报文时,根据组成员和接口的对应关系,仅向具有组成员的接口转发组播报文。IGMP监听首先可以解决二层环境中的组播报文泛滥问题,但要求交换机具有提取第三层信息的功能;其次,要求交换机对所有的组播报文进行监听和解读,这会产生很多的无效工作;此外,组播报文监听和解读工作也会占用大量的CPU处理时间。

3.PIM-SM/MSDP/MBGP组合方案的工作过程示例

       (1)AS之间建立MBGP对等、RP之间建立MSDP对等。
       (2)某个域(设为AS2)里的信源开始发出报文。
       (3)信源指定的PIM-SM路由器(一般是在本地距信源最近的PIM-SM路由器)将信源发出的数据封装在一个Register报文里,发给域内的RP。
       (4)RP将报文解封装,沿域内的共享树向下转发给域内的所有成员,域内成员可以选择是否切换到信源树上。从步骤(1)到(3)都是PIM-SM的典型工作过程。
       (5)同时,RP收到报文后生成一个SA报文,发送给MSDP对等方(AS1和AS3内的RP)。每个SA报文中包含信源的IP地址、组播组地址和生成报文的RP地址。只要信源在发送数据,RP就周期性地发送SA报文。
      (6)如果在对等方RP所在的域(图7-7中为AS3)里有接收者,则对等方RP在把报文
向收端发送的同时,直接向信源发送PIM-SMJoin报文(不是向信源所在的域AS2的RP发送报文)。
      (7)逆向转发路径建立起来,源端发出的数据直接发送到AS3的RP上,RP开始转发数据。
      (8)AS3中的组成员就可以选择是否切换到SPT上,因为此时组成员已经知道信源的IP地址信息。这个过程与PIM-SM中的一样。
PIM-SM/MSDP/MBGP组合方案的工作过程
图7-7  PIM-SM/MSDP/MBGP组合方案的工作过程
       从上面的流程可以看出,PIM-SM/MBGP/MSDP组合方案实际上是PIM-SM协议在域间环境下的扩展。如果把整个PIM-SM/MBGP/MSDP组合方案机制看作PIM-SM,则所有域的RP的集合就是PIM-SM协议中的“RP”,而PIM-SM/MBGP/MSDP只是增加了两个过程:一是信源信息在RP集合中的泛滥,以实现信源和成员在“RP”点的会合;二是域间组播路由信息的传递,目的是保证组播报文在域间的顺利转发。在上述过程中,AS3中的RP和收端向AS2中的远端建立逆向路径的过程中都需要用到MBGP传递的组播拓扑信息。
exit

申请演示

IPTV网络电视系统仅适用于企业和公司。

电话:028-83110277
  • 端到端解决方案
  • IPTV/OTT 中间件 (CMS)
  • OTT 播放器应用程序(支持超过 11 个平台)
  • IPTV电视系统媒体服务器
  • 转码器
  • 机顶盒
  • 数字版权管理/CAS
  • 酒店IPTV系统方案
联系我们