从化一站式网站建设网站的图片要会员才能下载怎么做
IGMP(网络组管理协议)
   作用:维护、管理最后一跳路由器以及组播接收者之间的关系;
   应用:最后一跳路由器以及组播接收者之间;
   原理:当组播接收者需要接收某个组别的流量时,会向最后一跳路由器,发送IGMP报文,最后一跳路由器会根据组播接收者加入的组别,生成组播路由表,进行转发;
             当组播接收者需要离开某个组播组别时,也向最后一跳路由器,发送IGMP报文,最后一跳路由器会删除对应的组播路由表,不再转发对应组播组别的流量;
  
  工作流程:
   1、查询阶段:最后一跳路由器会寻找网段内的组播接收者,并且询问它们加入了哪个组别;
   2、报告阶段:组播接收者告知最后一跳路由器,自身加入了哪个组播组,最后一跳路由器生成组播路由表;
   3、离开阶段:组播接收者告知最后一跳路由器,自身需要离开某个组播组,最后一跳路由器删除对应的组播路由表;
 版本:
   V1——工作在ASM模型
   V2——工作在ASM模型(默认)
   V3——工作在SSM模型

 配置:
  最后一跳路由器(R4):
 [R4]multicast routing-enable              //全局下开启组播功能
       pim                                               //全局下开启pim
      interface GigabitEthernet0/0/0     //进入距离组播接收者最近的接口
         pim dm                                      //开启pim
         igmp enable                               //开启IGMP
         igmp version 1                           //修改IGMP版本为1,默认为2
 IGMPv1工作过程
 
  1、查询阶段
       最后一跳路由器周期性发送查询报文(默认为60s/次),用于查询网段的组播接收者所加入的组别;
        查询报文
         sip 最后一跳路由器的接口ip
         dip 224.0.0.1(网段内的所有设备均可接收)
         组播地址 0.0.0.0
如果存在多台最后一跳路由器时,需要依靠pim确定谁负责周期性发送查询报文;

        由pim的DR负责;
        选举规则:
         (1)接口优先级,越大越优;(默认为1)
                 interface Ethernet0/0/0
                    pim hello-option dr-priority 2      //修改接口DR优先级
                 display pim interface                      //查看pim的DR以及DR优先级
         (2)接口ip越大越优
因此在配置IGMPv1时,最后一跳路由器的接口也需要开启pim;
 2、报告阶段(成员响应阶段)
    (1)被动加组
       组播组成员在收到查询报文后,会产生成员报告报文进行发送;
       成员报告报文
        sip:接收者自己
        dip:自身需要加入的组别
        组播地址:自身需要加入的组别
最后一条路由器收到成员报告报文后,会在本地生成一张(* G)组播路由表,并且以接收到该成员报告报文的接口作为下游接口,日后收到dip为对应组别的流量就可以从该下游接口发送;
   (2)主动加组
        当新的组播接收者加入网络中,并且不想等待查询周期时,可以选择主动向外发送成员报告报文,最后一条路由器收到后,也会生成组播路由表;
  3、离开阶段
        默默离开;
        当组播接收者,不再需要接收某个组别的流量时,不会做出任何动作,直接离开;
        最后一跳路由器需要等待130s,没有收到对应组别的成员报告报文,才会删除对应表项,停止发送对应组别的流量;
 IGMPv1的缺陷
 
   1、没有自身的查询选举机制,需要依靠pim的DR帮忙查询;
   2、当网段内存在多台同组的组播接收者时,均会发送成员报告报文,但最后一跳路由器为一个组播组只会生成一张表,因此会浪费链路资源;
   3、无离开机制,当某个组别的成员全部离开时,会导致在超时时间内,最后一跳路由器依然发送改组别的流量造成链路资源的浪费;
IGMPv2对v1的改进
IGMPv2对v1的改进
  1、查询阶段
        新增了查询器的概念,如果存在多台最后一跳路由器时,会进行查询器的选举,查询器负责发送普遍组查询报文,用于查找网段内的组播接收者;
        选举规则:接口ip,越小越优;
        普遍组查询报文
         sip 最后一跳路由器的接口ip
         dip 224.0.0.1(网段内的所有设备均可接收)
         组播地址 0.0.0.0
       接口下:igmp timer query 20                   //修改查询周期
  2、报告阶段
       (1)新增响应抑制机制
         机制原理:组播组成员收到普遍组查询报文后,会随机在本地生成一个0.0~10.0s计时器,在计时结束后才会发送成员报告报文,如果在计时结束之前,收到同组的成员报告报文则停止发送成员报告报文;
        成员报告报文
         sip:接收者自己
         dip:自身需要加入的组别
         组播地址:自身需要加入的组别
      (2)可以调整最大响应时间,最多调整成25.0s
                 接口下: 
                     igmp max-response-time 20     //修改最大响应时间为20.0s
      (3)last reporter(最后一个通告者)
                 定义:每一个组别都会有一个;
                           指某个组别中最新收到的成员报告报文的发送者;
                 作用:最后一跳路由器通过last reporter确保某个组播组中存在接收者;
