TCP/IP五层模型-网络层-IGMP协议
1.定义:IGMP(Internet Group Management Protocol)是网络组管理协议,该协议运行在主机和组播路由器之间。IGMP协议共有三个版本,即IGMPv1、v2 和v3。主要用于建立和管理多播组,对IP分组广播进行控制。
2.ICMP和IGMP的区别:Internet控制消息协议ICMP是用于报告错误并代表IP对消息进行控制。IP运用互联组管理协议IGMP来告诉路由器,某一网络上指导组中的可用主机。
3.简介:主机IP软件需要进行组播扩展,才能使主机能够在本地网络上收发组播分组。但仅靠这一点是不够的,因为跨越多个网络的组播转发必须依赖于路由器。路由器为建立组播转发路由必需了解每个组员在Internet中的分布,这要求主机必须能将其所在的组播组通知给本地路由器,这也是建立组播转发路由的基础。
主机与本地路由器之间使用Internet组管理协议(IGMP,Internet Group Management Protocol)来进行组播组成员信息的交互。在此基础上,本地路由器再将信息与网络组播路由器通信,传播组播组的成员信息,并建立组播路由。这个过程与路由器之间的常规单播路由的传播十分相似。IGMP是TCP/IP中重要标准之一,所有IP组播系统(包括主机和路由器)都需要支持IGMP协议。组播协议包括组成员管理协议和组播路由协议。组成员管理协议用于管理组播组成员的加入和离开,组播路由协议负责在路由器之间交互信息来建立组播树。IGMP属于前者,是组播路由器用来维护组播组成员信息的协议,运行于主机和和组播路由器之间。IGMP 信息封装在IP报文中,其IP的协议号为2。若一个主机想要接收发送到一个特定组的组播数据包,它需要监听发往那个特定组的所有数据包。为解决Internet上组播数据包的路径选择,主机需通过通知其子网上的组播路由器来加入或离开一个组,组播中采用IGMP来完成这一任务。这样,组播路由器就可以知道网络上组播组的成员,并由此决定是否向它们的网络转发组播数据包。当一个组播路由器收到一个组播分组时,它检查数据包的组播目的地址,仅当接口上有那个组的成员时才向其转发。IGMP提供了在转发组播数据包到目的地的最后阶段所需的信息,实现如下双向的功能:1.主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。2.路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所连网段组成员关系的收集与维护。