《组播协议概述》word版.doc_第1页
《组播协议概述》word版.doc_第2页
《组播协议概述》word版.doc_第3页
《组播协议概述》word版.doc_第4页
《组播协议概述》word版.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

组播协议概述1 IGMP v2协议概述1.1 协议介绍IGMP是一个运行在路由器/三层交换机(以下简称路由器)与直连的主机之间的协议,该协议被主机用来向直连的路由器报告主机所属的多点广播组的隶属关系。该协议分为主机侧和路由器侧两部分(协议栈只提供了主机侧的源码),本模块注重于路由器侧的实现。与ICMP一样,IGMP被封装在IP数据报内,IP的协议数为2。并且,由于IGMP是在主机和直连路由器之间传输的,因此封装IGMP的IP报文的TTL被设定为1。同时为了保证路由器能够及时处理该IGMP报文,在封装IGMP的IP报文中应加上“IP Router Alert option”,以下是IGMP v2的数据报格式信息。1.2 包格式 图一 IGMP包格式说明: Type域: 0x11 = 隶属关系查询消息(Membership Query) 该类型包含两种消息:General Query,路由器发往主机,查询网络上有多少多点广播组存在。Group-Specific Query,路由器发往主机,查询特定的多点广播组是否有成员存在。 0x16 = 版本2隶属关系报告(Version 2 Membership Report),主机发往路由器。0x17 = 离开组(Leave Group),主机发往路由器。0x12 = 版本1隶属关系报告(Version 1 Membership Report),主机发往路由器, 本消息向后兼容。其它未说明的消息类型应该被丢弃。Max Response Time域:Max Response Time 域仅在“Membership Query”消息中有效,它以1/10秒为单位,说明了主机在回应路由器的“Membership Query”消息前的延迟时间。在所有的其它消息中,该域被消息发送者置为0,并被消息接收者忽略。该域的设计有助于减少主机“Membership Report”包的数量。 Checksum域:整个IP净荷的checksum。Group Address域: 在“Membership Query”消息中,如果发送的是“General Query”消息,则该域被 置为0,如果发送的是“Group-Specific Query”,该域被置为需要查询的组播地址。 在“Membership Report”或“Leave Group”消息中,该域被置为需要报告或或离开 的组播地址。其它域:注意,IGMP消息可以超出8字节的限制,特别是为以后的版本扩充考虑。在检验IGMP包的合法性时,只要Type域是合法的 ,实现者必须忽略超出8字节以外的包的内容。同时注意,IGMP校验和(checksum)总是以整个IP包净荷为计算内容的,而不仅仅是前8个字节。 1.3 协议描述运行组播软件的路由器通过IGMP协议得知在它所连接的各个物理网络上有哪些组播组有成员存在。该组播路由器保持一个组播组隶属关系表,并为每一个组播组保持一个定时器。一个“组播组隶属关系”意味着在该路由器的某个直连网络上,某个组播组至少存在一个成员(成员主机),因此该组播路由器保存的是“组播组隶属关系”的列表,而不是该组播组内所有成员的列表。在路由器的每一个可运行IGMP协议的接口上,该路由器必须成为查询者(Querier)或非查询者(Non-Querier)。在一个网络中,通常只有一个查询者(Querier)。所有的组播路由器在初始启动的过程中是作为查询者的面目出现的,直到该路由器通过侦听查询消息(General Query message)得知有另一个具有更低IP地址的组播路由器出现在同一个网络中,则该路由器将自身(该路由器的对应接口)状态转换成非查询者。当组播路由器成为非查询者后,如果在Other Querier Present Interval时间内,该组播路由器没有收到其它的具有更低IP地址的组播路由器发出的查询消息(General Query message),该组播路由器重新变成查询者(Querier)。组播路由器在它是Querier的接口上每个Query Interval时间定时发送General Query message,用来向主机查询组播组“隶属关系”。为了加快组播路由器发现“隶属关系”的速度,在路由器启动时,它应该发送Startup Query Count个General Query message,这些消息的间隔时间为Startup Query Interval。General Query message的目的地址为224.0.0.1(所有主机组播地址),IGMP包内的组播地址域被设置成0,同时,Max Response Time域被设置成Query Response Interval。当一个主机收到一个General Query message,如果该主机属于某一个多点广播组,则该主机设置一个延时定时器,该定时器的取值为(0,Max Response Time中的任意值。其中Max Response Time为主机收到的General Query message中的“Max Response Time”域的值(单位为1/10秒)。如果主机中对应于该组的定时器已经在运行,则当且仅当收到的包中的“Max Response Time”的值小于定时器剩下的时间时,重新设置定时器为(0,Max Response Time。如果定时器超时,该主机向路由器发送Version 2 Membership Report消息,置IP TTL 为1。如果在定时器运行过程中,该主机收到了其它主机的关于该组播组的Membership Report消息,则终止定时器,这样做是为了有效地降低重复包的发送。当路由器收到Membership Report消息,它将被报告的多点广播组加入到自身的多点广播组隶属关系表中,并为该组设置一个定时器(Group Membership Interval)。有关该组的重复报告刷新该定时器,如果该定时器超时,则路由器认为这个多点广播组已没有成员存在了,因此不需要转发发源于远端的目的地址为该组播地址的多点广播信息给该网段。当一个主机加入一个多点广播组时,它应该立刻发送一个有关该组的主动的Version 2 Membership Report消息,尽快地通知路由器该组的存在,以防它是有关该组的第一个成员。为了防止这个初始消息的丢失,协议建议该消息应该被重复一到两次,以Unsolicited Report Interval间隔。(一个实现的简单方法是主机发送一个初始的Version 2 Membership Report消息,并继续按照接收到一个Group-Specific Query的动作执行)。当一个主机离开一个多点广播组,如果该主机是该组中的最后一个成员,它应该发送一个Leave Group message,该消息的目标地址为(224.0.0.2)。如果该主机不是该组中的最后一个主机,它可以什么都不用发送。如果主机并不知道它是否是某个组的最后一个成员,它可以总是发送一个Leave Group message。当一个Querier路由器接收到Leave Group message,如果该路由器在接收接口上有关于该组的成员隶属关系记录存在,则它发送Last Member Query Count个Group-Specific Query,以Last Member Query Interval时间间隔。所发出的Group-Specific Query消息的Max Response time被设置成Last Member Query Interval。如果路由器在Last Member Query Count * Last Member Query Interval时间内没有关于该组的Membership Report消息收到,则路由器假设在该接口上已经没有该组的成员存在了。在以上的过程中,路由器本身从Querier到non-Querier的状态变化是被禁止的。Non-Qureier路由器必须忽略Leave Group message,并且Querier路由器应该忽略Leave Group message,如果它在收到该消息的接口上没有该组的成员隶属关系记录。当一个Non-Querier路由器收到一个Group-Specific Query message,如果该路由器的组定时器的值比该消息中的“Max Response Time” * Last Member Query Count的值还要大,则该组定时器的值用以上的乘积取代。以上论述的IGMP Version 2的协议操作过程,对于IGMP Version 1来说,该版本不包含Version 2 Membership Report 消息,也没有Leave Group message。在Membership Query 消息中,IGMP v1将Max Response Time域设置为0,并且IGMP v1没有类似与IGMP v2那样的Querier选举机制。下面给出各种消息的IP包的目标地址,做一个小结:General Query ALL-SYSTEMS (224.0.0.1)Group-Specific Query The group being queriedMembership Report The group being reported Leave Message ALL-ROUTERS (224.0.0.2)图二 主机状态转换图图三 路由器Querier Non-Querier状态转换图图四 Non-Querier接口多点广播组状态转换图图五 Querier接口多点广播组状态转换图2 DVMRP协议概述DVMRP为无连接的组播数据包传输提供了一种有效的机制。DVMRP采用RPM(Reverse Path Multicasting)技术动态地生成IP组播传输树,它采用距离-矢量路由算法(类似于RIP),通过该算法,构筑出面向(Source, group)的组播树。DVMRP可以被归结为“广播剪枝”组播路由协议。它在路由交换的基础上建立基于源的组播树,然后通过“剪枝”动作动态地创建基于(Source,Group)的组播树。当路由器接收到组播数据包时,首先要通过RPM技术检验该组播数据包的“来源”是否正确,然后根据(Source,Group)组播树所形成的组播路由记录将该组播数据包转发到该树的下游接口上。Dvmrp协议的原理比较简单,该协议实际上分为两个大的步骤:首先是源路由扩散过程。所谓源路由,在Dvmrp中,指我们通常所说的某一个网段的路由信息。由于Dvmrp协议是一种“面向资源”的协议,因此,在其它路由协议中称为目的(网段)路由的路由记录,在Dvmrp中的称谓正好相反,这是因为Dvmrp将此网段看为一种资源,即组播业务的发源地。在Dvmrp中某一个网段,如:202.102.1.0/24,称为源路由,是因为协议假设有任意组播数据包可以从该网段发出,即组播数据包源地址=202.102.1.x,组播数据包目的地址=某一组播地址,因此该网段在Dvmrp中称为源路由信息。这种源路由信息在Dvmrp自治系统中扩散,最大为31跳(32跳为无穷大),使得协议的第一步,自治系统中所有的路由器对于源路由同步,基本实现。这一过程与RIP的过程基本相似。协议的第二步,是在每一个路由器上根据每一个源路由信息构筑面向此源路由的组播树,并由此组播树形成最终的用来转发组播数据包的(Source,Group)路由记录。经过协议第一步的源路由扩散操作,路由器对每一条源路由信息,形成两条路由记录:一条是面向此源路由的普通路由记录(既通常所说的目的路由),另一条是从此源路由发源,目的地址为所有组播地址(224.0.0.0/240.0.0.0)的(Source,Group)组播路由记录,该记录用来转发从此源地址网段发来的所有组播包。以上的路由信息是源路由扩散后快速形成的。由于上面的(Source,Group)路由记录的作用,从Source发来的组播数据包会被转发到(Source,Group)路由记录所指向的下游邻居路由器(下面介绍),下游邻居路由器收到该组播数据包后,也会根据自己的(Source,Group)组播路由记录转发此组播数据包,如果此下游邻居的(Source,Group)路由记录所指向的下游邻居路由器为空,则表示没有更下游的路由器希望接收由Source发来的,目的地址为Group的组播数据包。因此,此下游路由器将根据Source,向它的上游路由器(即最早提到的那个路由器),发送剪枝消息,表示自己不再想接收由Source发来的,地址为Group的组播数据包。如果上游路由器的所有下游邻居都已经发来的关于(Source,Group)的剪枝信息,同时在上游路由器的直连端口上通过IGMP协议没有查询到有关于Group的组播成员存在,则此上游路由器进一步发送剪枝消息给更上游的路由器。如果下游路由器的(Source,Group)路由记录所指向的下游邻居不为空,或下游路由器的直连端口上通过IGMP协议查询到有关于Group的组播成员存在,则,此下游路由器可以向上游路由器发送嫁接消息,终止以前发送的剪枝消息,表示本下游路由器愿意接收从Source发来的,目的地址为Group的组播数据包。从上面的论述中可以看出,每一条源路由记录可以形成多个组播树,每个树的Source相同(或是Source网段内的某一台主机),而Group不同。这些针对同一个Source的不同的组播树,最终会反映到路由转发表中,形成不同的(Source,Group)路由转发记录。2.1 邻居发现在具有组播能力的网络接口或“Tunnel”伪接口上,通过收发邻居“探测”消息,DVMRP路由器间动态地发现邻居。该消息的目标地址为“All-DVMRP-Routers”组播地址,IP TTL的值被置为1。路由器在某一个接口上发出的DVMRP“探测”消息包中,包含了在该接口上的所有邻居路由器的地址列表,这些邻居路由器的地址是通过交互“探测”消息而被该接口收集到的。一旦路由器接收到的邻居“探测”包中包含了本路由器的地址,则本路由器与发送该“探测”包的邻居路由器建立了“two-way”关系。2.2 源定位当一个组播数据包到达一个运行DVMRP协议的路由器上时,该路由器首先到路由转发表中搜索该组播数据包是否是从本路由器的“上游接口”抵达的。所谓“上游接口”,是从相反的方向去考虑,指本路由器到达此组播数据包源地址(网段)的最优本机接口。如果该组播数据包是从该源地址(网段)的“上游接口”到达路由器的,那么可以根据(Source,Group)树被转发到本路由器针对该源地址的“下游接口”;否则,该组播数据包到达路由器的路径不正确,因而被丢弃。对于同一个源地址(源网段),为了确保所有的DVMRP路由器有相同的路径视图,DVMRP协议通过广播路由表来完成路由器间的路由同步工作。每一个路由器广播它所直连的网段/掩码,同时转发从其它邻居路由器处得来的路由。在所有物理的和“Tunnel”的接口上,DVMRP都需要配置Metric。当路由器接收到邻居传来的路由信息时,需要将接收接口上的Metric值加到接收的路由信息的Metric上。这个调整过的路由Metric变量是本路由器用来做路由计算/选择用的。注意,Dvmrp协议的路由扩散是指源路由的扩散。2.3 下游路由器通过路由器间源路由信息的交互,除了在路由器间形成统一的源路由视图外,另一个重要的用途是针对某一个特定的源路由网段,使上游路由器确定依赖它的下游路由器。DVMRP通过毒性逆转的方式确定某一路由器的下游路由器(针对特定源路由网段)。对于下游路由器来说,如果下游路由器认为对于某一源路由网段,它的“下一跳”路由器存在,则该下游路由器认为“下一跳”路由器即为针对该源路由网段的上游路由器,它通过向上游路由器发送Metric值为“无穷大”到 2*“无穷大”的路由信息来指明它是上游路由器的下游路由器(即对于这个源路由网段,上游路由器有此下游路由器存在,可以接收此源路由网段发出的组播数据包)。通过上述的“毒性逆转”方法,针对某一个源路由网段,上游路由器构筑了它的下游路由器的列表关系,为进一步转发组播数据包奠定了基础。2.4 指定转发者当两个或更多的组播路由器被连接到同一个组播网络时,在该网络上可能会有重复的组播数据包发送(因为每一个组播路由器都向该网络转发组播数据包)。因此,需要在该组播网络上选举出一个指定转发者(Designated Forward)。在一个组播网络上,当两个路由器交换路由信息时,每一个路由器得知另一个路由器到达某个源路由网段的Metric值,因此,对于该源路由网段,具有较低Metric值的路由器成为指定转发者。如果对于某一个源路由网段,有两个以上的路由器有相同的最低Metric值,则具有最低IP地址的那个路由器成为指定转发者。2.5 创建组播树正如前面所提到的,当一个组播数据包到达路由器上,路由器通过RPM来检验组播数据包入口的正确性。通过检验的数据包被转发到对应的组播树的下游接口上。2.6 加入局部组成员在组播网络上,IGMP协议维护着路由器接口上所具有的组播成员隶属关系列表。如果在路由器的某个接口上,该路由器是指定源路由网段的DF并且在该接口上有关于某个组播地址的成员存在(IGMP数据库中有对应的隶属关系记录),则该接口应该被加入到(Source,Group)对应组播树的下游接口中去。2.7 加入邻居接口在初始情况下,对于某一个源地址,所有有下游依赖关系的接口应该被加入到该源地址的组播树中。然后,下游路由器通过向上游的路由器发送“剪枝”和“嫁接”消息,可以动态地加入/删除上游路由器的下游接口。2.8 剪枝组播树综合上面的论述,在路由器中,针对不同的源路由网段和目的组播地址,会有不同的(Source,Group)组播树存在,该组播树的实质是拥有一个对应的下游接口列表。当下游的路由器检测到对于某个组播目的地址,本地已经没有下游依赖接口存在的情况,该下游路由器可以通过向上游路由器发送剪枝消息来将自己从上游路由器对应的(Source,Group)组播树的下游依赖接口列表中去掉。如果上游路由器的某个(Source,Group)组播树的所有下游依赖接口全部被剪枝,则该上游路由器继续向它的上游路由器发送剪枝消息。剪枝消息一般情况下包含了生命期参数,当剪枝消息的生命期到达后,该剪枝消息被清除,除非有新的剪枝消息来“刷新”旧的剪枝消息。2.9 嫁接组播树一旦路由器的某个(Source,Group)的某个下游依赖接口被剪枝,则相应的组播数据包不会被转发到该接口上。然而,由于组播成员是动态地加入/离开某一个组播组的,因此,当被剪枝的下游依赖接口下重新有该组播组的成员加入时,下游路由器需要向上游路由器发送嫁接消息,嫁接消息采用确认方式,确保上游路由器能够收到。收到嫁接消息的上游路由器将被删除的下游依赖接口重新加入到(Source,Group)下游依赖接口表中,使得组播数据包能够重新向该下游依赖接口转发。2.10 协议消息格式DVMRP采用与IGMP相同的消息格式,IP的协议号为2。IGMP包类型为0x13。格式如下:CheckSumCodeType(0x13)MajorVersionMinorVersionReservedCode字段定义了DVMRP所具有的包类型:CodePacket TypeDescription1DVMRP ProbeFor neighbor discovery2DVMRP ReportFor route exchange7DVMRP PruneFor prunning multicast delivery trees8DVMRP GraftFor grafting multicast delivery trees9DVMRP Graft AckFor acknowledging graft messages3 PIM-SM协议概述PIM依赖于低层的拓扑信息收集协议(单播路由协议)来形成一个路由表,这个路由表叫做MRIB(Multicast Routing Information Base)。MRIB中的路由记录可以直接从单播路由协议所形成的路由转发表中获得,或从象MBGP这样的路由协议中得到。MRIB中的路由记录代表了到达某一个子网的反向路径信息(RPF)。在PIM协议中,PIM的控制消息,如:加入消息(Join)、剪枝消息(Prune)等通过查询MRIB中的路由记录,得到达到某一组播源网络或RP的路径信息;而从组播源网络发出的组播数据包是沿着PIM控制消息(如Join消息)的相反方向被转发给最终用户的。象所有的实现了RFC1112业务模型的组播路由协议一样,PIM-SM必须在“不优先”知道组播源或组播接收者的情况下将组播数据包从源路由到接收者。在PIM-SM协议中,主要分为三个阶段来实现,这三个阶段可以是并行发生的。3.1 Phase One : RP Tree在Phase One,一个组播接收者表示它有兴趣接收某一个组播组G的数据包,通常情况下,该接收者通过IGMP协议来通知路由器它的接收愿望的。该接收者所直接相连的局域网内,如果有多于一台路由器存在,则需要选举一台DR路由器(Designated Router),当DR路由器察觉到它所连接的局域网内有关于某一个组播组G的接收者存在时,该DR面向RP发送Join消息,这个消息被称为(*,G)消息,因为它接收所有组播源发出的目标地址为G的组播数据包(当然集合点是RP)。这个(*,G)加入消息面向RP,一跳一跳地经过中间的多个路由器,在它经过的每一个路由器中,关于组播组G的组播树状态被创建/更新。最终,这个(*,G)加入消息或者到达RP,或者到达了一个有(*,G)状态的路由器。当有许多接收者希望接收组播组G的信息时,会有许多有关(*,G)的加入消息汇聚到RP,并最终形成一个以RP为根节点的有关G的分布树,这棵树叫做RP Tree (RPT)。该树是一棵共享树,因为所有的关于组G的组播数据源都利用这棵树来向接收者发送组播信息。只要接收者希望继续接收组G的信息,加入消息(Join)应该被周期性地重复发送的。当接收者不希望继续接收组G的信息时,DR应该面向RP发送剪枝(Prune)消息。然而,如果DR由于某种原因没有发送剪枝消息,则RP Tree中的关于该接收者的加入状态也会由于TimeOut而被终止。当一个组播源向外发送组播数据包时,它的局域网DR路由器接收到这个组播数据包,并以单播IP包的形式封装该组播数据包,将它发送给对应的RP。RP接收到该封装数据包,解封装,并沿着上面形成的(*,G)共享树发送出去,在该(*,G)共享树的每一个节点,如果该节点有分支,则该组播数据包被复制,并最终传送到接收者。组播源的DR封装组播数据包的过程叫做Register,被封装的组播数据包叫做PIM Register Packet。在Phase One过程稳定状态下,组播数据包被封装传输到RP,被RP解封装后,沿着(*,G)共享树发送给最终接收者。3.2 Phase Two : Register Stop有两个原因导致组播数据包的Register-encapsulation操作效率不高:对于一个路由器来说,封装和解封装操作可能是相对“昂贵”的,这主要取决与该路由器是否有相应的硬件支持此种操作。Register被单播发送到RP,再由RP根据(*,G)共享树被发送到最终的接收者。这可能导致组播数据包会花费更长的距离到达一个离组播源相对较近的接收者,对于某些应用来说,这些附加的时延是不理想的。尽管Register-encapsulation可能不确定地继续下去,由于以上的原因,在正常情况下,RP将选择交换到“本地”转发。因此,当RP接收到一个从S发送的关于组G的Register-encapsulation的数据包的时候,它将面向S触发一个(S,G)加入(Join)消息。这个加入消息面向S一跳一跳地向前发送,在它所经过的路由器上,关于(S,G)的组播树状态被创建/更新。这个(S,G)的组播树状态仅仅被用来转发从S发源的目标地址为组G的组播数据包。最终,这个加入消息到达S所在的子网或到达一个路由器,而这个路由器已经有(S,G)的组播树状态存在。随后,从S发源的组播包沿着(S,G)组播树传输到RP。在此过程中,这些组播数据包也可能经过一些具有(*,G)共享树状态的路由器,在这种情况下,这些组播包可以切换到RP共享树上传输。当RP进行加入面向S的源特定组播树的操作时,组播数据包依然通过Register动作被封装发送到RP。当S开始从(S,G)树上向RP发送组播包的时候,RP将接收到同一个组播包的两个拷贝,此时,RP开始丢弃Register-encapsulation的数据包,并且向S的DR发送Register-Stop消息,告诉DR不要再发送Register-encapsulation的数据包了。在Phase two稳定时,从S发来的组播包将沿着(S,G)树以“natively”(未加改变地)被传输到RP,并进一步沿着(*,G)树传输给接收者。当两个树相交叉,组播包可以从(S,G)树传输到(*,G)树(在同一个路由器内),避免了经过RP的绕路过程。应该注意,发送者可能在有或没有接收者的情况下对外发送组播包,因此,Phase two可能在RP的(*,G)树建立之前就已经发生了。3.3 Phase Three : Shortest-Path Tree尽管有了RP加入面向组播源S的(S,G)树,存在,阻止了Register-encapsulation的组播数据包发送给RP,组播数据包的转发路由依然没有得到彻底的优化。对于许多接收者而言,相对于从组播源S直接得到组播数据包的最短路径优先树而言,从S RP 接收者 的过程是一个绕路的过程。为了获得最低的延时效率,接收者的DR可以“可选地”发起一个从(*,G) RPT到(S,G)SPT的转换工作。为了实现这一点,DR面向S发起一个(S,G)加入消息,导致在面向S的路径上的所有路由器必须处理该(S,G)消息(创建/更新),最终,这个消息或者抵达了S所在的源网段,或者抵达了一个已经有(S,G) SPT状态的路由器。随后,由S发源的组播数据包将沿着这条由(S,G) SPT状态信息所构成的SPT树抵达接收者。从接收者的观点来看,或从接收者的直连“上游”路由器的观点来看,它接收到两个相同内容的组播数据包,一个是从RPT树中沿着(*,G)状态发送过来的,另一个是从SPT树中沿着(S,G)状态发送过来的。当从SPT树上来的第一个组播数据包到达路由器上时,该路由器开始丢弃由RPT发送过来的组播数据包,并面向RP发送一个(S,G)剪枝(Prune)消息。该消息称为(S,G,rpt)剪枝消息。这个消息沿着面向RP的方向一跳一跳地被转发,告诉它所经过的所有路由器,不再需要将由RP转发来的发源于S的、目的地址是组G的组播数据包转发给发送该(S,G,rpt)的下游邻居路由器,该(S,G,rpt)消息会一直面向RP的方向传递,直到它到达了RP或它所抵达的那个路由器依然需要转发发源于S的、目标地址是组G的组播数据包给其它的下游邻居。现在,接收者将从最短路径优先树上接收发源于S的,目的地址是组G的组播数据包。另外,RP也从S上接收组播数据包,当由RP转发的组播数据包再也不会到达哪些希望从SPT树上接收组播数据包的接收者。3.4 Source-specific JoinsIGMP v3允许接收者加入一个组,并说明它仅仅希望接收由S发送出来的有关组G的组播包(不想接收其他源发送出来的有关组G的组播包)。如果接收者的确希望这样做,并且在该接收者所在的局域网上,没有其它的接收者要求接收“从所有源发来的有关组G的组播包”(即没有(*,G)的接收者存在),则该局域网的DR可以忽略掉向RP发送(*,G)加入消息,而只发送面向S的(S,G)加入消息。组播地址范围“232.0.0.0 to 232.255.255.255”被定义为Source-specific Join的组播地址范围。在该组播地址范围内,接收者应该仅仅向它的DR发送Source-specific Join的IGMP v3加入消息。如果一个PIM路由器收到了有关该地址范围的一个非Source-specific Join消息,它应该忽略该消息。3.5 Source-specific PrunesIGMP v3也允许接收者加入一个组,并说明它希望接收关于该组的组播数据包,但该组播数据包不是来源与某一个或某几个源的。在这种情况下,接收者的DR将面向RP发送一个(*,G)加入消息,同时结合着一个或几个(S,G,rpt)消息,以对应那些它不希望接收的源所发来的组播数据包。3.6 Multi-access Transit LANs在多路访问以太网的环境下,事情会变的比较复杂:在LAN中,两个或多个路由器由于各自有不同的MRIB视图,因此认为到达RP的路径不一致,可能会导致这两个路由器分别向LAN中的不同的两个上游路由器发送(*,G)加入消息。因此,会导致从RP沿(*,G)RPT树发送过来的组播数据包在该LAN中被复制了两份。在LAN中,两个或更多的路由器由于各自有不同的MRIB视图,因此认为到达S的路径不一致,可能会导致这两个路由器分别向LAN中的不同的两个上游路由器发送(S,G)加入消息。因此,会导致从S沿(S,G)SPT树发送过来的组播数据包在该LAN中被复制了两份。在LAN中,一个路由器可能向它的上游路由器发送(*,G)加入消息;而另一个路由器可能向它的上游路由器发送(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论