IGMP的基础
admin
2024-03-25 15:31:03
0

IGMP

IGMP:因特网组管理协议

  • IGMP:运行在最后一跳组播路由和组播组成员之间,用于最后一跳路由器维护组成员关系,用于接收者请求加入想要加入的组播组,或者离开想要离开的组播组

  • 组播网络感知组播组成员的方式:

    1. 手工静态配置:
      • 在接口视图下配置:
      • 工作量大,灵活性差,但是稳定,一旦创建,永不老化
    2. 动态感知:运行IGMP协议
      • 灵活性高,配置简单(常用)
  • IGMP:封装在IP之上,协议号2

    • 最后一跳组播路由器与组播组成员之间通过交互IGMP报文,生成IGMP组表项和IGMP路由表项

      • IGMP组表项

        • 用于记录和维护组成员和组播关系,由组成员发送成员关系报告报文触发创建,表项老化时间130s
      • IGMP路由表项

        • 用来扩展组播路由表项的下游接口
      • 组播路由表项

        • 最后一跳路由器的组播路由基于IGMP组表项和IGMP路由表项的信息生成,用于指导组播流量转发
      • 查询表项的命令

        • dis igmp group---------查看IGMP组表项
          dis igmp routing-------查看IGMP路由表项
          dis multi rou--------查看组播路由表项
          

IGMP版本

IGMPv1

  • 只有两种报文类型

    1. 普遍组查询报文
      • 目的IP地址为224.0.0.1(所有节点)都接收
      • 由查询器(最后一跳)周期发送(60s一次)
        • 用于检查是否存在组成员和维护组成员关系(IGMP组表项)
    2. 成员关系报告报文(report):
      • 目的IP地址为想要加入的或者所处的组播组地址
      • 当PC想要加入某个组播组时,主动组播发送report报文,请求加入该组播组;
      • 当PC接收到不变的查询报文,回复report报文

    查询器:负责发送普遍组查询报文

    • IGMPv1不支持查询器的选举,有其他组播路由协议选举的DR成为查询器
  • 报文参数:两种报文的格式一致

    1. version:4bit,版本号,此处为1
    2. type:报文的类型
      • 0x11:普遍组查询报文
      • 0x12:成员关系报告报文
    3. unsed:8bit,保留字段
    4. checksum:2B,校验和
    5. group address:4B,组地址
      • 在qurey(查询报文)中为0.0.0.0
      • 在report报文中为想要加入的组播组地址
  • 响应抑制机制:

    • 作用:减少重复协议报文泛滥,减轻查询器的负担
    • 工作机制
      • 当组播组成员接收到query报文时,启动最大响应时间计时器,时间为0~10s之间的随机值,如果该组存在其他多个组成员,计时器先超时的先发送report报文,该组中其他组成员接收到该report报文,关闭计时器,不在发送report报文
        • last-reporter:最后一个通告者,谁先发送report谁就是last report
  • 缺陷:最大响应时间不能修改,颗粒度太大

  • 静默离开

    • 接收者离开组播组,不发送任何报文通知查询器,当接收到查询器发送的query报文时,也不会响应,当查询器在130s后还没有接收到该组的report报文,则认为该组播组不存在组成员,则将对应的组播组从表项中删除
  • 总结

    • IGMPv1的缺陷:
      1. 没有查询器的选举机制,需要依赖其他组播路由协议选举
      2. 最大响应时间10s,不能修改,颗粒度太大
      3. 静默离开在130s内查询器还会不断向该接口发送组播流量,从而造成资源浪费

