第6章多播和Internet组管理协议要点课件.ppt

上传人:牧羊曲112 文档编号:4095875 上传时间:2023-04-04 格式:PPT 页数:90 大小:1.06MB
返回 下载 相关 举报
第6章多播和Internet组管理协议要点课件.ppt_第1页
第1页 / 共90页
第6章多播和Internet组管理协议要点课件.ppt_第2页
第2页 / 共90页
第6章多播和Internet组管理协议要点课件.ppt_第3页
第3页 / 共90页
第6章多播和Internet组管理协议要点课件.ppt_第4页
第4页 / 共90页
第6章多播和Internet组管理协议要点课件.ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《第6章多播和Internet组管理协议要点课件.ppt》由会员分享,可在线阅读,更多相关《第6章多播和Internet组管理协议要点课件.ppt(90页珍藏版)》请在三一办公上搜索。

1、2023/4/4,1,第6章 多播、Internet组管理 协议IGMP和多播路由,2023/4/4,2,主要内容,多播概念 Internet组管理协议(IGMP)多播路由选择,2023/4/4,3,6.1 多播综述,以太网多播 在物理网络上实现多播 IP多播 在逻辑网络上实现多播使用以太网多播实现IP多播 基于物理网络实现逻辑网络上的IP多播,2023/4/4,4,单播方式与组播方式比较,2023/4/4,5,组播体系结构,组播协议分为主机-路由器之间的组成员关系协议、路由器-路由器之间的组播路由协议;组成员关系协议包括:IGMP协议,组播路由协议分为域内组播路由协议和域间组播路由协议;域内

2、组播路由协议分为密集模式和稀疏模式,域间组播路由协议主要有:PIM-DM、PIM-VM和DVMRP。,2023/4/4,6,组播的作用,组播能够解决特定一组接受对象的传输中,广播和单播方式无法很好解决的情况;广播技术:造成非组员巨大的处理开销;单播技术:发送计算机的处理开销、网络带宽开销。,2023/4/4,7,6.1.1 以太网多播,1、以太网的三种传播方式 单播、组播、广播,A B C D,A向C发送数据,图1 以太网多播-单播,2023/4/4,8,以太网多播-广播,A B C D,图2 以太网多播-广播,A向网段内所有主机发送数据,2023/4/4,9,以太网多播-组播,A B C D

3、,图3 以太网多播-组播,A仅向主机C、D发送数据,Gorup1成员,2023/4/4,10,以太网的组播支持,硬件支持组播并不是所有网络都支持组播,厂商自定编号(24位),厂商代码(24位),图4 48位以太网网卡地址分配,2023/4/4,11,以太网多播特点,以太网多播是在物理网络上实现的多播;硬件多播可以看作是广播的更一般形式,可以实现同时与一组站点的通信;在网卡的高位字节中的最低位设置单播地址(置G/L=0)、多播地址(置I/L=1);硬件多播有一个限制条件,就是这一组站点只能在同一个物理网络(网段)上;路由器隔离了硬件多播和广播。,2023/4/4,12,6.1.2 IP多播,20

4、23/4/4,13,IP多播概念及关键技术,IP多播允许一个源站与一组目的站的通信,但是最主要的区别在于该组目的站可以位于互联网上的任意物理网络上,这一组目的站称为多播群组(multicast group),或简称群组。实现IP多播的关键技术IP多播地址有效的通知和交付机制多播路由选择协议,2023/4/4,14,组播IP地址,组播IP地址组播IP地址范围:224.0.0.0 239.255.255.255保留组播地址:224.0.0.0 224.0.0.255本地管理组播地址:239.0.0.0 239.255.255.255用户管理组播地址:224.0.1.0 238.255.255.25

