跳转到内容

Igmp

来自FC

互联网组管理协议(Internet Group Management Protocol:IGMP)是用于管理网路协议多播组成员的一种通信协议。IP主机和相邻的路由器利用IGMP来创建多播组的组成员。

ICMP用于单播连接一样,IGMP也是IP多播说明的一个完整部分。IGMP为互联网协议的一种,属于开放式系统链接(OSI)模型的第三层协议,IP主机用它将主机的多点发送成员人数报告给临近的多点发送路由器。

通过IGMP,组成员可以将加组消息发送给组播网络,从而让组播网络感知到组成员的位置和所在组播。

IGMP有3个版本

  • IGMPv1(由RFC 1112定义)
  • IGMPv2(由RFC 2236定义)
  • IGMPv3(由RFC 3376定义)

所有版本的IGMP都支持MSA(Any-Source Multicast,任意信源组播)模型;IGNPv3可以直接应用于SSM(Source-Specific Multicast,指定信源组播)模型,而IGMpv1和IGMPv2则需要在IGMP SSM Mapping技术的支持下才能应用于SSM模型。

组播网络

IP组播通信的特点是报文从一个源出发,被转发到一组特定的组播成员,在组播通信模型中组播源不关注接受者的位置信息,组播数据转发需要依赖组播网络才能将数据发送至组播成员。

组播数据在进行传递时,组播网络为了将组播数据转发至组播成员,需要知道组播成员的位置和所加组播组。

组播网络感知组播成员方法:

  • 手工静态配置:在组播路由器上静态指定连接到组播组成员的接口,静态配置组成员加组信息。
  • 动态感知:通过IGMP协议通知组播网络,组播网络根据IGMP消息感知组播成员所在的接口,以及组成员加组信息。

组播网络转发报文时需要依赖组播分发树。

IGMPv1

基于查询和响应机制来完成对组播成员的管理。

查询

当一个网段内有多台组播路由器时,由于他们都能从主机那里收到IGMP成员关系报文(Membership Report Message),因此只需要其中一台路由器发送IGMP查询报文(Query Message),就足够了,这就需要一个查询器(Querier)的选举机制来确定由那台路由器作为IGMP查询器。

由于组播路由协议(如PIM)选举唯一组播信息转发者DR(Designated Router,指定路由器)作为IGMP查询器。

响应

IGMPv2

IGMPv3