组播基础-1

news/2024/9/28 0:22:26 标签: 网络, 服务器, 运维, ip

文章目录

  • 组播的应用场景
  • 组播解决方案
  • 组播服务模型
  • 组播地址
  • 组播协议
  • 域内组播路由协议
  • 域间组播路由协议

组播的应用场景

  • 多媒体、流媒体的应用:网络电视、网络电台、实时视频会议
  • 培训、联合作业,远程医疗、远程教育
  • 等点到多点的数据发布应用

组播解决方案

  • 信息的发送者为:组播源
  • 接受相同信息的接收者构成一个组播组,并且每个接收者都是组播组成员
  • 提供组播功能的路由器成为:组播组路由器
  • 组播路由器不仅提供组播路由功能,也提供组成员管理功能,也可以是组播组成员

组播服务模型

针对接收者对源如何进行选择

ASM----any----任意组播源

任意发送者都可以成为组播源,接收者无法预先知道组播源的位置,接收者可以在任意时间加入或者离开该主机组

要求组播地址必须是整个组播网络中唯一(同一时刻一个ASM地址只能被一种组播应用使用)

接收端只能选择加入某组播组,而无法具体选择组播源

SSM----Specify----源指定组播(特定源)

接收者在加入组播组时,可以指定只接受哪些源的数据

加入组播组之后,主机只会收到指定源发送到该组的数据

组播地址不再要求全网唯一,只需要每个组播源上保持一致(同一个源上不同的组播应用必须使用不同的SSM地址来区分)

接收端指定组播源



组播地址

一个组播组就是一个IP地址,不表示具体的主机,而是表示一系列的集合,主机加入某个组播组即声明自己接受目的为某个IP地址的报文

D类地址空间:224.0.0.1——239.255.255.255,只作为目标地址

永久组播地址:为路由协议预留的组播地址,标识一组特定的网络设备,也称为保留组播组
永久组播地址保持不变,组成员的数量可以是任意的,甚至为零

临时组播地址:为用户组播组临时分配 IP 地址,组成员的数量一旦为零即为取消

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 临时组地址,全网范围内有效
232.0.0.0——232.255.255.255用户可用的SSM临时组地址,全网范围内有效
239.0.0.0——239.255.255.255用户可用的ASM临时组地址,仅在特定的本地管理域内有效,称为本地管理组播地址(无接触)

224.0.0.1----所有系统,包括主机和路由器
224.0.0.2----所有组播路由器
224.0.0.3----未分配
224.0.0.4----DVMRP(距离矢量组播路由协议)
224.0.0.5----OSPF 路由器
224.0.0.6----OSPF DR和BDR
224.0.0.7----ST 共享树路由器
224.0.0.8----ST 主机
224.0.0.9----RIPv2路由器
224.0.0.10----EIGRP协议
224.0.0.11----移动代理
224.0.0.12----DHCP服务器或中继代理
224.0.0.13----PIM 路由器

224.0.0.18----VRRP虚拟网关



组播协议

组播基本架构

组播源到路由器----组播数据的生成

路由器到路由器----组播数据的转发

路由器到接收端----组播数据的接收



域内组播路由协议

DVMRP:距离矢量组播路由协议,一种密集模式的协议,该协议有跳数限制,最大跳数32跳

MOSPF:OSPF路由协议的扩展协议,通过重新定义新的LSA来支持组播,就是六类 LSA

PIM:协议无关组播,DM密集模式,SM稀疏模式。PIM必须和单播路由协议同时工作



域间组播路由协议

MSDP:能够跨越AS传播组播源信息

MP-BGP:能够跨越AS传播组播路由

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


http://www.niftyadmin.cn/n/5679911.html

相关文章

Python | Leetcode Python题解之第430题扁平化多级双向链表

题目: 题解: class Solution:def flatten(self, head: "Node") -> "Node":def dfs(node: "Node") -> "Node":cur node# 记录链表的最后一个节点last Nonewhile cur:nxt cur.next# 如果有子节点&#…

脚手架是什么?详细版+通俗易懂版!!!!!!

脚手架(Scaffolding)在软件开发领域,特别是在前端开发和全栈开发环境中,是一个术语,用来描述一个辅助工具或框架,它旨在帮助开发者快速搭建项目的基础结构和开发环境。这些基础结构可能包括项目的目录结构、…

【ARM】解决ArmDS Fast Models 中部分内核无法上电的问题

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决ArmDS Fast Models 中部分内核无法上电的问题。 2、 问题场景 在调用ArmDS的Fast Models中的Cortex-A55的模型,只有Core 0是上电状态,而Core 1处于掉电状态,如图2-1所示&…

【锁住精华】MySQL锁机制全攻略:从行锁到表锁,共享锁到排他锁,悲观锁到乐观锁

MySQL有哪些锁 1、按照锁的粒度划分 行锁 是最低粒度的的锁,锁住指定行的数据,加锁的开销较大,加锁较慢,可能会出现死锁的情况,锁的竞争度会较低,并发度相对较高。但是如果where条件里的字段没有加索引&…

优化 Go 语言数据打包:性能基准测试与分析

场景:在局域网内,需要将多个机器网卡上抓到的数据包同步到一个机器上。 原有方案:tcpdump -w 写入文件,然后定时调用 rsync 进行同步。 改造方案:使用 Go 重写这个抓包逻辑及同步逻辑,直接将抓到的包通过网…

通义千问:让我的编程工作效率翻倍的秘密武器

在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度,甚至让团队协作更加顺畅。在这篇博客中,我将分享一个让我工作效率翻倍的编程工具——通义千问大…

C#和数据库高级:虚方法

文章目录 一、抽象方法和抽象类中的思考1.1、回顾抽象方法的特点1.2、针对抽象方法问题的引出 二、虚方法的使用步骤2.1、虚方法重写方法的调用2.2、系统自带的虚方法2.3、重写Equals方法2.4、虚方法和抽象方法的比较 三、虚方法和抽象方法的联系3.1、ToString()方法的应用 一、…

利用 Local Data 导入文件到 OceanBase 的方法

背景 在很多传统方法中,数据的传输常依赖于csv格式。为了提高传输效率,属于同一张表的多个csv文件往往会被打包成gz文件进行传输。 当gz文件从上游传递到下游后,为了将其中的csv数据导入数据库,一种直接的做法是: 1…