首页 > 其他分享 >组播基础原理描述

组播基础原理描述

时间:2024-06-06 14:33:16浏览次数:23  
标签:组播 224.0 组播源 地址 原理 路由器 路由 描述

组播基本概念

组播组

组播组使用一个 IP 组播地址标识。任何用户主机(或其他接收设备),加入一个组播组,就成为了该组成员,可以识别并接收以该 IP 组播地址为目的地址的 IP 报文。

组播源

以组播组地址为目的地址,发送 IP 报文的信源称为组播源。

  • 一个组播源可以同时向多个组播组发送数据
  • 多个组播源可以同时向一个组播组发送数据

组播组成员

组播组中的成员是动态的,网络中的用户主机可以在任何时刻加入和离开组播组。组成员可能广泛分布在网络中的任何地方。

组播源通常不会同时是数据的接收者,不属于组播组成员。

组播路由器

网络中支持组播功能的路由器称为“组播路由器”。

组播路由器的功能:

  • 在与用户主机连接的末梢网段,提供组播组成员管理功能。
  • 实现组播路由,指导组播报文的转发。

组播分发树

根据组播组成员的分布情况,组播路由协议为多目的端的数据包转发建立树型路由。

组播基本构架

组播模型复杂多样,其统一的用途是以组播方式将信息从组播源传输到接收者手中,同时满足接收者对信息的各种需求。

组播技术关注事项

组播技术关注事项
主机接入哪里有组播接收者?
组播源发现技术从哪里可以获得组播数据?
组播寻址机制将组播数据传输到哪里?
组播路由如何传输组播信息?

组播属于一种端到端服务,按照协议层从下往上划分,IP 组播基本构架包括寻址机制、主机接入、组播路由、组播应用四个部分。

IP 组播基本架构
在这里插入图片描述

  • 寻址机制:使用组播地址,将一份数据报文发送给一组接收者。
  • 主机接入:基于组播协议实现,允许用户主机动态加入和离开某组播组,实现组播成员管理。
  • 组播路由:基于组播协议实现,构建报文分发树进行组播路由,从组播源传输报文到接收者。
  • 组播应用:组播源与接收者必须支持视频会议等组播应用软件,TCP/IP 协议栈必须支持组播信息的发送和接收。

组播地址

如果采用组播方式传输信息,信息源该将信息发往何处?组播报文目的地址如何选取?

这些问题简而言之就是组播寻址。

  • 为了使信息源和组播组成员跨越互联网进行通讯,需要提供网络层组播,使用 IP 组播地址
  • 为了在本地物理网络上实现组播信息的正确传输,需要提供链路层组播,即硬件组播。当链路层应用以太网时,硬件组播使用组播 MAC 地址
  • 同时必须存在一种技术将 IP 组播地址映射为组播 MAC 地址。

IPv4 组播地址

IPv4 地址空间分为五类,即 A 类、B 类、C 类、D 类和 E 类。D 类地址为 IPv4 组播地址,用于标识组播组,使用在 IPv4 组播报文的目的地址字段。

IPv4 组播报文的源地址字段为 IPv4 单播地址,可使用 A、B 或 C 类地址,不能出现 D 类地址。E 类地址保留。

在网络层上,加入同一组播组的所有用户主机能够识别同一个 IPv4 组播组地址。一旦网络中某用户加入该组播组,则此用户就能接收以该组地址为目的地址的 IP 报文。

D 类组播地址范围是从 224.0.0.0 到 239.255.255.255。

D 类地址的范围及含义

D 类地址范围含义作用域
224.0.0.0~224.0.0.255为路由协议预留的永久组地址。
224.0.1.0~231.255.255.255
233.0.0.0~238.255.255.255
用户可用的 ASM(Any-Source Multicast)临时组地址,全网范围内有效。
232.0.0.0~232.255.255.255用户可用的 SSM(Source-Specific Multicast)临时组地址,全网范围内有效。
239.0.0.0~239.255.255.255用户可用的 ASM 临时组地址,称为本地管理组播地址,仅在特定的本地管理域内有效。
本地管理组播地址属于私有地址,在不同的管理域内使用相同的本地管理组播地址不会导致冲突。
  • 永久组地址:因特网地址分配组织 IANA(Internet Assigned Number Authority)为路由协议预留的组播地址(也称为保留组地址),用于标识一组特定的网络设备。永久组地址保持不变,组成员的数量可以是任意的,甚至可以为零

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

