IP组播介绍

article/2025/8/22 15:13:16

IP组播通信指的是IP报文从一个源发出,被转发到一组特定的接收者。相对于单播和广播,IP组播可以有效地节约网络带宽、降低网络负载,避免广播堵塞带来的诸如摄像头花屏,视频马赛克等问题,所以被广泛应用于IPTV、实时数据传送和多媒体会议等网络业务中。

如果要将数据从一台主机发送给多个主机而非所有主机,可以采用广播方式,也可以由源主机采用单播方式向网络中的多台目标主机发送多份数据,如图1所示。

图1 采用单播和广播方式进行点到多点传输数据示意图

  • 采用单播方式时,信息源为每个需要信息的主机都发送一份独立的报文。当需要该信息的用户数量较大时,信息源需要将多份内容相同的信息发送给不同的用户,这对信息源以及网络带宽都将造成巨大的压力。

  • 采用广播方式时,信息源将信息发送给该网段中的所有主机,不需要接收信息的主机也将收到该信息,这样不仅信息的安全性得不到保障,而且会造成同一网段中信息泛滥,浪费大量的带宽。

由上述可见,单播和广播通信方式不能有效地解决单点发送、多点接收的问题。

组播(Multicast)可以很好的解决点到多点的数据传输,如图2所示,源只发送一份数据,网络中只有需要该数据的主机(目标主机HostA和HostC)可以接收该数据,其他主机(HostB)不能收到该数据。

图2 采用组播方式进行点到多点传输数据示意图

组播基本概念

如图3所示为组播的传输模型示意图,网络中存在组播源,组播路由器,和组播组成员三个角色,它们在同一组播组中进行组播通信。

图3 组播方式示意图

  • 组播组:用IP组播地址进行标识的一个集合。任何用户主机(或其他接收设备),加入一个组播组,就成为了该组成员,可以识别并接收发往该组播组的组播数据。

  • 组播源:信息的发送者,如图3中的Source。一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。

  • 组播组成员:所有加入某组播组的主机便成为该组播组的成员,如图3中的HostA和HostC。组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。

  • 组播路由器:支持三层组播功能的路由器或交换机,如图3中的各个Router。组播路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管理功能。

以收看某电视频道的节目为例来类比IP组播中的概念。

表1 组播信息传输与电视节目传输的类比

顺序

电视节目传输过程

组播方式传输过程

1

电视台向频道内发送数据

组播源向组播组发送数据

2

观众打开电视机选择到这个频道

接收者主机加入该组播组

3

电视机播放该频道电视节目

主机接收到发送给这个组的数据

4

观众可以随时控制电视机的开关和频道间的切换

主机可以动态加入或退出组播组

组播服务模型

组播源发出的组播数据中总是以自己的IP地址为报文的源地址,组播组地址为目的地址。根据接收者主机在接收组播数据时是否可以对组播源进行选择,服务模型分为ASM(Any-Source Multicast)和SSM(Source-Specific Multicast)两种服务模型。这两种服务模型使用不同的组播组地址范围。

ASM模型

ASM模型仅针对组地址提供组播分发。任何源发布到该组地址的数据得到同样的服务。接收者主机加入组播组以后接收组内任意源发送到该组的数据。

ASM模型要求组地址必须在整个组播网络中唯一。如果有两种不同的应用程序使用了同一个ASM组地址发送数据,它们的接收者会同时收到来自两个源的数据。这样一方面会导致网络流量拥塞,另一方面也会给接收者主机造成困扰。

SSM模型

SSM模型针对特定源和组的绑定数据流提供服务,接收者主机在加入组播组时,可以指定只接收哪些源的数据。加入组播组以后,主机只会收到指定源发送到该组的数据。

SSM模型对组地址不再要求全网唯一,只需要每个组播源保持唯一。不同的源之间可以使用相同的组地址,因为SSM模型中针对每一个(源,组)信息都会生成表项。这样不仅节省了组播组地址,还不会造成网络拥塞。

