广播和组播

article/2025/8/22 13:10:51

概述

       网络信息传输主要有4种方式:单播(unicast)、任播(anycast)、组播(multicast)和广播(broadcast)。广播和组播为应用程序提供了两种服务:数据分组交付至多个目的地,通过客户端请求/发现服务器。

       ·交付至多个目的地。有许多应用程序将信息交付至多个收件方,例如,互动式会议、邮件或新闻分发至多个收件方。没有广播或组播,这些类型的服务只能将一个单独的副本交付至每一个目的地,这是非常低效的。

       ·通过客户端请求/发现服务器。使用广播或组播,应用程序可以向一个服务器发送一个请求,而不用知道任何特定服务器的IP地址。当本地网络环境的信息了解得很少时,这种功能在网络配置过程中非常有用。例如嵌入式系统通过DHCP获取其初始IP地址、ARP、IPv6 ND等。

       虽然广播和组播都可以提供上述功能,但组播相对于广播来说更为高效。因为组播只涉及那些支持或使用特定服务或协议的系统,而广播不是。因此,一个广播请求会影响在广播域内所有可以到达的主机,而组播只影响那些可能对该请求“有兴趣”的主机。在广播的更高开销和简单性以及组播的效率改善和更复杂性之间存在一种平衡。

广播

       广播是指将报文发送到网络中的所有可能的接收者。从原理上这很容易实现:路由器简单地将它接收到的任何广播报文副本转发到除该报文到达的接口以外的每个接口。当多台主机连接到同一个局域网时,广播还能结合链路层特点提供相对更高效的转发策略。

广播地址

       在IPv4中,每个子网都有一个本地定向子网广播地址,它是通过将地址中的主机部分全部置1形成的,特殊地质255.255.255.255对应于本地网络广播(也叫有限广播)。

       如上图所示,设备eth0的IP地址为172.16.0.15,子网掩码为255.255.240.0,所以网络前缀为172.16.0.0/20。因此广播地址即为该地址的主机部分的32-20=12位的1相结合(或运算)得到的:172.16.0.0 | 0.0.15.255 = 172.16.15.255

组播

       为了减少在广播中涉及的不必要的开销,可以只向特定的一部分接收方(可以是域内也可以是域间)发送流量,这被称为组播。从根本上说,通过发送方指明接收方,或是通过接收方独立地指明它们的“兴趣”,就可以完成这项工作。然后网络只负责向预期的或感兴趣的收件方发送流量。实现组播比广播要复杂,因为组播状态(multicast state)(信息)必须由主机和路由器来保持,以说明哪些接收方对哪类流量感兴趣。这个信息作为主机和路由器中的软状态来维持,这意味着它必须定期更新(当这种情况发生时,组播流量的交付要目停止要目恢复为广播)。如果正确地使用组播,只有那些在通信中参与或感兴趣的主机需要处理相关的分组,流量只会被承载于它将被使用的链路上,并且只有任意组播数据报的一个副本被承载于这样的链路上。

       为了使组播工作,希望参与通信的应用程序需要一种机制来发布其意愿的协议实现。然后主机软件可以安排接收与应用程序的条件相匹配的分组。

ASM和SSM

       IP组播在诸如以太网的链路层网络中,起初使用一种基于组寻址工作方式的设计。在这种方法中,每个站点选择它愿意接收流量的组地址,而不考虑发送方。因为对于发送方的身份是不敏感的,所以这种方法有时也被称为任源组播(Any Source Multicast,ASM)。而对于发送方身份敏感的组播类型被称为特定源组播(Source Specific Multicast,SSM),它允许终端站点明确地包含或排除从一组特定发送方发送到一个组播组的流量。SSM服务模型比ASM更容易实现,这主要是因为在广播组域中,确定单个源的位置比确定多个源的位置更容易。