5、5 组播MAC地址以太网:01-00-5e-xx-xx-xx,2023/4/4,15,常见保留组播IP地址,2023/4/4,16,IP多播特征,多播路由器支持群组地址动态群组成员成员和传输交付机制底层硬件支持,2023/4/4,17,IP多播应用,多媒体会议数据分发实时数据多播游戏和仿真远程教育、远程诊疗数字TV、宽带接入PDAs和家用电器,2023/4/4,18,6.1.3 基于以太网实现IP多播,48位以太网MAC地址和32位D类IP地址,通过映射可以建立一一对应关系大多数物理网络支持硬件多播大多数广域网不支持物理多播编址,一般通过“遂道技术”,将多播分组封装成单播分组发送到网络,然后在

6、另一端再把这个分组转变成多播分组。,2023/4/4,19,IP地址到MAC地址的映射,群组标识中的后23比特,5比特未使用,0,1,1,1,D类IP地址,组播地址标志,28比特群组标识,组播IP地址:224.10.10.10,映射为组播MAC地址:01-00-5e-0a-0a-0a,2023/4/4,20,组播寻址,2023/4/4,21,组播的优点,2023/4/4,22,组播的缺点,尽力而为传递组播是基于UDP的,会产生丢包现象,它不是一个可靠的数据传递。可靠的组播目前正在研究,这个领域会产生许多成果。不能避免拥塞没有TCP Windowing,且“慢启动”机制会导致拥塞。组播应研究引入

7、“检测机制”并避免拥塞情况。无序发送一些协议机制可能导致数据包的无序发送。,2023/4/4,23,6.2 IGMP协议,IGMP协议即网际组管理协议(Internet Group Management Protocol)是与多播通信相关的一个必要的但不是充分的协议。IGMP负责管理多播组成员关系,它把连接在网络上的主机的成员关系状态信息传送给多播路由器。,2023/4/4,24,6.2.1 IGMP工作原理,组播服务器与需要接收信息的主机处在一个子网,只要主机开启了组播流接收程序,都可以收到组播数据。,2023/4/4,25,6.2.1 IGMP工作原理,组播服务器与需要接收信息的主机不在一

8、个子网,需要一种机制,使得路由器转发组播数据到需要接收组播数据的主机。,2023/4/4,26,6.2.1 IGMP工作原理,IGMP定义 IGMP:Internet组管理协议,用于主机和路由器之 间交互信息的一种协议;所有要加入组播组的主机和所有连接到有组播主机 的子网中的路由器都必须使用IGMP;IGMP的消息不能被路由器转发,只能限制在本地 网段内部。IGMP的TTL参数永远是1,保证了 IGMP的使用范围;IGMP版本目前有:V1/V2/V3三种。,2023/4/4,27,IGMP协议的位置,IGMP在网络层中的位置如下:IGMP协议对于多播通信是必需的,帮助多播路由器创建和更新多播组

9、的成员关系状态表。,2023/4/4,28,6.2.1 IGMP工作原理,网络上的每一个多播路由器中都有一个多播地址表,其中每一个多播地址对应一个群组,而且一个群组至少包含本地网络上的一个成员。主机或路由器都可以是一个群组中的成员。多播路由器负责把多播分组分发给一个群组中的各个成员。如果有多个多播路由器连接在同一个物理网络上,它们的多播地址表一定是互不相同的。任一个多播地址不会同时属于同一个物理网络中的多个路由器。,多播路由器负责把多播分组分发给一个群组中的各个成员。换言之,如果有多个多播路由器连接在同一个物理网络上,它们的多播地址表一定是互斥的。,2023/4/4,29,6.2.2 IGMP

10、报文,IGMP已经有了两个版本。我们讨论当前的版本IGMPv2。IGMP报文有三种报文类型:查询报文(通用或特殊)、成员关系报告和退出报告。,2023/4/4,30,IGMP报文分类,IGMPv2报文分类主机使用的IGMP报文Membership Report(加入组群报告)Leave Group(离开组群)路由器使用的IGMP报文General Query(一般群组成员关系查询)Group-Specific Query(特定群组成员关系查询),2023/4/4,31,IGMP-Membership Report,Membership ReportMembership Report用于指示一台

