网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

互联网组管理协议 – IGMP

更新时间:2026年03月27日   作者:spoto   标签(Tag):

IGMP(Internet Group Management Protocol)是一种网络层通信协议,被主机和相邻路由器所使用,用于管理IPv4网络中的多播组成员关系。IGMP使得主机与本地路由器之间能够相互通信,从而识别局域网内的多播组成员。与单播或广播不同,IGMP支持多播通信方式,即一个主机可以向多个目标发送数据。

  • 单播一个发送者 -> 一个接收者。
  • 多播一个发送者 -> 多个特定接收者。
  • 任意播送/路由一个发送者 -> 接收者群体中距离发送者最近的成员。

注意:在IPv6协议中,IGMP被多播监听器发现协议所取代。

IGMP的应用

  • 流媒体高效地处理视频/音频流的单对多或多对多的传输。
  • 在线游戏允许多个玩家实时交换游戏状态更新信息。
  • 网络会议支持视频会议和协作工具中的群聊功能。

IGMP消息的类型

IGMP使用不同的消息类型来管理多播成员资格。

  1. 会员资格查询由路由器发送该请求,以了解某个网络段上哪些多播组有活跃的成员。
  2. 会员报告由主机发送,用于表示有兴趣加入多播组。
  3. 离开群组由主机在不再希望接收某个多播组的流量时发送。
  4. IGMPv3成员状态报告允许主机指定精确的多播地址和源地址(支持SSM机制)。

IGMP的工作原理

IGMP的工作原理
  • 主机与路由器之间的交互主机会发送报告,以决定是否加入或离开多播组;路由器则负责维护各组的成员信息表。
  • 多播地址分配多播组使用的是D类IP地址(即224.0.0.0到239.255.255.255)。
  • IGMP监听这些交换机会监听 IGMP 消息,从而将多播组与相应的端口进行关联,从而避免不必要的网络拥塞现象。
  • 多播路由路由器使用协议无关组播技术来在不同网络之间转发组播流量。

IGMP监听

IGMP snooping是一种网络交换机的功能,它能够监听主机与路由器之间交换的IGMP消息。

  • 可以防止多播流量被广播到所有端口上。
  • 仅将组播流量转发到那些有相关成员参与的端口上。
  • 提升了网络的效率以及带宽的使用效果。

IGMP版本与数据包格式

IGMPv1

IGMPv1数据包格式
  • 主机通过发送成员请求来加入多播组。
  • 没有明确的退出选项——主机会等待超时时间到来。
  • 字段:版本、类型、未使用的值、校验和、组地址。

2. IGMPv2

  • 添加了“离开群组”功能,以便更快地退出群组。
  • 支持针对将军、特定组以及特定来源的查询。
  • 字段:类型、最大响应时间、校验和、组地址。
IGMPv2数据包格式

类型:

  • 0x11:会员资格查询
  • 0x12:IGMPv1成员资格报告
  • 0x16:IGMPv2成员报告
  • 0x22:IGMPv3成员状态报告
  • 0x17 表示“离开组”的状态。

3. IGMPv3

IGMPv3数据包格式
  • 增加了针对特定源的多播功能,同时还提供了报告汇总功能。
  • 主机可以指定哪些来源的数据可以被接收,同时也可以排除某些来源的数据。
  • 字段:最大响应时间、校验和、组地址、标志位(S、QRV)、QQIC、源地址列表。

多播

多播是一种传输方式,即发送方一次性发送数据包,然后网络将这些数据包传递给所有感兴趣的接收者。

  • 比单独发送单播流要高效得多。
  • 通常用于IPTV、金融交易更新以及实时应用程序中。

IGMP是一种第三层协议吗?是的,IGMP位于OSI模型的第三层,即网络层。它用于管理IP网络中的多播组成员关系,从而有效地将多播流量分配到各个网络段中。

IGMP版本的歷史

  • IGMPv1(1989年)该技术由斯坦福大学开发。它允许主机加入多播组,但主机无法主动退出这些多播组。
  • IGMPv2(1997年)引入了休假组消息功能,从而减少了超时延迟现象。
  • IGMPv3(2002年)增加了针对特定源的组播功能(SSM),使得主机能够指定希望接收流量的源。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料