IGMPv2

  • IGMPv2兼容IGMPv1
  • IGMPv2对IGMPv1的改进
    1. 成员离组的改进
      • 当IGMPv2的主机想要离开某个组播组时,直接发送离组报文(leave),目的IP地址为224.0.0.2,leave报文中携带组播组地址为想要离开的组播组地址
      • 当查询器接收到leave报文后:
        • 如果该报文时last reporter发送的,则发送2个特定组查询报文,时间间隔缺省为1s,目的IP地址为接收者想要离开的组播组地址
        • 如果不是last reporter发送的,则不处罚特定组查询报文,不清除IGMP组表项
      • 新增了两种报文
        1. leave报文:离组报文,组成员朝查询器发送离组报文
        2. 特定组查询报文::查询器朝组成员发送的,目的地址为组成员想要离开的组播组地址
      • 组表项老化方式:
        1. 130s内没有接收到report报文,则自动老化
        2. last reporter发送leave报文,触发特定组查询报文,2s后清除IGMP表项
    2. 报文参数的变化
      • 去掉了version;华为默认IGMP为2
      • type:IGMPv2的报文类型,1B
        • 0x11:普遍组查询报文/特定组查询报文
        • 0x12:IGMPv1成员关系报告报文
        • 0x16:IGMPv2成员关系报告报文
        • 0x17:成员离开报文(leave报文)
      • MAX response time:最大的响应时间,IB
        • 普遍查询报文:默认10.0s,单位0.1s,最大可以修改为25.0s
        • 特定组查询报文:默认1.0s
      • checksum:校验和
      • group address:4B,组地址
        • 普遍查询报文中,为0.0.0.0
        • 特定组查询报文中,为想要查询的组播组地址
        • 成员关系报告报文中,为想要加入的组播组地址
        • leave报文中,为想要离开的组播组地址
    3. 查询器的选举机制的改进
      • 作用:为了避免网络中重复的组播流量的发送,建立和维护IGMP组表项,转发组播流
      • IGMPv2依靠自身支持选举查询器:
        • 当多路访问网络中存在多个网关设备时,初期都认为主机是查询器,互相发送普遍组查询报文(224.0.0.1),当设备接收到其他路由器发送的查询报文后,开始查询器的选举,IP地址小的成为查询器,后续该网络中的组播流量以及查询报文都由查询器负责转发
    4. IGMPv2的不足:在IGMPv1与IGMPv2报文中无法携带组播源信息,无法支持SSM模型

IGMPv3

  • IGMPv3可以兼容IGMPv1和IGMPv2

  • 与IGMPv2比较:

    1. 查询器选举机制一致
    2. 查询报文分为三种
      1. 普遍组查询报文:与V1、v2作用一样
      2. 特定组查询报文:与V2作用一样
      3. 特定源组查询报文:新增的报文,查询该组成员是否愿意接受特定源发送的组播流量
    3. 没有报告响应抑制
      • 因为加入同一个组播组的组成员可能期望接收的组播源不同
    4. 没有专门的离组报文,但是可以使用特殊的成员关系报告报文(6种)实现离组
      1. include
      2. exclude
      3. changge to include mode
      4. change to exclude mode
      5. allow new source
      6. block old source
  • IGMPv3的报文参数

    • 查询报文

      • type:IGMPv3的报文类型
        • 0x11:普遍组查询报文/特定组查询报文/特定源组查询报文
      • max response time:最大响应时间,默认10.0s
      • checksum:校验和
      • group address:
        • 普遍查询报文中,为0.0.0.0
        • 特定组查询报文中,为想要查询的组播组地址
        • 特定组和特定源组查询报文种,为想要查询的组播组地址
      • number of source:携带的组播源地址数量
      • source address:组播源地址
    • 成员关系报告报文

      • 作用:除了报告组播组和组成员的关系,还通告组成员希望接收的组播源地址

      • 目的IP地址为224.0.0.22

      • 通告组播源的模式

        1. include:表示接收指定组播源发送的组播流量
        2. exclude:表示拒绝接收指定组播源发送的组播流量
      • 报文参数:

        • type:0x22,IGMPv3成员关系报告报文

        • 保留字段

        • checksum:头部校验和

        • number of group record:组记录的数量

        • group record(n):组记录列表,记录组播组和组播源的关系

          • 组记录的参数

            1. record type:

              ​ 当前状态报告

              1. mode is include:接收源地址列表中包含的组播源发往组播地址的组播数据,如果指定源地址列表为空,则该消息为无效消息

              2. mode is exclude:不接收源地址列表中包含的源发往组播地址的组播流量

                过滤模式改变报文

              3. change to include:

                • 模式由exclude切换到include,接收源地址列表种包含的新组播源发送到组播组地址的数据,如果指定地址列表为空,则认为主机离开该组
              4. change to exclude

                • 模式由include切换到exclude,拒绝接收源地址列表中组播源发往组的组播流量

                源列表改变

              5. allow new source

                • 表示在现有的基础上,需要接收某个源地址发送到该组播组的组播流量
                  • 如果当前关系为include,则向现有的源地址列表中添加该组播源地址
                  • 如果当前关系为exclude,则从现有的源地址列表中删除该组播源地址
              6. block old source

                • 表示在现有的基础上,不再接受从某个源地址发送到该组播组的组播流量
                  • 如果当前关系为include,则从现有的源地址列表中删除该组播源地址
                  • 如果当前关系为exclude,则从现有的源地址列表中添加该组播源地址
            2. number of source:组播源列表中源地址的数量

            3. group addess:加入的组播组地址

            4. source addess(n):跟组播组地址相关联的组播源地址列表