11、主机希望加入一个组播组当主机首次加入到一个组时,它会主动向组发送Membership ReportMembership Report还用来响应本地路由器发出的General Query和Group-Specific Query消息,2023/4/4,32,IGMP-Leave Group,Leave Group当主机退出一个组时,它用Leave Group消息通知本地的路由器;这个消息包含有退出的组的地址,Leave Group消息是发向“子网中的所有路由器地址是224.0.0.2”的,而Membership Report消息是发向想要加入的组播组地址。,2023/4/4,33,IGMP-Ge

12、neral Query,General Query路由器通过General Query消息向与其连接的所有子网进行轮询来发现是否有组员存在,并在子网中没有组员时检测到这一情况。General Query消息被发向“子网中的所有主机”224.0.0.1这个地址,而且不涉及任何一个具体组播组。,如果一台组播路由器在3次查询的时间间隔里没有收到一个特定子网的Membership Report消息,那么这个路由器将宣布这个子网中没有组员,不再向这个子网发送组播数据。,2023/4/4,34,IGMP-Group-Specific Query,Group-Specific Query路由器的Group-

13、Specific Query消息是根据主机发出的Leave Group消息而发出的,当路由器收到Leave Group消息时,必须判断子网中是否仍有组员存在。目的地址为该发出Leave Group的主机所在组的组地址。,不需要接收组播数据,Leave Group,Group-Specific Query,还需要接收,Membership report,仍然向该子网发送组播数据,2023/4/4,35,IGMP-报告抑制,报告抑制,Membership Report想加入224.5.5.5,也想加入224.5.5.5,收到了关于224.5.5.5的Report,知道子网中还有主机希望加入224.

14、5.5.5,于是抑制了关于224.5.5.5的Membership Report的发送,Host A,Host B,Router,Switcher,2023/4/4,36,IGMP-报告抑制,报告抑制,General Guery,Membership Report,还需要接收224.5.5.5组播数据,还需要接收224.5.5.5组播数据,收到了关于224.5.5.5的report,抑制了224.5.5.5的Membership Report的发送,H,H,S,R,2023/4/4,37,查询路由器的选举,查询路由器选举当子网中有多个路由器时,选举查询者的规则就十分简单:有较小的IP地址的路由

15、器成为查询者。所有子网中现有的路由器在收到新路由器的General Query消息后,就检查源地址。如果它的IP地址的值更小,则会继续发送查询。当新的路由器收到其中一个查询,并发现这台路由器有较小的IP地址时,它就变成非查询者。非查询者将旁听整个IGMP过程。所有非查询路由器启动一个查询计时器,无论何时只要收到来自IGMP的General Query消息,计时器被复位。默认的计时器持续时间是查询间隔的两倍。如果查询计时器满,就认为IGMP查询有问题,选择查询者过程重新开始。,2023/4/4,38,IGMPv3,IGMPv3 简介在IGMPv3中主要增加了Group-and-Source-Sp

16、ecific Query,它能允许一个组不仅用组地址进行识别,而且也能被源地址识别。当一个组有多个源时,IGMPv3路由器可以根据组员的请求对源进行过滤。,2023/4/4,39,IGMPv2报文的格式,第一个字段是类型字段,长度是1个字节,用于定义IGMP报文的类型。第二个字段是最大响应时间字段,长度是1个字节,用于定义查询报文必须在多长时间内得到应答,以十分之一秒为计算单位。第四个字段是组地址字段,长度是4字节,定义了一个D类多播地址。,2023/4/4,40,IGMP报文的封装,IGMP报文也被封装成IP数据报的形式传送。IGMP报文本身被封装在IP数据报的数据区,而这个IP数据报又被封

