什么是IGMP Snooping?
IT人员研发了IGMP(Internet Group Management Protocol, Internet组管理协议)Snooping协议,并将其广泛应用于网络组播模式,以减少网络带宽浪费,防止恶意攻击。那么,什么是IGMP Snooping?它是如何工作的?本文将针对这些问题,展开详细讨论。
IGMP Snooping简介
IGMP是一种网络组播协议,用来在主机和组播路由器之间建立和维护组播成员关系。IGMP Snooping通过侦听和分析三层组播设备与主机之间发送的组播报文来控制这些组播组,有利于抑制二层网络中不必要的组播数据转发,节省网络带宽。
IGMP Snooping工作原理
在局域网中,组播报文不可避免的要经过一些二层网络设备,如路由器和组播用户之间的二层网络交换机。由于二层交换机无法学习组播MAC地址,因此组播报文会在二层被广播,即同一广播域内的组播成员和非组播成员都能收到组播报文。这样不但浪费了网络带宽,而且影响了网络信息的安全性。
IGMP Snooping是解决此类问题的理想方案。 如上图所示,当交换机未启用IGMP Snooping时,组播报文将通过广播分别发送至主机A、B、C;当交换机启用IGMP Snooping后,该交换机可以侦听和分析IGMP报文,指定相应的二层组播的接收者(主机A和C),从而有效地控制组播报文转发。这样,只有组播成员主机A和主机C能接收组播报文,主机B无法接收组播报文。
IGMP Snooping的功能与应用
如前文所述,IGMP Snooping能有效防止带宽浪费和网络信息泄漏。
组播侦听帮助IGMP Snooping网络交换机和路由器将组播报文有效地发送到指定的接收者。当网络无法进行多点传输时,IGMP Snooping将变得尤为重要,否则,传入的组播报文将被发送至广播域中的所有主机。IGMP Snooping的优势在较大的网络中体现的尤为明显,支持IGMP Snooping的交换机减少了不必要的报文传输,避免网络阻塞。同时,当不法分子利用网络组播的安全漏洞(如组播DoS/DDoS攻击)时,即用组播报文攻击单个主机或整个广播域内的主机,IGMP Snooping能有效地避免这种情况的出现。
启用IGMP snooping命令,能有效地节省带宽浪费。所有下游主机仅接收指定的报文,这些报文已通过组播请求。因此,支持IGMP Snooping的交换机适用于带宽需求较大的网络,如IPTV或其他流媒体服务,及Web会议网络等。但是,如果网络中的成员设备极少,或网络中几乎没有任何组播流量时,则无需开启IGMP Snooping。此时,即使交换机或路由器支持组播IGMP Snooping协议,该协议也需保持关闭状态,以避免启用不必要的网络监听分析程序,减少设备的CPU资源消耗。
IGMP Snooping配置注意事项
IGMP Snooping协议使设备能够建立和维护二层组播转发表,从而指导组播报文在数据链路层按需转发。 在配置IGMP Snooping协议前,需要注意以下三个因素。
IGMP Snooping查询器
为启用IGMP Snooping,用户必须在网络中配置组播路由器,以生成IGMP查询器。如果没有查询器,用户无法定期检索、更新IGMP成员资格报告及组播成员资格表,这将导致IGMP Snooping无法正常工作。配置IGMP Snooping查询器后,它将定期发送IGMP查询报文,以查询该网段有哪些组播组的成员,并生成IGMP报告。然后,IGMP Snooping会侦听这些IGMP报告以建立适当的报文转发机制。
IGMP Snooping Proxy功能
IGMP Snooping Proxy即IGMP Snooping代理功能,当IGMP Snooping交换机启用该功能后,它将实现IGMP Snooping的功能,即在其上游设备看来,它就相当于一台主机;在其下游设备看来,它相当于一台查询器。例如,当IGMP Snooping交换机检索到来自路由器的IGMP查询报文时,它将拦截此查询报文,而自己以组播路由器的身份向主机发送查询报文并进行相关处理。当交换机禁用IGMP代理功能后,交换机只侦听VLAN中IGMP查询报文及来自主机的组播报告,而不做拦截处理。因此,IGMP Snooping Proxy不仅能抑制因响应查询报文而导致的IGMP报告泛滥,还能减轻上端IGMP查询器的符合。但是,基于VLAN的IGMP状态存在一定的延迟。
IGMP Snooping版本
IGMP目前有三个版本,即IGMP V1,IGMP V2和IGMP V3。通常,IGMP V1基于组播路由协议,定义了基本的组成员查询和报告过程;IGMP V2在V1的基础上添加了查询器选举和组成员离开的机制,允许查询器将数据发送至组播域中的主机;IGMP V3支持特定的源过滤,其主要功能是成员可以指定接收或指定不接收某些组播源的报文。
结语
IGMP Snooping是网络交换机的重要功能,它不仅能降低带宽消耗,避免二层网络组播泛滥,同时,还能提高网络信息安全性,是搭建良好网络的理想解决方案。