设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 375|回复: 0
收起左侧

[分享] IGMP Snooping对不同报文的处理方式

[复制链接]
 成长值: 63235
发表于 2024-12-13 13:46:40 | 显示全部楼层 |阅读模式
工作机制
二层组播设备运行了IGMP Snooping后,收到不同的IGMP协议报文会进行不同的处理,并在此过程中建立起二层组播转发表项。
表10-2 IGMP Snooping对不同报文的处理方式
IGMP工作阶段
二层组播设备收到的报文类型
处理方式
普遍组查询
IGMP查询器定期向本地网段内的所有主机与路由器(目的地址为224.0.0.1)发送IGMP普遍组查询报文,以查询该网段有哪些组播组的成员。
IGMP普遍组查询报文
向VLAN内除接收接口外的其他所有接口转发,并对接收接口做如下处理:
  • 如果路由器端口列表中尚未包含该接口,则将其添加进去,并启动老化定时器。
  • 如果路由器端口列表中已包含该动态路由器端口,则重置老化定时器。
说明:
收到IGMP普遍组查询报文时,动态路由器端口的老化定时器缺省为180秒,可以通过命令行配置。



成员报告
有两种情况:
  • 成员收到IGMP普遍组查询报文后,回应IGMP报告报文。
  • 成员主动向IGMP查询器发送IGMP报告报文以声明加入该组播组。

IGMP报告报文
向VLAN内所有路由器端口转发。从报文中解析出主机要加入的组播组地址,并对接收接口做如下处理:
  • 如果不存在该组对应的转发表项,则创建转发表项,将该接口作为动态成员端口添加到出接口列表中,并启动老化定时器。
  • 如果已存在该组对应的转发表项,但出接口列表中未包含该接口,则将该接口作为动态成员端口添加到出接口列表,并启动老化定时器。
  • 如果已存在该组所对应的转发表项,且出接口列表中已包含该动态成员端口,则重置其老化定时器。

说明:
收到IGMP报告报文后,动态成员端口的老化定时器 = 健壮系数 x 普遍组查询间隔 + 最大响应时间。


成员离开组播组
有两个阶段:
  • 运行IGMPv2或IGMPv3的成员发送IGMP离开报文,以通知IGMP查询器自己离开了某个组播组。
  • IGMP查询器收到IGMP离开报文后,从中解析出组播组地址,并通过接收接口向该组播组发送IGMP特定组查询报文/IGMP特定源组查询报文。

IGMP离开报文
判断离开的组是否存在对应的转发表项,以及转发表项出接口列表是否包含报文的接收接口:
  • 如果不存在该组对应的转发表项,或者该组对应转发表项的出接口列表中不包含接收接口,二层组播设备不转发该报文,将其直接丢弃。
  • 如果存在该组对应的转发表项,且转发表项的出接口列表中包含该接口,二层组播设备会将报文向VLAN内所有路由器端口转发。

对于IGMP离开报文的接收接口(假定为动态成员端口),二层组播设备在其老化时间内:
  • 如果从该接口收到了主机响应IGMP特定组/源组查询的报告报文,表示接口下还有该组的成员,于是重置其老化定时器。
  • 如果没有从该接口收到主机响应IGMP特定组/源组查询的报告报文,则表示接口下已没有该组成员,则在老化时间超时后,将接口从该组的转发表项出接口列表中删除。

说明:
收到IGMP离开报文后,动态成员端口的老化定时器 = 健壮系数 x 特定组查询间隔。


IGMP特定组查询报文/IGMP特定源组查询报文
向有特定组成员的接口转发。

此外,当二层组播设备收到PIM Hello报文时,向VLAN内除接收接口外的其他所有接口转发,并对接收接口做如下处理:
  • 如果路由器端口列表中已包含该动态路由器端口,则重置老化定时器。
  • 如果路由器端口列表中尚未包含该接口,则将其添加进去,并启动老化定时器。


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-22 18:55 , Processed in 0.105425 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表