17、装在帧数据中。在报头中的协议(Protocol)字段设置成2,表示这是一个IGMP报文。,2023/4/4,41,6.2.3 IGMP操作,IGMP工作在本地范围。连接到本地网络上的多播路由器有一个组多播地址表,里面至少有一个忠实成员(多播组)。多播组是基于进程而创建的。在一个给定接口上的多播组中的成员关系是动态的,它随时因为进程加入和离开该多播组而变化。,2023/4/4,42,加入一个多播组,主机或路由器都可以加入一个多播组。每一个主机创建一个成员关系表,表中包含所有至少含有一个进程的多播组以及多播组中的进程数。当第一个进程加入一个多播组时,主机就发送一个成员关系报告报文。,2023/4/

18、4,43,站点加入群组的流程,否,是,MG在成员关系表中?,加入站点的群组成员关系表,2023/4/4,44,退出一个多播组,当主机发现在一个特定的多播组中没有感兴趣的进程时,它就发送退出报告。同样地,当路由器发现在一个特定的多播组中没有连接在它的接口上感兴趣的网络,它就发送退出这个组的报告。,2023/4/4,45,删除一个多播组,当多播路由器收到退出报告时,并不立即从组多播地址表中删除该组。为了确定是否还有其他主机或路由器仍然对这个组感兴趣,多播路由器会发送一个特殊的查询报文。,2023/4/4,46,多播路由器删除一个群组MG的流程,2023/4/4,47,网络上的所有主机或路由器都可以

19、收到这个查询报文。如果有主机或路由器对这个组感兴趣,那么它们将响应一个成员关系报告。,2023/4/4,48,如果在规定的响应时间内没有主机或路由器给出感兴趣的应答,那么多播路由器就认为在这个网络上没有成员对这个组感兴趣,因此就从组多播地址表中删除这个组。,2023/4/4,49,查询成员关系,IGMP为每一个局域网指定一个路由器作为查询路由器。查询路由器周期性地发送通用查询报文。在查询报文中,组地址被设为0.0.0.0,表示查询成员关系是面向主机所属的所有多播组。,2023/4/4,50,如果有主机或路由器对这个组感兴趣,那么它们将响应一个成员关系报告。为了避免不必要的通信量,IGMP使用延

20、迟响应的策略。延迟响应主要用于有多个主机或路由器对同一个多播组感兴趣的情况。,2023/4/4,51,6.3 IGMP Snooping,6.3.1 IGMP Snooping简介,发送224.5.5.5的Membership Report,开始向该子网发送224.5.5.5的组播数据,不需要接收224.5.5.5的组播数据,需要接收224.5.5.5的组播数据,需要一个机制,让二层交换机只把组播数据转发给需要接收组播的主机。,浪费了带宽,H,H,S,R,2023/4/4,52,IGMP Snooping工作原理,6.3.2 IGMP Snooping的作用IGMP Snooping能使二层交

21、换机将组播数据只朝需要接收的用户所在的端口转发,从而不会影响到其它的用户。,发送224.5.5.5的Membership Report,开始向该子网发送224.5.5.5的组播数据,并不需要接收224.5.5.5的组播数据,需要接收224.5.5.5的组播数据,H,H,S,R,2023/4/4,53,IGMP Snooping工作原理,6.3.3 IGMP Snooping工作过程,发送224.5.5.5的Membership Report,开始向该子网发送224.5.5.5的组播数据,需要接收224.5.5.5的组播数据,根据收到的224.5.5.5的Membership Report,生成

22、组播MAC地址表.,H,H,R,R,2023/4/4,54,IGMP Snooping工作原理,IGMP Snooping工作过程,发送224.5.5.5的Leave Group,向该子网发送224.5.5.5的组播数据,不需要接收224.5.5.5的组播数据,停止向该子网发送224.5.5.5的组播数据,2023/4/4,55,IGMP Snooping工作原理,消息报告抑制问题如果主机收到了其他主机发出的Membership Report后,就抑制了自己的Membership Report的发送,这样的话就会造成交换机的组播MAC地址表里不会出现关于该主机所在的端口的转发信息。在开启IGM

