组播技术基础——IGMPv1简介

3 篇文章 0 订阅

IGMPv1报文类型

  1. 成员关系查询(Membership Query)
  • IGMP查询器使用该报文向直连网段进行查询,以便确认该网段中是否存在组播组成员。
  • 成员关系查询报文的目的IP地址是224.0.0.1 (所有节点组播地址)。
  1. 成员关系报告(Membership Report)
  • 当组播组成员收到查询器发送的成员关系查询报文后,会以成员关系报告报文进行回应,以便告知查询器自已所加入的组播组。
  • 当有新加入组播组的成员时,无需等待查询器的成员关系查询报文,可以直接发送成员关系报告报文以宣告自己加组。
  • 成员关系报告报文的目的IP地址是主机期望加入的组播组的IP 地址,而且报文载荷中的“组地址”字段也记录了该组播组的IP地址。

IGMPv1报文格式

IGMPv1的报文格式如下图所示:
在这里插入图片描述
字段含义如下:

  • 版本(version):对IGMPv1而言,该字段值为1.
  • 类型(type):指示了IGMPv1报文的报文类型。如果是成员关系查询报文,该字段值为1,若是成员关系报告报文,该字段值为2。
  • 校验和(checksum):用于校验IGMPv1报文。
  • 组地址(group address):若是IGMPv1成员关系查询报文,该字段值为0(0.0.0.0);若是IGMPv1成员关系报告报文,该字段值是主机加入组播组的组地址。

IGMPv1应用示例

在这里插入图片描述
如上图所示的网络拓扑,PC1、PC2、PC3以及R1连接到了同一台二层交换机,并且都属于相同的VLAN,使用相同的IP网段。
在R1的GE0/0/1接口激活了IGMPv1。PC1及PC3是组播组239.1.1.1的成员,而PC2是组播组239.1.1.2的成员。

IGMPv1查询和响应

(1)R1激活IGMPv1后,它将在GE0/0/1接口上周期性地(缺省以60秒为周期)发送IGMPv1成员关系查询报文,该报文的目的IP地址是224.0.0.1(所有节点组播地址),并且报文中“组地址”字段的值为0.0.0.0,该查询面向所有组播组。
(2)R1发送的IGMPv1成员关系查询报文到达交换机后,会被后者进行泛洪,因此PCI、PC2 及PC3都会收到该报文。
(3)为了使组成员能够正常地收到组播流量,组成员收到IGMPv1成员关系查询报文后需要使用IGMPv1成员关系报告报文进行回应,以便刷新IGMP路由器的相关表项(IGMP组成员表项、IGMP路由表项、组播路由表项)。

成员报告抑制

问题背景

对于查询器R1而言,它只关系GE0/0/1上是否存在哪几种组播成员,但是对于同一种的组播成员有多少个,它并不关系。

若一个广播域内存在多个同属于一个组播组的成员,比如上图所示,PC1及PC3是组播组239.1.1.1的成员,如果没有做特殊的处理,二者都会向目的地址为239.1.1.1的组播地址发送membership report报文,那么将会产生多余的IGMP流量。

解决方法

通过组成员本地启动一个报告延时计时器(Report Delay Timer)来解决上述问题。

  1. 如下图所示,当连接在交换机上的PC收到R1发送的IGMPv1成员关系查询报文时,所有的PC都会在本地启动一个报告延迟计时器( Report Delay Timer),计时器的值被设置为0至10秒之间的一个随机数,当该计时器超时的时候,PC便立即发送IGMPv1成员关系报告报文。
  2. 假设PC1的计时器率先超时,那么它将立即发送IGMPv1成员关系报告报文,这个报文的目的IP地址是239.1.1.1,也就是其加入的组播组的IP地址,这个组播报文被封装成帧并发往交换机,交换机将这个数据帧进行泛洪,R1及其他PC都会收到该帧。
  3. R1收到这个IGMP报文后,了解到其GE0/0/1接口上存在组播组239.1.1.1的成员,于是它将维护相关IGMP组表项及IGMP路由表项,当它收到发往239.1.1.1的组播流量后,便将这些组播流量从该接口转发出去。
  4. 当PC3收到PC1发送的IGMPv1成员关系报告报文后(此时它的报告延迟计时器并未超时),发现后者所加入的组播组与自己相同,于是它将抑制自己的成员关系报告,如此即可减少网络中多余的IGMP流量。
  5. 当PC2收到PC1发送的IGMPv1成员关系报告报文后(若此时它的报告延迟计时器并未超时),发现后者所加入的组播组与自己不相,会丢弃该报文。因此它的计时器超时后,将自行发送成员关系报告报文,该报文的目的IP地址是239.1.1.2。
  6. R1路由器收到该报文后,了解到接口GE0/0/1上还存在着另一个组播组239.1.1.2的成员,于是它将维护相关IGMP组表项及IGMP路由表项,当其收到发往该组播组的流量时,便会将流量从该接口转发出去。
    在这里插入图片描述

