小白网-奉贤部落-奉贤免费信息发布平台

查看: 25|回复: 0
打印 上一主题 下一主题

IGMP什么意思(igmp的作用是什么)

[复制链接]

2万

主题

2万

帖子

7万

积分

论坛元老

Rank: 8Rank: 8

积分
78182
跳转到指定楼层
楼主
发表于 2025-7-26 13:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一. IGMPv1
IGMP是互联网组管理协议的缩写,称为互联网组管理协议。它是TCP/IP协议族中负责IPV4组播成员管理的协议。
IGMP的作用:
1.IGMP用于在接收主机和与其直接相邻的组播路由器之间建立和维护组播组成员关系。
2.IGMP通过接收主机和组播路由器之间交互IGMP报文实现组成员管理功能,IGMP报文封装在IP报文中。
IGMP的版本:
IGMP有三个版本,用于与IPv4网段中的组成员和路由器一起运行协议:
IGMPv1
IGMPv2
IGMPv3
用于与IPV6中的组成员和组成员路由器一起运行协议:
MLDv1,相当于IGMPv2
MLDv2,相当于IGMPv3
IGMPv1消息:
-通用群组查询消息
-成员报告消息
群组查询消息:
1.路由器周期性发送,默认每60s发送一次,用IP报文封装。SIP是路由器接口的IP地址,DIP是224.0.0.1(代表链路上的所有路由器和主机)。
2.通用组查询消息的组地址为0.0.0.0,表示对所有组播组发起组成员查询。
3.群组成员收到通用群组查询消息后,会随机延迟0-10s,然后发送成员报告消息。SIP是主机自己接口的IP地址,DIP是主机的组播组地址,Group address是主机的组播组地址。
4.随机延迟时间是0-10s之间的一个值,10s称为最大响应时间,可以抑制群组成员的报告消息。IGMPv1不能修改该时间值。
为什么要设计最大响应时间?
避免与组播组成员重复发送成员报告消息,减轻路由器负担。
-由于群成员上报消息延迟时间不一致,第一时间出局,第一时间发送群成员上报消息。
5.路由器收到成员报告报文后,会自动创建一个(*,g)条目,并将收到成员报告报文的接口作为(*,g)报文的下游接口。将来,路由器接收到发送到该组的多播消息时,它会制作一个副本并从下游接口发送出去,而接收方将从互连该接口的组成员路由器接收多播消息。
6.IGMPv1没有离开组的机制,并且当成员离开组时,不会向组成员的路由器发送通知。如果组内最后一个组成员离开或者只有一个组成员由于某种故障离开组播组,路由器将在130s内无法接收到任何组成员的消息【两个通用组查询消息的发送时间+最大抑制延迟(60s*2+10s)】。超时后,路由器将删除关于组成员的消息(
注意:由于组播路由器在超时前没有收到组播组成员发送的报告消息,因此不会触发删除关于组播组的(*,g)条目。因此,当组播路由器接收到发送给组播组的组播报文时,仍然会从组播组成员关联的下游接口发送组播报文,造成组播流量的浪费和链路带宽的消耗。(组播流量会在130秒内继续发送,造成组播流量和链路带宽的浪费)。
一般情况下,组播路由器会定期发送通用组查询消息,但在IGMPv1中,组播路由器默认不发送通用组查询消息。
没有启用PIM协议:
之所以不会发送组成员报告消息,是因为在IGMPv1中,默认情况下没有查询者,只有查询者可以发送通用组查询消息(可以通过display igmp interface命令查看),只有在选择查询时才会发送通用组查询消息,IGMPv1没有查询者选举机制,所以组播路由器不知道自己是查询者。
什么是询问者?
-当一个网段中有多个路由器时,负责向该网段发送通用组查询消息的路由器。
在IGMPv1中,需要PIM协议的DR选举机制来辅助查询者的选举,所以启用IGMPv1的接口也需要启用PIM协议,通过PIM协议选举网段上的DR,然后DR作为IGMPv1的查询者。
在接口下启用PIM协议:
在接口上启用PIM协议后:
PIM如何选举?
1.根据PIM协议中hello报文携带的优先级,选举Dr,优先级越高的Dr。
2.如果优先级相同,比较接口的IP地址,IP地址较大的接口将成为DR。
群组查询消息示例:
当一个组成员收到通用组查询消息时,会随机延迟1-10s,以自己的接口IP地址为源,以自己的组播组地址为目的,发送成员报告消息。
成员报告消息示例:
组播路由器收到组成员发送的成员报告报文后,会自动生成一个(*,g)关于收到组成员报告报文的下游接口的条目。
示例图:
为什么会生成(*,g)条目?
由于群组成员发送的成员报告消息中没有协议组播源信息,意味着任何组播消息发送方都可能成为组播源,所以用“*”标识,“*”代表任意。
-默认60s发送一次- IGMPv1的通用组查询报文,可以通过界面下的igmp timer query命令更改。v1、v2和v3都可以更改。
-通过改变查询者发送通用组查询消息的时间,可以控制通用组查询消息及其组成员报告消息的发送频率,从而提高收敛速度,但也会增加设备负担。
PIM的hello包中默认协议的优先级为1,DR可以被抢占。
-您可以通过pim hello-option dr-priority命令修改优先级。
-非查询者在收到成员报告消息时也会生成(*,g)条目。
为什么只有查询者发送通用组查询消息?
只有查询者发送通用的组查询消息,可以减少链路带宽的浪费,减轻组成员的负担。如果其它多播路由器也发送通用组查询消息,则接收通用组查询消息的主机都必须响应成员报告消息。当组播路由器数量增加时,主机的负担也会增加。
如果DR发生故障,其他多播路由器需要多长时间才能检测到DR故障并接管DR位置?
- PIM的hello发送周期为30s,holdtime为105s。也就是说,如果105s后没有收到其他组播路由器发送的PIM hello,那么这个组播路由器在DR选举后将成为新的DR,默认30s发送PIM hello。
- PIM hello也可以通过界面下的pim timer hello命令改变,holdtime可以通过界面下的PIM hello选项hold time改变。
总结IGMP的特点:
IGMPv1中有两种消息,普查消息和成员报告消息,没有组离开消息。
IGMPv1只有一个机制,反应抑制机制,没有分离机制。
IGMPv1的缺点:
1.IGMPv1中没有查询选举机制,需要PIM的DR充当igmpv1的查询。
2.IGMPv1没有脱群机制,所以对流量的控制能力差。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白网-奉贤部落-奉贤免费信息发布平台  

GMT+8, 2025-8-21 21:34 , Processed in 0.052675 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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