23、P Snooping之后,交换机的CPU在收到Membership Report时,不会将Report报文转发到其他接口,这样其他主机就无法收到其他主机发出的Membership Report报文,不会产生消息报告抑制现象,从而保证交换机组播MAC地址表的完整。,Membership Report,抑制了Membership Report的发送,无法将相应端口添加到组播MAC表中,2023/4/4,56,IGMP Snooping工作原理,取消消息抑制报告带来的问题如果存在组播路由器,但是由于IGMP Snooping抑制了消息报告,那么Membership Report报文将无法发送到组播路

24、由器,因此组播路由器将无法将组播数据发送到相应的子网。解决办法:采用路由连接口,设置与路由器相连的端口为路由连接口。,需要接收224.5.5.5的组播数据,发送224.5.5.5的Membership Report,2023/4/4,57,IGMP Snooping工作原理,IGMP Snooping工作模式IVGL:在该模式下,各VLAN间的组播流是相互独立的。主机只能朝与自己处于同一个VLAN的路由连接口请求组播。SVGL:在该模式下,主机可以跨VLAN申请组播流。指定一个Multicast VLAN,在该VLAN收到的组播数据流可以向其他VLAN的主机转发。,Vlan 10,Vlan 2

25、0,Vlan 10的路由连接口,2023/4/4,58,6.4 多播路由选择,6.4.1多播路由协议的意义,需要接收224.5.5.5的组播数据,发送着224.5.5.5的组播数据,发送224.5.5.5的Membership Report,需要一种机制,可以让组播数据在网络中传输有接收需求的地方。,2023/4/4,59,6.4.2 组播路由协议分类,分为域内组播路由协议及域间组播路由协议域内组播路由协议又分为密集模式与稀疏模式。域内组播路由协议主要PIM-DM、PIM-SM、DVMRP等协议。在校园网中经常使用的域内组播路由协议为PIM-DM和PIM-SM。PIM-DM:协议无关组播-密集

26、模式 PIM-DM:协议无关组播-稀疏模式 DVMRP:距离矢量组播路由协议,2023/4/4,60,组播路由和转发,组播路由和转发需要三种表每个组播路由协议都有一个协议自身的路由表,如PIM路由表(PIM Routing-Table);各组播路由协议的组播路由信息经过综合形成一个总的组播路由表(Multicast Routing-Table);组播转发表(Multicast Forwarding-Table)直接用于控制组播数据包的转发。组播路由表由一组(S,G)表项组成(S,G)表示由源S向组播组G发送组播数据的路由信息。如果路由器支持多种组播路由协议,则其组播路由表中将包括由多种协议生成

27、的组播路由。路由器根据组播路由和转发策略,从组播路由表中选出最优的组播路由,并下发到组播转发表中。,2023/4/4,61,RPF检查机制,组播路由协议依赖于现有的单播路由信息、MBGP路由或组播静态路由来创建组播路由表项。组播路由协议在创建组播路由表项时,运用了RPF(Reverse Path Forwarding,逆向路径转发)检查机制,以确保组播数据能够沿正确的路径传输,同时还能避免由于各种原因而造成的环路。,2023/4/4,62,Reverse Path Forwarding(RPF),逆向路径转发,IP:192.168.1.1,发送着224.5.5.5的组播数据,两个接口都收到了目

28、的地址为224.5.5.5,源地址为192.168.1.1的组播报文,查找单播路由表,去往192.168.1.0/24的下一跳接口是S1,于是丢弃从S2收到的组播报文。,R1,R2,R3,S1,S2,重复的组播数据流,S,H,2023/4/4,63,组播路由协议PIM,PIMPIM(Protocol Independent Multicasting)独立于单播协议,使用任意单播路由协议进行RPF检查。与其他的路由协议不同,PIM不在路由器之间发送和接收路由更新信息。UDP端口号:103PIM路由器组地址为:224.0.0.13PIM协议分为:PIM-DM(协议无关组播-密集模式)PIM-SM(

29、协议无关组播-稀疏模式),2023/4/4,64,组播路由协议PIM,剪枝与嫁接当组播路由器的某个接口RPF检查失败时,该路由器会从这个接口发出一个剪接报文,以通知邻居路由器不要再向它发送组播数据。,发送着224.5.5.5的组播数据,R1,R2,R3,S1,S2,RPF检查失败,所连接的子网内没有接收的需求,发送着224.5.5.5的组播数据,2023/4/4,65,组播路由协议PIM,剪枝与嫁接嫁接报文正好与剪枝报文相反,它是用来通知上游路由器将组播报文转发给自己。,发送着224.5.5.5的组播数据,R1,R2,R3,S1,S2,S1接口down掉,所连接的子网内无接收的需求,发送着22

