首页 > 其他分享 >第二十一篇:你知道直播,小区视频点播等是怎么实现的吗?(组播协议)

第二十一篇:你知道直播,小区视频点播等是怎么实现的吗?(组播协议)

时间:2024-10-11 11:51:02浏览次数:9  
标签:协议 组播 主机 第二十一 视频点播 路由器 路由 IGMP

你知道直播,小区视频点播等是怎么实现的吗其实现就是运用了组播

信息从信息源发送给组播成员,肯定不能全网无选择的传播,那不是组播,那就是广播了,路由器不支持广播,却支持组播!为了让信息更快的到达组播成员,需要建立组播路由和组播成员管理。

1、组播协议由两部分协议组成

1)组成员管理协议;IGMP协议

用于管理组播组成员的加入和离开;以及组员查询。

IGMP协议⼯作在主机(组播成员)和最后⼀跳路由器之间,如上图中的蓝⾊部分。

2)组播路由协议;PIM协议

运行在三层在组播设备之间,用于建立和维护组播路由表,并正确高效的转发组播报文。

其工作在组播发送端与最后⼀跳路由器之间,做信息路由。

2、组成员管理协议IGMP协议

1)Internet 组管理协议,英文全称:Internet Group Management Protocol,简称IGMP协议。该协议是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间。
2)IGMP提供了在转发组播数据包到目的地最后阶段所需的信息,实现如下双向的功能:

⑴ 主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。

⑵ 路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所 连网段组成员关系的收集与维护。

3)IGMP ⼯作机制

IGMP共有三个版本,即IGMP v1、v2 和 v3。

接下来,以 IGMPv2 作为例⼦,说说路由器常规查询组播成员和加入/离开组播组这两个功能的⼯作机制。

(1)主机加入/离开组播

加入很简单,只需要向组播路由器发送一个加入的加入报文即可。这里主要讲组播成员的离开。

离开组播组的情况⼀,⽹段中仍有该组播组:

(2)主机 1 要离开组 224.1.1.1,发送 IGMPv2 离组报⽂,报⽂的⽬的地址是 224.0.0.2(表示发向⽹段内的所有路由器)

(3)路由器 收到该报⽂后,以 1 秒为间隔连续发送 IGMP 特定组查询报⽂(共计发送 2 个),以便确认该⽹络是否还有 224.1.1.1 组的其他成员。

(4)主机 3 仍然是组 224.1.1.1 的成员,因此它⽴即响应这个特定组查询。路由器知道该⽹络中仍然存在该组播组的成员,于是继续向该⽹络转发 224.1.1.1 的组播数据包。

离开组播组的情况⼆,⽹段中没有该组播组:

(5)主机 1 要离开组播组 224.1.1.1,发送 IGMP 离组报⽂。

(6)路由器收到该报⽂后,以 1 秒为间隔连续发送 IGMP 特定组查询报⽂(共计发送 2 个)。此时在该⽹段内,组 224.1.1.1 已经没有其他成员了,因此没有主机响应这个查询。

(7)⼀定时间后,路由器认为该⽹段中已经没有 224.1.1.1 组播组成员了,将不会再向这个⽹段转发该组播地址的数据包。

(8)路由器组播成员查询

(9)路由器会周期性发送⽬的地址为 224.0.0.1 (表示同⼀⽹段内所有主机和路由器) IGMP 常规查询报⽂。

(10)主机1 和 主机 3 收到这个查询,随后会启动「报告延迟计时器」,计时器的时间是随机的,通常是 0~10 秒,计时器超时后主机就会发送 IGMP 成员关系报告报⽂(源 IP 地址为⾃⼰主机的 IP 地址,⽬的 IP 地址为组播地址)。如果在定时器超时之前,收到同⼀个组内的其他主机发送的成员关系报告报⽂,则⾃⼰不再发 送,这样可以减少⽹络中多余的 IGMP 报⽂数量。

(11)路由器收到主机的成员关系报⽂后,就会在 IGMP 路由表中加⼊该组播组,后续⽹络中⼀旦该组播地址的数据到达路由器,它会把数据包转发出去。

3、组播路由协议PIM协议

组播路由协议的主要任务就是构造组播的分布树,使组播分组能够传送到相应的组播组成员。根据对网络中的组播成员的分布和使用的不同,组播路由协议分为两类:密集模式路由协议(DM)和稀疏模式路由协议(SM)。

(1) 密集模式组播(PIM-DM)

  密集模式组播路由协议适用于小型网络。它假设网络中的每个子网都存在至少一个对组播组感兴趣的接收站点。因此,组播数据包被扩散到网络中的所有点。与此伴随着相关资源(带宽和路由器的CPU等)的消耗。为了减少这些宝贵网络资源的消耗,密集模式组播路由协议对没有组播数据转发的分支进行剪枝操作,只保留包含接收站点的分支。为了使剪掉的分支中有组播数据转发需求的接收站点可以接收组播数据流,剪掉的分支可以周期性地恢复成转发状态。为了减少等待剪枝分支恢复转发状态的延时时间,密集模式组播路由协议使用嫁接机制主动加入组播分布树。这种周期性的扩散和剪枝现象是密集模式协议的特征。 一般说来,密集模式下数据包的转发路径是“有源树”——以“源”为根、组员为枝叶的一棵树。

  密集模式下的典型路由协议是密集模式下的协议无关组播(Protocol-Independent Multicast-Dense Mode,PIM-DM)、距离向量组播路由协议(Distance Vector Multicast Routing Protocol,DVMRP)。

