一、IGMP (因特网组管理组协议)
作用
- 管理组播成员的加入,离开组播组的状态,维护组播路由器与组成员之间的关系。
- 工作在组成员和网关(组播路由器)之间, 基于IP。
版本: V1 V2用于ASM (任意源组播) V3用于SSM (指定源组播)
二、IGMP原理
IGMP V1版本:
- 组成员加入(成员报告) : report报文
- 普通组查询报文:路由器每60S周期性的查询组成员的状态,如果局域网中有组成员在线,收到查询后,会通过成员报告报文进行响应,如果没有成员在线,路由器连续查询2次后,加上10s超时时间,则确定该局域网中已经没组成员,立即切断组播流。
组播组超时间: 2*60+10=130S
如果局域网中有多台组播路由器,选举一台查询:规则使用PIM的路由协议的DR路由器作为查询器。DR路由器的选举机制:(1)比优先级高 (2)比IP地址大 - 成员报告抑制机制: .
作用: 当局域网中组播组的成员数量太多时,为了减少响应查询的报文数量, V1版本默认启用成员报告抑制机制。
原理: 接收成员收到查询报文后,启动-个响应计时器(10S) ,在计时器的时间内随机选择-一个时间进行响应,响应较慢的成员报告被抑制。
查询器只需要了解组播组是否有成员在线,不需要知道组成员数量。 - 静默离开:需要等待查询器2个查询时间,再加上10S的超时时间,共130S后,才知道接收者已经不在组内,才会删除该成员。
V1缺点:没有离开机制,增大了成员离开的延时,浪费带宽资源。
IGMP V2版本:
- 成员加入(成员报告) : report报文
- 普遍组查询报文:每60S查询- -次
- 成员离开报文
- 特定组的查询(查询指定的组播组)
原理:
- 成员报告报文和V1的区别:
V1没有查询器的选举机制,V2有查询器选举机制:比IP地址,选小的。 - 查询器周期查询和V1是- -样(V2普通组查询报文中明确携带了最大响应时延(默认10S, 可以修改)
- 成员离开时的处理: (1) 成员发送离开报文。(2) 路由器接收到离开组的报文时,立刻针对该组发送特定组查询,如果还
有其它成员在线,会得到响应,如果没有其它成员,连续发送2次特定组查询,间隔为1S,还没有得到任何响应,那么宣布该组
超时。华为的设备默认针对每次收到的离开报文,都会发送特定组查询
IGMP V3版本:
在成员加入或路由器查询时,在指定组播组的同时,还可以指定组播源,用于SSM (指定源组播组)
-
成员报告:
组、源
V1、V2只能指定一个组播组地址, V3可以指定组播组和源。 -
组记录和组播源的关系:
include (包含) :成员希望从其接收数据的组播源。
exclude (不包含) : 成员不希望从其接收数据的组播源。
比如: 225.1.1.1, include (S1,S2,S3)
226.1.1.1, exclude ( S4,55,S6)
chan to include
change to exclude
allow
block -
查询:
普遍组查询: 224.0.0.1
没有报告抑制
特定组查询
特定源查询 -
离开机制:
没定定义离开报文(leave) ,通过特殊的报告来离开,比如报告中组记录的类型为: t-include列表为空 。
IGMP版本之间的兼容性:由高版本向低版本兼容。
三、IGMP SNOOPING
局域网中交换机默认如何转发组播流?
除了接收端口外,在VLAN内泛洪到其它所有的端口,如果主机不需要组播流,也会被动接收到了组播流,浪费资源和带宽。
SNOOPING原理功能:
交换内监听主机成员报告,感知端口下有成员加入组的情况,从而构建一-张组播组的二层转发表项,交换机只将组播报文转发到有需求的端口,节省了开销。说明-下: igmp snooping开启后,成员报告抑制机制自动失效。
IGMP SNOOPING的一-些缺点:
- 所有成员报告报文都会由交换机转发给路由器,路由器开销大。
- 不能处理成员的离开报文
- 交换机只有L2功能时,会消耗CPU资源
引入了IGMP SNOOPING PROXY技术:
作用:使用igmp snooping的交换机能够处理成员报告及离开报文
接收到该报文的端口发送一份特定组查询,如果没有任何成员响应,并且该组播在转发表中也没有其它成员端口,这时,交换机
说明: 即使交换机从成员接口上收到的离开报文,还是不会立刻老化,时间到期后会才删除,华为的设备为了引入快速离开机制
评论区