30、4.5.5.5的组播数据,所连接的子网内有接收的需求,2023/4/4,66,组播路由协议PIM-DM,PIM-DMPIM-DM用于指导路由器如何将组播数据在网络中传输到有组播接收需求的地方。PIM-DM使用推(push)模式将组播数据包扩散(flood)到网络的每个角落。这种推模式是一种使用蛮力将数据包传送到接收者的方法。如果网络中的每个子网都有接收者,那么这种方法是高效的。,2023/4/4,67,组播路由协议PIM-DM,PIM-DM工作过程扩散并剪枝,组播源,所连接的子网内无接收的需求,所连接的子网内有接收的需求,所连接的子网内有接收的需求,R1,R2,R3,R5,R4,R6,置为修剪

31、状态pruned,s1,s2,从两个接口都收到了组播报文,在S2上做RPF检查失败。,2023/4/4,68,组播路由协议PIM-DM,PIM-DM工作过程嫁接,组播源,所连接的子网内无接收的需求,R1,R2,R3,R5,R4,R6,s1,s2,所连接的子网内有接收的需求,2023/4/4,69,组播路由协议PIM-DM,PIM-DM工作过程剪枝,组播源,所连接的子网内有接收的需求,R1,R2,R3,R5,R4,R6,s1,s2,所连接的子网内有接收的需求,所连接的子网内有接收的需求,所连接的子网内无接收的需求,确认所连接子网内没有接收需求,但还有R6需要从这里接收数据,因此将不发送剪枝信息给

32、R2,所连接的子网内无接收的需求,确认所连接子网内没有接收需求,因此发送剪枝信息给R3,同时将相应端口置为修剪状态,收到R5的剪枝消息,将响应接口修剪,并确认其他接口都没有接收需求,因此发送剪枝消息给R1,并将相应的接口修剪,收到R3的剪枝消息,将相应的接口修剪,2023/4/4,70,组播路由协议PIM-DM,SPTPIM-DM采用扩散与剪接的方式来构建组播路由表.PIM-DM形成的组播路由表呈现一种树型结构通常称这种树型结构为SPT(Shortest Path Tree)最短路径树,2023/4/4,71,组播路由协议PIM-DM,SPTSPT是以组播源为根构造的、从根到所有接收者路径都最

33、短的分布树。优势:最短路径保证转发组播数据的网络时延最小 劣势:路由器必须为每个组播源维护路径信息,开销过大在组播设计时,如果选用PIM-DM(SPT),那么组播源的数量、带宽情况、有组播接收需求的子网分布情况都应该成为设计者考虑的各种因素。,2023/4/4,72,组播转发表的形式,组播路由器的组播转发表项单播:目的地址-下一跳目的地址 下一跳192.168.0.0/24 1.1.1.1110.112.119.0/24 2.2.2.24.4.0.0/16 3.3.3.3组播:组地址-下一跳?在R4上会出现一个组地址有两个下一跳?,2023/4/4,73,组播转发表的形式,组播转发表项的形式组

