IGMP原理与配置

      IGMP:因特网组管理协议,运行在成员端网络,最后一跳设备到组播组成员之间,用来感知组成员状态,以及建立维护组成员表项

               工作在网络层,IP协议为2

               现网IGMP存在三个版本:IGMPv1,IGMPv2,IGMPv3

                目前常用IGMPv2版本,华为设备默认IGMPv2版本

        IGMP协议能够建立IGMP组成员表项和IGMP组成员表项(*,G)协助PIM生成组播路由表项


—————————————————————————————IGMPv1

     报文:

   普遍组查询报文:IGMP查询器周期性(60s)发送该报文,用来查询该接口是否存在组成员,以及成员加入的组播组信息

  成员关系报告报文:组成员通过发送该报文来通知查询器自己加入组播组,并且携带加入的组播组信息

      字段:

IGMP V1_HCIP

  Version:IGMP版本

                  Type:报文类型

                  Unused:未使用,保留字段

                  Checksum:校验和字段

                  Group address:组播组地址字段

                           如果是普遍组查询报文该字段固定为0.0.0.0

                         如果是成员关系报告报文,该字段为成员加入的组播组地址


          普遍组查询报文原理:

1、 IGMP查询器会周期性(60S)朝224.0.0.1发送普遍组查询报文

其中组地址字段为0.0.0.0,用来查询该接口下是否存在组成员

2、 组成员收到查询报文后,会朝224.0.0.1回应成员关系报告报文

其中组播组地址字段为自己加入的组播组,用来通告自己加入的组播组信息

3、 IGMP查询器收到成员关系报告报文后,建立对应的IGMP组成员表项(组播组地址和接口),表项老化时间默认为130s

                                                    IGMP组成员表项老化定时器=周期性查询时间(60s)x健壮系数(2)+最大报告响应时间(10s)

           成员关系报告抑制:问题:

如果一个网段下存在多台相同组播组的成员,那么查询器在查询时会收到该组播组多个组成员的报告报文

但是实际上查询器并不关心该组播组成员数量,只关心是否存在组播组成员,无论组播组存在多少成员

IGMP查询器都是正常发送组播流量,收到多个报告报文,反而浪费资源

           

作用:

通过成员关系抑制机制,让一个组播组只由一个组成员进行报告报文的响应,节约网络资源

原理:

    组播组成员收到查询报文后,会启动最大响应时间定时器,0-10S随机值,定时器超时后会朝224.0.0.1发送成员关系报告报文进行响应

   携带加入的组播组地址,由于组播发送给224.0.0.1,所以网络中其他组播组成员也能收到该报文,收到后检查该报文加入的组播组和本设备加入的组播组是否相同

                               相同则说明其它成员已经进行响应,取消最大响应时间定时器,不再进行响应

                               不同则和自己没有关系,继续等待定时器老化进行报告响应

             成员加组主动发送报告:

                           成员加入组播组时,会立即主动发送成员关系报告报文,无需等待查询器的周期查询,加快组成员接收组播流量的时间

IGMP查询器选举:

                           问题:

                                   如果网络中存在多台运行IGMP的设备,每台设备都会周期性发送查询报文,浪费网络资源

                           作用:

                                   通过在网络中进行IGMP查询器选举,选举出唯一一台设备来进行查询报文的发送,该设备就叫IGMP查询器

                           选举:

                                    IGMPv1自身并不支持IGMP查询器的选举,直接将PIM的DR充当IGMPv1查询器

                           备注:

                                    IGMP查询器负责周期性发送查询报文,但是网络中所有 IGMP设备,设备都会建立对应的IGMP组成员表项

             组成员离开机制:静默离开

                           IGMPv1没有专门的离开报文和离开机制,成员离开采取静默离开,不发送任何报文

IGMP查询器只能等待表项130s老化才能感知到成员的离开,在该时间内组播组流量还在正常转发,造成资源浪费 

查询器需要检测机制发现组成员的离组:普遍组查询间隔时间60S x 健壮系数(2)+最大响应时间10S=130S

          查询器在130S内未收到关于组播组成员的报告报文,则认为该组不存在接收者,则删除IGMP组成员表,IGMP路由表