【干货】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次还是没有人响应,则认为该组没有成员了。

发表回复

相关推荐

【神秘動物學】塔利怪物

塔利怪物(英文名:Tully Monster,學名:Tullimonstrum)是種已絕滅的動物,生存於大約3億年前的石炭紀賓夕法尼亞世,對於這...

· 1分钟前

深圳居住证须每年签注1次,签注申请条件+流程+指南来啦~

深圳居住证签注 政策有哪些规定? 间隔多久签注一次? 签注条件有哪些 在线签注居住证流程如何 很多粉丝朋友不清楚 本文真 ...

· 2分钟前

建议收藏|各大保险公司电话大全

上篇我们盘点了中国到底有多少家保险公司(91家人身保险公司+88家财产保险公司),华华特意整理了各大保险公司的客服热线电 ...

· 2分钟前

什麼是漢服?

華夏文明走過幾千年的歲月,燦爛文明沉淀在歷史的記憶中熠熠生輝。無論是衣食住行的哪一方面都成為瞭中華民族獨特的文化名片...

· 4分钟前

心和塾孫鍵:稻盛和夫的『六項精進』

稻盛和夫是“日本四大經營之神”之一,也是目前唯一在世的一位。他曾創辦兩傢世界500強企業,甚至在78歲高齡拯救瞭瀕臨破產的日...

· 6分钟前