34、播转发表项可以简单地理解为S,G,入口,出口集合,S代表组播源地址,G代表组播组地址,入口代表离组播源最近的接口(RPF检查通过的接口),出口集合代表经过PIM协议计算后没有被修剪掉的所有接口集合。,R1,R2,R3,R4,E0,E0,E0,S1,S2,S2,S1,E0,E1,S1,S2,S,G,E0,S1,S2,S,G,S1,E0,S,G,S1,E0,S,G,E0,E1,2023/4/4,74,组播路由协议PIM-SM,PIM-SMPIM-SM用于指导路由器如何将组播数据在网络中传输到有组播接收需求的地方。PIM-SM使用一种拉(pull)模式来传送组播数据包。只有包含活动接收者,并且接收者

35、直接发送数据接收请求的网段才会收到数据。,2023/4/4,75,组播路由协议PIM-SM,PIM-SM工作过程PIM-SM与PIM-DM不同,采用的是一种共享树的机制。PIM-SM引入了一个非常重要的概念,RP(Rendezvous Point),汇聚点。RP的作用:所有的组播源在发送组播数据时,与组播源相连的第一跳路由器都会把组播数据发送给RP,然后再由RP把组播数据发送给有接收需求的路由器,依次类推。,2023/4/4,76,组播路由协议PIM-SM,PIM-SM工作过程组播源到RP,RP,组播源,检测到组播报文,查找组播组G对应的RP的IP地址,将收到的组播报文封装在单播报文中,目的地

36、址为RP的IP地址,根据单播路由表,将注册报文发给RP,2023/4/4,77,组播路由协议PIM-SM,PIM-SM工作过程RP在收到单播注册报文后会做哪些动作呢?当RP上没有存在关于(*,G)的转发表项,它将向R6返回一个注册暂停报文,以通知R6不要再将组播报文封装在单播报文中发送,并且也不会建立到组播源的SPT。,RP,组播源,R6,2023/4/4,78,组播路由协议PIM-SM,PIM-SM工作过程RP在收到单播注册报文后会做哪些动作呢?当RP上存在(*,G)的转发表项,RP将解封装单播报文,并将组播报文从(*,G)的转发表项的出口集合中发送出去。向R6发送PIM保留信息,以终止R6

37、继续发送单播注册报文。同时RP还会向源的方向发送一条(S,G)的加入消息,形成与组播源之间的SPT,按照这个SPT从组播源接收组播数据。,R2,R1,R3,R4,R5,RP,组播源,R6,2023/4/4,79,组播路由协议PIM-SM,PIM-SM工作过程接收者到RP,RP,组播源,接收者,创建(*,G)的转发表项,并将收到Membership Report的接口加到出口集合中,向RP方向发出加入报文,创建(*,G)的转发表项,并将收到(*,G)加入报文的接口加到出口集合中,将组播组G的数据从出口集合中发送出去,创建(*,G)的转发表项,将收到(*,G)加入报文的接口加到出口集合中,向RP方

38、向发送加入(*,G)报文,2023/4/4,80,组播路由协议PIM-SM,PIM-SM工作过程完整的PIM-SM过程,RP,接收者,创建(*,G)的转发表项,并将收到Membership Report的接口加到出口集合中,向RP方向发出加入(*,G)报文,创建(*,G)的转发表项,并将收到加入报文的接口加到出口集合中,将组播组G的数据从出口集合中发送出去,如果没有组播组G的数据,需等待组播源的注册.,组播源,R6,检测到组播报文,查找组播组G对应的RP的IP地址,将收到的组播报文封装在单播报文中,目的地址为RP的IP地址,根据单播路由表,将注册报文发给RP,不存在关于(*,G)的表项,存在(

39、*,G)的表项,向组播源方向发送注册保留信息,并向组播源发送加入消息,创建(*,G)的转发表项,将收到(*,G)加入报文的接口加到出口集合中,向RP方向发送加入(*,G)报文,2023/4/4,81,组播路由协议PIM-SM,PIM-SM工作过程剪枝,RP,接收者,组播源,R6,不想接收G,将收到leave报文的接口从(*,G)的转发表项中的出口集合中删除,发现(*,G)的转发表项中的出口集合为空,于是向RP方向发送一个剪枝消息,将自己从共享树上修剪,将收到剪枝消息的接口从(*,G)中删除,发现(*,G)的转发表项中的出口集合为空.向G的组播源发送剪枝消息.,将收到剪枝的接口从(*,G)的转发

