组播基础概念

article/2025/8/22 15:04:08

概述:

组播传输作为IP数据传输的三种方式之一 ,是指接收者的数量和位置在源端主机不知道的情况下,仅由源发出一份组播报文,向目标组播IP地址发送数据的过程。其特点有:

  1. 组播实现点到多点的高效数据传输。(通常基于UDP)
  2. 组播可以有效节约带宽、降低网络负载。(按需发送,不会和广播一样只会泛洪,减少了对链路带宽的浪费)
  3. 组播广泛应用于IPTV、实时数据传送和多媒体会议等。(常常用于直播,视频会议,电视网络等处)

在这里插入图片描述
对比三种IP网络中的传输方式:

单播:
采用单播方式时,网络中传输的信息量与需要该信息的用户量成正比。当需要该信息的用户数量较大时,信息源需要将多份内容相同的信息发送给不同的用户,这对信息源以及网络带宽都将造成巨大的压力。由此可以看出,该传输方式不利于信息的批量发送,只适用于用户稀少的网络。

广播:
采用广播方式时,不需要接收信息的主机也将收到该信息,这样不仅信息的安全性得不到保障,而且会造成同一网段中信息泛滥。由此可见,该传输方式不利于与特定对象进行数据交互,并且还浪费了大量的带宽。

组播相对单播和广播的优势:

  1. 相比单播,由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。
  2. 相比广播,由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性。

基本术语:

在这里插入图片描述

  1. 组播组:用IP组播地址进行标识的一个集合。任何用户主机(或其他接收设备),加入一个组播组,就成为了该组成员,可以识别并接收发往该组播组的组播数据。
  2. 组播源:组播信息的发送者称为“组播源”,即拓扑中的Server。一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。组播源通常不需要加入组播组。
  3. 组播组成员:所有加入某组播组的主机便成为该组播组的成员,即拓扑中的PC1和PC2。组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任何地方。
  4. 组播路由器:支持三层组播功能的路由器或三层交换机,即拓扑中的各个Router。组播路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管理功能。(默认路由器的组播功能是关闭的)

对比记忆:
在这里插入图片描述

可以将一个组播组的组播网络分成三部分,也就是组播源->组播路由器->组播成员。组播就像IP单播一样是一个相对独立的领域,所以涉及的知识非常全面,包括的协议也是非常的多,使用最多的是PIM和IGMP协议。其中PIM就是运行在组播路由器段的协议,IGMP是运行在组播成员段的协议,而源段只需要发送组播即可,不用运行组播协议。

组播服务模型:

在这里插入图片描述
组播服务模型的分类是针对接收者主机的,对组播源没有区别。组播源发出的组播数据中总是以组播源自己的IP地址为报文的源IP地址,组播组地址为目的地址。而接收者主机接收数据时可以对源进行选择,因此产生了ASM和SSM两种服务模型。这两种服务模型使用不同的组播组地址范围。

ASM:
Any-Source Multicast,任意源组播。当组播组成员接收组播报文的时候,不关心是谁发送的,只要是自己所需要的组就添加进去。需要注意的是:ASM模型要求组地址必须整个组播网络中唯一。“唯一”指的是同一时刻一个ASM地址只能被一种组播应用使用。如果有两种不同的应用程序使用了同一个ASM组地址发送数据,它们的接收者会同时收到来自两个源的数据。这样一方面会导致网络流量拥塞,另一方面也会给接收者主机造成困扰。(全局应用中唯一)

SSM:
Source-Specific Multicast,指定源组播。当组播组成员接收组播报文的时候,关心是谁发送的,不仅仅是自己所需要的组,还需要组播源的IP地址是自己允许的,有着更精确的控制。需要注意的是:SSM模型对组地址不再要求全网唯一,只需要每个组播源保持唯一。这里的“唯一”指的是同一个源上不同的组播应用必须使用不同的SSM地址来区分。不同的源之间可以使用相同的组地址,因为SSM模型中针对每一个(源,组)信息都会生成表项,可以加以区别不同的源IP地址。这样一方面节省了组播组地址,另一方面也不会造成网络拥塞(本地应用唯一)。