组播地址

为了使组播源和组播组成员进行通信,需要提供网络层组播,使用IP组播地址。同时,为了在本地物理网络上实现组播信息的正确传输,需要提供链路层组播,使用组播MAC地址。

IPv4组播地址

IANA(Internet Assigned Numbers Authority,互联网编号分配委员会)将D类地址空间分配给IPv4组播使用,地址范围为224.0.0.0-239.255.255.255,具体分类及含义见表2。

表2 IPv4组播地址的范围及含义

地址范围

含义

224.0.0.0~224.0.0.255

永久组地址。为路由协议预留的IP地址(也称为保留组地址),用于标识一组特定的网络设备,供路由协议、拓扑查找等使用,不用于组播转发。

224.0.1.0~231.255.255.255

233.0.0.0~238.255.255.255

ASM组播地址,全网范围内有效。

232.0.0.0~232.255.255.255

缺省情况下的SSM组播地址,全网范围内有效。

239.0.0.0~
239.255.255.255

本地管理组地址,仅在本地管理域内有效。在不同的管理域内重复使用相同的本地管理组地址不会导致冲突。

IPv6组播地址

IPv6地址长度是128位,组播地址的定义如图4所示。

图4 IPv6组播地址的格式

  • FF:最高8位为11111111,标识此地址为组播地址。即IPv6组播地址总是以FF开头。

  • Flags字段(4位),用来标识组播地址的状态。其含义如下:

表3 Flags取值及含义

取值

含义

0

表示是IANA指定的常用组播地址,也叫保留组地址

1

表示是ASM范围的组播地址

2

表示是ASM范围的组播地址

3

表示是SSM范围的组播地址

其他

未分配

  • Scope字段(4位):用来标识组播组的应用范围,其含义如下:

表4 Scope字段的取值及含义

取值

含义

0、3、F

保留

1

节点(或接口)本地范围(node/interface-local scope)

2

链路本地范围(link-local scope)

4

管理本地范围(admin-local scope)

5

站点本地范围(site-local scope)

8

机构本地范围(organization-local scope)

E

全球范围(global scope)

其他

未分配

  • Group ID(112位):组播组标识号。与Flags字段和Scope字段结合指定的范围内唯一标识组播组。

IPv4组播MAC地址

以太网传输IPv4单播报文的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播数据时,其目的地不再是一个具体的接收者,而是一个成员不确定的组,所以要使用IPv4组播MAC地址,即IPv4组播地址映射到链路层中的地址。

IANA规定,IPv4组播MAC地址的高24位为0x01005e,第25位为0,低23位为IPv4组播地址的低23位,映射关系如图5所示。例如组播组地址224.0.1.1对应的组播MAC地址为01-00-5e-00-01-01。

图5 IPv4组播地址与IPv4组播MAC地址的映射关系

IPv4组播地址的前4位是固定的1110,后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。网络管理员在分配地址时必须考虑这种情况。

IPv6组播MAC地址

IPv6组播MAC地址的高16位为0x3333,低32位为IPv6组播地址的低32位。如图6所示,是IPv6组播地址FF01::1111:1的MAC地址映射举例。

图6 IPv6组播地址的MAC地址映射举例

可见IPv6中会有更多的组地址使用同一个MAC地址。

组播协议

在IP组播传输模型中,发送者不关心接收者所处的位置,只要将数据发送到约定的目的地址,剩下的工作就交给网络去完成。网络中的组播设备必须收集接收者的信息,并按照正确的路径实现组播报文的转发和复制。在组播的发展过程中,形成了一套完整的协议来完成此任务。

IPv4组播协议

IPv4网络中使用的组播协议如表6所示。

表6 IPv4组播协议

协议

功能

组播组管理协议IGMP(Internet Group Management Protocol)

