设为首页收藏本站language 语言切换
查看: 1618|回复: 6
收起左侧

[分享] 【SPOTO思博网络】【网工入门基础】组播—IGMP Snooping

[复制链接]
发表于 2022-6-22 10:13:51 | 显示全部楼层 |阅读模式
本帖最后由 SPOTO 于 2022-6-30 11:36 编辑

啥是IGMP Snooping?

01 定义

IGMP Snooping (Internet Group Management Protocol Snooping)是一种IPv4二层组播协议,通过侦听三层组播设备和用户主机之间发送的组播协议报文来维护组播报文的出接口信息,从而管理和控制组播数据报文在数据链路层的转发。


02 目的

在很多情况下,组播报文会不可避免地经过一些二层交换设备,尤其是在局域网环境里。如图一所示,在组播用户和三层组播设备Router之间,组播报文要经过二层交换机Switch。

1.png

当Router将组播报文转发至Switch以后,Switch负责将组播报文转发给组播用户。

由于组播报文的目的地址为组播组地址,在二层设备上是学习不到这一类MAC表项的,因此组播报文就会在所有接口进行广播,和它在同一广播域内的组播成员和非组播成员都能收到组播报文。

这样不但浪费了网络带宽,而且影响了网络信息安全。


IGMP Snooping有效地解决了这个问题。配置IGMP Snooping后,二层组播设备可以侦听和分析组播用户和上游路由器之间的IGMP报文,根据这些信息建立二层组播转发表项,控制组播数据报文转发。

IGMP Snooping通过二层组播将信息只转发给有需要的接收者,可以带来以下好处:

减少了二层网络中的广播报文,节约了网络带宽;

增强了组播信息的安全性;

为实现对每台主机的单独计费带来了方便。

file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml22056/wps1.jpg

IGMP Snooping工作原理

01 基本概念

三层设备Router从组播源接收数据并向下游转发,在二层组播设备SwitchA和SwitchB上分别运行IGMP Snooping,HostA、HostB和HostC为接收者主机(即组播组成员),如图所示;

2.png

file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml22056/wps2.jpg
介绍一下IGMP Snooping相关的端口概念:

路由器端口(Router Port):二层设备上朝向三层组播设备(DR或IGMP查询器)一侧的端口,如Device A和Device B各自的GigabitEthernet3/0/1端口。设备将所有的路由器端口都记录在路由器端口列表中。

成员端口(Member Port):又称组播组成员端口,表示二层设备上朝向组播组成员一侧的端口,如Device A的GigabitEthernet3/0/2和GigabitEthernet3/0/3端口,以及Device B的GigabitEthernet3/0/2端口。设备将所有成员端口都记录在IGMP Snooping转发表中。


file:///C:/Users/SPOTO/AppData/Local/Temp/ksohtml22056/wps3.jpg
工作机制

01 普遍组查询

IGMP查询器定期向本地网段内的所有主机与路由器(目的地址为224.0.0.1)发送IGMP普遍组查询报文,以查询该网段有哪些组播组的成员。二层组播设备收到的报文类型:IGMP普遍组查询报文。


02 处理方式

向VLAN内除接收接口外的其他所有接口转发,并对接收接口做如下处理:

如果路由器端口列表中尚未包含该接口,则将其添加进去,并启动老化定时器。

如果路由器端口列表中已包含该动态路由器端口,则重置老化定时器。

03 成员报告

有两种情况:

1、成员收到IGMP普遍组查询报文后,回应IGMP报告报文。
2、成员主动向IGMP查询器发送IGMP报告报文以声明加入该组播组。


二层组播设备收到的报文类型:IGMP报告报文。

向VLAN内所有路由器端口转发。从报文中解析出主机要加入的组播组地址,并对接收接口做如下处理:

如果不存在该组对应的转发表项,则创建转发表项,将该接口作为动态成员端口添加到出接口列表中,并启动老化定时器。

如果已存在该组对应的转发表项,但出接口列表中未包含该接口,则将该接口作为动态成员端口添加到出接口列表,并启动老化定时器。

如果已存在该组所对应的转发表项,且出接口列表中已包含该动态成员端口,则重置其老化定时器。


04 成员离开组播组

有两个阶段:

1、运行IGMPv2或IGMPv3的成员发送IGMP离开报文,以通知IGMP查询器自己离开了某个组播组。

2、IGMP查询器收到IGMP离开报文后,从中解析出组播组地址,并通过接收接口向该组播组发送IGMP特定组查询报文/IGMP特定源组查询报文。

二层组播设备收到的报文类型:IGMP离开报文和IGMP特定组查询报文/IGMP特定源组查询报文。

判断离开的组是否存在对应的转发表项,以及转发表项出接口列表是否包含报文的接收接口:

如果不存在该组对应的转发表项,或者该组对应转发表项的出接口列表中不包含接收接口,二层组播设备不转发该报文,将其直接丢弃。

如果存在该组对应的转发表项,且转发表项的出接口列表中包含该接口,二层组播设备会将报文向VLAN内所有路由器端口转发。

对于IGMP离开报文的接收接口(假定为动态成员端口),二层组播设备在其老化时间内:

如果从该接口收到了主机响应IGMP特定组/源组查询的报告报文,表示接口下还有该组的成员,于是重置其老化定时器。

如果没有从该接口收到主机响应IGMP特定组/源组查询的报告报文,则表示接口下已没有该组成员,则在老化时间超时后,将接口从该组的转发表项出接口列表中删除。



文章来源:本篇文章综合网络,因觉优质,特此分享,侵删。

每天通过一位IE,每两位IE,一位在思博!
回贴可领取实验手册噢
游客,如果您要查看本帖隐藏内容请回复


添加老杨老师微信:spotoa,加入全国网工交流群(已建立50+个),获取更多HCIE考试一手资讯+考试必备资料,也欢迎添加网工老杨老师微信:spotoa


【推荐阅读】
 楼主| 发表于 2022-7-4 10:01:46 | 显示全部楼层
大家觉得有用可以回复楼主支持下哈,关注我,以后更多干货分享~
7# 2022-7-4 10:01:46 回复 收起回复
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-9 13:48 , Processed in 0.098198 second(s), 15 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

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