SFM:
Source-Filtered Multicast,过滤源的组播。SFM模型继承了ASM模型,从组播发送者角度来看,组播组成员关系二者完全相同。SFM 在功能上对ASM进行了扩展,组播节点对接收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。最终,接收者只能接收到来自部分组播源的数据。从接收者的角度来看,只有部分组播源是有效的,组播源经过了筛选。SFM仅在ASM的基础上添加了组播源过滤策略,此外,基本原理和配置方法相同。此处将SFM与ASM统称为ASM。

组播地址范围:

IPv4地址: IANA 定义的组播地址范围及含义
在这里插入图片描述

  1. 224.0.0.0 到 224.0.0.255 为 IANA 预留的永久组地址,地址 224.0.0.0 保留不做分配,其它地址供路由协议进行拓扑查找和维护协议使用(协议地址)。该范围内的地址属于局部范畴,不论生存时间字段(TTL)值是多少,都不会被路由器转发(只能在一个广播传递),当起开了这个协议的设备就会接受对应的永久广播地址,否则不会接收,所以也是做到了精确的接收。
  2. 224.0.1.0到231.255.255.255,233.0.0.0到238.255.255.255为ASM组地址,在全网范围内有效。
  3. 232.0.0.0到232.255.255.255,为用户可用的SSM组地址,全网范围内有效。总的来说SSM地址的范围比ASM要小很多,第二和第三这两种地址的服务是通过相应机构监督完成的。
  4. 239.0.0.0到239.255.255.255,为本地管理组播地址,仅在特定的本地管理域内有效,称为本地管理组播地址(前面提到的是公有地址)。本地管理组播地址属于私有地址,在不同的管理域内使用相同的本地管理组播地址不会导致冲突。(可以定义为ASM服务或者SSM服务)

注意点:

  1. 永久组地址:IANA为路由协议预留的组播地址(也称为保留组地址),用于标识一组特定的网络设备。永久组地址保持不变,组成员的数量可以是任意的,甚至可以为零,大部分组播地址都是永久组播地址。永久组播地址一览:
    在这里插入图片描述

  2. 临时组地址:为用户组播组临时分配的IPv4地址(也称为普通组地址),组成员的数量一旦为零,即取消。

MAC组播地址:
由IP组播地址产生,主要是在交换环境中有着优良的作用,当交换机没有开启组播协议的时候也会进行泛洪(和广播一样),需要开启了相应的协议以后才能进行相应的组播转发。对于路由器,对于永久组播MAC地址需要开启对于协议会接收,对于其他组播MAC地址必须开启相应的组播功能,会接收所有的组播MAC地址,否则接收到就会丢弃。

IPv4组播地址到MAC组播地址的映射:
在这里插入图片描述
IPv4组播地址的前4位是固定的1110,对应组播MAC地址的高25位,后28位中只有23位被映射到MAC地址,因此丢失了5位的地址信息,直接结果是有32个IPv4组播地址映射到同一MAC地址上。例如IP地址为224.0.1.1、224.128.1.1、225.0.1.1、239.128.1.1等组播组的组播MAC地址都为01-00-5e-00-01-01。网络管理员在分配地址时必须考虑这种情况。

组播协议:

一、ASM模型组播协议:
域内组播路由用来在AS内部发现组播源并构建组播分发树,从而将组播信息传递到接收者。

  1. PIM:是较为典型的域内组播路由协议。根据其转发机制不同,可分为DM(Dense Mode,密集模式),SM(SparseMode,稀疏模式)。
  2. IGMPv1和IGMPv2:部署在组播路由器与用户主机之间,路由器配置在与主机相连的接口上。用于在主机侧实现组播组成员动态加入与离开。在路由器侧实现组成员关系的维护与管理,同时与上层组播路由协议进行信息交互。
  3. MLDv1:MLDv1原理和IGMPv2基本相同,在IPv6中使用。

域间组播路由协议用来实现组播信息在AS之间的传递,目前较为成熟的解决方案为:MSDP(Multicast Source Discovery Protocol,组播源发现协议)。

二、SSM模型组播路由协议:
没有域内和域间的划分。接收者预先知道组播源的具体位置。

  1. PIM-SSM:借助了PIM-SM中部分技术实现,相对于PIM-SM,机制会简单一些。
  2. IGMPv3:作用和IGMPv1和IGMPv2相同,不过通过IGMPv3产生的是带有组播源地址的IGMP组播路由条目。
  3. MLDv2:MLDv2原理和IGMPv3基本相同,在IPv6中使用。

