* Version 1 Membership Report消息是为了IGMPv2主机的向后兼容性,用于检测和支持子网中IGMPv1主机和路由器
* Leave Group消息是主机发出的,目的地址为224.0.0.2(所有路由器),告诉路由器主机离开了一个组。
IGMPv2路由器功能:
主要是查询功能,它会有两种查询报文,General Query和Group-Specific QueryGeneral Query每隔一段时间就会向局域网内发送,目的地址是224.0.0.1(网内所有主机),所以子网里的每一个主机都会收到这个报文,并且会以Member Report报文回应,如果在一定的时间间隔内设备没有收到任何Member Report,它就会认为子网内没有组员。
Group-Specific Query报文,当路由器收到一个Leave Group报文的时候,它会发送这样一个具体包含有组地址的报文来查询这个组是否有组成员存在。
当如果在一个子网上同时有两个多播路由器,他们一开始都会认为自己是组播成员的查询者,当他们发送General Query报文时,通过比较从对端收到的报文源IP地址的大小来决定谁是查询者谁不是查询者,IP地址大的成为查询者。如果在一段时间内没有收到查询的报文,就会认为查询者down掉了,它就会充当起查询者的角色。
CGMP(Cisco专有)
考虑到了如果有交换机存在的情况,考虑到了在三层设备和主机中有二层设备,而IGMP是一个三层协议,二层设备如果收到这样一个类型的报文,只会向除了源端口以外的所有端口进行转发,这样会对网络的带宽和整体性能造成影响。解决的方法是希望交换机可以对有组播成员的端口进行组播报文的转发。
在交换式网络上,对组播流的控制有三种方法:
(1)手工配置的交换式多播树
在交换机的桥接表上配置静态的组播MAC地址和端口映射。
(2)GMRP(802.1p)
他让MAC层的多播组地址动态地在交换机上注册和取消。
(3)IGMP侦听
通过在交换机端口上配置,可以使交换机进行IGMP消息地检查,可以知道多播路由器和组员地位置。但是,检测IGMP消息意味着所有地IP包都要进行检查。尤其当这些如果是在软件地方式来实施,会严重降低交换机的性能。
CGMP的做法是通过路由器来告诉交换机,组播成员的组MAC地址和主机MAC地址,让交换机可以知道在那个端口上有组员,并且可以进行转发。
四、组播报文如何来进行路由
现下常用的组播路由协议有一下几种,由于现在主流的路由器产品只支持Pim,其他的路由器协议都不支持,所以只会对PIM做个详细的解释。
DVMRP它是通过RIP来发现到源的最短路径,采用广播/剪除的方式来构建一颗多播树。
MOSPF它是通过OSPF协议来发现到源的最短路径,也是用在密集方式的拓扑下。
CBT是一个与协议无关的,基于稀疏模式的,共享树协议。他和DVMRP和MOSPF的区别有两点:
它无需要在组播中在加入一个路由协议,可以在现有的任何协议上查找到到源的最短路径;它是基于共享树的协议,所以必须要在网络里设置一个网络的核心来确保组播包的前转;更适合使用在稀疏模式下。
PIM-DM
它是个与协议无关的组播协议,同时又是基于密集拓扑的组播协议。采用广播/剪除的方法来进行多播树的构造。
功能:
* 通过交换Hello报文发现邻居
* 当单播路由发生变化时,重新计算RPF接口
* 在多路访问的网络中选举指定路由器
* 在多路访问的网络中使用剪除覆盖
* 在多路访问的网络中用Assert消息选举指定前转器
其中会产生一下5中PIMv2消息:
* Hello
周期性地发送用来发现PIM邻居。和OSPF中的Hello报文有着类似点,如果没有在一定的时间内收到,就会认为邻居已经死亡。
* Join/Prune
这是一个合成的报文,其中有要加入组播树的路由器信息,也有要被剪除路由器信息,都会在这样一个报文里列出来。
当源在发送多播报文的时候,PIM-DM用扩散与剪除的方式建立多播树。那些没有组员连接的路由器通过发送Prune消息可以把自己变成处于剪除状态。
当处在剪除状态的路由器,它收到了所直连的子网所发出的IGMP加入信息,就会发出这样一个join的报文给上游路由器,通知列出了需要加入多播树的子网列表。
* Graft
当一个下游路由器发送给上游路由器一个Prune报文时,上游路由器不会马上把通告的子网从多播前转表中删除,而是会等待一段时间,如果下游路由器所直连的子网又要加入多播树时,需要发出一个Graft报文,通知上游路由器来加入多播树。
* Graft-Ack
上游路由器收到一个Graft信息,必须要回一个Ack信息,这样才会使下游路由器接受组播报文
* Assert
当有两台设备同时连在同一个广播网络上,并且有相同的上游路由器接口,如果两台路由器同时负责前转多播报文的话,会造成网络资源的浪费,所以需要可以在两台路由器中选出一个来作为唯一的前转报文路由器,Assert报文就是在两个路由器中互相通信,选出一个前转器的报文,通过优先权值,IP地址等参数来协商前转器。
PIM-SM
采用共享树的拓扑方式,建立起多播树。使用显示加入的方式来加入多播树。
查找汇聚点:
* 自举协议
* 自动RP协议
* 静态设置
PIM-SM和共享树:
PIM-SM由于是单向传输协议,所以组播流量只能从RP向外发送,而不能向RP发送,而源是通过把组播报文封装在PIM Register报文里,发送RP接口,然后再由RP进行剥头,对其中的组播报文进行处理。如果组播报文比较多,通过封装Register报文对设备来说是一种负担,所以可以在RP和源之间建立一个基于源的树,进行源到RP的组播报文传送。
PIM-SM和最短路径树
在大型网络中,共享树的路径未必是最短路径,PIM-SM可以通过在源和目的地之间建立一个基于源的树实现最短路径的传送。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