常见的永久组地址列表

永久组地址含义
224.0.0.0不分配
224.0.0.1网段内所有主机和路由器(等效于广播地址)
224.0.0.2所有组播路由器的地址
224.0.0.3不分配
224.0.0.4DVMRP(Distance Vector Multicast Routing Protocol)设备
224.0.0.5OSPF 设备
224.0.0.6OSPF DR(Designated Router)
224.0.0.7ST 设备
224.0.0.8ST 主机
224.0.0.9RIP-2 设备
224.0.0.11移动代理
224.0.0.12DHCP(Dynamic Host Configuration Protocol)服务器 / 中继代理
224.0.0.13所有 PIM 设备
224.0.0.14RSVP(Resource Reservation Protocol)封装
224.0.0.15所有 CBT 设备
224.0.0.16指定 SBM
224.0.0.17所有 SBMS
224.0.0.18VRRP(Virtual Router Redundancy Protocol)
224.0.0.19 ~ 224.0.0.21未指定
224.0.0.22所有使能 IGMPv3 的路由器
224.0.0.23 ~ 224.0.0.255未指定

IPv6 组播地址

IPv6 组播地址的格式
在这里插入图片描述

  • IPv6 组播地址以 FF 开头。
  • 标识字段,包含 0RPT 4 位:
    • 0:此最高位为保留字段,固定为 0。
    • R:标识是否为内嵌 RP 地址的组播地址。如果为 1,表示为内嵌 RP 地址的组播地址。
    • P:标识是否是基于单播前缀的组播地址。如果为 1,表示为基于单播前缀的组播地址。
    • T:标识是否永久分配的组播地址。如果为 0,表示为永久分配或 Internet 地址分配机构制定的熟知的多播地址。
  • 范围字段(4 位):用于指示组播组是只包含同一本地网络、同一站点、同一机构中的节点,还是包含全球地址空间内的任何节点。其含义如下:
    • 0:保留,可以为组播其他协议所用。
    • 1:节点(或接口)本地范围(node/interface-local scope)
    • 2:链路本地范围(link-local scope)
    • 3:保留,可以为组播其他协议所用。
    • 4:管理本地范围(admin-local scope)
    • 5:站点本地范围(site-local scope)
    • 8:机构本地范围(organization-local scope)
    • E:全球范围(global scope)
    • F:保留,可以为组播其他协议所用。
    • 其他:未分配,可以当成普通地址使用。

固定的 IPv6 组播地址的范围及含义

范围含义
FF0x::/32Internet地址分配机构制定的熟知的多播地址,具体请参见下表
FF1x::/32(x不能是1或者2)FF2x::/32(x不能是1或者2)任意源组播地址。全网范围内有效。
FF3x::/32(x不能是1或者2)指定源组播地址。缺省的SSM组地址范围,全网范围内有效。
FF7x::/32内嵌RP地址的组播地址。

IPv6 常用多播地址范围及含义