三、其他组播协议:
除了上述提到的组播协议,还有DVMRP、MOSPF、CBT、MVPN 等。MOSPF和DVMRP两类组播路由协议类似OSPF和RIP的关系,一个使用链路状态协议,一个使用D-V矢量协议构建基于源的组播最短路径树,该组播树使用MOSPF和DVMRP各自单独维护的组播数据库去执行RPF检查,生成组播转发表。而CBT则是另一类组播路由协议,它有别于前两项技术的关键是不再基于源在网络中构建最短路径树,而是先定义一个核心节点。组播源的组播报文先流给这个核心节点,由其负责转发给接收者。CBT是双向树,所以不能使用PRF检查。MSDP则是帮助跨域组播源进行共享。

组播表:

注:命令都是华为设备上的。其中的一些具体内容在后续的PIM和IGMP笔记中进行分析。

完成组播数据的传输,要借助在不同位置的组播路由器的组播表工页,组播路由器上会有各种组播相关的表,如组播路由表、组播转发表、 IGMP 路由表、 PIM 路由表等。

1.组播协议路由表
组播协议路由表是运行各种组播路由协议时由各个协议自己维护的路由表项,如果组播路由协议为PIM协议,它会自身维护PIM协议路由表。本章中,我们观察组播转发都使用PIM协议路由表,使用命令display pim routing-table:
在这里插入图片描述
所有协议的路由表都相似,记录表项的(S,G) 条目及生存时间,还有上游接口和下游接口列表。其中(*,G)中的星号,表示任意的源地址,G表示组播地址;(S,G) 中的S表示确定的组播源地址。

2.IGMP路由表
接收者所在网段上,若路由器接口只开启IGMP,并没有开启PIM协议时,则组播数据依然可以转发到本网段,只要路由器接口下有组播接收者,数据转发可以转发到PIM协议没有开启的但有IGMP接收者的接口,这可以通过观察display igmp routing-table看到转发数据的出口:
在这里插入图片描述

3.组播静态路由
类似于单播中的静态路由,不过这里指定的内容是针对特定的“报文源”,指定RPF接口(RPF接口指的是通过了RPF检查的组播报文的入接口)和RPF邻居(入接口上连接的组播发送上游设备),例如在华为设备上使用命令:ip rpf-route-static 10.1.1.1 255.255.255.255 10.1.23.2可以配置组播静态路由。使用dis multicast routing-table static可以看到静态路由路由表中的内容:
在这里插入图片描述

4.组播路由表
组播路由表是全局唯一的用于转发组播数据的路由表。它的内容来自于多种组播路由协议,每种组播路由协议都有相应各自的组播路由协议表项,这些表项内容除出现在协议的路由表中外,还会汇集到组播路由表,组播路由表是由各个协议优选出的路由构建而成的。这就像单播路由中路由器同时运行OSPF、RIP、BGP多种路由协议,但其最佳路由都出现在IP路由表中,使用display multicast routing-table可以看到PIM路由表、IGMP路由表和静态组播路由表中的内容:
在这里插入图片描述

5.组播转发表
设备会根据组播路由和转发策略,从组播路由表选取最优的组播路由,下发到组播转发表中,直接用于指导组播数据转发,其处于数据平面上,作用相当于单播路由中的FIB表。如下display multicast forwarding-table命令,可用于检查组播转发表项有没有成功建立,组播数据能否正常传输:
在这里插入图片描述

组播报文转发过程:

组播转发区别于单播转发,单播转发是基于报文目标 IP 地址查表转发的过程,而组播转发是根据报文源 IP 地址查表转发的过程。以PIM为例,PIM以RPF机制指导组播报文转发,流程如下:
在这里插入图片描述
RPF ( Reverse Path Forwarding)检查就是对收到的组播数据报文的源IP进行检查,判定其是否从正确的入接口接收到组播数据的过程,某些RPF检查过程还要判定报文是否源自RPF邻居。在控制平面上,可以靠RPF检查计算上游接口生成(S,G) 或(*,G)组播转发表。在数据平面上,接口收到的数据报文会按下列方式执行RPF检查。

具体步骤的内容在PIM笔记中进行补充。

参考资料:《HCIE路由交换学习指南》、HCIE培训文档


http://chatgpt.dhexx.cn/article/WWS7Q8MO.shtml