(2) 稀疏模式组播(PIM-SM)

  稀疏模式默认所有机器都不需要收组播包,只有明确指定需要的才转发。接收站点为接收到特定组的数据流,必须向该组对应的“汇聚点”发送加入消息,加入消息所经过的路径就变成了共享树的分支。发送组播时,组播报文发送到汇聚点,再沿以汇聚点为根的组员为枝叶的“共享树”转发。为避免共享树的分支由于不被更新而被删除,稀疏模式组播路由协议通过向分支周期性地发送加入消息来维护组播分布树。

  发送端如果想要给特定的地址发送数据,首先要在汇聚点进行注册,之后把数据发向汇聚点。当数据到达了汇聚点后,组播数据包被复制并沿着分发树路径把数据传给对其感兴趣的接收者。复制仅仅发生在分发树的分支处,这个过程能自动重复直到数据包最终到达目的地。

  稀疏模式下的典型路由协议是稀疏模式下的协议无关组播。

标签:协议,组播,主机,第二十一,视频点播,路由器,路由,IGMP
From: https://blog.csdn.net/u013501979/article/details/142850286

相关文章

  • 第二十一章 实战青龙流式系统问题总结
    我们在实际的开发过程会遇到很多的问题,这里总结和归纳,可以帮助各位流式协议带来的限制媒体流属性的随机化处理RTC协议要求接收方在接收到媒体流后复写mediatrack上的id,label,contentHint等属性以保证流属性不会泄漏发送者的媒体设备信息,并使流在P2P网络中唯一.这......
  • 组播分发树
            ......
  • 【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
    2024“华为杯”第二十一届中国研究生数学建模竞赛选题分析【腾讯文档】docs.qq.com/doc/DZmRFT0dQY3FreFRhA题:风电场有功功率优化分配这个题是关于风电场有功功率优化分配的数学建模问题,涉及概率论与统计学理论。适合电气工程、机械工程、能源功能、计算机、自动化、......
  • 第二十一讲:MySQL有哪些“饮鸩止渴”提高性能的方法?
    第二十一讲:MySQL有哪些“饮鸩止渴”提高性能的方法?简概引言​ 不知道你在实际运维过程中有没有碰到这样的情景:业务高峰期,生产环境的MySQL压力太大,没法正常响应,需要短期内、临时性地提升一些性能。​ 我以前做业务护航的时候,就偶尔会碰上这种场景。用户的开发负责人说,不管你......
  • "华为杯”第二十一届中国研究生数学建模竞赛思路+代码预定
    一、赛题分析“华为杯”中国研究生数学建模竞赛每年都会围绕着科技前沿和社会热点问题,设置富有挑战性的赛题。在赛题发布之前,我们可以通过以下途径提前预判可能的赛题方向:关注国家科技发展规划和重大科研项目:关注社会热点问题和产业发展趋势:研究往届赛题:二、竞赛备赛思路在拿......
  • 广播与组播,超时检测
    目录一.超时检测必要性超时检测的设置方法1. 通过函数自带的参数设置   2. 通过设置套接字属性进行设置3. alarm函数与sigaction函数结合二.广播与组播(broadcast&multicast)1. 广播(udp)理论:发送者接收者2. 组(多)播(udp)理论发送者接收者一.超时检......
  • 《DNK210使用指南 -CanMV版 V1.0》第二十一章 machine.UART类实验
    第二十一章machine.UART类实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html......
  • 后端给前端传递数据形式:广播 单播以及组播
    目录1.单播2.广播3.组播4.任播5.总结网络数据在传输时需要使用特定的传输方式,其中最常见的包括单播、广播、组播和任播。本文将对这四种不同的网络传输方式进行详细介绍,并列举多个例子以说明不同场景下使用何种传输方式。1.单播单播是指一种向单个目标地址传送数......
  • 代码随想录算法训练营第二十一天| 39. 组合总和, 40.组合总和II, 131.分割回文串
    今天是回溯算法学习的第二天,主要的学习内容包括:1.组合问题的重复使用2.组合问题的去重3.分割问题的处理方法。39.组合总和题目链接:39.组合总和-力扣(LeetCode)这个组合问题的特点是,集合内的元素可以重复使用。与前面组合问题的区别在于,在每一次回溯中,不是从i+1的位置开......
  • 组播通信实验
    文章目录前言一、服务类型二、组播地址范围三、IGMP版本区别验证版本信息igmpv1igmpv2四、PIM原理与配置Pim-dm基础配置配置组播协议Pim-sm基础配置配置组播协议前言组播是计算机网络中数据传输的一种基本方式,组播结合了单播的点对点和广播的广泛覆盖的优点,是一种高......