范围IPv6 组播地址含义
节点(或接口)本地范围FF01:0:0:0:0:0:0:1网段内所有主机和路由器(等效于广播地址)
FF01:0:0:0:0:0:0:2所有路由器地址
链路本地范围FF02:0:0:0:0:0:0:1所有节点地址
FF02:0:0:0:0:0:0:2所有路由器地址
FF02:0:0:0:0:0:0:3未定义的地址
FF02:0:0:0:0:0:0:4DVMRP 设备
FF02:0:0:0:0:0:0:5OSPF 设备
FF02:0:0:0:0:0:0:6OSPF DR
FF02:0:0:0:0:0:0:7ST 设备
FF02:0:0:0:0:0:0:8ST 主机
FF02:0:0:0:0:0:0:9RIP 设备
FF02:0:0:0:0:0:0:AEIGRP 设备
FF02:0:0:0:0:0:0:B移动代理
FF02:0:0:0:0:0:0:D所有 PIM 设备
FF02:0:0:0:0:0:0:ERSVP 封装
FF02:0:0:0:0:0:1:1Link Name
FF02:0:0:0:0:0:1:2所有 DHCP 代理
FF02:0:0:0:0:1:FFXX:XXXXSolicited-Node 地址,XX:XXXX 表示节点 IPv6 地址的后 24 位
站点本地范围 FF05:0:0:0:0:0:0:2所有路由器地址
FF05:0:0:0:0:0:1:3所有 DHCP 服务器
FF05:0:0:0:0:0:1:4所有 DHCP 中继
FF05:0:0:0:0:0:1:1000~FF05:0:0:0:0:0:1:13FF服务位置

组播 MAC 地址

根据 IEEE802.3 规定,单播 MAC 和组播 MAC 地址的定义如下:

  • 单播 MAC 地址:第一个 8 位组的最后一位恒定为 0。
  • 组播 MAC 地址:第一个 8 位组的最后一位恒定为 1。

组播 MAC 地址用于在链路层上标识属于同一组播组的接收者。

网络设备上的以太网接口板可以识别组播 MAC 地址。通过在驱动程序中配置某组播 MAC 地址,设备就可以在以太网上接收和转发该组播组的数据。

IANA 规定,IPv4 组播 MAC 地址的高 24bit 为 0x01005e,第 25bit 为 0,低 23bit 为组播 IP 地址的低 23bit 。

根据映射关系,IPv4 组播地址的后 28bit 中只有 23bit 被映射到 MAC 地址,因此丢失了 5bit 的地址信息,直接结果是有 32 个 IPv4 组播地址映射到同一 MAC 地址上。

组播 IPv4 地址与组播 MAC 地址的映射关系
在这里插入图片描述
IANA 规定,IPv6 组播 MAC 地址的高 16bit 为 0x3333,低 32bit 为组播 IPv6 地址的低 32bit,映射关系如图所示。

组播 IPv6 地址与组播 MAC 地址的映射关系
在这里插入图片描述

本文着重介绍 IP 组播技术及设备操作。如果不加特别说明,本文中出现的组播均指 IP 组播。

组播协议

实现一套完整的组播服务,需要在网络各个位置部署多种组播协议相互配合,共同运作,如图所示。

IPv4 组播网络
在这里插入图片描述
IPv6 组播网络
在这里插入图片描述

组播协议

应用位置组播协议目的
用户主机与组播路由器之间IGMP(Internet Group Management Protocol):因特网组管理协议,用于 IPv4 网络。
MLD(Multicast Listener Discovery):组播侦听器发现,用于 IPv6 网络。
将用户主机接入组播网络:在主机侧实现组播组成员动态加入与离开。在路由器侧实现组成员关系的维护与管理,同时支持与上层组播路由协议的信息交互。
域内组播路由器之间PIM(Protocol Independent Multicast):协议无关组播。组播路由与转发:按需创建组播路由。动态响应网络拓扑变化,维护组播路由表。按照路由表项执行转发。
域间组播路由器之间MSDP(Multicast Source Discovery Protocol):组播源发现协议,目前仅用于 IPv4 网络。域间组播源信息共享:源所在域内的路由器将本地源信息传播给其他域内的路由器。

从表中观察可知,组播协议的功能主要分为以下两类:

组播组成员关系管理

组播组成员关系管理是指在主机与路由器之间建立和维护组成员关系。