相关文章

最新蓝奏云软件库系统源码分享下载+非WebView

正文: 蓝奏云软件库,添加分类填入蓝奏云文件夹分享链接,链接密码即可。 非webview为接口式获取文件列表,不存储本地,只用在蓝奏云上传文件即可。 后端 thinkphp,前端 uniapp(我测试了下发现没有前端源…

ThinkPHP高仿蓝奏云网盘系统程序

搭建教程&#xff1a; 1.修改数据库config/database.php 2.导入打包的数据库文件 3.设置为pcblic运行目录 4.上面全部设置好了就可以后台登入地址&#xff1a;域名/admin.php 账号adminz密码548717398 5.伪静态设置 <IfModule mod_rewrite.c>RewriteEngine onRewriteBa…

2023最新仿蓝奏云合集下载页面系统源码 带后台版本

2023最新仿蓝奏云合集下载页面系统源码 带后台版本 新版仿蓝奏云合集下载页源码续上次发的仿蓝奏云合集下载单页源码 修复了搜索功能 修复无法下载文件和下载文件为空 更新功能如下 1.增加后台 2.可在后台上传文件及删除文件等信息修改 3.目前仅支持apk,zip,exe,rat,txt文件 4…

如何把蓝奏云里的文件进行批量导出分享?蓝奏云批量分享的工具

蓝奏云用的的多了&#xff0c;里面文件管理起来就非常的麻烦&#xff0c;在这里分享一下如何方便得批量分享蓝奏云中的文件。 首先需要下载一个软件 简单麦麦客户端 下载地址在 https://gitee.com/firesuiry/jdmm-client/releases 是个开源的软件 有兴趣可以研究研究 下载完…

php 蓝奏网盘上传文件,教给大家一个蓝奏云高级玩法,如何把文件一键秒上传到蓝奏云网盘...

01 蓝奏云是我最常用的网盘平台 当然这也是在度盘限速之后 毕竟&#xff0c;蓝奏也有几个很大的短板 但整体上是利大于弊&#xff01; 好处就是&#xff0c;整个网盘空间没有上限 不论你上传多少个文件、他都不拦你 另外一点&#xff0c;下载永远都是满速状态 这个真的太香了&a…

解决蓝奏云链接无法访问问题

方法一&#xff1a;修改蓝奏云链接域名 将www.lanzous 后面的 s 改为 x 或者改为 i &#xff0c;www.lanzoux&#xff0c;然后再访问链接即可正常访问。 方法二&#xff1a;油候脚本自动转换蓝奏云链接 脚本地址&#xff1a;蓝奏云连接转换这款脚本可以将蓝奏云网盘链接自动…

【油猴脚本】鼠标选中跳转蓝奏云有效链接及自动填写提取码

简述 鼠标选中蓝奏云链接时会将链接转化为有效链接并显示跳转按钮&#xff0c;如果选中内容包括提取码则会在对应的网页自动填充。 地址&#xff1a;鼠标选中跳转蓝奏云有效链接及自动填写提取码 功能 在鼠标选中的文字是蓝奏云链接时触发脚本&#xff0c;脚本将从选中文字中…

解决:蓝奏云下载链接没法打开问题

假设链接如下&#xff1a; https://wws.lanzous.com/b01hnxn7a 解决: 修改链接&#xff1a;将链接中的lanzous改为lanzoux https://wws.lanzous.com/b01hnxn7a https://wws.lanzoux.com/b01hnxn7a

php蓝奏云网盘源码,蓝奏云网盘pc版易语言开源软件源码

蓝奏云盘是由网友开发的蓝奏云网盘客户端软件&#xff0c;软件界面简洁&#xff0c;简单易用 很多人喜欢&#xff0c;所以大家找了&#xff0c;蓝奏云网盘PC客户端开源源码&#xff0c;此软件源代码全部为 易语言5.6版本编写。 蓝奏云盘源码特色&#xff1a; 1.支持上传任意文件…

蓝奏云直链解析php,【带源码】新思路--蓝奏云直链解析

本帖最后由 Ls30 于 2018-7-11 18:06 编辑 今天在我的群上看到了个买 的还留下了个链接&#xff0c; 打开后我的手机浏览器跳转到了蓝奏云的一个下载页面&#xff0c; 惊奇的发现手机打开这个下载页面与电脑端的不同&#xff0c; 我猜测这是否与电脑端的解析方式有着一定的联系…

【实用软件】蓝奏云批量下载工具

软件介绍 蓝奏是个非主流网盘&#xff0c;老司机们用的比较多&#xff0c;官方限制最大上传文件为100M&#xff0c;不能分享视频等大文件&#xff0c;限制了它的用处。一般应用于分享软件&#xff0c;小型文档&#xff0c;除了下载页面有广告之外&#xff0c;下载速度很快&…

蓝奏云无视密码强制下载器

介绍&#xff1a; 可以强制下载有带密码的蓝凑云链接&#xff0c;只支持直接的分享链接&#xff08;就是蓝凑云的域名加后面的分享的那一段&#xff0c;像我下面图一有那个tp就得把他删除&#xff09;要使用软件内的下载文件&#xff0c;就要打开悬浮窗&#xff01;&#xff0…

蓝奏云软件库源码分享下载

介绍&#xff1a; 蓝奏云软件库&#xff0c;添加分类填入蓝奏云文件夹分享链接&#xff0c;链接密码即可。 非 webview 为接口式获取文件列表&#xff0c;不存储本地&#xff0c;只用在蓝奏云上传文件即可。 后端 thinkphp&#xff0c;前端 uniapp&#xff08;我测试了下发现…

蓝奏云分享文件无法下载地址失效的解决办法

由于蓝奏盘的分享地址经常失效和更改&#xff0c;导致我们分享的下载地址打不开&#xff0c;很多人不知道怎么回事&#xff0c;老是问我蓝奏云下载链接打不开怎么办&#xff0c;今天就给大家讲讲怎么解决这个问题。 解决办法&#xff1a; 如果你打开别人分享的蓝奏云提示的是是…

蓝奏云直链解析

[玫瑰]蓝奏云直链获取在线解析网站源码 蓝奏云链接解析 本地API接口 [玫瑰]支持有无密码和短期直链和永久直链&#xff0c;同时还可以显示文件名和大小。 [玫瑰]这个解析器无需数据库即可搭建&#xff0c;API接口已经本地化&#xff0c;非常简单易用。 [玫瑰]解压密码 123321 链…

Linux下载蓝奏云文件,蓝奏云CMD控制台

蓝奏云CMD控制台是一个蓝奏云的第三方API客户端&#xff0c;封装了对蓝奏云的基本操作: 登录、列出文件、下载文件、上传文件、删除文件(夹)、 清空回收站、恢复文件、创建文件夹、设置文件(夹)访问密码。此外&#xff0c;还解决了蓝奏云的上传格式限制和单文件最大 100MB 的限…

蓝奏云下载地址解析API[直链]

3 月&#xff0c;跳不动了&#xff1f;>>> 介绍 蓝奏云下载地址解析API 模拟蓝奏云真实操作获取下载地址. 下载地址:https://www.90pan.com/b1748355 密码&#xff1a;9zz7 开源地址: https://gitee.com/web/lanzou 软件架构 1.支持检测文件是否被取消 2.支持带密码…

推荐5款免费网盘,空间大不限速!

【欢迎关注公众号“SRE运维部落”&#xff0c;学习资料&#xff0c;电影资源免费送】 最近各个云服务商的存储空间大战基本落幕了&#xff0c;百度云先期胜出&#xff0c;自从PanDownload出事之后&#xff0c;很多小伙伴对收费限速行为表示不满&#xff0c;在这里给大家推荐5款…

将大于100M的文件上传到蓝奏云的方法

简 介&#xff1a;蓝奏云存储文件时最大只能存储100MB的文件&#xff0c;但有时需要存储大于100MB的文件&#xff08;如视频等&#xff09;。本文给出了存储大文件的方法——分卷压缩上传。 关键词&#xff1a; 蓝奏云、分卷压缩、文件存储 01 问题背景 蓝奏云是一个比较好用的…

蓝奏云网盘下载链接无法打开的解决方法(详解 全)

&#x1f388;前言 蓝奏云是一家国内的比较有良心的网盘提供商&#xff0c;提供有不限量的网盘空间&#xff0c;且不限制下载速度&#xff0c;免费用户只限制上传单文件小于100M的文件。算是比较有良心的。而且下载还不用登录才能下载&#xff08;很多标称免费的网盘均需要下载…