组播流量转发管理——IGMP Snooping代理

问题背景

如下图所示:

  1. R1连接SW的接口作为该网段的IGMP查询器周期性地向下游发送IGMP常规查询报文,
  2. SW(己经激活了IGMP Snooping)收到该报文后会向相同VLAN中所有的接口进行转发。
  3. 组成员收到IGMP常规查询报文后,会立即发送IGMP成员关系报告报文,而SW只是简单地将这些IGMP成员关系报告报文原封不动地从自己的路由器接口转发出去。
  4. 如此一来,R1将收到大量的IGMP成员关系报告,实际上对于R1而言它只需知道自己的直连接口上存在组播组的成员即可。也就是说,它只需要在每个组播组内收到一份IGMP成员关系报告即可,多余的报告只是徒增R1的处理负担,是没有意义的。
    在这里插入图片描述

解决方法

IGMP Snooping代理(IGMP Snooping Proxy)功能可以解决上述问题。当交换机部署IGMP Snooping代理后,它将变成IGMP查询器与组成员之间的“代理人”,并通过一些操作减少网络中的IGMP报文数量。

IGMP Snooping代理

IGMP Snooping代理主要有两个功能:

  1. 代替上游IGMP查询器,自己生成IGMP查询报文并向下游的组成员进行查询;
  2. 代替下游组成员,自己生成IGMP成员关系报告报文或IGMP离组报文并发送给上游组播路由器。

示例

以上图为例,如果在SW上部署IGMP Snooping,并激活IGMP Snooping代理功能,会产生以下情况:
(1)处理来着IGMP查询器的报文:

  • 当SW在其接口上收到R1发送的IGMP常规查询报文时,SW将该报文从相同VLAN中、除了接收该报文的接口之外的所有接口转发出去。
  • 如果此时SW的二层组播转发表项中,存在某个组播组的成员接口,这意味着SW连接着该组播组的至少一个成员,于是SW自己生成一个IGMP成员关系报告报文并从路由器接口发送出去。R1收到该报文后将刷新自己的相关转发表项。

(2)处理来着组播接收者的成员关系报告报文:

  • 当SW收到下游的组成员发送的IGMP成员关系报告报文时,如果SW的二层组播转发表中已经存在相关转发表项,并且收到该报文的接口已经是该表项的成员接口,那么它只是刷新成员接口的老化计时器,而不会向路由器接口转发这些IGMP报文。
  • 如果SW存在相关转发表项但是收到该报文的接口并非该表项的成员接口,那么它只将该接口添加到成员接口列表中,并且不会向路由器接口转发这些IGMP报文。
  • 如果SW的二层组播转发表并不存在相关转发表项,则创建对应的转发表项,然后将收到该报文的接口添加到成员接口列表中,并向路由器接口转发该IGMP成员关系报告报文。

(3)处理来着组播接收者的离组报文:

  • 当SW在成员接口上收到IGMP离组报文时,SW将代理IGMP查询器立即从该成员接口发送IGMP特定组查询报文,如果一定时间后,依然没有在该接口上收到IGMP成员关系报告报文,则SW确定该接口下不再存在该组播组的成员,于是将该接口从相应表项的成员接口列表中删除。
  • 如果这个操作完成之后,该组播组依然存在其他成员接口,那么SW将不会从路由器接口发送IGMP离组报文,
  • 而如果此时该组播组已经没有其他成员接口了,那么SW将立即从路由器接口发送IGMP离组报文。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值