IGMP 是用于 IPv4 网络的组播组成员关系管理协议,有以下特点:

  • 包含三个版本,分别是 IGMPv1、IGMPv2 和 IGMPv3。新版本完全兼容旧版本。目前应用最广泛的是 IGMPv2。
  • 三个版本都支持 ASM(Any-Source Multicast,任意源组播 )模型。IGMPv3 可以直接支持 SSM(Source-Specific Multicast,指定源组播)模型,而 IGMPv1 和 IGMPv2 则还需要 SSM-Mapping 技术的配合。

MLD 是用于 IPv6 网络的组播组成员关系管理协议,有以下特点:

  • 包含两个版本,分别是 MLDv1 和 MLDv2。
  • MLDv1 的功能与 IGMPv2 相似。
  • MLDv2 的功能与 IGMPv3 相似。
  • 两个版本都支持 ASM 模型。MLDv2 可以直接支持 SSM 模型,而 MLDv1 需要结合 SSM-Mapping 技术才能支持 SSM 模型。

建立并维护组播路由

组播路由也称为组播分发树,指从一个组播源到所有组成员的数据传输路径。组播路由单向、无环且路径最短。通过在路由器之间建立和维护组播路由,网络才能够正确、高效地转发组播数据包。

  • 域内组播路由协议:用来在 AS(Autonomous System,自治系统)内发现组播源并构建组播分发树,将信息传递到接收者。
  • 域间组播路由协议:用来在 AS 之间传递组播源信息,从而跨域建立组播路由,实现域间组播资源共享。MSDP(Multicast Source Discovery Protocol,组播源发现协议) 是典型的域间组播路由协议,通常与 MBGP(Multicast BGP,组播 BGP)协同工作。MSDP 适用于各域内运行 PIM-SM (Protocol Independent Multicast-Spare Mode,协议无关组播稀疏模式)的情况。

对于 SSM 模型来说,没有域内和域间的划分。由于接收者预先知道组播源的具体位置,因此可以借助 PIM-SM 的部分功能直接创建组播传输路径。

组播模型分类

根据对组播源的控制程度的不同,IP 组播分为三种模型,分别为:

  • ASM 模型
  • SFM 模型
  • SSM 模型

ASM 模型( Any-Source Multicast,任意源组播)

ASM模型中,任意发送者都可以成为组播源,向某组播组地址发送信息。接收者通过加入由该地址标识的组播组,接收到发往该组播组的所有信息。

在 ASM 模型中,接收者无法预先知道组播源的位置,接收者可以在任意时间加入或离开该组播组。

SFM 模型(Source-Filtered Multicast,过滤源组播)

SFM 模型继承了 ASM 模型,从发送者角度来看,组播组成员关系完全相同。

同时,SFM 在功能上对 ASM 进行了扩展:上层软件对接收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。最终,接收者只能接收到来自部分组播源的数据。从接收者角度来看,只有部分组播源是有效的,组播源经过了筛选。

SFM 在 ASM 的基础上添加了组播源过滤策略,此外基本原理和配置方法相同。本文中将 SFM 与 ASM 统称为 ASM。

SSM 模型(Source-Specific Multicast,指定源组播)

在现实生活中,用户可能仅对某些源发送的组播信息感兴趣,而不愿接收其它源发送的信息。SSM 模型为用户提供了一种能够在客户端指定信源的传输服务。

SSM 模型和 ASM 模型的根本区别是接收者已经通过其他手段预先知道了组播源的具体位置。SSM 使用和 ASM 不同的组播地址范围,直接在接收者和其指定的组播源之间建立专用的组播转发路径。

组播报文转发

在组播模型中,IP 报文的目的地址字段为组播组地址,组播源向以此目的地址所标识的主机群组传送信息。因此,转发路径上的路由器为了将组播报文传送到各个方位的接收站点,往往需要将从一个入接口接收到的报文转发到多个出接口。与单播模型相比,组播模型的复杂性就在于此。

  • 由组播路由表来指导组播报文转发。
  • 由 RPF(Reverse Path Forwarding,反向路径转发)机制保证组播路由是一棵最短路径树。RPF 机制是大部分组播路由协议创建组播路由表项、进行组播转发的基础。

