IGMP协议

Internet 组管理协议称为IGMP协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间。

IGMP协议共有三个版本,即IGMPv1、v2 和v3。

主机IP软件需要进行组播扩展,才能使主机能够在本地收发组播分组。

但仅靠这一点是不够的,因为跨越多个网络的组播转发必须依赖于路由器。

路由器要建立组播转发路由必需了解每个组员在Internet中的分布,这要求主机必须能将其所在的组播组通知给本地路由器,这也是建立组播转发路由的基础。

主机与本地路由器之间使用Internet组管理协议(IGMP,Internet Group Management Protocol)来进行组播组成员信息的交互。

在此基础上,本地路由器再你信息与她组播路由器通信,传播组播组的成员信息,并建立组播路由。

IGMP是TCP/IP中重要标准之一,所有IP组播系统(包括主机和路由器)都需要支持IGMP协议。

组播协议包括组成员管理协议和组播路由协议。

组成员管理协议用于管理组播组成员的加入和离开,组播路由协议负责在路由器之间交互信息来建立组播树。IGMP属于前者,是组播路由器用来维护组播组成员信息的协议,运行于主机和和组播路由器之间。

IGMP 信息封装在IP报文中,其IP的协议号为2。
若一个主机想要接收发送到一个特定组的组播数据包,它需要监听发往那个特定组的所有数据包。为解决Internet上组播数据包的路径选择,主机需通过通知其子网上的组播路由器来加入或离开一个组,组播中采用IGMP来完成这一任务。

这样,组播路由器就可以知道网络上组播组的成员,并由此决定是否向它们的网络转发组播数据包。当一个组播路由器收到一个组播分组时,它检查数据包的组播目的地址,仅当接口上有那个组的成员时才向其转发。

IGMP提供了在转发组播数据包到目的地的最后阶段所需的信息,实现如下双向的功能:
主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。
路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所连网段组成员关系的收集与维护。

原文地址:https://www.cnblogs.com/sea-stream/p/10799012.html