什么是 IGMP 侦听?

互联网组管理协议 (IGMP) 用于设置多播组。IGMP 侦听允许网络交换机了解这些组并相应地转发网络流量。

学习目标

阅读本文后,您将能够:

  • 定义“IGMP 侦听”
  • 了解为什么需要进行 IGMP 侦听
  • 了解 IGMP 侦听如何节省带宽

复制文章链接

什么是 IGMP 侦听?

IGMP 侦听是网络交换机用来识别多播组的一种方法,多播组是接收相同网络流量的计算机或设备组。它使交换机能够将数据包转发到其网络中的正确设备。

互联网组管理协议 (IGMP) 是一种网络层协议,它允许多个设备共享一个 IP 地址,以便它们都可以接收相同的数据。联网设备使用 IGMP 加入和离开多播组,每个多播组共享一个 IP 地址

但是,大多数网络交换机无法查看哪些设备已加入多播组,因为它们不处理网络层协议。IGMP 侦听是解决此问题的一种方法:它允许交换机“侦听”IGMP 消息,即使它们在技术上属于 OSI 模型的不同层。IGMP 侦听不是 IGMP 协议的一个特性,而是内置在某些网络交换机中的一种适配。

什么是网络交换机?

网络交换机连接网络内的设备,并将数据包转发到这些设备(也称为“主机”)以及从这些设备转发数据包。与路由器不同,交换机不会在网络之间转发数据包,它仅在网络内转发数据包。

什么是网络层?什么是数据链路层?

使互联网工作的过程分为不同的层。OSI 模型是定义不同网络层的一种标准方法。OSI 模型包含 7 层。数据链路层和网络层分别是第 2 层和第 3 层。

未定义

网络协议和设备部分由它们所属的层定义。网络设备的功能受到设备可以交互的层的限制。第 2 层交换机不处理第 3 层协议。

IGMP 侦听绕过了这个限制。第 2 层交换机观察第 3 层 IGMP 流量,并使用此可见性创建跟踪多播组的表。

IGMP 侦听有什么好处?

防止流量泛滥:如果交换机不知道哪些设备属于多播组,它将简单地转发它接收到的所有多播流量。结果是网络上的设备接收到的流量远远超过需求。它们必须使用计算能力来处理这些不需要的数据包,导致减慢甚至完全停止正常功能。

如果网络不启用 IGMP 侦听,攻击者可以在拒绝服务 (DoS) 攻击中利用这一事实。通过发送不必要的多播流量,然后网络交换机通过网络转发这些流量,攻击者可以占用网络带宽和处理能力。(了解有关第 3 层 DDoS 攻击的更多信息。)

使网络更快:通过网络传输的流量越多,网络的带宽就越少。IGMP 侦听通过减少转发的流量来节省带宽。这会留下更多可用带宽,从而使网络更快。

IGMP 侦听是否适用于 IPv6 网络?

IGMP 是用于 IPv4 的多播协议,是互联网协议的第四版。IPv6 依赖于多播侦听程序发现 (MLD) 进行多播。IPv6 网络使用 MLD 侦听而不是 IGMP 侦听。