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

相关文章
|
网络协议 算法 安全
每日一博 - 闲聊Https工作原理
每日一博 - 闲聊Https工作原理
45 0
|
存储 监控 安全
天天在都在谈的S3协议到底是什么?一文带你了解S3背后的故事
S3的诞生绝不是偶然,是数据的爆炸增长和技术的不断推进的结果,国外用亚马逊、谷歌云等支持S3协议的比较多,国内用阿里云、腾讯云、华为云的比较多。
4684 1
天天在都在谈的S3协议到底是什么?一文带你了解S3背后的故事
|
3月前
|
域名解析 缓存 网络协议
揭秘DNS协议:从'http://www.example.com'到IP地址的奇幻旅程,你不可不知的互联网幕后英雄!
【8月更文挑战第4天】在互联网的广袤空间里,每台设备都有唯一的IP地址,但记忆这些数字组合并不直观。因此,DNS(域名系统)作为关键桥梁出现,将易记的域名转换为IP地址。DNS协议工作于应用层,支持用户通过域名访问资源。DNS系统包含多级服务器,从根服务器到权威服务器,共同完成域名解析。查询过程始于客户端,经过递归或迭代查询,最终由权威服务器返回IP地址,使浏览器能加载目标网页。
141 12
|
4月前
|
数据采集 网络协议 Python
🔍HTTP协议不为人知的秘密:Python网络编程高手是如何炼成的?
【7月更文挑战第29天】探索HTTP协议核心—请求与响应的交互:浏览器发送请求至服务器,后者处理后返回资源数据与状态码(如200表示成功)。Python高手需理解这些机制并掌握工具如`requests`库。HTTP头信息(Headers)含元数据如`User-Agent`、`Content-Type`及`Cookie`用于会话管理。尽管HTTP无状态,但可通过`Cookie`和`Session`模拟状态保持。成为高手之路包括:深入理解协议、实践项目、阅读优秀库源码如`requests`、跟进新技术如HTTP/2与HTTP/3,并积极参与社区交流。
25 1
|
6月前
|
网络协议
【技术分享】协议
【1月更文挑战第4天】
72 0
|
编解码 应用服务中间件 nginx
手机直播源码开发,协议讨论篇(三):RTMP实时消息传输协议
通过今天的讨论,大家都不难看出,RTMP协议是手机直播源码平台不可或缺的协议之一,为用户提供了低延迟、高质量的直播体验,也为平台带来了用户,增加了收益。
手机直播源码开发,协议讨论篇(三):RTMP实时消息传输协议
|
缓存 前端开发 应用服务中间件
直播程式源码平台细讲HTTP协议:超文本传输—山东布谷科技魏创作
在直播程式源码平台中,HTTP协议扮演着数据传输的重要角色,HTTP协议能够让直播程式源码平台获取和发送数据、让用户的操作能够建立客户端与用户端的通信连接与缓存和代理支持,这些都能让用户在直播程式源码平台获得稳定、流畅的直播体验,满足用户对高质量内容的需求,是直播程式源码平台不可或缺的优质协议之一。
直播程式源码平台细讲HTTP协议:超文本传输—山东布谷科技魏创作
|
算法 安全 网络安全
【创作赢红包】网络安全——传输层安全协议(2)
【创作赢红包】网络安全——传输层安全协议(2)
81 0
|
运维 监控 安全
即时通讯技术文集(第7期):长连接网关、P2P等 [共10篇]
为了更好地分类阅读52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第7 期。
144 0
即时通讯技术文集(第7期):长连接网关、P2P等 [共10篇]
|
算法 Java Go
【计网修炼手册】五层协议-5应用层-电子邮件
《计算机组成原理》、《数据结构与算法》、《操作系统》、《计算机网络》不仅是大学信息科学与工程学院的核心课程,也是计算机考研专业基础综合408的考试内容。学习这些内容可能不见得像学习Java和GO一样能让你迅速找到工作,但他们作为计算机世界的基石是需要认真掌握的,这些知识是源源不断的技术浪潮中不会被淘汰的知识。
161 0