浅议组播(一文看懂组播)

article/2025/8/22 15:05:56

今天简单的写一下组播的实现过程,主要是给0基础同学阅读。本文力图用最简单的语言描绘组播的大致实现过程。

一、背景

计算机网络中存在三种形式的报文——单播、广播和组播。顾名思义,单播就是发往指定的目的地址,广播就是发放广播域内所有的目的地址,而组播,介于单播和广播之间,发往一些特定的目的地址。
什么时候会用到组播呢?
一般有以下两种场景
1、特定的路由协议。比如OSPF发现邻居就是使用组播报文
2、直播、视频会议。比如一个视频流量要发往几个特定的目的,那么可以使用组播
为什么要使用组播呢?
使用单播和广播的确可以解决组播的功能,但是会造成一些问题。
1、如果用单播替代组播。假设一个组播源要向10个目的地址发送数据,那么如果使用单播,该组播源要将同一份数据发送10遍,极大的造成了网络带宽资源的浪费。
2、如果用广播代替组播。其中一个问题是广播没法跨越广播域发送,另一个问题是广播会将组播流量发给所有的设备,即造成了资源的浪费,也存在一定的安全性问题。

二、组播干了什么?

组播就是发往网络中特定目的地址的数据包。
假设一个网络中拓扑如下所示:
在这里插入图片描述
假设MCS1要实现将组播流量发往PC1和PC2,那么组播流量在图中传递如图所示:
由MCS1发出的组播流量发给R1,由于R1下游两个路由器都有该组播流量的目的地址,因此R1将该数据包复制成2份分别发给R2和R3,但是对于R2来说,由于其相邻路由器R5没有组播流量的接收者,因此R2不会向R1一样给R5发送流量。
我们把发送组播的设备叫做组播源,接受组播的设备叫做组播接收者。

三、组播不能干什么

组播依托于UDP协议,进行数据通信。组播流量只能从组播源到组播接受者,组播接收者并不能知道组播源是谁(现在v3的IGMP组播协议也支持组播接收者选择组播源),组播源其实也并不知道组播接收者都有哪些,分别在哪。

四、组播是怎么干的?

上述过程时如何实现的呢?大致描述如下:
我们在学习IP地址的时候,知道有种D类的IP地址是组播IP地址,组播的实现就依托于这类IP地址。
首先,对于组播源来说,他会确定一个组播IP地址,它发送的所有组播流量目的IP地址就是这个组播IP地址。因此,组播源只干这一个事情,它其实并不知道组播接收者都有哪些,分别在哪。
**其次,对于组播接收者来说,**它能接收组播的前提是知道组播源所发送组播的组播IP地址。它也只干了一个事情,就是向上游路由器报告,我要接收目的地址是这个组播IP地址的流量。
**最后,对于路由器来说,**它们可能是组播实现非常重要的一环,它负责从组播源到组播接收者之间的组播流量转发工作。对于与组播接受者直接相连的路由器而言,它负责接收接收者的消息,并将其传递给其他路由器,其他路由器也会将这个消息一级一级的传递出去,最终形成的效果就是整个组播网络大概能够知道组播接收者的位置。这样,当组播流量到来的时候,路由器就知道收到的组播流量应该从哪一个端口发送出去,这个端口要不要发送组播流量等。最终,组播的实现完成了一棵“树”的构建,我们把这棵树叫做组播分发树,树的根节点是组播源,叶子节点是组播接收者。这样,组播流量就实现从组播源到组播接收者之间的传递了。
关于组播,大致就先讲到这里了,相信您已经对组播有了基本的认识。如果您还想进一步了解关于组播的内容,可以看另一篇文章浅议PIM(一文看懂PIM)。该文章对路由器组播功能的实现——PIM协议进行了讲解。

附录——组播IP地址简介

在学习IP地址分类的时候,我们都知道,IP地址可以分为5类,其中D类IP地址专门用于组播。
D类IP地址范围是224.0.0.1-239.255.255.255
该地址又可以继续细分:
224.0.0.1-224.0.0.255是各知名协议的组播地址,比如OSPF协议的组播地址是224.0.0.5和224.0.0.6。
224.0.1.0-238.255.255.255是全局有效的组播地址,即类似于公网IP地址。但是要注意,其中232.0.0.1-232.255.255.255是专门用于SSM协议的。
239.0.0.1-239.255.255.255是本地有效的组播地址,即类似于私网IP地址。当在企业内部部署组播时,可以配置上述IP地址。
原创不易,转载请说明出处,原文链接:https://blog.csdn.net/weixin_40228200/article/details/118267321


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

相关文章

什么是组播地址

组播地址 前言 “组播并不像单播,有一个明确的目的主机和IP地址,也不像广播,局域网内的所有主机都是目的主机,广播IP地址也明确(主机标识全部置为1)。组播不同,它并不知道要把信息发给谁&…

一文了解什么是组播

组播简介 前言 “数据源向特定的多个接收端发送相同的数据时,如果采用单播,数据源需要分多次发送。如果采用广播,广播域内所有主机都能收到。而如果采用组播,只需要发送一份数据给组播路由器,由组播路由器根据组播组…

组播详解及示例代码

写在前面 由于公司业务需要用到组播实现,这里就记录下学习过程。在学习组播之前,我们先来看看另外两种数据包传输方式:单播和广播。 单播:简单来说就是数据一对一发送,如果需要给多个主机发送数据时,就需…

组播的简单介绍

一、组播部署背景 1、广播方式部署点到多点应用 广播方式所存在的问题: ①地域范围限制 ②安全性无法保障 ③有偿性无法保障 2、单播方式部署点到多点应用 单播方式所存在的问题: ①重复流量过多 ②消耗设备和链路带宽资源 ③难以保证传输质量 3、组播方…

什么是组播-网工必会的组播基础概念详解

什么是组播-网工必会的组播基础概念详解 什么是组播?组播方式解决了单播情况下数据的重复拷贝及带宽的重复占用,也解决了广播方式下带宽资源的浪费,下面腾科教育小编给大家科普一些网工必会的组播基础概念详解。 单播一对多通信场景 1.在单播(Unicast)通信中每一个…

组播基础概念

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

最新蓝奏云软件库系统源码分享下载+非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; 如果你打开别人分享的蓝奏云提示的是是…