同一个ip能否两次加入组播_组播IGMPv1/v2/v3精华知识汇总

d258b96c33a5f2b4c989c5f2d3e4f94f.png

闲言少叙,直奔主题,开说之前先做点铺垫,回顾一下网络的基础知识。

D类地址划分回顾

组播是IPv4地址分类中的D类,我们回顾一下IPv4的地址划分

A类:首bit=0,0-127网段,网络掩码8,其中0.0.0.0和127.0.0.0/8是保留的;

B类:前2bit=10,128-191网段,掩码16;

C类:前3bit=110,192-223网段,掩码24;

D类:前4bit=1110,224-239网段,掩码是用来区分网络位和主机位的,组播不存在这个概念,没有掩码;

E类:前5bit=1111,240-255网段,保留。

单播是1对1通信,广播是1对所有,而组播是1对多通信,任播是路由谁离得近找谁,既可以负载分担也可备份;

IP组播服务模型分类

ASM Any-Source Multicast(IGMPv1/v2/v3 都兼容ASM,虽然v3是专门为SSM开发的)

SFM Source-Filtered Multicast(一种特殊的ASM)

SSM Source-Specific Multicast

组播IP地址分类

224.0.0.0-224.0.0.255为路由协议预留永久组地址

224.0.1.0-238.255.255.255 ASM临时组地址

232.0.0.0-232.255.255.255 SSM临时组地址 (除了224永久预留的和这段全是ASM的)

239.0.0.0-239.255.255.255 本地管理组播地址,类似本地局域网使用的ASM地址

组播MAC地址及生成规则

组播流量要在数据链路层上传输,组播IP和组播MAC要有个对应关系。组播MAC第一个字节最后1位为1,单播MAC第一个字节最后1位为0。组播MAC前25bit是固定的,样式都是0100.5exx.xxxx,其中第25bit固定是0。低23bit映射组播IP地址的低23bit。除去这后23bit,前9bit中前4位是1100固定,这会导致后5个bit对应出的32个IPv4组播地址,会映射到同一个MAC地址上。例如:224.0.1.1、224.128.1.1、225.0.1.1、239.128.1.1等,映射出的结果都是1-00-5e-00-01-01。

常用的组播概念

MDT(Multicast Distribution Tree):组播分发树,描述IP组播报文在网络中经过的路径;

SPT(Shortest Path Tree):以组播源为根,组播组成员为叶子的组播分发树;

RPT(RP Tree):以RP(Rendezvous Point)为根,组播组成员为叶子的组播分发树;

RPF检查:收到组播报文的接口,必须是RPF检查成功的接口,这个接口是路由器到源的单播路由的出接口;

IGMPv1

2种报文:普遍组查询报文(General Query)和成员报告报文(Member Report),General Query默认60秒1次;

抑制机制:多个成员收到General Query会随机产生个定时器,谁先超时谁发,有人发了其他人就不用发了;

组成员离开:默默离开,v1的天生缺陷;

f08db51cb122d31870d7dcaeef804303.png
fba233231ca279f2eca933c0ba19e4c8.png

IGMPv2

3种报文:成员管理查询、成员关系报告、离开组报告;

成员管理查询细化2种:普遍组查询报文和特定组查询报文;

离开组消息:路由器收到Leave Group消息之后,立即特定组查询(默认最大响应时间1秒)3次无响应流量快速切断。

报文:与v1相比增加了个最大响应时间:0.1秒为单位,默认值100,默认10秒;

抑制功能:同v1;

查询器选举:IGMPv1种PIM协议的DR充当查询器;IGMPv2是自己选举,IP地址小获胜;

IGMPv3

核心思想:主机既可以指定组播组又可以指定组播源,所以特别注意的是主机加入组播组时,地址是224.0.0.22(专用于IGMPv3),不再是加入的组地址了,因为主机可以指定组播源了。如图主机加入了239.1.1.1、239.1.1.3、239.1.1.5三个组播组,限定了只从10.123.123.1-4个源地址接收。

171b3304d6c5c19b5cfbfd1e7ca5000d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

命令(CMD)终端的清屏(清除/清空)命令/快捷键

Windows CMD 或者 Navicat 命令窗口的清屏命令:Clear 或者 CLS MacBook 命令终端的清屏命令/快捷键:CtrlCmdL(清除屏幕) ,CmdK(清除到开头),Clear ,CtrlL Linux 命令终…

弹窗要打开或保存来自_如何让 PopClip 支持印象笔记客户端:保存到印象笔记amp;高亮文字...

自从印象笔记品牌独立并发布新APP后,Mac系统下很多工具不再支持与印象笔记客户端进行联动,PopClip 就是其中之一。目前 Popclip 官方并未将印象笔记加入到插件的支持中,不过我们可以手动修改来解决这个问题。Popclip 之所以不支持新版本的印象…

vue 混入对象_特性和混入不是面向对象的

vue 混入对象让我立刻说,我们将在这里讨论的功能是那些迫切需要进行放线手术的人带给面向对象编程的纯粹的毒药 ,就像David West在他的《 Object Thinking》一书中所建议的那样。 这些功能具有不同的名称,但是最常见的是traits和mixins 。 我…

glup node 内存不够_Redis:内存被我用完了!该怎么办?

介绍Redis是一个内存数据库,当Redis使用的内存超过物理内存的限制后,内存数据会和磁盘产生频繁的交换,交换会导致Redis性能急剧下降。所以在生产环境中我们通过配置参数maxmemoey来限制使用的内存大小。当实际使用的内存超过maxmemoey后&…

Windows应用程序启动命令汇总

winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板 winmsd---------系统信息 wiaacmgr-------扫描仪和照相机向导 winchat--------XP自带局域网聊天 me…

pytest框架_Python最火的第三方开源测试框架——pytest

一、介绍本篇文章是介绍的是Python 世界中最火的第三方单元测试框架:pytest。它有如下主要特性:assert 断言失败时输出详细信息(再也不用去记忆 self.assert* 名称了)自动发现测试模块和函数模块化夹具用以管理各类测试资源对 unittest 完全兼容&#xf…

jvm jstat_使用jstat的JVM统计信息

jvm jstat过去,我已经写过关于Oracle和/或OpenJDK Java开发工具包(JDK)附带的几个命令行工具的信息,但是我从来没有专门写过jstat工具 。 Oracle JDK 9文档Early Access指出jstat用于“监视Java虚拟机(JVM)…

win10录屏工具_win10怎么录屏?这才是最长情陪伴你的录屏工具

win10怎么录屏?现在看视频的用户是越来越多了,一些经验类的视频教程越来越多,不仅能够教我们学习技能,也能给我们看一些会员才能看的视频内容,他们怎么怎么做的呢?当然是电脑录屏了,由于现在的电…

Macbook air 键盘失灵的解决方案

建议参考以下步骤: 确保您的 Mac 已经更新至最新版本。(重要:更新前建议您备份好 macOS 的数据。) 尝试重置 Mac 上的系统管理控制器 (SMC)。 尝试重置非易失的随机访问存储器(NVRAM)。 创建新的管理员帐户,使用新建…

python多行注释符号_涨知识Python 为什么用 # 号作注释符?

- START -关于编程语言中的注释,其重要性基本上已为大家所共识。然而关于注释的规范,这个话题就像我们之前聊过的缩进、终止符和命名方式一样,众口难调。注释符通常可分为两种,即行注释与块注释(inline/block),它们在不…

二叉树层次遍历算法 python_二叉树的遍历详解:前、中、后、层次遍历(Python实现)...

二叉树的遍历详解:前、中、后、层次遍历(Python实现)二叉树是一种常见的数据结构,而它的常见遍历方法有前序遍历、中序遍历、后续遍历、层次遍历——掌握这几种遍历方法是很有必要的。假设我们二叉树节点的定义如下——# Definition for a binary tree n…

java终结器_Java的终结器仍然存在

java终结器当我第一次学习Java并从C 过渡到Java时,我记得我经常被告知,经常读到它不应该像C 析构函数那样对待Java终结器,也不应该依靠它。 该建议的频率和坚持性对我产生了影响,以至于我无法回忆起我上一次编写finalize&#xff…

Sublime Text如何安装和卸载插件

文章目录如何查找插件如何安装插件通过包控制器安装插件手动安装插件如何卸载插件如何查找插件 建议先通过插件库来搜索你想要的插件,找到你想要的插件之后,你再选择安装方式进行安装,搜索插件请点击以下链接: Package Control中…

@insert 对象_python中列表插入append(), extend(), insert()

1 append()append:只能接收一个参数,并且只能添加在列表的最后。添加数字 In [1]: a [1,2,3] In [2]: a.append(4) In [3]: a Out[3]: [1, 2, 3, 4] 添加字符串 In [6]: a [1,2,3] In [7]: a.append("daniel") In [8]: a Out[8]: [1, 2, 3, …

mysql的锁是公平的么_lock 默认公平锁还是非公平锁?公平锁是如何定义?如何实现...

ReentrantLock的实现是基于其内部类FairSync(公平锁)和NonFairSync(非公平锁)实现的。 其可重入性是基于Thread.currentThread()实现的: 如果当前线程已经获得了执行序列中的锁, 那执行序列之后的所有方法都可以获得这个锁。公平锁:公平和非公平锁的队列…

企业性质

有限责任公司(国有控股) 有限责任公司(自然人投资或控股) 其他有限责任公司 有限责任公司(外国法人独资) 股份有限公司(非上市、国有控股) 有限合伙企业 有限责任公司(非自然人投资或控股的法人独资) 有限责任公司(外国法人独资) 有限责任公司(国有独资) 有限责任公司(台港澳法…

常用jdk的命令行工具:_jhsdb:JDK 9的新工具

常用jdk的命令行工具:我喜欢在分析性能和基于Java的应用程序的其他问题的早期步骤中使用JDK随附的命令行工具,并在诸如jcmd , jps , jstat , jinfo , jhat和jmap , jrunscript , jstack之类的 工…

佳能2900打印机与win10不兼容_佳能2900打印机和惠普1020哪种好 佳能2900打印机和惠普1020对比【详解】...

现在的人们早已经习惯遇到身边美丽的景色,就用手机进行拍摄下来了,若想长久的留住这一刻的美好,拥有一台 打印机 就是很不错的选择,如今打印机的需求量在不断的增加,市面上的打印机品牌也在不断的增多,我们…

Sublime Text for Windows的快捷键

文章目录选择文本移动光标编辑类查找/替换窗口显示书签其它选择文本 快捷键说明CtrlD先选中文本,再按CtrlD,会选中下一个相同的文本,再继续按D(Ctrl不放)则会选中下一个相同的文本,可以同时编辑被选中的文本AltF3选中文本按下快捷…

mysql 多表查询 join on_mysql多表查询

在做连表查询的时候,可以在联合的字段上面,分别加上索引字段,这样有加快搜索的速度左右连表查询时条件放在on后面和where后面的执行时机是不一样的例如test1表test2表执行SELECT * FROM test1 t1 LEFT JOIN test2 t2ON t1.not2.no AND t2.nam…