VIA:huawei

标签:组播,224.0,组播源,地址,原理,路由器,路由,描述
From: https://blog.csdn.net/u013669912/article/details/139483215

相关文章

  • 机器人位姿描述
    机器人的位姿描述与坐标变换是进行工业机器人运动学和动力学分析的基础。本节简要介绍上述内容,明确位姿描述和坐标变换的关系,用到的基本数学知识就是——矩阵。1位姿表示位姿代表位置和姿态。任何一个刚体在空间坐标系(OXYZ)中可以用位置和姿态来精确、唯一表示其位置状态。......
  • 【第五章】计算机组成原理章节重点第五章外部设备
    第五章外部设备(I/O设备)一、输入设备(InputDevice)1、键盘(Keyboard)(1)按键特点“QWERTY”排列,亦称“柯蒂”键盘//如此排列主要是避免按键卡死按键数目早期83键//无功能区(F1—F12)和小数字区101键和102键//386和486普遍使用108键或更多//现在普遍采用(2)工作原理逐行扫......
  • 计算机组成原理(二进制、八进制、十进制、十六进制的转化)
    详情请到B站上搜索:【最强干货】详解二进制,八进制,十进制,十六进制的相互转换1二进制如何转成十进制 二进制的1011可转化为十进制的:1×+0×+1×+1×=此处的下标10代表该数是十进制数即从右往左开始,每个数字按照顺序依次乘以 、、……2八进制如何转十进制:八进制中一共有......
  • LeViT(ICCV 2021)原理与代码解析
    paper:LeViT:aVisionTransformerinConvNet'sClothingforFasterInferenceofficialimplementation:https://github.com/facebookresearch/LeViTthird-partyimplementation:https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/levit.......
  • 深度学习--风格迁移 原理以及实现--84
    目录1.简介4.损失函数参考链接:https://blog.csdn.net/ssshyeong/article/details/1270923541.简介ImageStyleTransferUsingConvolutionalNeuralNetworks:Gram矩阵(CVPR2016)链接TextureSynthesisUsingConvolutionalNeuralNetworks图像经过卷积层后得到的特征图......
  • 402、基于51单片机的火灾报警(3房间,温度,数码管)(程序+Proteus仿真+原理图+流程图+元器件
    毕设帮助、开题指导、技术解答(有偿)见文未目录方案选择单片机的选择一、设计功能二、Proteus仿真图单片机模块设计三、原理图四、程序源码资料包括:需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。方案选择单片机的选择方......
  • 400、基于51单片机的电压表(1路,ADC0832,LCD1602)(程序+Proteus仿真+原理图+流程图+元器件
    毕设帮助、开题指导、技术解答(有偿)见文未目录方案选择单片机的选择显示器选择方案一、设计功能二、Proteus仿真图单片机模块设计三、原理图四、程序源码资料包括:需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。方案选择......
  • Android JSBridge 详解(背景和原理、特性和挑战、应用场景和实现方法)
    AndroidJSBridge详解(背景和原理、特性和挑战、应用场景和实现方法)JSBridge(JavaScriptBridge)是一种用于在JavaScript和Native代码之间进行通信的技术,常用于在Web应用中调用Native功能或在Native应用中嵌入Web页面。在Android平台上,JSBridge可以实现通过......
  • 开关电源基本原理1
    目录内容概述关于电感认识电感电感充电电感储能电感充电电感参数电感放电利用电感升压电感电流波形伏秒法则电流纹波率电感电流三种导电模式电流纹波率与频率的关系电流纹波率与电感值的关系电感值与电感体积电路纹波率r的最优值电感值与电感体积内容概述......
  • Jira的原理及应用详解(一)
    本系列文章简介:        在当今快速发展的软件开发和项目管理领域,有效的团队协作和精确的项目进度追踪是确保项目成功的关键。Jira作为一款广受欢迎的项目和问题追踪工具,以其强大的功能、灵活的定制性以及卓越的用户体验,赢得了全球众多企业的青睐。        Ji......