(计算机应用技术专业论文)基于qos组播的rtp协议的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于qos组播的rtp协议的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于qos组播的rtp协议的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于qos组播的rtp协议的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于qos组播的rtp协议的研究与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)基于qos组播的rtp协议的研究与实现.pdf.pdf 免费下载

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

文档简介

基于q o s 组播的r t p 协议的研究与实现 摘要 通过组播对多媒体数据进行实时传输是因特网的发展趋势,然而,由 于当前因特网的尽力而为的特性,使它不为实时数据提供任何的服务质量 保证。此外,因特网的异构性使得它难于在实时数据传输中灵活地提供服 务,从而满足用户的服务质量需求。因此,如何在因特网上传输高质量实 时数据是当前研究的一个重要课题。 本文首先介绍了o o s 组播的现状和发展趋势,分析了在现有网络条件下 网络层不能实现o o s 组播的原因,详述了r t p r t c p 协议及其特性。在此基础 上,本文提出了一种通过动态调整发送速率来避免拥塞和丢包的方法,以 及一种通过动态调整缓冲区大小来实现同步、减小时延和抖动的方法。这 些都是通过r t c p 提供的o o s 反馈信息来调整相关参数,使得实时数据的传输 能够动态地适应网络带宽的波动,从而最大限度地提高服务质量。最后, 本文设计并实现了一个基于o o s 组播的视频系统。实验结果表明上述方法能 够实现一定的t c p 友好性,并且能够保证视频质量随着网络带宽的波动而平 稳地变化。 关键词:o o s 组播,r t p r t c p ,d ir e c t s h o w ,m p e g 4 ,服务质量 r e s e a r c ha n da p p l i c a t i o no fr t pb a s e do nq o sm u l t i c a s t a u t h o r :l h u i - b i n s u p e r v i s o r :y a n gq i u x i a n g a b s t r a c t m u l t i c a s tt r a n s p o r to fr e a l t i m em u l t i m e d i ad a t ai st h et r e n do fi n t e r n e t d e v e l o p m e n t h o w e v e f ,t h ec u r r e n tb e s t e f f o r ti n t e m e td o e sn o to f f e ra n yq o s g u a r a n t e e sf o rr e a l t i m ed a t a i na d d i t i o n ,t h eh e t e r o g e n e i t yo ft h ei n t e m e t m a k e si td i f f i c u l tt oe f f i c i e n t l ys u p p o r tr e a l t i m ed a t am u l t i c a s tw h i l ep r o v i d i n g f l e x i b l es e r v i c et om e e taw i d er a n g eo fq o sr e q u i r e db yu s e r s t h u s ,h o wt o t r a n s p o r tr e a l t i m ed a t aw i t hh i 【g hq u a l i t yi sac u r r e n t l yi m p o r t a n t r e s e a r c hi s s u e a tf i r s t ,t h ep a p e ri n t r o d u c e st h ec u r r e n ts t a t u sa n dd e v e l o p m e n tt r e n do f q o sm u l t i c a s tr o u t i n g ,d e s c r i b e st h er t p r t c pp r o t o c o la n di t sc h a r a c t e r i s t i c i nd e t a i l o nt h i sb a s i s ,t h i sp a p e rp r e s e n t saw a y , w h i c ha d j u s tt h et r a n s m i s s i o n r a t ed y n a m i c a l l yt oa v o i dt h ec o n g e s t i o na n dp a c k e tl o s s ,a n da sw e l la saw a y w h i c ha d j u s tt h eb u f f e rs i z ed y n a m i c a l l yt or e d u c et h et i m ed e l a ya n dj i t t e r t h e yu s ef e e d b a c ki n f o r m a t i o np r o v i d e db yr t c p t oa d j u s tt h eq o s p a r a m e t e r s a n dt h e nm a k er e a l t i m ed a t at r a n s m i s s i o na d a p t i n gt ot h ef l u c t u a t i o n si n n e t w o r kb a n d w i d t hd y n a m i c a l l y s ot h eo p t i m a lq u a l i t yo fs e r v i c ei sa c h i e v e d a tt h ee n do ft h ep a p e r ,av i d e os y s t e mb a s e do nq o sm u l t i c a s tr o u t i n gi s d e v e l o p e d t h ee x p e r i m e n t a lr e s u l t ss h o wt h a tt h em e c h a n i s mc a na c h i e v et h e f r i e n d l yb e h a v i o ro ft c p ,a n da tt h es a m et i m e ,g u a r a n t e et h eq u a l i t yo ft h e v i d e ov a r i e ss m o o t h l ya st h eb a n d w i d t ho ft h en e t w o r kf l u c t u a t e d k e yw o r d s :q o sm u l t i c a s tr o u t i n g ,r t p r t c p ,d i r e c t s h o w ,m p e g 4 , q u a l i t yo f s e r v i c e 原创性声明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含 其他个人或集体已经发表或撰写过的科研成果。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人 承担。 论文作者签名:窖鍪半日期:垒珥:! :兰三 关于学位论文使用权的说明 本人完全了解中北大学有关保管、使用学位论文的规定,其中包括: 学校有权保管、并向有关部门送交学位论文的原件与复印件;学校可 以采用影印、缩印或其它复制手段复制并保存学位论文;学校可允许学 位论文被查阅或借阅;学校可以学术交流为目的,复制赠送和交换学位 论文;学校可以公布学位论文的全部或部分内容( 保密学位论文在解密 后遵守此规定) 。 签名: 导师签名: 盘墓墨主翅 日期:塑! :苎:翌 中北大学学位论文 1 1 背景介绍 1 绪论 随着全球互联网的迅猛发展,上网人数正以几何级数快速增长,以因特网技术为 主导的数据通信在通信业务总量中的比例迅速上升,因特网业务已成为多媒体通信业中 发展最为迅速、竞争最为激烈的领域。i n t e m e t 网络传输和处理能力的大幅提高,使得 网上应用业务越来越多,特别是视音频压缩技术的发展和成熟,使得网上视音频业务成 为i n t e m e t 网上最重要的业务之一。 在i n t e r a c t 上实现的视频点播( v o d ) 、可视电话、视频会议等视音频业务和一般业 务相比,有着数据量大、时延敏感性强、持续时间长等特点。因此采用最少时间、最小 空间来传输和解决视音频业务所要求的网络利用率高、传输速度快、实时性强的问题, 就要采用不同于传统单播、广播机制的转发技术来实现,而口组播技术是解决这些问 题的关键技术。m 组播( 也称多址广播或多播) 技术,是一种允许一台或多台主机( 组 播源) 发送单一数据包到多台主机( 一次的、同时的) 的t c p i p 网络技术。组播作为 一点对多点的通信,是节省网络带宽的有效方法之一。在网络音频视频的应用中,当需 要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广 播方式,都会严重浪费网络带宽,只有组播才是最好的选择。组播能使一个或多个组播 源只把数据包发送给特定的组播组,而且只有加入该组的主机才能接收到数据包。因此, m 组播技术及其应用正受到越来越多的重视,然而,从实现多媒体到多客户的消息推进 都需要相应组播协议的支持,组播路由协议技术是实现组播功能的基础。日益重要的大 规模多媒体数据分发业务( 如网络电视、电视会议和远程教育) 需要组播能够提供o o s 支持和成员的异构性支持,但传统的组播路由协议并不能满足这些需求。现在,成员的 异构性一股可以通过多层组播来解决,而q o s 支持则需要研究q o s 组播路由协议。但 是,由于很多q o s r l l 】问题的精确求解复杂度都是n p c ( n o n d e t e r m i n i s t i cp o l y n o m i a lt i m e c o m p l e t e n e s s ,非确定的多项式时间完全问题) ;以及q o s r 和现有尽力发送的网络服务 策略冲突等问题,使得q o s r 问题难以完全解决。而这些难点也正是当今研究解决的热 1 中北大学学位论文 点问题。 1 2 0 0 s 组播路由协议的研究现状 国际上致力于组播研究的组织主要是i e t f 下属的工作组:p i m ( p r o t o c o li n d e p e n d e n t m u l f i c a s t ) 、s s m ( s o u r c es p e c i f i cm u l t i c a s t ) 、i d m r ( i n t e r - d o m a i nm u l t i c a s tr o u t i n g ) m s e c ( m u l f i c a s ts e c u r i t y l 、r m t ( r e l i a b l em u l t i c a s tt r a n s p o r t ) 、m a g m a ( m u l t i c a s t & a n y c a s tg r o u pm e m b e r s h i p l 。p i m 工作组主要研究域内组播路由,s s m 工作组主要研究基 于特定信源的组播机制。i d 敞工作组致力于完成域间的组播路由。m s e c 工作组主要进 行组播安全方面的研究,保证只有合法成员才收到组内通讯,合法的组员才可以进行源 认证和内容的认证;同时还包括如何抵抗拒绝服务攻击、组密钥管理和组策略管理等。 r m t 工作组主要进行可靠组播方面的研究。姒g i a 工作组研究组播和任意播机制。根据 这些工作组的分工可以将组播的研究领域大致分成:组播路由、安全组播、可靠组播和 特定源组播。目前,i e t f 提出分层结构的q o s r 框架为q o s r 提供了可扩展性和互操作性。 这个q o s r 框架具有两层:域内q o s r 和域间q o s r 。域内鼓励q o s r 的多样性。q o s r 所提 供的服务不仅能够根据当前网络状态进行动态的路径计算。还应该能够为某些服务类型 ( c l a s so fs e r v i c e ) 提供静态配置的路径。域间q o s r 则更强调稳定性和可扩展性,路 由不应该依靠具有过高动态性的网络状态信息,同时域问所交换的状态信息应该保持相 对稳定。 当今对q o s 的研究主要是集中在路由算法,但是无论是源路由算法还是在线路由算 法都需要路由协议的支持。在路由协议方面的研究一般是在原有路由协议上加入对q o s 的支持,例如q o s p f 就是o s p f 的q o s 扩展。该协议为了支持q o s 对0 s p f 进行了一些必要的 修改,如消息的格式、如何分发、如何用于q o s 路径选择等。这个框架希望在尽量减小 对现有路由影响的基础上支持q o s 。其它的q o s 协议主要有以下几种: 1 s p a i l i l i n 哥j o i i i 协议【2 】:该协议使新成员采用广播方式( 反向路径转发技术,p r f ) 发出j o i n r e q u e s t 报文以寻找在树节点。当一个在树节点接收至u j o i n - r e q u e s t 报文时,它就 返回一个应答报文a c k 给新新成员。这个由单播路由协议决定的a c k 传输路径即为一条候 选组播路径。在新成员离组播树比较远时,s p a n n i n g j o i n 协议需要连续广播加入请求。 2 中北大学学位论文 总体上看,s p a n n i n g - j o i n 协议使用蛮力搜索,所以会显著增加网络带宽开销。 2 q o s m i c 3 1 协议是另一个引起注意的多路径路由协议,其候选的搜索由本地搜索和 树搜索两个进程构成。本地搜索与s p a n n i n g - j o i n 相当,差别只在搜索的范围较小。当本 地搜索未能找到在树节点时,协议就采用树搜索。树搜索使新成员发送一个m j o i n 报 文到所谓指定管理节点( d e s i g n a t e dm a n a g e rn o d e 简称d m n ) ,d m n 在组播树中选择 一个在树节点子集。这个子集中的节点随后向新成员发送b i d 报文。这些b i d 报文所 经历的路径是由单播路由协议决定的,它们构成候选路径。q o s m i c 的规模伸缩性比 s p a n n i n g j o i n 协议要好,因为它并不需要在整个网络泛播搜索报文,泛播技术只是被 用于局部搜索。但是如何选择d m n 以及由此而引起的通信量增加仍是一个不可忽视的 问题。 。 3 q m r p 4 是一个新提出的q o s 组播路由协议,它将单路径路由和多路径路由结合 起来。q m r p 先采用s p r 搜索,如果失败,搜索退回到失败点的前趋节点并转而采用 多路径搜索。不难看出,q m r p 协议的效用取决于单路径探索的状况,如果单路径搜索 形成的部分路径具有较高的延迟,则多路径搜索失败的概率会很大,可见,q m r p 协议 并不能很好支持像延迟这样的加性q o s ( a d d i t i v eq o s ) 。 4 q m d l 5 】协议代表了发展o o s 组播方法的另一个方向。q m d 针对以往q o s 组播均 以每流资源预留o e 广咽o w 北u r c er e s e r v a t i o n ) 为基础会引起路由器过量的状态信息存 储开销的弊端( 例如m q 协议实际上仍然存在伸缩性问题) ,企图实现一个作用于d i f f s e r v 域的q o s 组播 6 1 ,它能显著减少核心路由器的路由负担。在q m d 中,边界路由器( e d g e r o u t e r ) 负责处理成员节点的加入和退出、搜索满足o o s 请求的树枝、为用户预留资源。 q m d 中有一类所谓关键节点( 1 【e yn o d e s ) 。它们是在树节点的一个子集,这些关键节点维 护组播路由状态信息并转发组播通信量,其它在树节点则不需要维护任何状态与o o s 预留信息。作者宣称q m d 具有更好的规模伸缩性、较高的q 呼叫成功率和较低的协 议开销。 5 m q f f i 协议是一个通过资源预留来实现具有服务质量保证组播的协议。注意到 r s v p 被用于q o s 组播时,由于组播树的确定常常是由源节点发起的,因此会导致所谓“面 向发送者的资源预留”问题( t h ep r o b l e mo fs e n d e r - - o r i e n t e dw i t hr s v p ) ,该问题使组播 协议难以适应异构网络环境,即不能满足不同用户的o o s 需求,作者构造了一个基于成 3 中北大学学位论文 员节点发送显式加入请求( e x p l i c i tj o i nr e q u e s t ) 和软状态机$ i j ( s o f l s t a t em e c h a n i s m ) 的分布 式算法。算法可用于源基树也可以用于共享树。作者称m q 跟些与资源预留结合不密 切的q o s 组播协议( m o s p f ) 相比较,具有更强的异构支持能力、更好的可伸缩性和更低 的呼叫阻塞率。 6 y a m l 8 1 协议在需要加入组播树的节点和和组播树之间寻找多条路径,然后根据 非对称的特定度量选择其中最好的路径,它的o o s 路由可以使用多个静态参数( 例如链 路能力和可靠性等) 【9 】。该协议在构造共享树时可以为新节点提供多条连接到组播树的 路径。其加入机制分为域内和域问两个层次。在域内,y a m 采用和c b l 1 0 】( c o r eb a s e d t r e e ) 类似的工作原理,组播树的构造由加入节点发起,整个过程依赖于特定的单播路 由协议。y a m 不采用c b t 中的( 核心节点,组播组) 的映射,而是采用( 出口节点、组 播组) 映射。出口节点既实现c b t 中核心节点的功能,又是域的边界节点。y a m 建议在 多条路径上保持临时状态,这是该协议弓i 起争议的主要地方。如果组成员很稀疏而且动 态性很强,那么该协议的扩展性将成为主要问题。 此外还有m o s p f i l l l ( m u l t i c a s to p e ns h o r t e s tp a t hf i r s t ) 、p t m r l l 2 1 ( p o l i c yt r e e m u l t i c a s tp r o t o c 0 1 ) 等组播协议支持o o s 。当前国内对q o s 组播路由的研究也十分重视, 主要的协议有以下几种: 1 基于受限泛播技术的可伸缩性o o s 组播路由协议【捌:其基本思想是使路由器只存 储其两层邻居节点的可达性信息以及链路的q o s 状态信息。同时,针对q o s 组播的需要, 设计了一套数据结构和组播树的构造算法。在算法中,q 0 s 路由探测由主机路由器发起, 通过探测寻找组播源节点或在树节点来确定一条满足接受端o o s 请求的路径。此方案是 面向接收者( r e c e i v e r - o r i e n t e d ) 的分布式o o s 组播路由算法,因此较之面向源端的o o s 路由,更适合于异构网络环境。发起探测的节点( i p 主机路由器) 只需知道组地址而无须 事先知道源地址或在树节点地址,因此比需要会话协议( s d p ) 目录服务器的协议更加健 壮。这个协议是多路径路由协议,它提供多条满足q 0 s 的路径供成员节点选择。多路径 路由提高了呼叫接收成功率。此外,该协议不依赖于任何单播路由协议传播成员关系信 息,大大减少了路由器存储开销,提高了规模伸缩性 2 c f q m r p 1 4 1 ( c o n s t r a i n tf l o o d i n gq o sm u l t i c a s tr o u t i n gp r o t o c 0 1 ) :其基本思想 是采用q o s 限制的广播来搜索满足q o s 限制的加入路径,并采用多种措施来优化成功 4 中北大学学位论文 率、消息开销和加入时延等性能指标。c f q m r p 是一个分布式的q o s 组播路由协议, 每个节点只需要响应4 条消息:r e q ( g ,q r ,q a ,i ) :请求消息,用于搜索路径,g 是 组地址,o f 是请求的q o s 容限,q a 是收到当前节点到发送请求消息的成员之间的路径 已经消耗的q o s 测度,i 是由成员地址等组成的标识,用于识别重复消息;c f m ( g , q m ) :确认消息用于确认路径,g 是组地址,q m 是组播源数据沿着组播树到当前节点所 消耗的q o s 测度;u n a c k ( g ,i ) :拒绝消息,用于确认路径,g 是组地址,i 是一个本地标 识,用于标识路由表目;p r u n e ( g ) :剪枝消息;g 是组地址。其基本过程如下:节点需 要加入组播树时,就向其邻接的路由器广播请求消息,收到请求的路由器如果接纳了这 个请求,就在收到请求消息的接口进行临时资源预留,并向其它接口扩散这个请求报文, 如此直到某个在树节点接纳了这个请求报文,就回送一个确认报文,该报文沿着同请求 报文相反的路径传送到待加入的成员节点,以确认加入路径和临时预留的资源。那些不 能接纳请求的节点就回送拒绝报文,以取消先前临时预留的资源。节点离开组时,就向 其上游节点了送剪枝消息,节点收到剪枝消息后,如果发现其下游再也没有组成员,就 继续向上游发送剪枝消息。 3 m q 腿协议【1 5 1 :它以单播路由协议0 s p f 传播链路的代价信息为基础,运用最小代 价d i j k s t r a 算法计算端节点到当前在树节点的最小代价路径,然后启动一个分布式计算 过程得到一个可选路径集,加入节点通过一个综合性启发式选择其中的最佳路径连接到 组播树,算法能够有效地支持延时和带宽受限的代价优化组播树构造,具有无环选路、 呼叫接收成功率高、呼叫建立时间短、伸缩性好等特点。主要特点是兼有集中式计算与 分布式计算的优点,m q m r 以求解延时和带宽受限的最小代价树问题为目标,能够有效构 造延时和带宽受限的代价优化组播树。 4 多q o s 约束的组播路由协议m r p m o ( m u l t i c a s tr o u t i n gp r o t o c o lw i t hm u l t i p l e o o s ) i t 6 1 :该协议用处理延时、延时抖动、带宽和包丢失率等参数来描述网络模型。该协 议可通过分布式方式搜索到多条可行的路径树枝,且能选择最好的一条将新成员连入组 播树。在凇p m q 中,搜索树是渐进生成的。当一接收节点v i 欲加入组播组,它将发送 j o i n r e q 给中间节点v l ( 路由器) 。v l 从v i 接收到其j o i n r e q 报文后,将进行合格性 检测,主要验证该新成员和树上其它节点是否满足q o s 约束。假设从v 1 至v 0 的路径延 时和延时抖动分别是d ( v l ,v o ) 和d j ( v l ,v o ) ;从v i 至v 1 的路径延时和延时抖动分别是 5 中北大学学位论文 d ( v i ,v 1 ) 和d j ( v i ,v 1 ) 。设b w ( v l ,v o ) ,b w ( v i ,v 1 ) 分别是v 1 至v 0 、v i 至v l 的带宽。中 间节点v 1 将验证: ( d ( v i ,v 1 ) + d ( v l ,v o ) = b n b w ( v l 。v o ) = b ) 若上式成立,则向其路由表添加一o u t 项,并回送一j o i n a c k 报文给v i ;否则v 1 将回送一j o i n n a c k 报文给v i 。对于一个具有l m l 个成员的组播组而言,其计算开销为0 ( f v i2 ) 。 综上所述,在网络层实现组播一直以来被认为是最有效的一种用来实现数据分发的 方法,对其研究一直都在进行,但是由于其本身所带来的缺点,使得网络层组播至今并 没有能够得到广泛的应用,其主要原因有: 1 网络层组播体系结构缺乏可扩展性。路由器需要为每个活动的组维护路由状态信 息,而且这些组播地址不能聚合,网络中大量的活动组将需要路由器巨大的存储和处理 开销。此外,组播组成员的动态性使网络必须动态维护路由状态,更增加了组播路由器 的处理开销。 2 。开放的网络层组播模型在开放的因特网环境中难以支持有效的管理和控制机制。 标准的网络层组播业务模型是一种a n ys o u r c e ,a n yr e c e i v e r 的开放模型,任何节点都 可以创建组,可以向组发送数据,节点可以加入任何感兴趣的组接收数据,发送节点不 知道具体的单个接收节点,接收节点也不需要知道发送数据的节点。在这种模型下,接 入控制、组管理、组地址的协调机制一直没有有效的解决方案。 3 网络层组播还没有清晰的商业费用模型,网络运营商之间有不同的利益取向。目 前骨干网运营商以带宽使用获得收益,对承载的是i p 单播业务还是i p 组播业务没有必要 区分,也就没有动力在路由器中增加对网络层组播的支持。 出于以上的考虑,近年来国外一些研究者开始研究新的组播架构,试图绕开网络层 组播的种种难题,因此提出了基于应用层的组播协议,即在应用层实现组播的功能,而 不再依靠网络层路由器来实现。这种组播方法不需要任何网络底层架构的改变来实现组 播,从而为组播的大范围开展与应用提出了一种新的途径。而i e t f i 作组提出的r t p 协 议就是一种能在应用层实现组播的实时传输协议,它在应用层组帧,利用u d p 协议支持 组播的特性,将数据封装成i p 数据包,并且可以利用r t c p 协议实现组播的q o s 控制,因 6 中北大学学位论文 此本文重点对其进行了研究。 1 3 本文所做的主要工作 1 分析了现有的组播路由协议,指明了应用层组播实现的现实可行性。 2 分析并深入研究了实时传输协议r t p 和实时传输控制协议r t c p 的协议机制。 3 研究了利用r t c p 进行q o s 控制的方法和公式。 4 提出了一种t c p 友好的动态调整发送速率避免拥塞和丢包的方法。 5 提出了一种通过动态调整缓冲区大小来实现同步,减小时延和抖动的方法。 6 在w i n d o w s 平台上,利用d i r e d t s h o w 和j r t p l i b 实现了一个组播视频会议系统。 1 4 本文的具体安排 本文第一章重点说明了本课题的研究现状,分析了现有的q o s 组播路由协议,指出 了在应用层实现组播的可行性。第二章主要研究了r t p 和r t c t 协议的功能、特点以及 数据包的格式和报文类型。第三章以r t p 和r t c p 协议为基础,研究了如何实现其q o s 控制。第四章分析和研究实现q o s 组播视频系统所要用到的关键技术。第五章研究实现 了q o s 组播视频系统。第六章对全文进行了总结,并分析了今后应研究的内容。 7 中北大学学位论文 2r t p 协议与r t o p 协议分析 r t p 协议是i e t f 的视频、音频工作组在1 9 9 6 年制定的实时数据传输标准,它由两个 部分组成:实时传输协议r t p ( r e a l t i m et r a n s p o r tp r o t o c 0 1 ) ,用来传输具有实时特点的 数据:实时传输控制协t 3 ( r t c p ( r e a l t i m et r a n s p o tc o n t r o lp r o t o c 0 1 ) ,用来控制服务质 量,并在正在进行的会话里传送参加方的信息【1 7 1 。r t p r t c p 协议在0 s i 体系结构协议栈 中的位置如图2 1 所示: 空嚯墓h t t p 洳pt f t pr 贸p 盯pr t c p 醛、 终输丢 职) pt c p 霹络唾 i fb g pr i po s f p 数器链路屡e t :h e r n e 五t m 潆l si s 弧 物理羼h ps 蹦s 弧e t 矾潮 图2 1r t p r t c p 协议工作在传输层 从上图可以看出,r t p r t c p 并没有作为单独的一个层来实现,只是作为传输层协议 的一部分。r t p 的实现一般是在应用层组包,通过传输层的协议逐层向下传送,它依赖底 层的协议来提供r t p 包和r t c p 包的复用。在传输过程中,首先将流媒体数据打包成r t p 包,然后将r t p 包封装成i p 包。 r t p 协议通常根据一个具体的应用来提供服务,r t p 只提供协议框架,开发者可以 根据应用的具体要求对协议进行充分的扩展。当应用程序开始一个r t p 会话时将用两个 端口,r t p 使用偶数端口来传递有效数据,r t c p 使用比它大1 的奇数端口进行控制流的 传送,帮助监视网络流量和阻塞情况,为有效数据传递提供可靠保障。发送方在发送媒 体流时由应用程序组帧,在r t p 包的包头填上时间戳、序列号、负载类型、源标志符等 其它用于控制适时数据流的信息。r t p 会给第一个分组一个随机的序列号,后续分组的 8 中北大学学位论文 序号顺序递增,接收方在收到发送方发来的包后,根据包的序列号重构包序。这样接收 端就能按收到的分组排序和检测丢失的分组。在网络中,从发送端到接收端不同的时延 通常导致接收方的时延抖动,利用r t p 的时间戳信息可以进行流间或流内的同步,能够 使接收端时延抖动缓冲区根据分组的时间戳值,对来得太快的分组加上一些附加时延, 从而平滑数据发送。接收端还可以根据负载类型按相应的方法对其进行解码,按照正确 的速率恢复成原始的实时数据流以回放。上述工作都是在应用程序中完成,r t p 本身不 管。可见,虽然r t p 没有传输层协议的完整功能,但是应用程序可以利用r t p 包中提供 的信息,很好的完成实时流的传输,实际上是r t p 协议和u d p 二者共同完成了传输层协 议功能。r t p 的协议数据单元是用u d p 分组来承载的,以利用u d p 的多播、复用和校验 功能,在传输的服务质量控制方面可利用r t c p 的反馈信息。它有以下特点: 1 简单性:r t p 协议不具备传输层的完整功能,其本身也不提供任何机制来保证实 时的传输数据,不保证服务质量,而是依赖下层协议提供的服务来完成这些任务。它不 保证提交或防止乱序提交,也不假设下层网络是可靠的并且提交的分组是有序的。r t p 报文甚至不包括长度和报文边晃的描述,而是依靠下层协议提供长度标识和长度限制。 另外,r t p 协议将部分传输层协议功能( 如流量控制) 上移到应用层完成,简化了传输层 处理,提高了该层效率。 2 灵活性:r t p 协议把协议机制与控制策略的具体算法分开,协议本身只提供完成 实时传输的机制,对控制策略的算法和实现不作具体规定,开发者可能根据不同的应用 环境选择实现效率较高的算法与合适的控制策略。 3 动态调节性:r t p 协议可以根据r t c p 包的信息进行自适应调整。接收方可以通 过分析r t c p 包估计当前网络的实际状况,调整r t p 包的发送间隔,调整流间或流内同 步等,动态调节服务质量。 4 可扩展性:由于r t p 协议只提供一种协议框架,对其实现细节并未规定,开发者 可以根据需要对其进行扩展。 2 2r t p 协议的数据包格式 r t p 的数据包结构如图2 2 所示: 9 中北大学学位论文 r t p 数据包由1 2 字节的固定的r t p 头和不定长的连续媒体数据( 视频帧或音频帧) 组成,其中的媒体数据可以是编码压缩后的数据。 v :2 位长的版本号。 p :1 位长的附加标记位,用以说明包尾是否附有非负荷信息。这些附加的信息可 用于加密或通知低层协议,一个数据单元封装有几个r t p 包。 x :l 位长的扩展位。若x = l ,表示r t p 头后附有一变长的扩展头。 c c :4 位长的c s r c 计数,表示固定头后有多少个c s r c 标识符。 m :1 位长的标记位,用以标记数据流中的重要事件,如帧边界等。 p t :7 位长的负荷类型。解码端据此来识别媒体类型。 版本号补齐位拓展位c s r c 数标记负载类型 序列号 ( v )( p )( x ) ( c c )( m )( p t ) 1 6 位 2 位1 位1 位4 位1 位1 位 时间戳( t u n e s t a m p ) 3 2 位 同步源标识( s s r c ) 3 2 位 贡献源标识符( c s r c ) 3 2 位 负载数据( p a y l o a d ) 图2 2 r t p 的数据包结构 序列号:2 字节长的包序号。每个r t p 数据包按发送先后次序依次增l ,用于解码端的 丢包检测和包序号恢复。 时间戳:4 字节的时问戳。记录r t p 包中数据开始产生的时钟时间,用于同步和包到 达间隔抖动计算。时钟频率和数据格式有关,不能使用系统时钟。对固定速率的音频来 说,每次取样时戳时钟增1 。和包序号一样,时戳的开始值是随机的。如果多个连续的 r t p 包在逻辑上是同时产生的,那么他们具有相同的时戳。 1 0 中北大学学位论文 s s r c 标识符:4 字节长的同步源标识符,用以识别同步源。该识别符是随机产生的3 2 位长的标量,以避免两个同步源具有相同的时戳。 c s r c 标识符:为一贡献源表,o 一1 5 项,每项4 字节长。c s r c 表用以识别和r t p 包中负 荷相关的源。由于c c 项只有4 位长,当贡献源超过1 5 个时,则只能识别1 5 个。c s r c 由混 合器( m i x e r ) 通过贡献源的s s r c 识别符插入到r t p 包中。 负载数据( p a y l o a d ) :是r t p 数据包中用于存储传输数据的字段。 2 3r t c p 协议简述 r t c p 是与r t p 协同工作的传输控制协议。在r t p 会话期间,各参与者周期性的传送 r t c p 报文,传递实时数据传输质量的反馈信息及各参与者的相关信息,r f c l 8 8 9 1 ”定义 了r r ,s r ,s d e s ,b y e ,a p p 等五类r t c p 控制报文: 1 r r ( r e c e i v e rr e p o r t ) 报文:由实时数据接收方发送,r r 报文针对每个信源都提供 报文丢失数、已收报文的最大序列号、到达时间抖动、接收最后一个s r 的时间、接收 最后一个s r 的延迟等信息。 2 s r ( s e n d e rr e p o r t ) 报文:由处于活跃状态的信源发送方发送,s r 报文不仅提供 该端系统作为接收方的数据接收质量反馈信息( - qr t c pr r 报文相同) ,而且还提供 s s r c ( 同步源) 标识符、n t p 时间戳、r t p 时间戳、发送包数以及发送字节数等与发送有 关的信息。 3 s d e s ( s o u r c ed e s c r i p t i o ni t e m s ) 报文:提供信源的描述信息。包括c n a m e ( 信源 端系统标识) 、n a m e ( 用户名) 、e m a i l ( 电子邮件地址) 、p h o n e ( 电话号码) 、l o c ( 地理位 置) 、t o o l ( 应用程序或工具名) 、n o t e ( 通知状态) 等s d e s 报文项。 4 b y e 报文:将某参与者退出信息通知会话。 5 a p p 报文:用户自己定义报文。 利用上述五类r t c p 控制报文,可以实现如下功能: 1 q o s 监测和拥塞控制:r t c p 包的报告块中提供了q o s 监测的必要信息。如r r 包中 含有所接收的最高顺序号、丢失率、累计丢失的包数、包间隔抖动。应用程序通过分析 报告中的丢包率等信息,调整发送速率,防止一个暂时拥塞变为永久拥塞。 1 1 中北大学学位论文 2 媒体间同步:r t c p 的s r 包中包含实际时间n t p 时间戳和相应的r t p 时间戳,可用 于不同媒体间的同步。 3 识别信息:r t p 数据包只能通过s s r c 来识别源,而r t c p 的s e d s 包中有足够的文 本信息,如c n a m e 。用户名等。 4 会话大小估计和控制信息量的调节:参与会话的每个成员周期性地发送r t c p 包, 各站点可据此估计和计算出参与会话的人数,调节实时控制信息量,使控制信息量和媒 体业务量达到平衡。 2 4r t o p 协议控制报文的数据包格式 2 4 1r t c p 协议发送方报告数据包的格式( s r ) 如图2 3 所示: v 2 位p 1 位r c 5 位p t = s r = 2 0 08 位长度1 6 位 发送者的s s r c n t p 时间戳高3 2 位 n t p 时间戳低3 2 位 r t p 时间戳 发送方包总数( 发送的r t p 包包数) 发送字节计数 s s r c _ i ( 第一个发送源的s s r c ) 丢失率8 位累计丢失包2 4 位 扩展的已收到的最大序列号 到达时间间隔抖动 l s r 是最近发送方报告( s r 包) 的时戳 d l s r 是自最近发送方报告之后的延迟 s s r c _ 2 ( 第二个发送源的s s r c ) 文档定义的扩展部分 图2 3s r 的数据包结构 1 2 中北大学学位论文 s r 数据包分三部分,如需要还可加上扩展部分。 第一部分头部:8 个字节分别是:版本号( v 】:2bi t ,补充位( p ) :i b i t ,说明 r t c p 包在尾部是否有填充,其中最后一个字节表示填充的长度。接收报告计数 ( r c ) :5 b i t ,此包中的接收报告块数。包类型( p t ) :8 b i t ,长度:1 6 b i t ,r t c p 以3 2 b i t 计的长度( 包括头部和填充位) 其值加l 为该r t c p 包的长度。同步源( s s r c ) :3 2 b i t , 此包的同步源标识符。 第二部分包体:2 0 字节,描述发送方的数据传送情况。 o n t p 时戳:6 4 b i t ,s r 包发出的绝对时间。 ) r t p 时戳:3 2 b i t ,与n t p 时戳对应,而 且与数据包中的r t p 时戳有相同的单位和偏移值,即相同的初值,它可由n t p 时戳根据 r t p 时戳计数器与实际时间的比例计算出来。发送r t p 包计数:3 2 b i t ,发送方从开始 发送到发送本报告为止共发送的r t p 包数,若s s r c 定义符被改变,则本字段被重置。 发送字节计数:3 2 b i t ,发送方从开始发送到发送本报告为止共发送的r t p 包数的总字 节数。 第三部分:包含0 个或多个接收报告块,因为一个r t p 会话接收方可能会收到多个 s s r c 不同的r t p 流,所以可能会有多个接收报告块,每个接收报告块统计从一个s s r c 收到包的情况,当源由于冲突改变它的s s r c 标识符时,接收方不发送统计。统计项包 括如下七项:s s r c _ n ( 源标识符) :3 2b i t ,s s r c 源标识符。丢失率:8b i t ,从上次 发送s r 或r r 后,源s s r c _ n 的r t p 包丢失率。累计丢失包数:2 4b i t ,接收开始时丢 失包数的累计。扩展的最大顺序号:3 2 b i t ,低1 6 位包含来自源s s r c _ n 的r t p 数据 包的最大顺序号,高1 6b i t 用相应的序列号周期数扩展该序列号。间隔到达抖动:3 2 b i t 。用无符号整数。是r t p 包到达间隔的统计变化的估计值。l s r :3 2 b i t ,指最近 接收的r t c p 发送方报告包中的n t p 时戳的中间3 2b i t 。如无s r 被接收此字段为0 。 d l s r :3 2b i t 。以1 6 5 5 3 5 秒计,指从源s s r c _ n 接收的最后的s r 包到发送此接收报告 块之间的延迟。如无s r 包从源s s r c _ n 被接收,则d l s r 字段置0 。 2 4 2 接收方报告包( r r ) 接收方报告包( r r 包) 和s r 包不同点仅在于它的包类型为2 0 1 ,并且5 个发送者的 中北大学学位论文 信息被省略。r r 包是由接收者发出主要是向发送端反馈服务质量监测参数,从而使发送 方能进行相应的服务质量监测和控制。根据接收方是否同时还是发送方,r t c p 包采用两 种不同的形式:若在发送前一个报告以后发送过数据包,则该站点发送s r 包,否则发送 r r 包。由于s r r r 包中最多允许3 1 个接收报告块,你可以在最初的s r 或r r 包之后堆 叠附加的r r 包,包括在上一个报告以来的间隔内收听到的所有源的接收报告。 2 4 3s d e s 包 s d e s 分组主要是用来传送会话成员身份标识信息,类型是2 0 2 ,格式如图2 4 所示。 它可以包括不同类型如c n a m e ,n a m e ,e m a i l ,p h o n e ,l o c 等。其中,c n a m e ( c a n o n i c a l e n d p o i n t e di d e n t i f i e r ) 是必有项,用来绑定由同一源发出的多个r t p 会话流。 l e n g t h1 6 v2 位p1 位s c5 位p t

温馨提示

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

评论

0/150

提交评论