IGMP各版本之间的差异

  • 机制IGMPv1IGMPv2IGMPv3
    查询器选举依靠其他协议自己选举(选择IP地址小的)自己选举(选择IP地址小的)
    成员离开方式静默离开主动发送leave报文主动发送离开报文(特别的成员关系报告报文)
    特定组查询不支持支持支持
    特定源组查询不支持不支持支持
    兼容性IGMPv1IGMPv1和IGMPv2
  • 全局开启组播路由功能

    • mutilcast rou
  • 连接组播源的接口使能PIM SM

  • 连接组成员的接口 开启IGMP,再选择版本

相关内容

热门资讯

飞天茅台,又涨了100块,陈华... 作者:王一行 不到四个月,飞天茅台又涨价了。 加上3月31日那次涨价,今年飞天茅台的出厂价和零售价累...
银行理财收益缩水,机构集体喊话... 【大河财立方 记者 吴海舒 杨萨】“我自己买股票都没它能亏”,某社交平台上,一位网友晒出了自己购买的...
蒙商银行行长牛冠荣拟任内蒙古自... 蒙商银行行长牛冠荣拟任内蒙古自治区党委管理领导班子企业正职 人民财讯7月25日电,内蒙古自治区党委组...
首发经济破局 激活消费新动能 在昆明顺城购物中心,占地1800平方米的蜜雪冰城旗舰店人气爆棚,门口排满了前来打卡的消费者;蜡笔小新...
原创 谁... 坐在深圳南山的写字楼里往窗外看,无人机送外卖、机器人巡逻、满街的新能源车,很多外地人第一次来都会愣一...
“硬件创新基础设施”嘉立创今日... 7月24日,深圳嘉立创科技集团股份有限公司(以下简称“嘉立创”)正式启动网上网下发行申购,申购简称为...
深化产教融合 推进数智育人 哈... 7月23日,由阿里国际人工智能人才孵化中心(以下简称“阿里国际AITIC”)主办的“智启未来·数智赋...
陈春玉够“稳”,但魔法原子还“... 今年上半年,魔法原子获得了春晚的热度,但是也受到了人事和商业化的质疑。面对外界疑问,陈春玉依靠扎实的...
实物黄金和纸黄金的交易成本如何... 在黄金投资领域,实物黄金和纸黄金是较为常见的两种投资方式,而了解它们的交易成本计算方法对于投资者来说...
这些绩优股发布拟增持计划(附股... 7月以来,上市公司密集发布拟增持计划。与此同时,德明利、广钢气体、柯力传感等多家公司还发布了承诺不减...
特斯拉一周跌没18%,马斯克自... 马斯克这周不好过——特斯拉周五跌超2%,本周累跌近18%,创2022年以来最大单周跌幅;SpaceX...
原创 世... 文|江月白 编辑|江月白 近期中东局势再度掀起波澜,也门胡塞武装突然宣布封锁红海的曼德海峡,这一举...
农业农村部:乡村消费韧性持续凸... 本报记者 刘萌 7月24日,国新办举行新闻发布会介绍2026年上半年农业农村经济运行情况。农业农村部...
一杯鲜啤引爆夏夜狂欢 如东啤酒... 扬子晚报讯(记者 郭小川 通讯员 王军)如火的夏夜,怎能少了一杯清凉爽口的鲜啤?连日来,夜色中的如东...
原创 通... 时间定了,下周油价大涨!2026年汽柴油第10次上涨在即,时间将于7月31日24时准时调价,倒计时仅...
Waymo计划独立进入两地Ro... 7 月 25 日消息,据《金融时报》报道,Alphabet 旗下自动驾驶出租车企业 Waymo 在一...
日均狂赚2.39亿!宁德时代拿... 图片来源:图虫 7月24日晚,宁德时代(300750.SZ)披露2026年半年报,报告期内,公司实现...
长鑫科技下周一上市:合肥产投集... 长鑫科技下周一上市,大股东 合肥产投 都有哪些布局? 长鑫上市,合肥产投能赚多少? 作为长鑫科技发起...
ETF市场周报 | 市场回升趋... 市场回顾: 本周(2026年7月20日-7月24日),A股市场触底反弹,前4日整体走势强劲,周五略有...
美股开盘:指数涨跌不一 ,存储... 7月24日晚间,美股三大指数开盘后涨跌不一。截至发稿,标普500指数涨0.24%,道指涨0.32%,...