在传统的局域网环境中,组播报文由于目的地址为组播组地址,二层交换设备无法识别这类MAC地址,导致组播报文在VLAN内被广播。这不仅浪费了宝贵的网络带宽,还可能引发网络信息安全问题,因为所有设备,无论是否属于该组播组,都会接收到这些报文。
引入IGMP SNOOPING后,二层交换机能够智能地侦听用户主机和上游三层组播设备之间的IGMP协议报文,从而建立和维护二层组播转发表。这样,组播数据报文只会被转发给真正需要接收这些数据的用户主机,避免了不必要的广播。
具体来说,IGMP SNOOPING通过处理几种关键的IGMP报文来实现其功能。当用户主机加入某个组播组时,会发送Membership Report报文,IGMP SNOOPING设备收到后,会将该报文转发给所有路由连接口,并根据需要更新组播转发表。当用户主机离开组播组时,会发送Leave Group报文,IGMP SNOOPING设备则根据配置决定是否立即从转发表中删除该端口,或者等待老化定时器超时后再删除。
此外,IGMP SNOOPING还处理Query报文,包括General Query和Group-Specific Query。这些查询报文用于周期性地检查网络中是否还有组播组成员,确保组播数据的按需转发。
IGMP SNOOPING的应用场景广泛,特别适用于组播数据流量较大的网络环境,如大型流媒体服务网络和区域型线上会议。在这些场景中,数据的定向发送和带宽的合理利用至关重要。然而,在设备较少或无组播数据流量的网络中,建议关闭IGMP SNOOPING功能,以避免不必要的网络监听对设备性能的影响。
总的来说,IGMP SNOOPING技术通过智能地控制和转发组播数据,有效避免了网络带宽的浪费和信息安全问题,提升了网络的整体稳定性和安全性。随着网络技术的发展,IGMP SNOOPING已成为许多主流网络设备的标准配置,为各类组播应用提供了坚实的支撑。
1、IGMP SNOOPING简介
IGMP SNOOPING(Internet Group Management Protocol Snooping,组播侦听者发现协议窥探)是运行在二层设备上的组播协议,用于管理和控制组播组。该协议通过侦听三层组播设备和主机间的协议报文来管理和控制IP组播流在数据链路层的转发,实现二层组播功能。
通常情况下,组播报文转发必须经过二层交换设备,尤其是在局域网环境里。由于组播报文的目的地址为组播组地址,二层设备无法学习到这类MAC表项,因此组播报文就会在VLAN内进行广播,与该组播报文处在同一广播域内的组播成员和非组播成员都能收到组播报文。这样不仅浪费了网络带宽,还影响了网络信息安全。
通过开启IGMP SNOOPING功能,二层交换机可以侦听用户主机和上游三层组播设备间的IGMP协议报文,从而建立二层组播表项,控制组播数据报文只往特定用户主机转发,防止组播数据在二层网络中广播。
2、IGMP SNOOPING工作原理
IGMP SNOOPING是二层组播的基本功能,可以实现组播数据在数据链路层的控制和转发。当用户终端和上游三层设备之间传递的IGMP协议报文通过二层组播设备时,IGMP SNOOPING分析报文携带的信息,根据这些信息建立和维护二层组播转发表,从而指导组播数据在数据链路层按需转发。
如图2-1所示,当组播数据从三层组播设备向下游转发,处于接入边缘的二层组播设备负责将组播数据转发给用户主机,使用户接收到点播的节目。当二层组播设备没有运行IGMP SNOOPING时,组播数据在二层网络中被广播,接收者A、接收者B和非接收者C都会收到组播数据;如图2-2所示,当二层组播设备运行了IGMP SNOOPING后,组播数据不会在二层广播,而是会被二层组播设备发送给指定的接收者A和接收者B,而非接收者C将不再收到组播数据,从而实现组播数据的按需转发,避免网络带宽浪费。
图2-1 未开启IGMP SNOOPING的组播传输过程
图2-2 开启IGMP SNOOPING的组播传输过程
3、IGMP SNOOPING实现机制
二层组播设备运行了IGMP SNOOPING后,对收到不同的IGMP协议报文会进行不同的处理,并在此过程中建立起二层组播转发表项。IGMP SNOOPING功能的实现主要涉及以下几种报文的数据处理:
●Membership Report(成员关系报告)报文
当用户主机首次加入到某个组播组时,会主动向该组播组发送Membership Report报文,请求加入该组播组。默认情况下,IGMP SNOOPING能够处理IGMPv1和IGMPv2报文,对于IGMPv3版本的Report报文,只处理组信息部分,不处理携带的源信息。若配置IGMP SNOOPING v3版本,则可以处理IGMPv1、IGMPv2以及IGMPv3报文的全部信息。运行IGMP SNOOPING的设备在收到Membership Report报文时,会在其所在的组网内执行如下动作:
○将Membership Report报文向所有路由连接口转发。若设备开启了Membership Report报文抑制功能,则在一个IGMP查询周期内,只会将每组收到的第一个Membership Report报文转发出去。
○如果收到Membership Report报文的端口为动态成员口,则重置该端口的老化定时器。如果定时器超时,则该端口将不再作为指定组的动态成员口。
○如果收到Membership Report报文的端口不是成员口,则将其作为动态成员口,并启动该端口的老化定时器。如果定时器超时,则该端口将不再作为指定组的动态成员口。
●Leave Group(离开组)报文
当用户主机退出组播组时,会发送Leave Group报文通知子网内的全部组播组成员。发送的Leave Group报文包含有退出组的地址。与Membership Report报文不同的是,Leave Group报文是发向子网中的所有组播路由器地址224.0.0.2,并包含要退出的组播组的地址。运作IGMP SNOOPING的设备在收到Leave Group报文时,会在其所在组网内执行如下动作:
○将Leave Group报文从所有路由连接口转发出去。
○如果收到Leave Group报文的端口是动态成员口,且配置了快速离开功能,该端口将会立即从指定组的IGMP SNOOPING转发表项中删除,该端口将不再作为指定组的动态成员口。
○如果收到Leave Group报文的端口是动态成员口,但未配置快速离开功能,则该端口的状态将保存不变,老化时间超时后,端口会从指定组的IGMP SNOOPING转发表项中删除,此时该端口不再作为指定组的动态成员口。
●Query(查询)报文
IGMP SNOOPING中的Query报文有两种:
○General Query(通用组查询)报文
○Group-Specific Query(指定组查询)报文。
当IGMP查询者收到Group Leave报文时,会向该组播组发送Group-Specific Query报文,查询该组播组内是否还有其他组员存在。除此之外,IGMP查询者会周期性地向与其连接的所有子网发送General Query报文,进行轮询来发现是否有组员存在,默认3次查询时间,没收到特定子网的Membership Report报文就宣布子网中没有组员,不再向该子网发送组播数据。运行IGMP SNOOPING设备在收到Query报文时,会在该组网内执行如下动作:
○将Query报文向所有端口(除该报文的接收端口)转发出去。
○如果收到Query报文的端口是动态路由连接口,则重置其老化定时器。如果定时器超时,该端口不再作为动态路由连接口。
○如果收到Query报文的端口不是路由连接口,则将其作为动态路由连接口,并启动其老化定时器。如果定时器超时,则该端口不再作为动态路由连接口。
○如果配置关闭动态学习路由连接口功能,则IGMP SNOOPING不会学习动态路由连接口。
4、IGMP SNOOPING的应用
IGMP SNOOPING的工作原理和工作机制决定了它能够实现信息的定向发送,避免网络带宽资源浪费和非法报文攻击问题的产生。
因此,IGMP SNOOPING技术适用于组播数据流量需求较大的网络中,如大型的流媒体服务网络、区域型线上会议等,该类场景对数据的定向发送有严格的要求,并且因为接入网络的设备较多,带宽的合理利用也是重要考量指标。
需要注意的是,当网络中接入的设备较少,或者是该网络中无组播数据流量经过时,IGMP SNOOPING功能需要关闭,减少不必要的网络监听行为对CPU产生负荷,影响性能。
此外,IGMP SNOOPING技术能有效地杜绝非法的组播源,提高网络的安全性,多个设备厂商的主流设备都已集成了该技术,比如IGMP SNOOPING、IGMP(Internet Group Management Protocol,互联网组管理协议)、MLD(Multicast Listener Discovery,组播侦听发现协议)、MSDP(Multicast Source Discovery Protocol,组播源发现协议)、PIM(Protocol Independent Multicasting,协议无关组播)等协议族,为IPv4网络、IPv6网络、IPv4和IPv6共存的网络提供了组播服务支持的同时也可以防止非法报文以广播的形式泛洪到整个组播网络,一定程度上起到有效防范和控制病毒传播和黑客攻击,保障网络的稳定性。
5、结论
综上所述,IGMP SNOOPING配置在二层组播设备上,通过侦听三层组播设备和用户主机间的协议报文来控制和转发处于数据链路层的组播数据流量,实现组播数据流量按需转发,从而有效避免在VLAN内广播泛洪产生的带宽浪费和网络信息安全问题,保障设备和网络的稳定性。如果还有不明白你可以在弱电智能网下面留言评论,让更多小伙伴帮助你。
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。