IGMP是负责IPv4组播成员管理的协议,运行在组播网络中的最后一段,即三层网络设备与用户主机相连的网段内。IGMP协议在主机端实现组播组成员加入与离开,在上游的三层设备中实现组成员关系的维护与管理,同时支持与上层组播路由协议的信息交互。

协议无关组播PIM(Protocol Independent Multicast)

PIM作为一种IPv4网络中的组播路由协议,主要用于将网络中的组播数据流发送到有组播数据请求的组成员所连接的组播设备上,从而实现组播数据的路由查找与转发。

PIM协议包括PIM-SM(Protocol Independent Multicast Sparse Mode)协议无关组播-稀疏模式和PIM-DM(Protocol  Independent Multicast Dense Mode)协议无关组播-密集模式。PIM-SM适合规模较大、组成员相对比较分散的网络;PIM-DM适合规模较小、组播组成员相对比较集中的网络。

组播源发现协议MSDP(Multicast Source Discovery Protocol)

MSDP是为了解决多个PIM-SM域之间的互连的一种域间组播协议,用来发现其他PIM-SM域内的组播源信息,将远端域内的活动信源信息传递给本地域内的接收者,从而实现组播报文的跨域转发。

组播边界网关协议MBGP(MultiProtocol Border Gateway Protocol)

MBGP实现了跨AS域的组播转发。适用于组播源与组播接收者在不同AS域的场景。

IGMP Snooping & IGMP  Snooping Proxy

IGMP Snooping功能可以使交换机工作在二层时,通过侦听上游的三层设备和用户主机之间发送的IGMP报文来建立组播数据报文的二层转发表,管理和控制组播数据报文的转发,进而有效抑制组播数据在二层网络中扩散。

IGMP Snooping Proxy功能在IGMP Snooping的基础上使交换机代替上游三层设备向下游主机发送IGMP Query报文和代替下游主机向上游设备发送IGMP Report和Leave报文,这样能够有效的节约上游设备和本设备之间的带宽。

IPv6组播协议

IPv6网络中使用的组播协议如表7所示。

表7 IPv6组播协议

协议

功能

组播侦听者发现协议MLD(Multicast Listener Discovery)

MLD是负责IPv6组播成员管理的协议,运行在组播网络中的最后一段,即三层组播设备与用户主机相连的网段内。MLD协议在主机端实现组播组成员加入与离开,在三层设备上实现组成员关系的维护与管理,同时支持与组播路由协议的信息交互。

PIM(IPv6)

PIM(IPv6)作为一种IPv6网络中的组播路由协议,主要用于将网络中的组播数据流引入到有组播数据请求的组成员所连接的交换机上,从而实现组播数据流的路由查找与转发。

PIM(IPv6)协议包括PIM-SM(IPv6)和PIM-DM(IPv6)两种模式。PIM-SM(IPv6)适合规模较大、组成员相对比较分散的网络;PIM-DM(IPv6)适合规模较小、组播组成员相对比较集中的网络。

MLD Snooping & MLD Snooping Proxy

MLD Snooping功能可以使交换机工作在二层时,通过侦听上游的三层设备和用户主机之间发送的MLD报文来建立组播数据报文的IPv6二层转发表,管理和控制组播数据报文的转发,进而有效抑制组播数据在二层网络中扩散。

MLD Snooping Proxy功能在MLD Snooping的基础上使交换机代替上游三层设备向下游主机发送查询报文和代替下游主机向上游设备发送MLD  Report和Done报文,这样能够有效的节约上游设备和本设备之间的带宽。


http://chatgpt.dhexx.cn/article/8rrGVjhJ.shtml

相关文章

广播和组播

概述 网络信息传输主要有4种方式:单播(unicast)、任播(anycast)、组播(multicast)和广播(broadcast)。广播和组播为应用程序提供了两种服务:数据分组交付至多…

华为 组播理论知识

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

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

今天简单的写一下组播的实现过程,主要是给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;下载速度很快&…