《组播协议介绍.ppt》由会员分享,可在线阅读,更多相关《组播协议介绍.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1IP 组组 播播 基基 础础内容内容内容内容2内容内容内容内容为什么组播为什么组播?组播编址组播编址主机主机-路由器通告路由器通告:IGMP 组播分发树组播分发树组播转发组播转发组播路由协议组播路由协议Geekometer3服务器服务器路由器路由器单播单播服务器服务器路由器路由器组播组播单播单播单播单播 vs vs 组播组播组播组播4例如例如:收听电台广播流收听电台广播流所有的客户端都接收相同的所有的客户端都接收相同的8 Kbps电台广播电台广播 提高提高提高提高效率效率效率效率:控制网络流量,减轻服务器和控制网络流量,减轻服务器和CPU负荷负荷 优化优化优化优化性能性能性能性能:减少冗
2、余流量减少冗余流量 分布式应用分布式应用分布式应用分布式应用:使多节点应用成为可能使多节点应用成为可能00.20.40.60.8流量流量Mbps120406080100客户端数量客户端数量组播组播单播单播组播的优势组播的优势组播的优势组播的优势5组播的劣势组播的劣势 尽力投递尽力投递尽力投递尽力投递:报文丢失是不可避免的报文丢失是不可避免的。因此组播应用程序因此组播应用程序不能不能依赖组播网络进行可靠性保证,必须依赖组播网络进行可靠性保证,必须针对组播网络的这个特点进行特别设计。针对组播网络的这个特点进行特别设计。“可靠组播可靠组播”目前仍然处于研究阶段。目前仍然处于研究阶段。没有拥塞避免机制
3、没有拥塞避免机制没有拥塞避免机制没有拥塞避免机制:缺少缺少TCP窗口机制和慢启动机制,组播可能会出现拥塞。如果可能的话,组播应用程序窗口机制和慢启动机制,组播可能会出现拥塞。如果可能的话,组播应用程序应该尝试检测并避免拥塞。应该尝试检测并避免拥塞。报文重复报文重复报文重复报文重复:某些组播协议的特殊机制(如某些组播协议的特殊机制(如Assert机制和机制和SPT切换机制)可能会造成偶尔的数据包切换机制)可能会造成偶尔的数据包的重复。组播应用程序应该容忍这种现象。的重复。组播应用程序应该容忍这种现象。报文失序报文失序报文失序报文失序 :同样组播协议有的时候会造成报文到达的次序错乱,组播应用程序必
4、须自己采用某种手同样组播协议有的时候会造成报文到达的次序错乱,组播应用程序必须自己采用某种手段进行纠正(比如缓冲池机制等)。段进行纠正(比如缓冲池机制等)。组播是基于组播是基于UDP的的!6适合于组播的应用适合于组播的应用适合于组播的应用适合于组播的应用多媒体多媒体流媒体流媒体培训、联合作业场合的通信培训、联合作业场合的通信视频视频/音频会议音频会议数据仓库数据仓库金融应用(股票)金融应用(股票)任何的任何的“单到多单到多”数据发布应用数据发布应用7内容内容内容内容为什么组播为什么组播?组播编址组播编址主机主机-路由器通告路由器通告:IGMP 组播分发树组播分发树组播转发组播转发组播路由协议组
5、播路由协议8一个组播组就是一个一个组播组就是一个IP地址,不表示具体的主机,而是表示一系列系地址,不表示具体的主机,而是表示一系列系统的集合,主机加入某个组播组统的集合,主机加入某个组播组 即即 声明自己接收某个声明自己接收某个IP地址的报文。地址的报文。IP组播组地址组播组地址 224.0.0.0239.255.255.255“D”类地址空间类地址空间 第一个字节的高四位第一个字节的高四位=“1110”保留的本地组播组地址保留的本地组播组地址 224.0.0.0224.0.0.255 发送报文时发送报文时 TTL=1 例如例如:224.0.0.1子网的所有系统子网的所有系统 224.0.0.
6、2子网的所有路由器子网的所有路由器 224.0.0.4DVMRP路由器路由器 224.0.0.5OSPF路由器路由器 224.0.0.13 PIMv2路由器路由器组播编址组播编址组播编址组播编址9管理范围地址(管理范围地址(Administratively Scoped Addresses)239.0.0.0239.255.255.255私有地址空间私有地址空间类似于类似于RFC1918的单播地址的单播地址不能用于不能用于Internet全局传输全局传输用于有限范围内的组播传输用于有限范围内的组播传输组播编址组播编址组播编址组播编址1032 Bits28 Bits25 Bits23 Bits4
7、8 Bits01-00-501-00-5e-7f-00-01e-7f-00-0111105 BitsLost组播编址组播编址组播编址组播编址IP组播组播 MAC地址映射地址映射(FDDI和以太网和以太网)239.255.0.1239.255.0.111224.1.1.1224.129.1.1225.1.1.1225.129.1.1 .238.1.1.1238.129.1.1239.1.1.1239.129.1.10 x0100.5E01.0101相同的组播相同的组播MAC地址地址(FDDI和以太网和以太网)32-IP组播地址组播地址Multicast AddressingMulticast A
8、ddressing注意存在注意存在注意存在注意存在32 32 IP-1 MACIP-1 MAC地址重叠地址重叠地址重叠地址重叠IP组播组播 MAC地址映射地址映射(FDDI和以太网和以太网)12内容内容内容内容为什么组播为什么组播?组播编址组播编址主机主机-路由器通告路由器通告:IGMP 组播分发树组播分发树组播转发组播转发组播路由协议组播路由协议13路由器向直连的所有主机询问组播组成员关系路由器向直连的所有主机询问组播组成员关系RFC 1112-IGMP版本版本1Windows 95支持支持RFC 2236-IGMP版本版本2Windows98后的版本及大多数后的版本及大多数UNIX系统系统
9、IGMP版本版本3目前仍然是一个草案(目前仍然是一个草案(draft)draft-ietf-idmr-igmp-v3-03.txt 主机如何告诉路由器组播组成员关系主机如何告诉路由器组播组成员关系-通过通过IGMP协议:协议:Internet组管理协议组管理协议:主机主机主机主机-路由器通告路由器通告路由器通告路由器通告:IGMPIGMP14H3Host sends IGMP Report to join groupH3224.1.1.1报告报告H1H2加入一个组加入一个组主机主机主机主机-路由器通告路由器通告路由器通告路由器通告:IGMPIGMP15路由器周期性地向路由器周期性地向224.0
10、.0.1发送查询发送查询查询查询主机发送单个组的报告主机发送单个组的报告224.1.1.1报告报告组的其他成员监听到报告后抑制报告发送组的其他成员监听到报告后抑制报告发送224.1.1.1抑制抑制X224.1.1.1抑制抑制XH1H2H3维护这个组维护这个组主机主机主机主机-路由器通告路由器通告路由器通告路由器通告:IGMPIGMP16主机主机“默不作声默不作声”地离开组(不发报告了)地离开组(不发报告了)H1H3H3#1#1路由器发送路由器发送3个普遍组查询个普遍组查询(间隔间隔60秒秒)普遍组查询普遍组查询#2#2路由器没有收到这个组的路由器没有收到这个组的IGMP报告报告组播组超时(离开
11、)组播组超时(离开)(最大可能延迟最大可能延迟=3分钟分钟)H2离开组播组离开组播组(IGMPv1)主机主机主机主机-路由器通告路由器通告路由器通告路由器通告:IGMPIGMP17主机向主机向224.0.02发送离开组消息(包含离开的组)发送离开组消息(包含离开的组)H1H3H3离开组报告离开组报告224.0.0.2224.1.1.1#1#1路由器向这个组(路由器向这个组(224.1.1.1)发送特定组查询发送特定组查询特定组查询特定组查询224.1.1.1#2#23秒钟内没有收到该组的报告秒钟内没有收到该组的报告组组224.1.1.1超时(离开)超时(离开)H2离开组播组离开组播组(IGMP
12、v2)主机主机主机主机-路由器通告路由器通告路由器通告路由器通告:IGMPIGMP18draft-ietf-idmr-igmp-v3-?.txt其应用仍然在测试阶段其应用仍然在测试阶段 允许主机指定接收某些网络发送的某些组播组允许主机指定接收某些网络发送的某些组播组,相比以前的版本,增加了主机的控制能力,不仅相比以前的版本,增加了主机的控制能力,不仅可以指定组播组,还能指定组播的源。可以指定组播组,还能指定组播的源。IGMPv3IGMPv319内容内容内容内容为什么组播为什么组播?组播编址组播编址主机主机-路由器通告路由器通告:IGMP 组播分发树组播分发树组播转发组播转发组播路由协议组播路由
13、协议20最短路径树(基于源的分发树)最短路径树(基于源的分发树)接收者接收者 R1BEADF源源 S1组播路由项组播路由项(S,G),iif,oiflistS 源地址G 组地址iif 入接口oiifs 出接口列表C接收者接收者 R2源源 S2组播分发树组播分发树组播分发树组播分发树21接收者接收者 R1BEADF源源 S1C接收者接收者 R2源源 S2组播分发树组播分发树组播分发树组播分发树最短路径树(基于源的分发树)最短路径树(基于源的分发树)组播路由项组播路由项(S,G),iif,oiflistS 源地址G 组地址iif 入接口oiifs 出接口列表22组播分发树组播分发树共享分发树共享分
14、发树接收者接收者 R1BEAD FC接收者接收者 R2(RP)PIM汇聚点汇聚点共享树共享树(RP)组播路由项组播路由项(*,G),iif,oiflist*任何源地址G 组地址iif 入接口oiifs 出接口列表23组播分发树组播分发树共享分发树共享分发树接收者接收者 R1BEAF源源 S1C接收者接收者 R2源源 S2(RP)PIM汇聚点汇聚点共享树共享树源树源树D(RP)组播路由项组播路由项(*,G),iif,oiflist*任何源地址G 组地址iif 入接口oiifs 出接口列表24组播分发树组播分发树 源树(最短路径树)源树(最短路径树)占用内存较多占用内存较多O(S x G),但路径
15、最优,延迟最小但路径最优,延迟最小 共享树共享树占用内存较少占用内存较少O(G),路径不是最优的,引入额外的延迟路径不是最优的,引入额外的延迟不同分发树的不同分发树的特征特征25内容内容内容内容为什么组播为什么组播?组播编址组播编址主机主机-路由器通告路由器通告:IGMP 组播分发树组播分发树组播转发组播转发组播路由协议组播路由协议26组播转发组播转发组播路由和单播路由是相反的组播路由和单播路由是相反的单播路由关心数据报文要到哪里去。单播路由关心数据报文要到哪里去。组播路由关心数据报文从哪里来。组播路由关心数据报文从哪里来。组播路由使用组播路由使用“反向路径转发反向路径转发”机制机制(RPF,
16、Reverse Path Forwarding)27组播转发组播转发 何谓何谓何谓何谓RPF?RPF?路由器收到组播数据报文后,只有确认这个数据报文是从自己到源路由器收到组播数据报文后,只有确认这个数据报文是从自己到源的出接口上到来的,才进行转发,否则丢弃报文的出接口上到来的,才进行转发,否则丢弃报文。RPFRPF检查检查检查检查 在单播路由表中查找到组播报文源地址的路由在单播路由表中查找到组播报文源地址的路由 如果该路由的出接口就是报文的入接口,如果该路由的出接口就是报文的入接口,RPF成功成功 否则否则RPF失败失败反向路径转发反向路径转发(RPF)28组播转发组播转发源源151.10.3
17、.21举例举例:RPF检查检查组播报文组播报文RPFRPF检查失败检查失败检查失败检查失败 报文从错误接口到来报文从错误接口到来报文从错误接口到来报文从错误接口到来!29组播转发组播转发RPF检查失败检查失败!单单单单 播播播播 路路路路 由由由由 表表表表网络网络网络网络 接口接口接口接口151.10.0.0/16151.10.0.0/16S1S1198.14.32.0/24198.14.32.0/24S0S0204.1.16.0/24204.1.16.0/24E0E0看得更仔细点看得更仔细点:RPF检查失败检查失败报文从错误接口到达报文从错误接口到达E0S1S0S2S1S1源源151.10
18、.3.21发出的组播数据报文发出的组播数据报文X丢弃数据报文!丢弃数据报文!30组播转发组播转发看得更仔细点看得更仔细点:RPF检查成功检查成功RPF检查成功检查成功!单单单单 播播播播 路路路路 由由由由 表表表表网络网络网络网络 接口接口接口接口151.10.0.0/16151.10.0.0/16S1S1198.14.32.0/24198.14.32.0/24S0S0204.1.16.0/24204.1.16.0/24E0E0E0S1S0S2源源151.10.3.21发出的组播数据报文发出的组播数据报文数据报文从正确的接口到达数据报文从正确的接口到达!S1S1向所有出接口向所有出接口(即分
19、发树的下游即分发树的下游)转发转发31内容内容内容内容为什么组播为什么组播?组播编址组播编址主机主机-路由器通告路由器通告:IGMP 组播分发树组播分发树组播转发组播转发组播路由协议组播路由协议32组播路由组播路由组播路由组播路由vsvs单播路由单播路由单播路由单播路由组播路由不是单播路由!是完完全全组播路由不是单播路由!是完完全全的新东西,不象的新东西,不象OSPF,也不象也不象RIP,不象你熟悉的任何东西。不象你熟悉的任何东西。不过,不要害怕啊,一会儿就懂了。不过,不要害怕啊,一会儿就懂了。33组播路由协议的类型组播路由协议的类型密集模式(密集模式(Dense-mode)使用使用“推推”(
20、Push)模型(先给你,可以不要)模型(先给你,可以不要)组播数据整网络的泛滥(组播数据整网络的泛滥(Flood)下游不想接收的话则剪枝(下游不想接收的话则剪枝(Prune)泛滥、剪枝、泛滥、剪枝泛滥、剪枝、泛滥、剪枝周而复始周而复始(通常通常3分钟折腾一次分钟折腾一次)稀疏模式(稀疏模式(Sparse-mode)使用使用“拉拉”(Pull)模型(你要了,才给你)模型(你要了,才给你)组播数据只发送到有需要的地方组播数据只发送到有需要的地方有显式的加入(有显式的加入(Join)过程过程34组播路由协议一览组播路由协议一览组播路由协议一览组播路由协议一览目前,主要有目前,主要有4个组播路由协议个
21、组播路由协议:DVMRPv3(草案草案)DVMRPv1(RFC 1075)已经废止。已经废止。MOSPF(RFC 1584)PIM-DM(Internet草案草案)PIM-SM V2(RFC 2362)其他其他(CBT,OCBT,QOSMIC,SM,等等等等)35DVMRPDVMRP简介简介简介简介距离矢量组播路由协议(距离矢量组播路由协议(Distance Vector Multicast Routing Protocol),),一一个较为古老,具有实验性质的协议,现已经不常使用,鲜有厂家设备支持。个较为古老,具有实验性质的协议,现已经不常使用,鲜有厂家设备支持。密集模式协议密集模式协议基于
22、距离矢量基于距离矢量类似于类似于RIP最大最大32跳跳DVMRP依赖依赖自己找回来的自己找回来的单播路由单播路由:进行进行RPF检查检查创建创建“截断广播树截断广播树”(TBT,一种组播分发树型结构一种组播分发树型结构)使用特殊的使用特殊的“毒性逆转毒性逆转”机制机制使用泛滥和剪枝机制使用泛滥和剪枝机制组播数据开始时延组播数据开始时延TBT向下泛滥向下泛滥当下游不需要该数据时对当下游不需要该数据时对TBT枝杈进行剪枝枝杈进行剪枝剪枝每过一定时间超时,重新延枝杈进行泛滥剪枝每过一定时间超时,重新延枝杈进行泛滥36DVMRPDVMRP评价评价评价评价广泛用于广泛用于MBONE(古老的组播实验网络,
23、很少有人在里古老的组播实验网络,很少有人在里面玩儿了面玩儿了)慢收敛慢收敛类似类似RIP路由器中组播路由状态信息庞杂路由器中组播路由状态信息庞杂,到处都是到处都是(S,G)不支持共享树不支持共享树最大不能超过最大不能超过32跳跳不适合于不适合于大规模的网络(泛滥剪枝机制、可伸缩性差)大规模的网络(泛滥剪枝机制、可伸缩性差)37MOSPF(RFC 1584)MOSPF(RFC 1584)对对OSPF单播路由协议的扩展单播路由协议的扩展OSPF:路由器使用链路状态通告来获取整个网络的可用链路信息路由器使用链路状态通告来获取整个网络的可用链路信息MOSPF:在在OSPF链路状态通告中包含组播信息,以
24、此构建组播分链路状态通告中包含组播信息,以此构建组播分发树发树(每个路由器都维护整个网络的最新拓扑信息每个路由器都维护整个网络的最新拓扑信息)组成员关系组成员关系LSA(链路状态通告)向链路状态通告)向OSPF路由域整网泛路由域整网泛滥,这样滥,这样MOSPF路由器就可以计算出接口列表路由器就可以计算出接口列表使用狄杰克斯特拉算法(使用狄杰克斯特拉算法(Dijkstra algorithm)来计算最来计算最短路径树短路径树为每个为每个(SNet,G)对都需要单独的计算对都需要单独的计算38MOSPFMOSPF评价评价评价评价与单播路由协议相关,仅在与单播路由协议相关,仅在OSPF网络内运行网络
25、内运行可伸缩性不好可伸缩性不好每个每个组播组播(SNet,G)对都需要使用对都需要使用Dijkstra算法进行计算!算法进行计算!不支持不支持共享树共享树不适合于不适合于通用的组播网络,其中发送者可能会非常的多通用的组播网络,其中发送者可能会非常的多如如IP/TV(每个每个IP/TV客户端都是一个组播源客户端都是一个组播源)支持厂家较少,市场鲜有使用支持厂家较少,市场鲜有使用39PIM-DMPIM-DM协议无关组播(协议无关组播(Protocol Independent Multicast)支持所有的单播路由协议支持所有的单播路由协议:静态路由、静态路由、RIP、IGRP、IS-IS、BGP、
26、OSPF,总之了,单播路由是什么都没关系。总之了,单播路由是什么都没关系。使用逆向路径转发使用逆向路径转发(RPF)机制机制先向先向网络泛滥网络泛滥(Flood),然后根据组播组成员关系进行然后根据组播组成员关系进行剪枝剪枝(Prune)使用使用Assert机制来剪枝冗余数据流机制来剪枝冗余数据流适合于适合于.小规模的网络小规模的网络PIMPIM可是可是可是可是好东西啊!好东西啊!好东西啊!好东西啊!40PIM-DM PIM-DM 泛滥与剪枝泛滥与剪枝泛滥与剪枝泛滥与剪枝组播源组播源初始泛滥初始泛滥接收者接收者 组播数据报文组播数据报文网络中的网络中的网络中的网络中的每个每个每个每个路由器路由
27、器路由器路由器都创建都创建都创建都创建(S,G)!41PIM-DM PIM-DM 泛滥与剪枝泛滥与剪枝泛滥与剪枝泛滥与剪枝组播源组播源剪枝不需要的数据流剪枝不需要的数据流接收者接收者 组播数据报文组播数据报文 剪枝消息剪枝消息42PIM-DM PIM-DM 泛滥与剪枝泛滥与剪枝泛滥与剪枝泛滥与剪枝剪枝之后,看剪枝之后,看.组播源组播源接收者接收者 组播数据报文组播数据报文泛滥和剪枝过程每泛滥和剪枝过程每泛滥和剪枝过程每泛滥和剪枝过程每3 3分钟分钟分钟分钟重复一次重复一次重复一次重复一次!网络中的网络中的网络中的网络中的每个每个每个每个路由器路由器路由器路由器中仍然保留中仍然保留中仍然保留中仍
28、然保留(S,G)!43PIM-DM Assert 机制机制E0进入路由器的组播数据报文进入路由器的组播数据报文(RPF检查都成功检查都成功)E0S0路由器从其路由器从其“出接口列表出接口列表”(oiflist)中的某个接口收到数据中的某个接口收到数据!只有其中一个路由器应该继续发送数据,以避免重复只有其中一个路由器应该继续发送数据,以避免重复1 1S01 12 2路由器发送路由器发送“PIM Assert”消息消息Assert Assert2 22 2 计算计算distance和和 metric值值 谁到源的路由最优谁获胜谁到源的路由最优谁获胜 如果如果distance和和 metric相等,
29、相等,IP地址大的获胜地址大的获胜 输的就停止转发输的就停止转发(剪枝接口剪枝接口)44PIM-DM PIM-DM 评价评价评价评价对于小型网络来说非常有效对于小型网络来说非常有效优势优势:易于配置易于配置-总共只有总共只有两条两条命令命令实现机制简单(泛滥剪枝)实现机制简单(泛滥剪枝)潜在问题潜在问题.泛滥剪枝过程不够高效泛滥剪枝过程不够高效复杂的复杂的Assert机制机制控制和数据平面混合控制和数据平面混合导致网络内部的所有路由器上都有导致网络内部的所有路由器上都有(S,G)可能会导致非确定性的拓扑行为可能会导致非确定性的拓扑行为不支持共享树不支持共享树45PIM-SM(RFC 2362)
30、PIM-SM(RFC 2362)支持支持共享树共享树和和源树源树假设没有主机需要接收组播数据,除非它们明确地发出了请求(假设没有主机需要接收组播数据,除非它们明确地发出了请求(你不说我怎么知道你要呢?你要要你就说嘛,你说要我会给你的,.!#$#$:-))使用使用“汇聚点汇聚点”(RP,Rendezvous Point)发送者和接收者在发送者和接收者在RP处进行汇聚处进行汇聚发送者的第一跳路由器把发送者注册到发送者的第一跳路由器把发送者注册到RP上(报个到,挂个号)上(报个到,挂个号)接收者的接收者的DR(直连网络上的负责人)为接收者加入到共享树直连网络上的负责人)为接收者加入到共享树(树根在树
31、根在RP)适合于适合于大规模的企业网络大规模的企业网络是任何网络的优选方案,不管其规模和成员密集程度。(蛮夸张的是任何网络的优选方案,不管其规模和成员密集程度。(蛮夸张的哦哦:-),不过现如今,不过现如今PIM-SM倒真是横扫一切)倒真是横扫一切)这个这个RP很重要哦!很重要哦!46PIM-SM PIM-SM 共享树加入共享树加入共享树加入共享树加入接收者接收者RP(*,G)加入加入 共享树共享树(*,G)仅在共享树仅在共享树沿途建立沿途建立47PIM-SM PIM-SM 发送者注册发送者注册发送者注册发送者注册接收者接收者RP(S,G)加入加入组播源组播源 共享树共享树 (S,G)注册注册(
32、单播单播)源树源树(S,G)仅在源树仅在源树沿途建立沿途建立 数据流数据流48PIM-SM PIM-SM 发送者注册发送者注册发送者注册发送者注册接收者接收者RP组播源组播源共享树共享树源树源树RP向第一跳路由器发送注册停向第一跳路由器发送注册停止(止(Register-Stop)消息消息,停停止注册过程止注册过程(S,G)注册停止注册停止(单播单播)数据流数据流(S,G)注册注册(单播单播)数据流从组播源通过数据流从组播源通过源树到达源树到达RP49PIM-SM PIM-SM 发送者注册发送者注册发送者注册发送者注册接收者接收者RP组播源组播源共享树共享树源树源树数据流数据流源数据流延源树源
33、数据流延源树(SPT)流向流向RP从从RP开始,数据流延开始,数据流延共享树(共享树(RPT)流向接收者流向接收者50PIM-SM SPT PIM-SM SPT 切换切换切换切换接收者接收者RP(S,G)Join组播源组播源Source TreeShared TreeLast-hop router joins the Source Tree.Additional(S,G)State is created along new part of the Source Tree.Traffic Flow51PIM-SM SPT PIM-SM SPT 切换切换切换切换接收者接收者RP组播源组播源Sour
34、ce TreeShared Tree(S,G)RP-bit PruneTraffic begins flowing down the new branch of the Source Tree.Additional(S,G)State is created along along the Shared Tree to prune off(S,G)traffic.Traffic Flow52PIM-SM SPT PIM-SM SPT 切换切换切换切换接收者接收者RP组播源组播源Source TreeShared Tree(S,G)Traffic flow is now pruned off of
35、 the Shared Tree and is flowing to the Receiver via the Source Tree.Traffic Flow53PIM-SM SPT PIM-SM SPT 切换切换切换切换接收者接收者RP组播源组播源Source TreeShared Tree(S,G)traffic flow is no longer needed by the RP so it Prunes the flow of(S,G)traffic.Traffic Flow(S,G)Prune54PIM-SM SPT PIM-SM SPT 切换切换切换切换接收者接收者RP组播源组播
36、源Source TreeShared Tree(S,G)Traffic flow is now only flowing to the Receiver via a single branch of the Source Tree.Traffic Flow55PIM-SMPIM-SMQuidway系列设备中(系列设备中(VRP),),缺缺省情况下省情况下,连接接收者的路由器在连接接收者的路由器在探测到组播源之后(即接收到第一探测到组播源之后(即接收到第一个数据报文),便立即加入最短路个数据报文),便立即加入最短路径树(源树),即从径树(源树),即从RPT向向SPT切切换换PIM-SM常被忽略的
37、事实常被忽略的事实56PIM-SM BSRPIM-SM BSR机制机制机制机制BSR是标准的RP选举与维护机制,所有支持PIM-SM的设备都会支持BSR机制。BSR是PIM-SM网络里的管理核心。57BSRBSR概要概要概要概要BSR即“BootStrap Router”,自举路由器负责在PIM-SM网络启动后,收集网络内的RP信息,为每个组选举出RP,然后将RP集(即组-RP映射数据库)发布到整个PIM-SM网络。一个网络内部只有一个BSR可以配置多个候选BSR(C-BSR)一旦某个BSR Down掉,可以切换到另外一个候选RP(C-RP)将声明发送到BSRC-RP通告通过单播发送BSR在R
38、P集存储所有的 C-RP通告BSR周期性地向所有路由器发送 BSR消息BSR消息包含整个RP-set和 BSR地址消息一跳一跳地自BSR向整个网络泛滥(flood)所有的路由器使用收到的RP集来确定RP所有路由器都使用相同的RP选择算法,选择的RP也是一致的58BSR BSR 基础基础基础基础候选候选RP 通过全局命令配置通过全局命令配置 ip pim rp-candidate interface-name group-list aclC-RP消息单播至消息单播至BSR 从从BSR消息中获得消息中获得BSR地址地址 C-RP通告周期发送通告周期发送(缺省缺省60秒秒)C-RP通告消息包括通告消
39、息包括:服务组范围服务组范围(缺省缺省=224.0.0.0/4)C-RP地址地址 Holdtime=3 x 59BSR BSR 基础基础基础基础BSR 接收接收C-RP通告消息通告消息 接收并存储所有接收并存储所有C-RP消息消息 生成生成BSR消息消息 向向All-PIM-Routers(224.0.0.13)组以组播方式发送组以组播方式发送(TTL=1)向所有接口发送,一跳一跳地传播开去。向所有接口发送,一跳一跳地传播开去。每每60秒钟或者发现有秒钟或者发现有RP信息变化时发送信息变化时发送 BSR消息包括消息包括:BSR的的“组组-RP”映射映射 激活激活BSR地址地址60BSR BSR
40、 基础基础基础基础C-BSR 通过全局命令配置通过全局命令配置 ip pim bsr-candidate interface-name hash-mask-length priorityinterface-name 确定确定IP地址地址hash-mask-lengthRP选择选择hash算法中的掩码长度算法中的掩码长度 priorityC-BSR优先级优先级(缺省缺省=0)C-BSR优先级高的成为优先级高的成为BSR 优先级相同的话地址高的优先优先级相同的话地址高的优先61BSR BSR 基础基础基础基础所有的所有的PIMv2路由器路由器 接收接收BSR消息消息 存储存储“组组-RP”映射映射
41、 确定确定BSR地址地址 使用使用Hash算法计算算法计算RP 所有路由器使用相同算法所有路由器使用相同算法,结果一致结果一致 实现实现RP负载分担(不同组映射到不同负载分担(不同组映射到不同RP)62PIM-SMPIM-SM网络网络网络网络C-RPC-RPDEFGABSR BSR 基础基础基础基础BSR消息消息BSR消息消息BSR消息消息BSR消息消息C-RP 通告(单播)C-RP 通告(单播)BSR消息一跳一跳向外扩散消息一跳一跳向外扩散BCBSRBSR63PIM-SMPIM-SM评价评价评价评价对于稀疏和密集应用都很高效对于稀疏和密集应用都很高效优势优势:数据流仅延数据流仅延“加入加入”的分支向下发送的分支向下发送可以根据流量等条件动态地切换到源树可以根据流量等条件动态地切换到源树与具体的单播路由协议无关,与具体的单播路由协议无关,愿谁谁域间组播路由的基础域间组播路由的基础和和MBGP、MSDP共同结合使用可以完成跨域的组播共同结合使用可以完成跨域的组播
限制150内