(计算机科学与技术专业论文)带动态纠错编码的实时传输软件的研究及实现.pdf_第1页
(计算机科学与技术专业论文)带动态纠错编码的实时传输软件的研究及实现.pdf_第2页
(计算机科学与技术专业论文)带动态纠错编码的实时传输软件的研究及实现.pdf_第3页
(计算机科学与技术专业论文)带动态纠错编码的实时传输软件的研究及实现.pdf_第4页
(计算机科学与技术专业论文)带动态纠错编码的实时传输软件的研究及实现.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机科学与技术专业论文)带动态纠错编码的实时传输软件的研究及实现.pdf.pdf 免费下载

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

文档简介

独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目: 堂麴查纠堡缠鱼鲍塞吐篮箍筮佳曲壁塞盈塞塾 学位论文作者签名 五鼬查 日期:d o o b 年f 月f 7 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阀;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:鲎边奎纠壁缔翌鲍塞吐佳捡筮佳的进窒丞塞墨 学位论文作者签名:至! 堕塞 作者指导教师签名= 浑筮晕 日期:如。2 年月一_ 7 日 日期:抛年i 月2c ) 日 国防科学技术大学研究生院学位论文 摘要 随着计算机网络技术的不断发展,网络多媒体应用在i n t e r n e t 上变得越来越广泛: 如i p 电话、i n t e r n e t 电视、视频监控、视频会议等正改变着人们原有的生活方式。网络 数据的实时传输已经成为i n t e r n e t 多媒体软件技术的重要内容,怎样保证网络多媒体数 据的实时传输质量一直是网络实时传输研究中所关注的课题。 本文分析了现有网络数据实时传输的机理及面临的困难,研究了多播、实时传输、 资源预留以及纠错编码等技术在实时传输中的应用,给出了在低带宽、包错误率和丢包 率较高的网络中提高多媒体数据实时传输质量的方法,提出了带动态纠错编码的实时传 输技术。该技术是在多媒体数据的实时传输中,依据网络丢包率和包错误率情况,动态 的使用不同纠错编码方案的实时传输技术。这个技术可有效的改善多媒体应用在带宽资 源紧缺的网络及丢包率和包错误率较高的网络中的传输质量。在使用本文提出的带动态 纠错编码的实时传输技术后,可以以相对较小的计算量代价得到较好的传输效果。最后 给出了该技术的一个c + + 类库的实现。 【关键词】:实时传输控制:多播:资源保留协议;前向纠错编码:里得一所罗门编码 国防科学技术大学研究生院学位论文 a b s t r a c t s o f t w a r eo fr e a l t i m et r a n s p o r to fm u l t i m e d i ad a t ai so n eo ft h em o s ti m p o r t a n ts o f t w a r e o ni n t e m e t ,a n di tw i l lb eu s e dm o r ea n dm o r ew i d e l ya st h er a p i de v o l u t i o no fc o m p m e r n e t w o r k t e c h n o l o g y t o o l s ,s u c ha si pp h o n e ,i m e m e tt vd i g i t a lm o n i t o r i n g ,v i d e oc o n f e r e n c e e t c a r ec h a n g i n gt h el i f es t y l eo fu s r e a l t i m et r a n s p o r ti so n eo ft h em o s ti m p o r t a n tp a r to f i n t e m e tm u l t i m e d i at e c h n o l o g y h o wt oa s s u r e t h eq u a l i t yo fr e a l t i m e t r a n s p o r t o f m u l t i m e d i ad a t ai sa l w a y st h ef o c u st a s ko f r e a l t i m et r a n s p o r to f m u l t i m e d i ad a t a m e c h a n i s ma n dd i f f i c u l t yo fc u r r e n tr e a l t i m et r a n s p o r tt e c h n o l o g ya r ea n a l y z e di nt h i s a r t i c l e ,t e c h n o l o g i e ss u c ha sm u l t i c a s t ,r e a l t i m et r a n s p o r t ,r e s o u r c er e s e r v a t i o na n d e r r o r c o r r e c t i o nc o d et e c h n o l o g i e sa r es t u d i e di nt h i sd i s s e r t a t i o n am e t h o do fi m p r o v i n gt h e q u a l i t yo fr e a l t i m et r a n s p o r to fm u l t i m e d i ad a t ao nn e t w o r ko nw h e r ep a c k e tl o s sr a t ea n d p a c k e te l t o rr a t ea r eh i 曲i sp r o v i d e d r e a l - t i m et r a n s p o r tw i t hd y n a m i ce r r o rc o r r e c t i o nc o d e u t i l i z e se r r o rc o r r e c t i o nm e t h o d st h a tv a r yw i t hc u r r e n tp a c k e tl o s sr a t ea n dp a c k e te r r o rr a t eo f n e t w o r k t h i sm e t h o dm a ye f f e c t i v e l yi m p r o v et h eq u a l i t yo f r e a l - t i m et r a n s p o r to f m u l t i m e d i a d a t aw i t hal i t t l ec o s to fc o m p u t a t i o nu n d e rt h es i t u a t i o no fl i m i t e db a n d w i d t h ,h i g hp a c k e tl o s s r a t ea n dh i g hp a c k e te r r o rr a t e a tl a s t ,a ni m p l e m e n t a t i o no fc + + c l a s sl i b r a r yo ft h i sm e t h o d i sd e s c r i b e di nt h i sa r t i c l e k e yw o r d s :r t p r t c p , i pm u l t i c a s t ,r s v p ,f e c ,r e e d - s o l o m o nc o d i n g i i 国防科学技术大学研究生院学位论文 第一章绪论 本章首先讲述了课题背景,然后是课题研究的内容,最后讲述了论文结构。 1 1 课题背景 计算机网络是被设计用来为不同地域的计算机之间相互通讯和共享数据的。今天随 着多媒体和网络科技的不断发展,i n t e r n e t 上的多媒体应用越来越多,音频、视频应用 变得流行起来:多媒体产品如i p 电话、i n t e r n e tt v 、视频会议等已经应用起来。现在, 人们已经开始热衷于远程教育、分布式仿真等其它应用领域。对于网络工作者来说,多 媒体网络应用就是通过设计硬件和设计软件构架,促进以计算机为通讯工具的多媒体网 络应用。在将来,多媒体网络会取代电话、电视以及其它曾经戏剧性地改变我们生活的 东西。 本课题的研究是上一届同学在网络多媒体技术研究工作领域的继续,先前的工作是 对m p e 9 4 技术的研究,它的主要内容是对m p e 9 4 编码技术的研究,我的研究工作是在此基础 上增加网络传输功能,实现一个独立的实时传输软件类库。编码与传输这两个部份的结 合为日后类似的网络多媒体系统的进一步研究与应用提供了一定的基础。 实时传输技术在传输效率上的改进,通常的做法是使用u d p h i t e 1 技术或压缩编码 技术 2 3 ,这些做法在一定程度上改善了传输效率。但对于有包丢失及包错误情况的 实时数据传输效率则没有改善。通常对包错误的处理方法,就是简单的丢弃错误包,这种 方法比较适用于在高带宽且包错误率较小的环境中,而在低带宽、包错误率相对较高的 环境中使用这种方法则会使得实时应用变得令人难以接受。因此对这一问题的解决可以 使当前仍在使用低速链路( 如电话线、i s d n ) 且传输质量不高的i n t e r n e t 用户受益。 在实时传输软件的实现上,以往的做法通常是传输部份与应用程序紧密结合在一起, 这样的做法虽然可以使应用程序的流程控制非常灵活,但同时也降低了该软件中传输代 码的可重用性。今后,网络多媒体应用将会越来越多,而在网络多媒体应用中,实时传输 功能是其中不可或缺的部份,因此将这部份功能独立出来可以为日后类似的项目作一定 的积累。鉴于以上情况,迫切需要开发出一个可独立使用的实时传输软件包。 第l 页 国防科学技术大学研究生院学位论文 1 2 课题研究的主要内容及成果 本课题的主要工作内容及成果如下: 1 ) 研究实时传输的需求和机理:分析当前网络实时传输所面临的困难,研究多 播、实时传输协议、资源预留等技术在实时传输中的应用。研究实时传输对网 络硬件以及网络应用程序的要求,研究采取怎样的机制才能解决实时传输中所 面临的问题。本文系统的阐述了提高实时传输性能的方法。 2 ) 研究在低带宽及包丢失率和包错误率较高的链路下改善实时传输性能的方法: 按通常采用的策略,在发生包错误的情况下,只是简单的丢弃错误包,这种做 法比较适用予高带宽且包错误率较小的网络环境中,而在低带宽、包错误率相 对较高的环境中使用这种方法则会使得实时应用变得令人难以接受。本文提出 了带动态纠错编码的实时传输技术,该技术是在多媒体数据的实时传输中,依 据网络丢包率和包错误率情况,动态的使用不同纠错编码方案的实时传输技 术。这个技术可有效的改善多媒体应用在带宽资源紧缺的网络及丢包率和包错 误率较高的网络中的传输质量。在使用本文提出的带动态纠错编码的实时传输 技术后,可以以相对较小的计算量代价得到较好的传输效果。 3 ) 通过网络编程、系统编程、面向对象的方法和使用纠错编码技术实现一个带动 态纠错编码的c + 十实时传输类库。 1 3 论文结构 本文共分为六章。 第一章绪论。介绍课题的研究背景、主要内容、本课题的研究目标以及课 题研究的意义。 第二章描述网络现状多媒体传输技术、所面i 临的问题以及解决相应问题的 技术、方法和协议。多媒体数据的一个特性是数据量非常大,在传统网络 技术下这类数据的大规模传输常常产生网络瓶颈的问题,为此,人们在这 方面做了大量的研究。多播作为一个比较好的解决方法,在网络多媒体的 传输研究中得到了广泛的使用,m b o n e 即是上个世纪9 0 年代研究多播技术使 用得非常多的一个网络环境。在下一代网络协议组i p v 6 中,将直接支持多 第2 页 国防科学技术大学研究生院学位论文 播的功能。本章专门探讨了多播及m b o n e ,并且讲述了怎样使用网络的多播 功能。 第三章描述在实现实时传输软件时需要遵守的协议细节。从网络上播放多 媒体( 如视频、音频) 对时序有一定的要求:需要在特定的时间段内以特 定的速度播放。如果不能按原定的播放速度播放,就不能保证多媒体应用 的q o s 。传统的通信方式难以满足实时性的要求。实时传输协议( r t p ) 是 实时传输软件中使用得非常普遍的一种传输协议。r t p 是在需要一对多或多 对多的实时传输情况下工作的i n t e r n e t 事实标准,其目的是在传输的同 时,提供所传数据的时间信息、参与者的信息以及会话的管理并实现不同 媒体数据流之间的同步。r t p 是专门为满足数据的实时传送要求而设计的一 个协议。在r t p 的实现中,需要充分利用网络的功能,所以在r t p 应用中, 如果网络支持多播,贝k r t p 应用都会使用这个功能以提高传输性能。在本章 中,专门探讨了r t p 协议的细节,这些细节是在实现实时传输软件时需要予 以遵守和特别加以注意的内容。 第四章资源预留协议。资源预留的核心思想是,在发送端和接收端之间的 各个节点上为用户预先保留足够的资源以保证端到端的服务质量。r s v p 是 基于这一策略的一个协议。r s v p 的功能在i p v 6 中得到了充分的考虑。在实 际使用中,如果发现底层网络支持这一特性,那么应尽量使用它。在本章 中分析了r s v p 协议的功能和特点以及怎样使用这一功能。使用资源预留协 议的网络可以改善实时传输的质量。本章最后描述了怎样使用c i s c o 设备上 的资源预留功能。 第五章纠错编码技术。目前,在实时传输中,对出现错误的数掘包的一般 处理方法是丢弃这些包,这使得在包丢失率、错误率较高的网络中的音频和 视频应用无法达到令人满意的效果。而使用纠错编码技术可以提高数据传 输的可靠性和保持低误码率。在纠错编码里,r e e d s o l o m o n 编码是分组码 中纠错能力最强的纠错码。本章描述了r e e d - s o l o m o n 编码的理论基础。 第六章描述带动态纠错编码的实时传输软件的实现。应用程序的自适应控 制是根据网络带宽资源的实际情况,通过采用动态调整连续媒体应用的资 源需求等策略,以保证可接受的服务质量等级,对于不保证服务质量的分 组包交换网络,自适应控制在网络状态波动时给连续媒体实时应用提供了 较大的弹性。本章中提出的带动态纠错编码的实时传输技术是在实时传输 中依据丢包率和包错误率情况,动态的使用不同纠错编码技术的实时传输 国防科学技术大学研究生院学位论文 技术。这个技术可以以相对较小的编码、解码计算量代价有效的改善多媒 体应用在带宽资源紧缺的网络中及丢包率和包错误率较高的网络中的数据 传输质量。 第4 页 国防科学技术大学研究生院学位论文 第二章网络多媒体数据传输 多媒体的一个特性是数据量非常大,在传统网络技术下这类数据的大规模传输常常 产生网络瓶颈的问题,为此,人们在这方面做了大量的研究。多播作为一个比较好的解 决方法,在网络多媒体的传输研究中得到了广泛的使用,m b o n e b p 是上个世纪9 0 年代研 究多播技术使用得非常多的一个网络环境。在下一代网络协议组i p v 6 中,将直接支持多 播的功能。本章专门探讨了多播及m b o n e ,并且讲述了怎样使用网络的多播功能。 2 1 面临的问题 在2 0 世纪9 0 年代中在i n t e r n e t 上先后出现了两个最为重要的应用,一个是实时音 频,另一个是实时视频,前者实现了普通电话在i n t e r n e t 上的功能,后者则实现了以往需 要使用昂贵的卫星通讯设施才能达到的功能。现在音频和视频相结合的应用越来越广 泛。人们在i n t e r n e t 上通过这些实时通信软件达到了以往从未有达到的信息共享程 度。 多媒体网络应用是件复杂的工作,在这些应用中将遇到三个困难: 首先,多媒体网络应用相对于从前的文本应用需要更多的带宽。一个典型的2 5 秒 3 2 0 x 2 4 0 的q u i c k t i m e 电影需要约2 3 m b 的数据来存放,这相当于i 0 0 0 屏文本数据。这 么大的数据量在上个世纪8 0 年代桌面计算机的硬盘还没有超过i o m b 时是非常困难的。 第二,绝大多数多媒体应用需要采用实时通讯。多媒体数据不同于其它类型的数 据,它们的传输是时序受限的。音频及视频数据必须按照取样时相同的恒定速率来播 放。如果数据不能及时的到达客户端,那么就会使得实时应用变得断断续续。在 i n t e r n e t 电话应用中,人类所能够容忍的滞后时长上限大约是2 5 0 m s ,如果滞后时间长于 这个值,那么声音就会失真。如同以前打长途电话时常常遇到语音效果不好的情形,声 音时断时续,这时人们就会抱怨语音的质量。更为重要的是,这些实对数据如果不能及时 的到达接收端,那么这些数据通常会被丢弃,如果不采取合适的措施话,那么随后的数据 将会累积起来阻塞网络。还有多媒体数据流通常是突发式,仅仅增加带宽还不能解决问 题。对于大多数多媒体应用,接受者的缓冲区都是有限的。如果没有采取措施来平滑数 据流,那么将会使应用程序的缓冲区上溢或是下溢:如果数据到达得太快,那么缓冲区会 溢出。一些数据包将会被丢失,这会导致多媒体应用的低质量。如果数据到达得太慢,那 么缓冲区就会下溢,而应用程序会陷入长时间等待,形同饿死。 第三,在现实生活中,i n t e r n e t 是被成千上万的用户所共享,并且只有有限的带宽,而 且i n t e r n e t 上报文的延迟和可用性都是难以预期的。怎样解决这些问题和冲突都是多 媒体网络应用必须面对和加以解决的。于是专门解决相关问题的实时多媒体网络协议的 设计就是当前面临的首要问题。 2 2 多媒体应用的分类 不同的应用对传输的需求不一样。一般可分为如下三类 第5 页 国防科学技术大学研究生院学位论文 1 ) 数据服务系统:这种类型的系统主要是用于数据的保存。 2 ) 远程参与式系统:这种系统包括网络监控、网络会议、虚拟现实、以及远 程自动代理这类系统。 3 ) 娱乐性质的应用系统:主要是面向视频和音频的系统,包括分布式电子游 戏、v o d ( v i d e oo nd e m a n d ) 以及交互式电视。 第一种系统如f t p 服务,e m a i l 服务等,它们对时间的要求不高。而第二和第三两 种系统中对数据传送的时序要求则严格的多。 2 3 多媒体应用实时传输的资源需求 在实时传输中不用t c p 是因为:少量的实时数据丢失是允许的;t c p 的重传有 延迟;t c p 有窗口回退( w i n d o wb a c k o f f ) 的问题;还有就是对于有n 个参与者,需使 用n * n 的链接。上述问题的出现使得我们采用r t p 协议来进行实时数据传送。i n t e r n e t 作为一个共享的数据报网络,它本质上不适合于实时数据的传送,所以使用i n t e r n e t 来 传送实时数据需要满足如下几个要求: 1 网络多媒体应用需要网络硬件提供足够的带宽。 2 网络多媒体应用通常与多播有关联。同样的数据流,不需要多次拷贝就可以送给 多个接收者。例如在视频会议中,视频数据需要同时发送给所有的参与者,实时 视频数据应能够同时发送给成千的接收者( 特别是在网络电视这种类型的应用的 情形下则尤为明显) ,在设计这种类型的软件时需考虑避免给网络带来过重的负 荷:比如所使用的协议所占的网络资源比较少,以及使用多点传送技术同 样的数据流,不需要多次拷贝就可以发送给一组接收者。 3 i n t e r n e t 是包交换数据报网络,每个包独立的通过路由而穿过共享的网络,当前 的i n t e r n e t 软件技术还不能够保证实时数据能够及时的到达目的地,所以视频 和音频应用需要有一个协议来保证能够以正确的时序和同步来连续的回放相关 的内容。 4 需要有一种标准的方法来管理和重现这些数据。 5 需要有一种机制来为网络实时应用在传输链路上保证足够的资源。 对于第一个要求,目前的硬件技术已经部份满足要求;第二、三、四这三个要求可 以用已有的软件技术予以解决,这通常通过使用实时传输协议的软件来完成。 r t p r t c p 5 7 协议是当前i n t e r n e t 上传输视频和音频实时数据的标准。第五个要求需使 用r s v p 6 协议来完成,这个协议需要有硬件产商( 如路由器产商) 的支持才能实现。在 未来支持r s v p 协议的网络中,r t p r t c p 协议将依赖于r s v p 协议提供更好的网络实时数 据传输服务。对于i n t e r n e t 上的流式数据的传送则需使用r t s p 协议。 2 4 服务质量 服务质量q o s 7 这一名词来自通信领域,它被用来描述数据传送的性质。在实时传 输中,也需要考虑服务质量。对于网络实时传输应用来说,操作系统和网络子系统必须 为应用提供相应要求的服务。例如,操作系统需要有实时调度的功能,能够优先调度实 第5 页 国防科学技术大学研究生院学位论文 时应用。 与网络q o s 相关的参数有:建立联接延迟、建立联接错误率、持续数据吞吐量、峰 值数据吞吐量、发送延迟、包丢失率、出错率、安全和保护相关的参数、优先级别。这 些参数在不同的网络及应用中都不尽相同。 网络传输的q o s 的度量主要从如下四个方面来衡量: 1 ) 延迟:就是要求其数据到达的速度应大于应用程序正常运行所需要的速度。 2 ) 可靠性:指链路的原因所造成的错误的冗余、纠错能力。 3 ) 吞吐能力:指单位时间内能所处理的数据量。 4 ) 时隙:指允许不同媒体数据到达同一目的地的最大时间偏移。特别的,语音和 图像的同步对时隙有严格的要求,否则会造成视频和音频的不同步。 通常为了保证网络应用程序的q o s 时,需要做一些资源的预留工作,如预留一定的 带宽、提高进程的调度优先级等,这些工作通常按如下三个步骤进行: 1 ) 估计用户的q o s 需求。 2 ) 将1 ) 中的需求映射到某一q o s 层次。因为通常软硬件所支持的q o s 服务的级 别是有限的,所以需要将用户的实际q o s 要求映射到满足这一需求的层次。 3 ) 确定能够反映这个q o s 特性的数据量。 具体到资源管理器处理q o s 请求时,通常按如下四个步骤进行: 1 ) 资源管理器在进行资源调度时需要首先对实际可用资源进行测试,以判定当前 的资源是否能够满足应用的q o s 需求。 2 ) 计算应用所需的q o s ,需达到怎样的性能以及持续时间等 3 ) 资源预留。 4 ) 资源调度。 实际的q o s 值在一个系统中,可能会随着时间的变化而变化。因此,一个系统需要不断 监控其自身的状态以保证那些仍在运行的服务,在出现无法满足的情况时,至少应该通 知应用软件这一情况,这样可以使应用软件能够改变对q o s 的要求而不至于完全不可 用。 2 5 当前网络状况 i n t e r n e t 是运行t c p i p 协议的网络,并且采用的是尽力服务的方式,这种方式不 保证服务质量。这对于简单应用来说是完全可以满足要求的,但随着i n t e r n e t 接入用 户不断增多,越来越多的人们意识到基于i p 网络的多媒体应用将是未来的发展方向。 i n t e r n e t 发展得非常快,基于i p 协议的l a n 和w a n 技术,非常适合于连接全世界的大型 网络,实际上,i n t e r n e t 已经成为绝大多数网络应用的主要平台。一方面的主要原因是 多数多媒体应用的开发是基于i n t e r n e t 完成的,另一方面的原因是,基于i p 的多媒体应 用可以在单一网络界面上集成数据应用而无需投入更多的硬件和建立新的网络接口。当 前,i p 和以太网在l a n 中应用的非常多,而a t m 则多用于广域网中。 a t m 7 曾经被认为是多媒体应用的终极解决方案,因为它具有非常好的q o s 特性, 第7 页 国防科学技术大学研究生院学位论文 并且有较好的可扩展性,但是在现实中,由于成本的原因,很少有直接到用户单位的 a t m 网络,而到用户桌面的a t m 网络的情况就更加少。随着a d s l 、x d s l g 技术的的普 及,a t m 技术将逐渐被最终用户所了解和熟悉。虽然使用r s v p 协议可以提供资源预留服 务,有助于q o s 的保证,但是目前硬件设备的这一功能还没有被广泛使用。 当前,较为普遍的i n t e r n e t 用户接入方法是,光纤到住宅小区,在住宅小区内各 楼层安放足够端口数量的楼道交换机,小区内部以以太网方式连接。或者是利用有线电 视的同轴电缆,使用有线m o d e m ,由于采用不对称传输方式,以及共享下行线路带宽, 有线m o d e m 在以后的宽带应用中,会存在资源紧张的问题。目前绝大多数用户使用的仍 旧是传统电话线路,而近期在国内,a d s l 用户所占的比例正在逐渐加大。 2 6 实时传输相关技术 i n t e r n e t 上运行着各种各样的服务,每个类型的服务都有不同的特性和要求。如 f t p 需要在可以接受的时间里传送一定量的数据,而i n t e r n e t 电话要求绝大部份数据能 够在小于0 3 秒的时间里达到目的地。如果带宽受限制的话,那么实时数据流就会受到 网络阻塞的影响。解决在i p 上传送多媒体数据的方法是分类所有数据流类型,给不同的 应用分配以不同的资源保留。i e t f 在r f c l 6 3 3 中定义了最优服务( b e s t e f f o r t s e r v i c e ) 和实时服务模型。其中包含了r t p r t c p ,r t s p 和r s v p 几个协议。它们之间 的关系见图1 。图中箭头线的意义为,实线表示在软件实现中,通常采用的方式,而虚 线表示在软件的实现中,不常采用的方式。 图1 实时传输相关协议图 下面的章节将就实时传输中使用的技术和协议分别展开讨论。 第8 页 垦堕型堂垫查盔堂堑壅生堕堂焦笙茎 2 7 多播技术 2 7 1 多播技术的定义及产生背景 多播 1 0 1 技术是指可以把一个数据包同时发送到多个站点( 一对多传送) ,或是多 对多的数据传送技术。在i n t e r n e t 不长的历史中,它最早是用于e m a i l 和u s e n e t 信 息的共享,随后是f t p 和g o p h e r 信息的共享,而目前绝大部份内容则是集中于网络多 媒体信息的共享。可以说目前,i n t e r n e t 已经成为各种信息的承载体:杂志、期刊、 电话、电视、商业、政府等各个领域中都使用了i n t e r n e t 这一便利的信息共享和传 播工具。 i n t e m e t 最早只考虑了端对端的数据传送。每次传送数据的时候,发送者都确定了他 的接受者:如在e m a i l 中的邮件地址;在浏览器中对w e b 页面的访问,每次都是返回给一 个单一的主机,在访问者和服务器之间的传送过程是一对一的关系。虽然计算机可以 每秒钟处理上百甚至上千的请求,但实际上,所有的信息传送都是一对一的。这种策略 能够满足普通应用的要求,而当需要同时对多个接受者发送同样的信息时,特别是当这 个信息的量比较大时( 比如分发一个非常大的数据文件给上百个用户,这时人们才意 识到,网络的带宽变得不够了,而且同样的数据需要多次发送才能分发给所有的用户。 当i n t e m e t 上的许多用户都这样做时,网络就会被发生阻塞。多播技术就是为了解决这 一问题而产生的。在多播方式中擞据包被发送到所有同组的成员,而这个数据包不需 要被多次拷贝以及多次发送,而只有一个数据拷贝在网络上传送。 多播技术最先是在1 9 8 8 年由s t e v ed e e r i n g 1 1 在他的博士论文中提出,并于1 9 9 2 年在圣地亚哥召开的t f 会议上做了音频广播的测试 3 1 。而在1 9 9 3 年w e b 上只有 大约1 0 0 个站点,所以可以说多播是与w e b 同龄的。对多播的研究被认为还处在早 期阶段。在下一代的网络协议( i p v 6 ) 中已经充分考虑了对多播功能的支持。 2 7 2 多播技术的要求 多媒体会议、c s c w ( c o m p u t e rs u p p o r t e dc o o p e r a t i v ew o r k ) 以及远程教学等应 用中最能体现多播技术的要求:所有的成员组成一个组,其中m 个成员发送数据给n 个 接受者。为了避免重复发送n 个相同的信息,通讯系统需要提供多播传送功能。 1 ) 多播组及地址的管理。参与者通常能够在任何时候加入、退出多播组,这要求 有一个地址能够给组中的所有成员发送消息。 2 ) 传输可靠性和流控制。传输可靠性的保证应当能够不给网络带来较大的开销。 而流控制则是为了使发送数据的质量能够动态的适应网络的实际情况。 3 ) 路由选择:多播要求路由协议能够尽可能的降低共享网络上的数据流量,最好 能够做到在相同的内容发送到多播组时只有一个数据拷贝在网络上被传送。 2 7 3 网络数据传送方式 数据在i n t e r n e t 上的传输方式通常有以下几种: 夺u n i c a s t 方式:数据包只被一台主机接收到。 夺b r o a d c a s t 方式:数据包可以被处于同一网络上的所有主机接收到。 国防科学技术大学研究生院学位论文 夺m u l t i c a s t 方式:数据包可被属于同组的所有主机接收到,而且主机所不关心的 数据是不会被发送给主机的。 下图是多播与单播的示意图: 图2 多播与单播的示意图 夺a n y c a s t 方式:数据包只能被处于同一组中的某台主机接收到。这个方式只 在i p v 6 中可以使用。 显而易见,如果采用第一和第二两种方式,网络将很容易被阻塞。而采用后两种方式,则 可以有效的减少数据的多次拷贝和多次传送,这使得多播非常适用于大规模网络。 2 8 1m b o n e 定义 2 8m b o n e m b o n e 1 2 是指具有多播功能的网络,它同时也包括那些在其上运行的一整套相关 工具。按照网络传输结点的不同来分,多播包含两个部份,一种是主机多播,这是指具有 处理多播消息能力的主机:另一种是多播路由,有这种能力的设备可以选择数据包的传送 路由。m r o u t e d 是一种用来在单播网络上完成多播路由的程序,通过这个程序的多播数 据包被封装在单播数据包中,然后在另一端的m r o u t e d 上被解开成为真正的多播数据。 比较早支持完整m r o u t e d 功能的操作系统有s o l a r i s 2 x 和f r e e b s d 而硬件方面c i s c o 和p r o t e o n 的路由器通过安装特殊的软件也可以支持多播。 2 8 2 i b o n e 的功能和使用m b o n e 的条件 m b o n e 软件可以完成如下的功能: 夺与同事通过白板进行实时信息交流。 夺可以进行交互式教学 夺通过i n t e r n e t 收听网络广播和收看网络电视。 夺可以玩同时有几千人参与的交互式计算机游戏 夺大型软件( 比如操作系统) 的分发和自动更新。 如果要使用m b o n e 那么需要满足如下几个条件: 冷系统内核支持多播:u n i x 系统中查看是否支持m u l t i c a s t 的命令是使 用”n e t s t a t g ”这个命令,它会给出系统是否支持多播的信息。 第1 0 页 里堕型堂垫查查兰翌塞圭堕兰垡垒苎 夺主机的子网在m b o n e 上:这是指多播数据包能够被转发到这台主机上来。 使用支持多播的软件才能利用m b o n e 的功能。 2 8 3m b o n e 技术 部份多播路由软件系统有裁剪功能,这个功能使得使用窄带宽的用户可以选择性的 接收指定的事件。如果没有这个功能的话,那么就会接受到m b o n e 上的用户所关心的和 不关心的数据流。裁减功能需要对端的两个系统都支持才能起作用,否则,由于不具备裁 剪功能的设备发出盲目的请求,即使是支持裁减功能的设备也不得不把这些不相关的数 据发送过去。于是不必要的数据流量会占用掉一部分网络带宽。 在1 9 9 2 年,绝大部份路由器都只支持单播,而硬件产商在没有看到足够的商业前景 之前通常不会投资新功能的实现,由于当时能够以硬件方式支持多播的路由器还比较有 限,所以i e t f 决定通过软件在i n t e r n e t 上实现多播的功能,而目前,大部份路由器已 经具备了多播功能。 有时候m b o n e 又被看作是一个基于i n t e r n e t 的虚拟网络,因为这个”网络”使用的 是与单播( u n i c a s t ) 相同的路由器。在这样原来只能处理单播的网络上实现了多播数据 包的透明传输。将多播数据包通过单播数据包的传送来完成多播的做法被称作隧道方式 ( t u n n e l i n g ) 。隧道方式也是应用得非常广泛的一种技术。当一个多播数据包到达能够 理解并处理多播数据包的路由器时,这些包就会被处理成好像它们是真实的多播数据 包。支持多播功能的路由器和工作站都可以被称为多播路由器( m u l t i c a s tr o u t e r ) 。从 上面的说明可以明白多播是一项使一个数据包发送到多个站点的技术,而m b o n e 是指支 持多播技术并构成多播网络的那些站点,在不导致混淆的情况下,m b o n e 通常就是指 多播。 2 8 4m b o n e 应用的带宽 一个无压缩的音频流通常需要6 4 k b p s 的带宽,而在传送它的时候,加上其它开销,实 际需要7 8 k b p s 的带宽,而m b o n e 最初的设计是在5 1 2 k b p s 带宽的链路上运行。所以有必 要使用压缩技术来减少传输开销,这部份的内容通常在数据发送前的步骤完成。 在图像数据压缩上,采用的几个技术有j p e g ( j o i n tp h o t o g r a p h i ce x p e r t sg r o u p ) 压缩、基于小波的编码以及i s o 的h 2 6 1 标准。在音频数据上采用的技术有p c m ( p u l s e c o d e dm o d u l a t i o n ) 标准以及g s m ( g r o u ps p e c i a l em o b i l e ) 标准。 由于m b o n e 传送音频、视频数据的能力使得它非常适合于远程教育,目前有许多基 于m b o n e 的远程教育系统已被实际使用。这些数据在被传送前通常都已经经过压缩处 理,但处理后得到的数据的量仍然非常大,常常以数兆字节计,用户的硬件虽然也已具 有处理多播的能力,但是绝大多数的用户却没有足够的网络带宽。一个多播视频流的每 秒一到四帧的数据就足以耗尽1 2 8 k b p s 的带宽,而满足电视质量的播放速度是要求每秒 2 4 帧,所以在这种网络上直接使用多播视频应用变得不实际。能够满足这一需求的网络 带宽是使用t 1 或更快速的链路。因此需要采用其他的技术才能在低带宽下开展网络多 媒体应用。然而不是每个用户都能够有条件使用高带宽链路,因为拥有高速连接同时也 意味着更高的资费。 现在的网络多媒体应用需要的带宽越来越大,用户除了等待电信部门的解决办法( l l 如光纤到桌面) 之外没有其它的选择,但这一天的到来还有待时日。目前更常见的做法是 光纤到小区,在小区范围内使用以太网技术。一个部份的解决方法就是采用i p v 6 协议, 第1 1 页 里堕型堂垫查盔堂竺塞生堕堂垡笙苎 这个协议被期望能够在2 0 1 0 年前被广泛采用,在i p v 6 中对时间依赖性较高的数据流 ( 如实时多播数据) 能够优先于那些相对时间依赖性低的应用( 如e m a i l ) 被快速的路由。 2 8 5m b o n e 网络中的报文生存周期 m b o n e 数据包同样也存在t t l ( t i m et ol i v e ) 的限制,在m _ b o n e 上传输的数据包中 都包含有t t l 值,在这些包通过每个路由器的时候它们的t t l 值会被减1 。当这个值为 0 时,这个多播数据包就会被丢弃,而不再在网络上予以传送。t t l 初始值通常由多播软 件来填写。t t l 值越大意味着这个数据包的生存时间越长。当一个位于m b o n e 上的 主机建立一个会话( s e s s i o n ) 时,这个主机就通过i g m p 1 3 ( i n t e m e tg r o u pm a n a g e m e n t p r o t o c 0 1 ) 协议告之多播路由器,声明这个新会话的建立,同一子网上的路由器间同样通过 i g m p 协议把这个消息传递到其它网络的路由器上去。各多播路由器间互相报告消息的 最大时间间隔为l o 秒。当没有任何一个参与者属于某个组时,这个组的相关信息就会被 多播路由器丢弃,被释放的多播地址可以被重用。路由器根据一定的算法查询子网上的 主机,看是否有组成员存在。如果没有任何一个主机予以回答的话,那么路由器就会停止 向其他路由器发送保存在其上的组成员信息。 多数m b o n e 路由器使用的是远程向量多播路由协议( d i s t a n c ev e c t o rm u l t i c a s t r o u t i n gp r o t o c 0 1 ) 1 4 ,但多数网络研究者认为这个协议不够完善,特别是路由信息的 传播比较慢。另一个工作是对o s p f ( o p e ns h o r t e s t p a t hf i r s t ) 的改进,虽然m b o n e 相关技术并不复杂,但是对于那些组成员经常发生变化的大型网络来说,上述两个协议技 术的计算效率是不高的。 2 8 6 多播的扩展及使用方法 i p 多播寻址扩展在r f c l l l 2 中被定义。i p 多播技术与自适应实时流传送技术相结 合是m b o n e 得到大规模应用的关键因素。这就是绝大多数m b o n e 应用使用基于u d p 、i p 协议的r t p 协议的原因。r t p 协议将在其它部份予以详细说明。r t p 是由i e t f 的a v t 工 作组开发,它主要目地是为音频、视频实时传输提供时标和序列化服务,使得应用软件能 够适应网络本身所导致的延迟和错误。 在软件中使用多播前,需确认软件运行的主机及所在的网络是否已经支持多播功 能。 1 ) 查看主机系统是否支持多播:u n i x 系统中查看是否支持m u l t i c a s t 的命令是使 用”n e t s t a t g ”这个命令,它会给出系统是否支持多播的信息。 2 ) 查看网络是否支持多播:这主要是指路由设备是否支持多播,具体指令的细节 需参考文档 2 6 ( 这仅是c i s c o 公司设备的文档,其它产商的硬件设备需参考 相应的硬件手册) 。 在多播的应用中,为了表示那些参与同一个多播会话的主机,使用了组的概念,它 表示所有参与同一个多播会话的主机。为了标识这个组,需使用组地址的概念,组地址 使用了普通i p 地址的格式,但组地址是2 2 4 0 0 0 到2 3 9 2 5 5 2 5 5 2 5 5 的那些地址。 地址2 2 4 0 0 0 被保证不被赋予任何一个组,而2 2 4 0 0 1 则被赋予当前子网的所有系 统,这其中也包括网关。而2 2 4 0 0 2 则被赋给同一子网的路由器。2 2 4 0 0 4 被赋于 d v m r p 路由器。多播i p 报文使用与通常单播所使用的发送报文方式,上层的协议模块仅 仅只给定一个i p 主机的组地址作为目标地址,而不是使用单一的i p 地址。当主机有多 个地址时,只有一个地址被初始化用来传送报文:多播路由器负责报文的转发。如果主机 第1 2 页 国防科学技术大学研究生院学位论文 支持多播的话,在它发送多播报文时,同时也会默认的往主机的侦听端口发送一份拷贝, 这样做可以使主机不再需要接收自己发送给组地址的数据。 多播传送遵从的逻辑是:如果目标i p 地址在同一局域网或者说目标i p 地址是一个 可以直达的主机,那么将报文直接发送到主机,否则发送报文给可以到达目标地址的网 关。 以上是多播与实时传输软件的实现联系比较紧密的内容,这些内容对于我们理解和 掌握多播这一非常重要的数据传送技术有着重要的帮助。 第1 3 页 国防科学技术大学研究生院学位论文 第三章实时传输协议 从网络上播放多媒体( 如视频、音频) 对时序有一定的要求:需要在特定的时间段 内以特定的速度播放。如果不能按原定的播放速度播放,就不能保证多媒体应用的 q o s 。传统的通信方式难以满足实时性的要求。实时传输协议( r t p ) 是实时传输软件中 使用得非常普遍的一种传输协议。r t p 是在需要一对多或多对多的实时传输情况下工作 的i n t e r n e t 事实标准,其目的是在传输的同时提供所传数据的时间信息、参与者的 信息咀及会话的管理并实现不同媒体数据流之间的同步。r t p 是专门为满足数据的实时 传送要求而设计的协议。在r t p 的实现中,需要充分利用网络的功能,所以在r t p 应用 中,如果网络支持多播,则r t p 应用都应当使用这个功能以提高传输性能。在本章中, 专门探讨了r t p 协议的细节,这些细节是在实现实时传输软件时需要予以遵守和特别加 以注意的内容。 3 1r t p 协议 实时传输协议的英文名称为r e a l - t i m ep r o t o c o l ,它很像我们所熟悉的h t t p 和f t p 协 议,但它是专门为满足实时数据传送的要求而设计的。它不像

温馨提示

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

评论

0/150

提交评论