IGMPv1组成员加入

当网络中某个PC想要加入某个组播组时,它无需等待查询器的成员关系查询,可以直接发送成员关系报告。

  • 如下图所示,PC4新接入到该网络中,此时它加入了组播组239.1.1.3,它将直接发送IGMPv1成员关系报告报文,该报文的目的IP地址为239.1.1.3。
  • 路由器R1收到这个报文后,了解到其GE0/0/1接口的直连网段中出现了组239.1.1.3的成员,于是它将维护相关IGMP组表项及IGMP路由表项,当它收到发往239.1.1.3的组播流量时,便会将这些流量转发到该网络中。
    在这里插入图片描述

IGMPv1组成员离开

IGMPv1并没有明确定义组成员离开组播组的机制,当组成员离开组播组时,它只是简单地不再回应成员关系查询,因此我们也常说,在IGMPv1中,组成员是“默默”地离开的。

IGMPv1查询器

问题背景

如果在同一个网段中连接着多台组播路由器,并且这些路由器都在接入该网段的接口上激活IGMPv1,且都向该网段发送IGMPv1成员关系查询报文,这显然会增加网络中的多余IGMP流量。

解决方法

在IGMP中,查询器(Querier )负责在网段中发送IGMP查询报文,而非查询器则不会发送。(查询器只能在最后一跳路由器中选择)

  • 如下图所示,R1及R2这两台最后一跳组播路由器都在各自的GE0/0/1接口上激活了IGMPv1,它们会进行竞争,胜出的路由器(的接口)将成为该网段的IGMP查询器。(IGMPv2增加了查询器选举机制、IGMPv1借助组播路由协议实现选举(比如PIM的DR选举))
    在这里插入图片描述

  • 假设R1胜出,那么R1将以缺省60秒为周期,向该网段发送IGMPv1成员关系查询报文,而R2则不会发送这些报文,它只是默默地在一旁侦听R1发送的IGMPv1成员关系查询报文,当R1发生故障时,R2可随时接替其工作。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目录:网盘文件按永久链接 │ 1.1IP组播基础.wmv │ 1.2组播IP地址.wmv │ 1.3组播MAC地址.wmv │ 1.4组播分发树和数据转发.wmv │ 1.5IGMP协议原理.wmv │ 1.6IGMPV1理论基础.wmv │ 1.7IGMPV1实验.wmv │ 1.8IGMPV2理论基础 .avi │ 1.8IGMPV2理论基础 .wmv │ 1.9IGMPV2实验.wmv │ 2.1IGMPV3理论及实验.wmv │ 2.2PIM协议及PIM-DM概述.wmv │ 2.3PIM-DM协议机制.wmv │ 2.4PIM-DM实验.wmv │ 2.5组播数据RPF检查及Assert机制.wmv │ 2.6PIM-DM表项状态原则.wmv │ 3.10PIM-SM状态原则.wmv │ 3.1PIM-SM概述.wmv │ 3.2PIM-SM协议机制.wmv │ 3.3PIM-SM Receiver Joins First.wmv │ 3.4PIM-SM receiver joins first 实验.wmv │ 3.5PIM-SM Source start first.wmv │ 3.6PIM-SM SPT Switchover.wmv │ 3.7PIM-SM SPT Switchover实验.wmv │ 3.8PIM-SM分发树prune.wmv │ 3.9PIM-SM分发树prune实验.wmv │ 4.0Bidirectional pim 双向树实验部分.wmv │ 4.0Bidirectional pim 双向树理论部分.wmv │ 4.10multicast on LAN switch交换机组播控制之IGMP snooping.wmv │ 4.11multicast on LAN switch交换机组播控制之GMRP RGMP.wmv │ 4.12To Run IP Multicast over NBMA Media.wmv │ 4.1Source Specific Multicast理论.wmv │ 4.2Source Specific Multicast实验.wmv │ 4.3RP配置原则和静态RP.wmv │ 4.4auto-rp实现机制.wmv │ 4.5auto-rp实验.wmv │ 4.6BSR实现机制.wmv │ 4.7BSR实验.wmv │ 4.8Controlling RP Information.wmv │ 4.9multicast on LAN switch交换机组播控制之CGMP.wmv │ 5.1Anycast RP实现机制.wmv │ 5.2Anycast RP实验.wmv │ 5.3域间组播的实现及模拟实验.wmv │ 5.4MVPN实现机制.wmv └ 5.5MVPN模拟实验.wmv

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值