IGMP 因特网组管理协议

IGMP 因特网组管理协议

目录一、IGMP 是什么?二、为什么需要 IGMP?—— 解决组播的“最后一公里”问题三、IGMP 的三个主要版本IGMPv1 (RFC 1112)IGMPv2 (RFC 2236) - 最常用IGMPv3 (RFC 3376)四、IGMP 如何工作?—— 以 IGMPv2 为例五、IGMP Snooping总结

一、IGMP 是什么?

IGMP 是一种用于在 IPv4 网络 中实现组播 的通信协议。它运行在主机(接收者) 和与其直接相连的组播路由器 之间。

核心目的:让组播路由器知道,在它直连的网络段(一个局域网,如一个子网)内,有哪些主机对接收哪个组播组的数据流感兴趣。

工作层次:IGMP 是网络层协议,是 IP 协议的一部分(通常被视为 IP 协议的一个组件)。

简单比喻:

想象一个组播路由器是小区里的一个邮局,每个主机是小区里的住户。IGMP 就像是住户告诉邮局:“我想订阅《国家地理》杂志”(加入一个组播组),或者“我不再需要《时尚杂志》了”(离开一个组播组)。这样,邮局就知道该把哪种杂志投递到哪个住户的信箱,而不用给每家每户都投递所有种类的杂志。

二、为什么需要 IGMP?—— 解决组播的“最后一公里”问题

在没有 IGMP 的情况下,组播路由器只有两种选择:

盲目广播:将所有的组播流量都以广播的形式发送到本地网络。这会浪费网络带宽和所有主机的处理资源,即使它们对数据不感兴趣。

完全不发送:不向本地网络发送任何组播流量。这又使得真正想接收数据的主机无法收到。

IGMP 完美地解决了这个“最后一公里”问题,它建立了一个动态的、高效的成员关系机制,使得组播流量只被发送到有成员存在的网络段。

三、IGMP 的三个主要版本

IGMP 有三个主要版本,它们在功能和效率上有所不同。

IGMPv1 (RFC 1112)

工作机制:

成员报告:当一台主机想加入一个组播组时,它会主动向该组播组地址发送一个 Membership Report 消息。

成员查询:组播路由器会定期(默认每60-120秒)向本地网络的所有主机发送一个 General Query(目标地址:224.0.0.1,表示所有主机),询问“你们还在听哪些组?”

静默离开:主机如果想离开组,它不会通知路由器。路由器在几次查询后没有收到该组的报告,则认为该组已没有成员,从而停止转发该组流量。

缺点:离开延迟较长,因为路由器需要等待超时。

IGMPv2 (RFC 2236) - 最常用

改进:增加了明确的离开机制,减少了离开延迟。

新增消息:

Group-Specific Query(特定组查询):路由器可以只查询某一个特定的组播组。

Leave Group(离开组消息):当主机要离开组时,它会向 所有路由器地址(224.0.0.2) 发送一个 Leave Group 消息。

工作流程:

主机想离开时,发送 Leave Message。

路由器收到后,立即发送 Group-Specific Query 到该组,询问“还有谁在这个组?”

如果还有其他主机在该组,它们会回复 Report;如果没有,则无人回复。

路由器在等待一个短暂时间后无人回复,则立即停止转发该组流量。

IGMPv3 (RFC 3376)

重大改进:支持 源过滤,增强了安全性和控制力。

核心特性:主机不仅可以指定要加入哪个组播组(G),还可以指定它愿意从哪个特定的源(S) 接收流量。

INCLUDE 模式:只接收来自指定源列表的组播流量。

EXCLUDE 模式:接收来自除了指定源列表之外的所有源的组播流量。

应用场景:这对于 SSM(源特定组播) 至关重要,例如在视频会议中,你只想接收来自主席的视频流,而不接收其他与会者的。

四、IGMP 如何工作?—— 以 IGMPv2 为例

假设一个局域网中有一个组播路由器和一个主机H1,H1想接收组播组 224.1.1.1 的数据。

加入组(Membership Report):

H1 向组播地址 224.1.1.1 发送一个 IGMP Membership Report 消息。

路由器收到此报告,得知本网络有主机对 224.1.1.1 感兴趣,于是开始通过组播路由协议(如 PIM)从上游接收该组的数据流,并转发到本局域网。

维护成员关系(General Query):

路由器定期(例如每125秒)向 224.0.0.1 发送 IGMP General Query。

H1 收到查询后,会为它所在的每个组播组启动一个随机计时器。为了避免多个主机同时响应(“报告抑制”机制),第一个计时器超时的主机会发送 Report。这样,只需要一个报告就能代表整个组。

离开组(Leave Group):

当 H1 不再想接收 224.1.1.1 的流量时,它会向 224.0.0.2 发送一个 IGMP Leave Group 消息。

路由器收到后,立即向 224.1.1.1 发送 Group-Specific Query。

如果本网络内没有其他主机响应这个查询,路由器就认为该组已无成员,停止转发数据。

五、IGMP Snooping

这是一个非常重要的相关概念,但它不是一个路由协议。

是什么:是交换机 上运行的一种功能。

做什么:交换机“偷听”(Snooping)主机和路由器之间交换的 IGMP 消息。

为什么:通过监听这些消息,交换机可以学习到哪个端口连接了哪个组播组的成员。

好处:有了这些信息,交换机就不会简单地把组播流量在所有端口进行广播(泛洪),而是只将其转发给有该组成员的端口。这极大地节约了二层网络的带宽。

没有 IGMP Snooping:组播帧在 VLAN 内被广播。

有 IGMP Snooping:组播帧只被发送到有接收者的端口。

总结

方面

描述

角色

主机与直连路由器之间的“通信员”。

目的

动态管理组播组成员关系,实现组播流量的精准交付。

核心功能

加入组、查询组成员、离开组。

版本演进

v1:基础功能;v2:快速离开;v3:支持源过滤。

与组播路由协议关系

IGMP 管理本地网络的成员,而 PIM、DVMRP 等协议在路由器之间传递组播路由信息,两者协同工作。

相关技术

IGMP Snooping 是交换机优化二层组播转发的关键技术。

简而言之,IGMP 是因特网组播架构的基石,它确保了组播数据能够高效、准确地从路由器传递到最终感兴趣的接收者主机。

相关推荐

ppt如何转化成图片
365体育平台靠谱吗

ppt如何转化成图片

⌛ 06-17 👁️ 6362
阴阳师单拉般雪灯阵容推荐 斗技心得分享
365体育平台靠谱吗

阴阳师单拉般雪灯阵容推荐 斗技心得分享

⌛ 10-06 👁️ 7548
三星i9250(三星i9250手机)
365体育平台靠谱吗

三星i9250(三星i9250手机)

⌛ 08-03 👁️ 8450
卧虎藏龙2中哪里可以找到青草
365bet育在线网址

卧虎藏龙2中哪里可以找到青草

⌛ 08-29 👁️ 7891
夫妻生活喜欢亲吻对方私处,真的不健康吗?医生:当心这些危害!
上门理发app哪个好?上门理发服务平台
365体育平台靠谱吗

上门理发app哪个好?上门理发服务平台

⌛ 07-01 👁️ 9438
鸡 书法字典
365体育平台靠谱吗

鸡 书法字典

⌛ 06-27 👁️ 7269
揭秘网易云:你不知道的累计听歌算法秘密,带你走进音乐大数据世界