IP组播地址转换为IEEE 802地址

       在类似以太网的网络中,使用单播地址时,ARP通常根据目的地的IPv4地址确定其MAC地址,而在IPv6中则是由邻居发现协议(ND)来承担类似工作。在广播中,一个MAC地址可以用于达到一个LAN或VLAN上的所有站点。那么组播中应该如何确定何种MAC地址应该放置于链路层帧中呢?理想的情况下,我们不必使用协议报文来确定适当的MAC地址,而是简单地将一个IP组播地址直接映射到一些对应的MAC地址。这些网络代表了使用IP组播的最常见的网络类型,具体映射方法在IPv4和IPv6中略有不同。

IPv4组播映射

       为了在链路层网络中有效承载IP组播,在IP层和链路层帧的数据分组和地址之间应该有一个一对一的映射。IANA拥有组播地址空间(具体为224.0.0.0~239.255.255.255),且IANA还拥有IEEE组织唯一标识符(OUI,或称以太网地址前缀)01:00:5e。有了它,IANA就被赋予权限去使用以01:00:5e开始的组(组播)MAC地址以及以00:00:5e开始的单播MAC地址。因此单播地址范围为00:00:5e:00:00:00~00:00:5e:ff:ff:ff,组播地址范围为01:00:5e:00:00:00~01:00:5e:ff:ff:ff。

       在组播地址中最高的4位固定为1110,因此有32-4=28位可用来编码整个地址空间。对于IPv4,IANA分配一半的组地址用于支持IPv4组播,这以为这2^27=268435456个组播组ID需要被映射到只有2^23=8388608个用于组播的链路层地址空间,因此映射是非唯一的,即有多个IPv4组播地址呗映射到相同的组播MAC地址中。IPv4组地址到组MAC地址的映射例子如下图所示:

IPv6组播映射

       对于IPv6,16位的OUI十六进制前缀是33:33。这意味着,IPv6地址的最后32位可以用来形成链路层地址。映射的例子如下图所示:

       由于只使用了112个组播地址位中的32位,所有有2^80个IPv6组播地址映射到相同的MAC地址。

组播地址过滤

       在一个典型的交换式以太网环境中,广播和组播帧沿着在交换机之间形成的一颗生成树在VLAN中的所有段被复制。这样的帧被交付到每台主机上的网络接口卡(NIC),它将会检查帧的正确性。若是单播/任播帧,NIC值接收目的地址是接口的硬件地址或广播地址的那些帧。然而当设计组播帧时情况要更复杂。

       NIC往往有两类。一类执行基于组播硬件地址的散列值的过滤,主机的应用软件可以表达对该硬件地址的兴趣。但正如前面组播映射特点所述,映射是多对一的,这意味着散列冲突,一些不需要的帧总是可以通过。另一类侦听组播地址的一张有限表,这意味着,如果主机需要接收超过表中能够容纳的更多的组播地址的帧,NIC将进入一种“组播混杂”模式。在这种模式下,所有的组播流量将会交给上层软件。因此,两种类型的接口需要设备驱动程序或高层软件执行检查,以确定接收到的帧是否真的需要,因此NIC的只是初步过滤。尽管存在不完美的地址映射和硬件过滤,组播地址仍然比广播更高效。

       NIC进行初步过滤后,设备驱动程序将帧传递到下一层。例如,如果帧类型指定一个IP数据报,则为IP层。基于源IP地址和目的IP地址,IP层进行更多的过滤。并将过滤出来的帧传递到下一层(传输层,如TCP或UDP)进行下一步过滤。

 

                                                                                           本文摘自《TCP/IP详解 卷1:协议(中文版)第2版》,有改动


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

相关文章

华为 组播理论知识

如果一个人走在正确的道路上,有目标并努力着,且思想没有问题、态度端正,相信总有一天能达到成功的彼岸;因为人生就像一场马拉松长跑,,它并不在乎你比别人先跑一步,或者晚跑一步。 我是艺博东 ,一…

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

今天简单的写一下组播的实现过程,主要是给0基础同学阅读。本文力图用最简单的语言描绘组播的大致实现过程。 一、背景 计算机网络中存在三种形式的报文——单播、广播和组播。顾名思义,单播就是发往指定的目的地址,广播就是发放广播域内所有…

什么是组播地址

组播地址 前言 “组播并不像单播,有一个明确的目的主机和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…