(计算机应用技术专业论文)基于应用层组播的流媒体主动修补技术研究.pdf_第1页
(计算机应用技术专业论文)基于应用层组播的流媒体主动修补技术研究.pdf_第2页
(计算机应用技术专业论文)基于应用层组播的流媒体主动修补技术研究.pdf_第3页
(计算机应用技术专业论文)基于应用层组播的流媒体主动修补技术研究.pdf_第4页
(计算机应用技术专业论文)基于应用层组播的流媒体主动修补技术研究.pdf_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑州大学硕士学位论文 摘要 随着互联网的迅猛发展 流媒体服务已经成为如t e r n e t 上相当重要的一种 业务 而且发展迅速 流媒体具有数据量大 持续时间长 实时性要求高的特 点 当并发用户数量很大时 一般的单播服务器 服务器集群 i p 组播都不能 很好的满足要求 应用层组播由于部署方便 可专门对流媒体传输进行优化 成为了目前最流行的流媒体传输技术 但应用层组播中数据的复制和转发都依 赖不稳定的端系统 一旦组播树中的中间节点离开 就导致流媒体数据不能完 整的接收 流媒体回放的连续性受到影响 本文分析了应用层组播流媒体直播系统连续性问题的产生原因 研究了现 有的几种主要解决方案及其优缺点 基于重加入后再修补的思路 设计了一种 分布式的主动修补方案 为方便在缓冲和修补时的定位 该方案首先在组播树 的根节点对数据进行序列化包装 通过节点在回放前的缓冲 保证了断连后可 以继续回放一定时间 通过回放后的缓冲 节点可以保存数据以便为其它节点 修补 新父节点通过重加入报文获得修补起始点信息 并启动新的线程向其传 输自身缓冲中的匹配数据来完成修补 此外 该方案通过节点第一次加入后的 虚拟修补可以减少第一次回放前的等待时间 主动式修补保证了节点对流媒体 的连续回放 稳定的回放质量 与其他修补技术相比 主动修补方案不需要额 外的控制花销 而且初始回放的延迟短 并有更好的修补效果 通过仿真试 验 也证明它的优越性 关键词组通信 应用层组播 流媒体 连续性 视频修补 郑州大学硕士学位论文 自 l e e 一 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n t o ft h ei n t e r n e t s t r e a m i n gm e d i a s e r v i c e s h a v eb e c o m eq u i t ep o p u l a rs e r v i c e s a n dd e v e l o p i n gr e a l l y f a s t s t r e a m i n gm e d i ah a v et h e s ec h a r a c t e r s l a r g ev 0 1 u m eo fd a t a 1 0 n gd u r a t i o n h i g h l yr e a 卜t i m e w h e nl a r g en u b e ro fu s e r s1 0 9 i n s i m u l t a n e o u s l y ag e n e r a lm e d i as e r v e rw i l l f a i lt om e e ta 1 1t h e r e q u i r e m e n t s s e r v e rc l u s t e r sa r ec o s t l y a n dt h e y o n l ys u p p o r t a b o u t1 5 0 0c o n c u r r e n tu s e r sa tm o s t i pm u l t i c a s ta r ef a c i n g d i f f i c u l t i e si nd e p l o y m e n t t h u sa p p l i c a t i o nl a y e r u l t i c a s th a s b e c o et h em o s tp o p u l a rs t r e a m i n gm e d i at r a n s m i s s i o nt e c h n 0 1 0 9 y h o w e v e r a p p l i c a t i o n1 a y e r 叫l t i c a s t t r e e sa r eb u i l d i n go no v e r l a y n e t w o r k sm a d eu pw i t he n d s y s t e m s i th a si n h e r e n tu n c e r t a i n t y p r o b l e m s w h i c hb r i n gn e g a t i v ei n f l u e n c et os t r e a m i n g m e d i a s c o n t i n u i t y t h i st h e s i s a n a l y z e d t h ec a u s e so fv i d e o d i s c o n t i n u i t y t r a n s m i t t e db yt h ea p p l i c a t i o n1 a y e rm u l t i c a s tt r e e a n ds t u d i e d s e v e r a lc u r r e n ts 0 1 u t i o n sa n dp o i n t e do u tt h e i ra d v a n t a g e sa n d d i s a d v a n t a g e s w ep r e s e n t e dad i s t r i b u t e di n i t i a t i v ep a t c h i n g s 0 1 u t i o n t h r o u g hc l i e n tn o d eb u f f e r i n gb e f o r ea n da f t e rp l a y b a c k a n dt h en e wp a r e n t sp a t c h i n gt ot h ed i s c o n n e c t e dn o d ea f t e ri t r e j o i n e dt h et r e e t h i ss 0 1 u t i o nc a nr e s t o r em i s s e dd a t ad u r i n gt h e n o d ed i s c o n n e c t e dw i t ht h et r e et o r e j o i n e d t oi t s u c c e s s f u l l y a s s u r e s t r e a m i n gm e d i a sp l a y b a c kc o n t i n u i t yw i t hs t a b l eq u a l i t y i i 郑州大学硕士学位论文 自 e 一 c o m p a r e d w i t ho t h e rp a t c h i n gt e c h n i q u e s s u c hs o l u t i o nn e e dn o a d d i t i o n a lc o n t r o lo v e r h e a d h a ss h o r t e ri n i t i a lp l a y b a c kd e l a ya n d b e t t e rp a t c h i n ge f f e c t f i n a l l y a c c o r d i n gt os i m u l a t i o nt e s t s i t h a sb e t t e rp e r f o r m a n c et h a no t h e rt e c h n o l o g i e s k e y w o r d sg r o u pc o 衄u n i c a t i o n a p p l i c a t i o nl a y e rm u l t i c a s t s t r e 硼i n gm e d i a s t r e a m i n g e d i ac o n t i n u i t y v i d e op a t c h i n g i i i 郑重声明 本人的学位论文是在导师指导下独立撰写并完成的 学位论文没有剽窃 抄袭等违反学术道德 学术规范的侵权行为 否则 本人愿意承担由此产生的 一切法律责任和法律后果 特此郑重声明 学位论文作者 签名 下蒋谚 y 弗年 日矽日 郑州大学硕士学位论文 第l 章绪论 本章首先介绍了本课题的研究背景 然后针对互联网上大规模并发用户的 流媒体应用需求 分析了现有的几种解决方案一一集群流媒体服务器 口组 播 应用层组播的技术特点和问题 描述了几种方案在实际应用中的情况 提 出了应用层组播给流媒体带来的连续性问题和几种解决思路 最后介绍了本文 所做的主要工作以及论文的整体结构安排 1 1 研究背景 随着互联网的迅猛发展 人们对互联网上多媒体应用和服务的需求越来越 强烈 传统的以文字和图像为主的w 曲页面已经不能满足人们的需要 现如 今 流媒体服务已经成为i n t e m e t 上相当普及的一种服务 而且发展迅速 然 而流媒体应用不同于w 曲上普通的文本 图片的浏览 有其独特的一面 和文 本文件相比 音 视频文件要大的多 且要求具有实时性 所以传送视频时需要 很高的带宽 虽然现在网络带宽的增长也很快 但对高质量的视频直播来说 还是不够的 特别在并发用户数量较高时 比如重大体育赛事的直播 带宽问 题就更加严重 同时单台服务器的处理能力也远远达不到要求 针对大规模并发用户带来的问题 现在有几种解决方案 1 集群流媒体服务器 1 3 上世纪8 0 年代 以微软的t i g e rs h a r k 4 流 媒体集群文件系统和美国南加必f 大学的y i m a 5 集群视频服务系统为代表的技 术希望通过集群技术来提高流媒体服务系统中s e n e r 端的服务能力 在这种架 构中 前端开发了一个门户结点和多个中继结点 使燕个后台服务器群基本能 保持负载平衡 提供给用户高性能的流媒体服务 在外面用户看来整个系统就 是一个高性能流媒体服务器 然而 由于流媒体服务中高带宽 高实时性的需 郑州大学硕士学位论文 求 使得这类系统在服务能力上仍然只能停留在同时服务千余人的规模 而且 随着用户数量的增加 服务器数量也要线性增加 要满足峰值情况下的并发用 户请求 造价十分昂贵 而并发用户少时 服务器资源又得不到有效利用 2 1i p 组播 i pm u l t i c a s t 1 9 8 9 年s t a n f b r d 大学的s t e v e n sd e e r i n g 提出 了i p 组播技术的设想 6 在i p 组播方式中 不论组成员数量的多少 数据源 只发送一次数据包 并且组播只向那些需要数据包的主机和网络发送包 以组 播地址寻址 在共享的链路上 相同的信息只需要一个组播流 从而能够很 好地控制流量 减少了主机和网络的负担 提高了网络应用服务的效率和能 力 i p 组播通过路由器来实现数据的复制和分发 是最有效率的群组通信方 式 但由于要靠路由器来保存每个组的状态信息 扩展性不高 口组播要求所 有端系统之间的路由器都支持组播 部署困难 i p 层组播用一种模型对应于不 同的应用 灵活性不高 在i p v 4 中组播使用d 类地址 地址空间太小 在i p 组播的设计中没有考虑计费模式 由于以上的缺陷 现有的i n t e m e t 缺乏对i p 层组播技术的广泛支持 使得这种技术在产业界没有得到有效的实现 3 应用层组播 a p p l i c a t i o nl 憎m u l t i c a s t 面对i p 组播业务在因特网 中的困境 一些研究者开始反思p 组播体系结构本身的问题 针对i p 组播存 在的这些问题 提出将复杂的组播功能放在端系统实现的新思想 于是出现了 一种以底层网络为基础的基于叠加网的应用层组播协议 叠加网 o v e r l a y n e t w o r k s 是 个位于一个或多个已知网络上的独立的虚拟网络 它的主要优点 在于它的架构 它不需要改变底层网络的结构 可以快速部署所需的网络功 能 如果在叠加网的基础上实现组播 我们可以把组播实现提高到应用层 端 系统实现组播业务的思想是将组播作为一种叠加的业务 实现为应用层的服 务 应用层组播与网络层组播最大的区别在于 网络层组播依赖路由器来构造 转发树 而应用层组播是在端系统之间构造转发树 处于网络层的路由器只需 邦州大学硕士学位论文 支持单播就可以了 在实际应用中 集群流媒体服务器由于投资太大 只有少部分资金雄厚的 服务商采用 可同时提供给几十到千余用户使用 组播由于部署困难 多在 内部网络中使用 应用层组播在经过了几年的原型系统研究后 技术逐渐成 熟 最近两年呈现高速发展的态势 仅在国内 近两年就先后出现了 c o o l s t r e 踟i n g 7 p p l i v e 8 9 p p s 仃e 姗 1 0 q q l i v e 1 l t v m t s 1 2 等一 大批基于应用层组播的流媒体直播系统 基于应用层组播的流媒体直播系统已 经占据了市场的很大份额 并在继续快速增长中 应用层组播在端系统之间构造转发树 不需依赖路由器对组播的支持 这 是它的优点 但也正因如此 给应用层组播带来了一个天生的问题 那就是组 播树中的节点会随意的加入 退出 使得组播树不停的出现断裂 数据转发中 断 在用于流媒体传输上就导致媒体回放的停顿 跳跃或是质量的抖动 流媒 体的连续性得不到保障 严重影响用户的使用感受 针对这个问题 现在主要从下面几个途径去解决 1 减少组播树的断裂次数 2 加快断开节点的重加入 r q o i n 过程 3 断开节点重加入后的修补 前两种途径已经有不少人研究 但都不能彻底解决流媒体的连续性问题 修补技术现在的研究还不多 不过其和具体应用层组播协议结合不紧密 可以 附加在大多数协议之上 适用性广 效果也很好 1 2 本文的研究内容和研究目标 本文的工作主要围绕应用层组播用于流媒体传输时带来的连续性问题展 开 研究内容包括 郑州大学硕士学位论文 1 1 流媒体应用层组播系统连续性问题产生的原因 2 现有解决方案的分析总结 3 提出一种新的解决方案 本文的研究目标为 改善应用层组播先天缺点带来的流媒体连续性问题 减少节点重加入过程中的丢失数据 减少媒体回放停顿的频率 给用户带来更 完美的使用体验 1 3 本文的工作成果 通过对基于应用层组播的流媒体系统的连续性问题进行研究 分析了其产 生的原因 研究了现存的几种解决方案 并分析了他们的优缺点 提出了一种 新的分布式的主动修补方案 在基本不带来附加控制开销的情况下 大大减小 了重加入过程中的数据丢失 减少了媒体回放停顿的频率 并且通过初始虚拟 修补技术 初始延迟可以减少一半时间 1 4 本文的组织结构 全文共分六章 第一章为绪论 介绍了本文的研究背景 概括了本文的研究内容 目标和 成果 第二章介绍了相关的应用层组播和流媒体技术基础知识 第三章分析了基于应用层组播的流媒体直播系统的连续性问题产生原因 研究了现有的对连续性问题的解决方案 并分析了它们各自的优缺点 第四章提出了一种新的分布式主动修补技术 并给出了系统的模块设计方 案和专门的包封装格式 分析了组播树断裂时节点缓冲变化的几种情况 最后 在理论上分析了其与其他解决方案的性能差异 第五章对几种修补方案作了对比仿真实验 比较了不同节点平均生存时间 d 郑州大学硕士学位论文 和不同节点规模下 几种方案的数据完整率和回放停顿频率 并分析了本文提 出的主动式修补优于其他方案的原因 第六章总结了本文的工作 创新点 以及不足之处 并给出了进一步的研 究方向 郑卅l 大学坝士掌位论又 第2 章流媒体与应用层组播技术 流媒体技术和应用层组播技术是基于应用层组播的流媒体直播系统用到的 主要技术 本章将对这两项技术做简单的介绍 2 1 流媒体技术 2 1 1 流媒体定义 流媒体 s t r e 锄m gm e d i a 1 3 是指在网络上按时间先后次序传输和播放 的连续音 视频数据流 流媒体把连续的影像和声音信息经过特殊的压缩方式分成一个个压缩包 由视 音频服务器向用户计算机连续 实时地传送 让用户一边下载一边观 看 收听 而不需要等整个压缩文件下载到自己的机器后才可以观看 该技术 先在用户端的电脑上创造一个缓冲区 于播放前预先下载文件的一小段数据作 为缓冲 播放程序取用这一小段缓冲区内的数据进行播放 在播放的同时 多 媒体文件的剩余部分在后台继续下载填充到缓冲区 这样 当网络实际连线速 度小于播放所耗用数据的速度时 可以避免播放的中断 也使得播放品质得以 维持 所以流媒体最显著的特征是 边下载 边播放 与传统多媒体相比 流媒体具有以下优点 1 启动延迟大幅度地缩短用户不用等待所有内容下载到硬盘上才开始浏 览 一般来说 一个4 5 分钟的影片片断在1 分钟以内就能够显示在客户端 上 而且在播放过程中一般不会出现断续的情况 2 对系统缓存容量的需求大大降低 由于i n t e m e t 是以包传输为基础进 行断续的异步传输 数据被分解成许多包进行传输 动态变化的网络使各个包 可能选择不同的路由 故到达用户计算机的时间延迟也就不同 所以 在客户 6 郑州大学硕士学位论文 端需要缓存系统来弥补延迟和抖动的影响以及保证数据包传输顺序的正确 使 媒体数据能连续输出 不会因网络暂时拥堵而使播放出现停顿 虽然流式传输 仍需要缓存 但由于不需要把多媒体文件所有的动画 视 音频内容都下载到 缓存中 因此 对缓存的要求大大降低了 3 1 流式传输的实现有特定的实时传输协议采用r t s p 等实时传输协议 更加适合动画 视 音频在网上的流式实时传输 2 1 2 流式传输 2 1 2 1 流式传输基础 流式传输是流媒体实现的关键技术 流式传输定义很广泛 现在主要指通 过网络传送媒体 如视频 音频 的技术总称 其特定含义为通过 i m e m e 们n t r a n e t 将影视节目传送到p c 机 首先 流式传输的实现需要缓存 这是因为要使用缓存系统来弥补延迟和 抖动的影响 并保证数据包的顺序正确 从而使媒体数据能连续输出 而不会 因为网络暂时拥塞使播放出现停顿 通常高速缓存所需容量并不大 因为高速 缓存使用环形链表结构来存储数据 通过丢弃已经播放的内容 流可以重新利 用空出的高速缓存空间来缓存后续尚未播放的内容 再次 流式传输的实现需要合适的传输协议 w w w 技术是以h r r p 为 基础的 而h t t p 又建立在t c p 基础之上 由于t c p 需要较多的开销 故 不太适合传输实时数据 在流式传输的实现方案中 一般采用h t t p r c p 来 传输控制信息 而用r t p t d p 来传输实时音视频数据 流式传输的过程一般是这样的 用户选择某一流媒体服务后 w 曲浏览 器与w 曲服务器之间使用h t t p r c p 交换控制信息 以便把需要传输的实 时数据从原始信息中检索出来 然后客户机上的w 曲浏览器启动流媒体播放 程序 使用h t t p 从w 曲服务器检索相关参数对流媒体播放程序初始化 7 郑州大学硕士学位论文 这些参数可能包括目录信息 a v 数据的编码类型或与a 检索相关的服务 器地址 流式传输的过程可见下所示 图2 1 流式传输过程 流媒体播放程序及a v 服务器运行实时流协议 r t s p 以交换a v 传 输所需的控制信息 与c d 播放机或录像机所提供的功能相似 r t s p 提供了 操纵播放 快进 快倒 暂停及录制等命令的方法 刖v 服务器使用 r t 咖p 协议将 w 数据传输给剐v 客户程序 一般可认为客户程序等同 于h e l p e r 程序 一旦 v 数据抵达客户端 流媒体播放程序即可播放输 出 需要说明的是 在流式传输中 使用r t p u d p 和r t s p 仃 p 两种不同 的通信协议与a 厂v 服务器建立联系 是为了能够把服务器的输出重定向到一 个不同于运行流媒体播放程序所在客户机的目的地址 实现流式传输有两种方法 实时流式 r e a l t i m es t r e 踟i n g 传输和顺序 流式 p r o g r e s s i v es 仃e a i i l i n g 传输 一般说来 如视频为实时广播 或使用流 式传输媒体服务器 或应用如r t s p 的实时协议 即为实时流式传输 如使 用h t t p 服务器 文件即通过顺序流发送 这种传输方式就称为顺序流式传 输 采用哪种传输方法依赖于用户的具体需求 当然 流式文件也支持播放前 完全下载到硬盘后再播放 郑卅i 大学硕士学位论文 2 1 2 2 顺序流式传输 顺序流式传输是顺序下载 在下载文件的同时用户可以观看在线媒体 在 给定时刻 用户只能观看已下载的那部分 而不能跳到还未下载的前头部分 顺序流式传输不像实时流式传输在传输期间根据用户连接的速度做调整 由于 标准的 r r t p 服务器可发送这种形式的文件 也不需要其他特殊协议 它经 常被称作l t t p 流式传输 顺序流式传输比较适合高质量的短片段 如片 头 片尾和广告 由于该文件在播放前观看的部分是无损下载的 所以这种方 法能够保证电影播放的最终质量 但这就意味着用户在观看前 必须经历延 迟 对较慢的连接尤其如此 对通过调制解调器发布短片段 顺序流式传输显得很实用 它允许用比调 制解调器更高的数据速率创建视频片段 尽管有延迟 毕竟可发布较高质量的 视频片段 顺序流式文件是放在标准m 1 1 p 或f t p 服务器上 易于管理 基本上与 防火墙无关 顺序流式传输不适合长片段和有随机访问要求的视频 如 讲 座 演说与演示 它也不支持现场广播 严格说来 顺序流式传输其实是一种 点播技术 2 1 2 3 实时流式传输 实时流式传输指保证媒体信号带宽与网络连接配匹 使媒体可被实时观看 到 实时流与h t t p 流式传输不同 它需要专用的流媒体服务器与传输协 议 实时流式传输总是实时传送 特别适合现场事件 也支持随机访问 用户 可快进或后退以观看前面或后面的内容 理论上 实时流一经播放就可不停 止 但实际上 可能发生周期暂停 实时流式传输必须配匹连接带宽 这意味着在以调制解调器速度连接时图 郑州大学硕士学位论文 像质量较差 而且 由于出错丢失的信息被忽略掉 网络拥挤或出现问题时 视频质量很差 如欲保证视频质量 顺序流式传输也许更好 实时流式传输需 要特定服务器 如q u i c k n m es 仃e 锄i n gs e r v e r r e a ls e r v e r 与w m d o w s m e d i as e r v e r 这些服务器允许用户对媒体发送进行更多级别的控制 因而系 统设置 管理比标准h t l 甲服务器更复杂 实时流式传输还需要特殊网络协 议 如 r t s p r e a l t 妇s 船锄i n gp r o t o c 0 1 1 4 或m m s m i c r o s o f im e d i a s e r v e r 这些协议在防火墙存在的情况下有时会出现问题 导致用户不能看到 一些地点的实时内容 2 1 3 流媒体实现原理 流媒体实现原理简单地说 就是通过采用高效的压缩算法 在降低文件大 小的同时伴随质量的损失 让原有的庞大的多媒体数据适合流式传输 然后通 过架设流媒体服务器 修改m i m e 标识 利用各种实时协议传输流数据 流 媒体实现原理图如图2 2 所示 垫墅薹t 鼍图煎基t 窜 j l 困逾式焦 电 i 圈 图2 2 流媒体实现原理 2 1 3 1 预处理 多媒体数据必须进行预处理才能适合流式传输 这是因为目前的网络带宽 相对多媒体巨大的数据流量来说还显得远远不够 预处理主要包括两方面 是采用先进高效的压缩算法 二是加入一些附加信息把压缩媒体转为适合流式 传输的文件格式 其技巧在于压缩原始的a 内容 使其能够在窄带或宽带 通道上以流的方式传给用户 预处理在编码器内完成 编码方式的选择可以是 多种多样的 m i c r o s o f r c a l n e m o r k s a p p l ec o i n p u t e r 以及其他各方均提供 1 0 郑州大学硕士学位论文 关于编码 流式传送以及客户观看等方面享有专用权的方案 此外 某些商家 已开始提供1 0 0 兼容m p e g 一4 的产品 常规视频编码速度的范围从2 0 k b i t s 到目前的3 0 0 k b i s 将来则有望达到1 m b i t s 及以上的速度 音 视频编码器在功能上有相当大的差别 最终的编码资料可以是利用文 本 图形 脚本形式进行多路传输的 并且是放在能够实现流的方式的文件结构 中 也就是意味着该文件有时间标记以及其他易于实现流的方式的特点 然后 再在客户端进行解码 编码过程是一种艺术 应该考虑不同编码速度的定制性能 包损失的容错 性与网络的带宽波动 最低速度下好的a 品质 编码 流式传送的成本 流 的控制以及其他有面 2 1 3 2 支持流媒体传输的网络协议 1 实时传输协议 瑚瞪 r e a l t i i n et r a n 印o r tp m t o c o i 1 5 一种用于 n e h l e t 上针对多媒体数据流的一种传输协议 2 实时传输控制协议 r t c p r e a l t i m et r a i l s p o r tc o n 拄0 1p r o t o c 0 1 和r t p 一起提供流量控制和拥塞控制服务 3 资源预留协议 r s v p r e s o l l r c er e s e r v a t i o np r l t o c 0 1 1 6 正在开 发的i n t e m e t 上的资源预留协议 4 实时流协议 r t s p r e a l t i m es 吮a t l l i n gp r o t o c 0 1 1 4 定义了一 对多的应用程序如何有效地通过口网络传送多媒体数据 2 2 应用层组播技术 自从s t e v e n sd e e d n g 在1 9 8 9 年提出i p 组播的概念以来 经过1 0 多年的 发展 口组播由于自身的问题 一直没有得到大规模的应用 研究者们开始反 思i p 层是否是实现组播的最佳层次 并开始尝试在其他层实现组播功能 应 郑州大学硕士学位论文 用层组播就是其中一个主要的研究方向 最近几年 应用层组播开始成为组播 的研究热点 各种原型系统 高度可扩展的应用层组播协议铺天盖地 席卷而 来 2 2 1 应用层组播原理 应用层组播的基本思想是保持互联网原有的简单 不可靠 单播的转发模 型 由端系统实现组播转发功能 这也是 e n d t o e n da r g 啪e m 1 7 所倡导的 思想 它有一些假设 1 网络的带宽和转发资源相对丰富 服务器能力是主要 瓶颈 2 组播组成员可贡献资源用于转发 3 应用对性能要求并不苛刻 可 容忍报文丢失和较大延迟 并不像口组播那样数据报在路由器进行复制转发 应用层组播的数据在 端系统上 e n ds y s t e m 复制并转发 同时端系统也负责组播组成员的管理 端系统在逻辑上组成了一个叠加网络拓扑 而应用层组播协议的主要目标就是 构造并维护一个有效的数据传输拓扑 图2 3 中 对简单单播 i p 组播和应用 层组播做了一个比较 图2 3 单播 口组播和应用层组播 图2 3 b 描述了简单的单播传输 可以看出在靠近数据源的链路上出现了 非常大的数据传输冗余 例如 链路a r 1 会传输3 份相同的数据 并且因此 导致在花费较高的链接 r 1 r 2 上出现重复的数据传输 图2 3 c 描述了用i p 组播协议构造的一个i p 组播树 可以看到i p 组播 有效地避免了冗余的数据传输 并且在每一个物理链接上仅有一个数据传输 1 2 郑州大学硕士学位论文 同时也使每个接收者获得了和单播同样的低延时 图2 3f d 描述了用应用层组播协议构成的一个应用层组播树 和 b 使 用的简单单播技术相比较 在临近数据源a 的链路a r 1 只出现了2 次相同的 数据传输 同时在花费较高的链路r 1 一r 2 上并没有出现数据传输冗余 由此可 以看出不需要任何的网络底层改变 也可以实现比较有效的组播传输 2 2 2 应用层组播的优势和局限 直观上 端系统实现组播功能可以避开网络层实现组播功能的许多难题 1 无i p 组播中复杂的地址结构 复杂的协议 2 应用层组播的状态在主机系统中维护 不需要路由器保持组的状态 解决了业务的扩展性问题 网络可以支持大量的组播组 灵活性地定制组播业 务 3 组播应用可以随时部署 无须购买昂贵的组播路由器 不需要网络设 备的升级和功能扩展 4 可以简化组播的控制 可靠等功能的实现 建立在网络连接之上的应 用层组播可以使用t c p u d p 服务 如可以利用t c p 的可靠和拥塞控制简化 组播的可靠和拥塞控制 在网络层实施组播易产生拥塞的限制 因此应用层组 播解决了i p 组播的不可靠性及拥塞问题 当然 应用层组播也有许多局限 端系统对i p 网络的了解有限 节点参与组网时 只能通过探测获得一些 网络性能参数 选取的逻辑链路难以优化 1 主机不了解1 p 网络的拓扑结构 只能通过带宽和时延等外在的特性参 数 以启发式的方式建立叠加网 逻辑链路不能较好地利用质量较好的底层网 络资源 叠加网的多条链路可能经过同一条物理链路 2 相对i p 组播效率较低 一般用压力度 s 讹s s 和伸展率 s 讹t c h 两个指 1 1 郑州大学硕士学位论文 标来评价应用层组播数据通道的性能和质量 2 2 3 应用层组播协议的实现 应用层组播协议通常把组成员组织成两个逻辑拓扑 控制拓扑和数据传输 拓扑 拓扑上的每条边都相当于一条单播连线 控制拓扑主要用来在端系统间 周期性的交换控制信息来发现和恢复由于一些成员的非法离开造成的拓扑破 坏 数据拓扑通常是控制拓扑的一个子集 主要用来表明数据包的传输路径 实际上 数据拓扑一般是一棵树形结构 而控制拓扑要求有更多的连接 则通 常是一个网状拓扑结构 因此 根据构建控制拓扑和数据拓扑的顺序 可以将 目前网络层组播协议的实现方法分为 网状拓扑优先方法 树状拓扑优先方法 以及隐式方法三大类 2 2 3 1 网状拓扑优先 m e s h f i r s t 方法 在此类方案中 组的成员首先自己组织成一个网状的拓扑 即控制拓扑 每两个成员之间有多条路径 在这个网状拓扑中 每一个成员都会保存这个组 中其他的所有成员的状态信息 而这个信息将会得到周期性的刷新 目前较成熟的此类协议有n a r a d a 18 是由c m u 组播通信组开发的最早 的应用层组播协议之一 2 2 3 2 树拓扑优先 h e f i r s t 方法 与网状拓扑优先不同的是 基于树状拓扑优先的端系统组播协议首先会建 立起一个共享的数据传输树拓扑 然后 根据这个树状拓扑增加一些成员间的 连接便可组成控制网状拓扑 此类比较有代表的协议有y o i d 1 9 和h m t p 2 0 等 其中y 0 i d 也是一个出现得较早的应用层组播协议 2 2 3 3 隐式方法 对于这类方法目前还没有严格的定义 虽然出现了一些基于隐式方法的组 播方案 但是都还处于研究和发展中 不太成熟 其中n i c e 2 1 是一种具有代 1 4 帮舟f 大学硕士学位论文 表性的基于层次结构的应用层组播 2 2 4 应用层组播算法的评价方法 应用层组播算法的特点是它的设计针对某种应用进行优化 对其评价时没 有统一的标准 常用的评价标准 18 2 2 2 4 包括 1 带宽的使用 应用层组播会比i p 组播消耗更多的带宽 e n ds y s t e m m u m c a s t 1 8 消耗的网络带宽大约是i p 组播的2 倍 2 延迟 可以用数据传播的时间 大规模组播树时也可用树的深度来反映 延迟 e n ds y s t e mm u l t i c a s t 的延迟大约是i p 组播算法的2 2 2 8 倍 3 可扩展性 s c a l a b i l i t y 只在大规模组播算法时才需要考虑 4 鲁棒性 r o b u s n l e s s 应用层组播应提供一定的鲁棒性 并适应不同 应用的要求 文献 2 4 提出建议 使用 洪泛 机制 在系统中增加冗余 提 供快速错误发现和修复机制 5 易推广性 e a s eo fd 印l o y m e n t 是应用层组播提出的一个推动力 不仅要不改变现有的网络体系结构 还要解决n a t 和防火墙带来的问题 6 组播组维护的开销 包括保存状态信息的数量 组播节点之间为维护 组播组的交互信息数量 组播节点加入 退出 失效等信息在组播组内同步的 时间开销等 7 组播节点的 度 d e g r e e 主机的资源有限 所以需要限制节点的 度 2 3 本章小结 本章前半部分介绍了流媒体的含义 部分介绍了应用层组播的原理 优缺点 流式传输和流媒体的实现技术 后半 实现方法和评价标准 郑州大学硕士学位论文 一 自 l e 自 第3 章流媒体连续性问题及现有解决方案 3 1 应用层组播用于流媒体直播系统的主要问题 近年来 由于应用层组播技术不依赖路由设备的额外支持 只需在终端机 安装相应软件 部署简单 使得基于它来传输流媒体成为了一个研究热点 但 要让应用层组播更好的支持流媒体直播要解决下面几个问题 1 1 构建有效率的组播树 在流媒体直播系统当中 用户希望能在最短的 时间内连接到服务端 开始节目的回放 这就要求构建组播树的算法中节点加 入延迟要短 从根节点到接收节点的总传输延迟也要短 2 1 可扩展性 流媒体直播系统要求能支持大量的并发用户 因此要求组 播树构造算法能在节点数目很大时还要保证较高的效率 3 网络异构性 异构性是指 参与转发树构造的节点 其网络带宽 处 理能力 链路负载等情况各不相同 因此在构造转发树的时候要充分考虑节点 差异 对转发树进行优化 4 流媒体的连续性要求 流媒体是一种时基媒体 对实时性要求很高 数据及时的转发和接收 才能保证媒体回放保持连续 本文主要讨论最后一个问题 即流媒体的连续性问题 3 2 连续性问题的产生原因 由于应用层组播通过端系统间的协作来构建o v e r l a y 组播树 数据的复制 和转发都靠端系统来完成 但端系统的稳定性远远比不上路由器 对特定的一 路节目来说 端系统节点随时可能加入 退出 而且不能集中控制 一旦中间 节点退出 就会造成组播树的断裂和节点接收数据的中断 虽然通过重加入请 求 节点可以重新加入组播树 但是从断开到重加入成功这一段时间内的数据 1 6 郑州大学硕士学位论文 l l l e g 一 都会丢失 从而对流媒体的连续性产生不利的影响 给用户带来不好的使用体 验 3 3 连续性问题解决方案 对于基于应用层组播流媒体直播系统的连续性问题 现在主要有四种解决 思路 1 1 减少组播树断裂的可能性 主要是通过部署专门的中间代理 或服务 节点 2 减小节点重加入时间 主要是采用备用链路算法 3 m d c 多描述编码 多个独立的组播树 4 重加入后修补a 3 3 1 部署专门的中间代理 或服务节点 通过部署专门的中间代理 或服务节点 并在其上构建一个 主干覆盖 层 b a c k b o n eo e r l a y 在这个主干覆盖层上建立组播树来转发数据 在主 干覆盖层之外 代理节点可以经由组播或单播将数据包转发给终端主机 采用 这种方案的有s c a t t e r c a s t 2 5 o v e r c a s t 2 6 r m x 2 7 伽 c a s t 2 8 2 9 和 0 m n i 3 0 a 这类方案里 代理节点一般比较稳定 组播树的上部都由代理节点组成 很少出现节点离开的情况 普通节点一般位于组播树的下部 即使离开 也不 会造成大范围的影响 在一定程度上来说 可以减少了树断裂的可能性和影响 范围 但是由于需要部署较多的专门代理节点 实际上近似于集群服务器的解决 方案 只不过是代理节点都分散在各地 更接近各自的接入终端而已 这样可 以减少骨于网上的带宽占用 但同样需要很高的资金投入 而且代理节点分 1 7 郑州大学硕士学位论文 散 带来了管理上的难度 3 3 2 备用链路 这种方法的特点是在父节点失效之前预先计算好节点的备用父母节点 一 旦该节点的父母节点退出 就可以根据预先计算的结果快速地找到备用父母节 点 从而减少数据的丢失 该类算法的代表为r o t 算法 3 1 备用链路可以大大减少客户端重加入组的时间 但是由于一般组播协议都 靠每隔一段时间发送k e e pa 1 i v e 报文来保证链路的可用 所以只是检测到链路 断开就需要一定的时间 还是会有部分的数据丢失 影响视频回放的连续性 另外为了计算备用链路 将会带来较高的控制花销 备用链路会占用备用 父节点的出度 浪费带宽资源 节点的加入 退出都会触发备用链路的重新计 算 计算量很大 3 3 3m d c 多描述编码 多个独立的组播树 m d c m u l 廿p l ed e s c r i p t i o nc o d i n g 编码 3 2 就是将媒体被编码成若干层具有 相同优先级的媒体流 多重描述之中的每条独立描述所在的码流都可以保证一 定的视频质量 而多个描述可以一起解码出更高质量的图像 在组成员之间同时维护多个组播树 利用m d c 算法把媒体编码成n 个媒 体流 沿多个组播树传播 组成员收到n 个媒体流中的任何m o 讧 t 0 节点缓冲中保存的 数据为 t l w d o n l i l l d l t l 山 t l 若 t l 山 d 1 即节点c 加入已有一段时间 回放后的数据已开始丢弃 此时节点缓冲 中的数据为 t l d 一d 1 t 1 4 5 2 断开后的节点缓冲变化 本小节分析客户机节点c 在一个断开 恢复循环中缓冲的使用情况 为简化起见 不妨设设d 0 d 1 d 当c 没经历连接中断情况时 缓冲使用 郑州大学硕士学位论文 应该稳定在2 d 假设在t l 时刻 检测到一个连接中断 此刻c 的回放点是t l d 缓冲中的内 容是 t 1 2 d t 1 经过r 时间 即在t l r 时刻重新加入 r q o 呻组播树 继续接收 正常流数据 并接收修补流数据 随断开到重加入的时间间隔r 的不同 节点的缓冲变化有三种情况 c a s e l r d 图4 4 缓冲变化 r d 1 r d 图4 4 在t 1 时刻客户机c 从组播树中断开 在此之前缓冲使 用一直稳定在2 d 从t 1 时刻开始缓冲使用开始下降 数据接收停止 视频回 放继续 在t 1 斗t 时刻 节点c 完成重加入 开始同时接收正常数据和修补数 据 缓冲使用开始恢复 在t l 2 r 时刻 修补完成 恢复正常数据传输速率 缓冲使用也恢复到2 d 在这种情况下 r d 预先缓冲的d 时间数据回放完之 前即完成了重加入 视频的回放不会中断 并且当修补结束时b u 舵r 使用还恢 复到稳定的2 d 是最好的一种情况 郑州大学硕士学位论文 c a s e 2 d r 2 d 图4 5 缓冲变化 d r 2 d 2 d r 2 d 图4 6 缓冲变化 r 2 d 3 r 2 d 图4 6 在这种情况下 客户机c 将在断开后继续回放d 时 郑州大学硕士学位论文 间 缓冲的数据用完 t l d 时刻回放中止 到t l 2 d 时刻 缓冲一直减少到为 空 当修补结束时 缓冲使用为也为d r 4 5 3 节点缓冲需求分析 依据上边的分析 节点的缓冲使用不会超过d m a x r d 从理论上讲 只要有足够的缓冲 数据就不会丢失 但是计算机的内存是有限的 不能无限 制的缓冲 而且过长时间的缓冲也没有意义 我们通过选择合适的初始延迟d 和快速的节点失效处理算法 可以让绝大多数情况下 缓冲使用不超过2 d 超 过的部分可以丢弃处理 不考虑传输延迟 节点c 回放前 后缓冲均为d 若在t 1 时刻从组播树中 断开 经过r 时间完成重加入 则在此过程中丢失的数据为 t 1 d t l d r 重加入 后其新父节点b u 妇f e r 内容为 t l r d t 1 r d 只有当新父节点的内容完全包含丢 失数据时 才可以无损的进行修补 t 1 d t l d r c t 1 r d t 1 卅d t l d t l r d 即 才可以完全恢复数据 d r 陀时 郑州大学硕士学位论文 4 6 节点状态转换 图4 7 节点状态转化图 一个在应用层组播树中的节点必定在下面的五种状态之一 b u r i n g n o m a l r e c e i v i n g p a t c l l i n g c o n s 砌i n g 舶e z i n g 如图4 7 所示 当一个节 点第一次加入组时 它进入b u 惋m g 状态 在此状态下 节点缓冲收到的数据 而不回放 经过初始的缓冲延迟 节点进入n o n l l a l 状态 继续从父节点接收 数据并从自身的缓冲中取数据回放 一旦从树中断开 节点变成c o n s u m i n g 状 态 接收不到数据但回放缓冲中的数据 同时 节点开始发出重加入请求 如 果在重新连入树前 节点的缓冲耗尽 它进入舶e z i n g 状态 回放中止 当节 点重加入组播树 它进入p a t c h i n g 状态 在这种状态下 节点同时接收到修补 数据和正常数据 当修补结束 节点回到n 0 肌a l 状态 4 7 性能指标 4 7 1 数据完整率 数据完整率 g r a lr a t i o 在节点生命周期内 节点实际收到到数据与 应收到数据量的比值 郑州大学硕士学位论文 通过比较不修补和修补情况下的数据完整率 可以反应修补的效果 修补 技术的优劣 4 7 2 回放停顿频率 回放停顿频率 p 1 a y b a c kf r e e z ef r e q u e n c y 单位时间内节点视频回放停 顿的次数 在主动式修补算法中 回放停顿频率与树的稳定性与回放延迟d 的设定有 关 4 8 与其他修补技术的理论分析比较 表4 1 列出了几种修补方式的性能比较 服务器 控制花销 初始缓冲数据 数据冗余 回放 压力延迟完整率停顿频率 n o p a t c h i n g 无无无低无 高 s e e r 高有有 d 由 有低 p a t c h i l l g c 0 0 p e r a t i v e 低很少有 d高无低 p a t c h 缸g i n i t i a t i v e 无无有 d 2高无低 p a t c h i n g 表4 1 性能对比表 1 服务器压力 s e e rp a t c l l i i l g 中服务器要维持多个流及其对应的组播 树 压力最大 c o o p e r a t i v ep

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论