40、表项中的出口集合中删除,发现(*,G)的转发表项中的出口集合为空,于是向RP方向发送一个剪枝消息,将自己从共享树上修剪,2023/4/4,82,组播路由协议PIM-SM,PIM-SM工作过程剪枝,RP,接收者,组播源,R6,不想接收G,将收到leave报文的接口从(*,G)的转发表项中的出口集合中删除,发现(*,G)的转发表项中的出口集合为空,于是向RP方向发送一个剪枝消息,将自己从共享树上修剪,接收者,将收到剪枝消息的接口从(*,G)的转发表项中的出口集合中删除,发现(*,G)的转发表项中的出口集合不为空,于是不向RP方向发送剪枝消息,2023/4/4,83,组播路由协议PIM-SM,共享树

41、PIM-SM形成的组播转发表通常被成为共享树结构.共享树的根为RP,RP与组播源形成一个独立的SPT,网络中的所有组播组接收者都以RP为树根,接收各自的组播数据,形成一棵共享树。,RP,G组播源S,RP到G组播源S的SPT,G接收者1,G组播接收者1n都以RP为根,G接收者n,不同的组播组可以对应不同的RP,2023/4/4,84,组播路由协议PIM-SM,共享树共享树的优势和劣势优势:每个路由器上需要保存的状态数最少.劣势:每个组播接收者到组播源的路径可能不是最优的在组播设计时,如果选择PIM-SM作为组播路由协议的话,那么RP的性能以及位置将成为重要的考虑因素。,2023/4/4,85,组

42、播路由协议PIM-SM,共享树到SPT的切换设定一个阀值,当接收到的组播流量超过这个阀值时,路由器会向源发送一个(S,G)的加入消息,以便要加入这个源的SPT中。,RP,接收者,组播源,R6,接收到的组播流量超过设定的阀值,向G的源S发送(S,G)的加入消息以建立SPT,R4检测到SPT和共享树在此分离,于是 向RP方向发送剪枝消息,将自己从共享树中修剪掉,创建(S,G)转发表项,向组播源方向发送加入消息,将收到剪枝消息的接口从(*,G)的出口集合中删除掉,2023/4/4,86,组播路由协议PIM-SM,RP的产生通过静态指定必须在所有的路由器上明确指定RP的地址容易存在单点故障,一旦配置的

43、RP失效,组播将不可用BSR动态学习,2023/4/4,87,组播路由协议PIM-SM,BSR:Boot Strap RouterBSR是RP的管理者,由BSR来收集和发布整个网络内的RP信息。多个候选BSR(Candidate Bootstrap Router,C-BSR)通过自举报文(Bootstrap Message)选举产生唯一公认的BSR。BSR周期性的向网络发送BSR信息,以便所有候选RP知道BSR的存在所有侯选RP将自己的信息单播给BSRBSR定期发送包含所有候选RP信息的bootstrap报文给所有路由器所有的路由器根据相同的HASH算法在本地算出一个RP,2023/4/4,8

44、8,2023/4/4,89,2023/4/4,90,小结,IGMP协议即网际组管理协议,是与多播通信相关的一个必要的但不是充分的协议。IGMP负责管理多播组成员关系,它把连接在网络上的主机的成员关系状态信息传送给多播路由器;IGMP已经有了两个版本,当前的版本是IGMPv2;IGMP报文有三种报文类型:查询报文(通用或特殊)、成员关系报告和退出报告;IGMP报文也被封装成IP数据报的形式传送。在报头中的协议字段设置成2,表示这是一个IGMP报文;IGMP在本地工作,主要有四种操作:加入一个多播组、退出一个多播组、删除一个多播组和查询成员关系。在查询成员关系时,为了避免不必要的通信量,IGMP使用延迟响应的策略。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号