打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【干货】IGMPv1协议闲聊

坚信:知识改变命运,技术成就梦想。

当今是信息爆炸的年代,过多、无营养的信息充斥着我们,龙哥愿致力于传播正能量、网络技术等有价值的信息,同大家分享。

愿我们都能充分利用零碎时间,每天进步一点点。

本期与大家聊聊IGMPv1(因特网组管理协议),分享我个人见解,以及梳理一下IGMPv1相关知识点。

它是干嘛用的?

我们学一个协议时,首先,最想知道的就是它是干嘛用的?什么时候才需要它?部署场景?

1、它是干嘛的?

IGMP(Internet  Group Mangment Protocl)因特网组管理协议,开发该协议,主要是用于组播流接收主机和相邻组播路由器之间维护组播组成员关系的。

说白了,主机通过它来表达自己想加入哪个组播组。组播路由器通过它可以清楚了解连接主机子网内有哪些组播组成员。

2、什么时候才需要它? 部署场景?

当部署组播时候,有主机需要加入组播组时就需要它。

部署场景:

IGMP协议、原理介绍

1、协议发展:

2、协议具体介绍

    IGMP协议运行于主机和 与主机相邻的组播路由器(最后一跳路由器)之间。

    IGMP工作机制,龙哥就从两个维度来说把,就是主机路由器

3、IGMP工作机制

   聊IGMP工作机制前,我个人还是偏向先了解一下报文格式,如果有报文格式读透了,然后再去研究原理,就容易理解一些。

                                 IGMPv1报文格式

版本:即=1'

类型:0x11= ’成员关系查询报文;0x12=成员加入报告报文。

组播地址:

如果是成员关系查询报文,即等于0.0.0.0

如果是成员加入报告报文,即等于想要加入的组播地址。

   结合上述格式,龙哥再抓个包给大家看,就会更加深刻了。

红色部分,我们可知,IGMP是基于IP之上进行封装的,协议号为2。 

在这,大家是不是能想到ICMP,也是基于IP之上的,协议号为1。不过与ICMP不同的是,IGMP消息仅局限于本地数据链路,为啥呢?  看图说话,TTL=1。

4、IGMPv1成员加入

例如,PC1想加入239.1.1.1这个组播组,就会发送IGMPv1的成员报告报文,目的IP地址为想要加入的组。路由器收到后,就会了解到该网段有组播组239.1.1.1的成员,为其生成组播转发表项(*,239.1.1.1) , *表示任意组播源。

路由器没收到 成员报告 :

当PC1 发送 成员报告报文,表示想加入239.1.1.1时,成员报告报文如下:

从报文,我们一下就知道了:

IGMPv1的成员报告报文类型为:0x12

报文的目的IP为 所要加入组的组播IP地址。

5、IGMPv1 成员维护。

值得一提的是,IGMPv1 里没有查询器这个东西,是依赖组播协议PIM选择产生的。

下面,我们通过配一下PIM来看看是否就有查询器了?

这样,IGMP 查询器就产生了,就可以看到路由器周期发送查询报文。

路由器缺省每隔60s发送一次查询报文,向224.0.0.1发生查询报文:问问大家,这个组还有成员吗?

(224.0.0.1 代表组内所有主机系统)

该网段的所有主机都能收到这个查询报文,同时会启动一个延时定时器,值为0到10s之间,随机取一个。谁先到期,就由谁来发送响应报文。这样做的好处,避免重复的响应报文。

PC1先到期,然后就会发生响应报文。

其他PC也会收到PC1的响应报文,就会清除延时定时器,同时他们不会发响应报文的。

如果130s内没有响应路由器,路由器就将该组对应的转发表项删除了。

6、IGMPv1 成员离开。

IGMPv1 没有定义离开报文,所以PC离开时,不会发任何报文,路由器无法感知到,只能通过继续周期查询,如果查了3次还是没有人响应,则认为该组没有成员了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
组播
组播技术白皮书(1)
这是最全面的IGMP协议总结,没有之一!
IP组播与组播协议
Internet组管理协议 V1 V2 V3之区别
IP组播
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服