3离开阶段

 新增离开报文;
        当一台组播接收者需要离开某个组别时,会发送离开报文;
        离开报文:
          sip:组播接收者自己
          dip:需要离开的组别
          组播地址:需要离开的组别
        当查询器收到离开报文后,会判断该离开报文的发送者是否为该组别的last reporter,如果不是,则不做任何操作;如果是则针对离开的组别发送特定组查询报文,用于探测该组别是否还有别的接收者;
        特定组查询报文:
          sip:查询器的接口ip;
          dip:需要查询的组别;
          组播地址:需要查询的组别;
        最多连续发送两次,每次的最大响应时间为1s;
        如果2s内收到成员报告报文回应,说明,该组别仍然存在组播接收者,则保留对应的组播路由表,并且将最新一份收到的成员报告报文的发送者,记录为该组别的last reporter;
        如果2s内没有收到成员报告报文回应,说明,该组别没有其他接收者,则删除对应组别的组播路由表;
IGMPv3对v2的改进
 1、工作于SSM模型,组播接收端可以指定接收来自哪些源的流量;
 2、查询阶段跟v2完全一致;
 3、组播组成员可以加入多个组播组;
 4、最后一跳路由器收到成员报告报文后,直接生成(s g)组播路由表,只有收到sip匹配s,dip匹配g的组播流量才会往下发;
 5、成员报告报文改进:
      (1)dip变为224.0.0.22
      (2)六种模式:include、exclude、change to include、change to exclude、alllow new source、block old source;
      (3)其中正常加入某个组播组别,使用include模式发送;
      (4)通过change to exclude模式的成员报告报文,指定自身无需接收的流量;
      (5)通过change to include模式的成员报告报文,进行退出某个组播组别,其中组播源指定为0.0.0.0;(取消了离开报文)
6、取消响应抑制机制,组播组成员收到加入同组的成员报告报文,也会正常发送,防止同组不同源的接收者,相互抑制;
 7、新增了特定源组查询,当接收者不再接收来自某个源的某个组别的流量时,查询器会触发特定源组查询,去判断是否还有对应流量的接收者;
v3配置:
 interface GigabitEthernet0/0/0
  pim sm                           //igmpv3一定要使用pim sm
  igmp enable
  igmp version 3
IGMP兼容:
   V1/V2:最终会以V1的方式工作;
   V1/V2以及V3:接收端为V3,路由器端为V1/V2时,无法兼容,其余情况均能兼容;
IGMP SNOOPING
作用:
     解决因为交换机泛洪业务组播流所带来的问题:
       (1)组播流量的有偿性、安全性得不到保障;
       (2)浪费链路资源;
       (3)当出现两个组播组ip,映射出同一mac地址时,会出现接收者误拆包的问题,浪费设备开销;
  原理:交换机通过监听IGMP报文,在本地构建一张组播流量转发表,实现组播流量的按需转发;
  应用:应用于最后一跳路由器以及组播接收者之间的交换机上;
 端口角色:
   (1)路由器端口
            用于连接路由器,当接口收到igmp查询报文以及pim的hello报文时,接口变为路由器端口;
   (2)成员端口
            用于连接组播接收者,当接口收到成员报告报文时,对应接口会被列为对应组播组别的成员端口;
 工作过程:
   1、查询阶段
        当交换机收到普遍组查询报文,会把收到的接口设置为路由器端口,并且将该报文在同vlan内进行泛洪;
  2、报告阶段
        当交换机收到成员报告报文时,会根据该报文所加入的组播组,在本地生成(* g)组播流量转发表,并且将收到该报文的接口,记录为该组别的成员接口,并且从同vlan的路由器端口发送出去;
       (报告阶段不会有响应抑制机制,避免交换机无法接收到同一组播组所有接收者的成员报告报文,导致无法生成完成的成员接口)
        如果交换机收到的成员报告报文中的组别,已经在自身的组播流量转发表中存在,则直接添加成员接口即可;
   
        组播流量转发表生成完成后,从路由器端口收到的组播流量会查表,从特定的成员端口发送出去;
  3、离开阶段
        当交换机收到离开报文后,将该报文,直接从同vlan的路由器端口发送出去,同时将收到该离开报文的接口的老化时间设为2s,如果2s内没有从该接口收到成员报告报文,则从成员接口列表中删除该接口;
        
        当交换机收到特定组查询报文后,会将对应组别的所有成员端口的老化时间设置为2s,如果没有在2s内收到成员报告报文,则进行删表操作,如果有收到成员报告报文,则保留收到报文的成员接口,其余删除;
如果一个接口130s内没有收到成员报告报文,则从成员接口列表中,删除该接口;
  缺陷:取消了响应抑制机制,增大了路由器的负担;
             
配置:
 [S1]multicast routing-enable     //全局下开启组播功能
       igmp-snooping enable        //全局下开启igmp snooping
       vlan 1                                 
          igmp-snooping enable     //进入特定vlan开启igmp snooping,如果没有划分则进入vlan 1;
  display igmp-snooping router-port vlan 1         //查看路由器端口
   display igmp-snooping port-info                       //查看交换机的组播流量转发表
    **模拟器上,配置了igmp snooping后,igmp中路由器与组播接收者之间的报文交互会失效,无法工作;
