基于多流的重传策略(1)
2014-08-30 01:24
导读:计算机应用论文论文,基于多流的重传策略(1)怎么写,格式要求,写法技巧,科教论文网展示的这篇文章是很好的参考:
摘 要 在本篇论文中,针对现有RTP/UDP在传输流媒体的不足,我提
摘 要 在本篇论文中,针对现有RTP/UDP在传输流媒体的不足,我提出了一种新的传输技术:MSSR-RTP(Multiple Stream Selective Retransmission-Realtime Transmission Protocol,多流选择性重传实时传输协议)应用层协议,然后利用这个协议建立了在Internet中传输H.264/AVC架构体系。在实际项目中成功应用,并显示出其很好的网络特性以及TCP友好特性。 关键词 RTP/RTCP;多流;选择性重传
现有的Internet网的“尽力传输模式”并不能很好的满足Qos的需求,大家都在不断寻求解决方案,著名的Diffserv体系和Intserv体系都是在IP网络中研究Qos提出的,但由于与现有网络的兼容性以及两者体系架构的复杂性,其到目前都没能应用到实际Internet网络中,在对网络有特殊Qos需求的流媒体领域,如何在现有网络体系中最大限度的解决延时,延迟抖动,丢包等问题一直是大家研究的热点。目前的主流解决方案中:RTP/UDP架构在一定程度上解决问题,但其存在不足,针对它的不足,我提出了MSSR-RTP应用层协议,利用这个协议建立了MSSR-RTP/UDP的架构体系。1 介绍 在Internet上的流媒体应用越来越广泛,但现有的传输层UDP和TCP协议都不能很好的支持流媒体的传输,其主要原因跟压缩技术和现有的网络体系架构有关。目前在流媒体领域的主流解决方案是:RTP/UDP[1],即在UDP层上封装RTP层,通过应用层来加强和改善多媒体数据在Internet传输上的性能。但目前这个方案仍有不足,我们以目前的主流视频压缩算法:H.264/AVC[2]为例: a.RTP没有分优先权的字段。 H.264/AVC有3种类型的帧(依据不同的软件,其提供的帧类型可能更多):I帧,进行帧内独立编码,可以看作参考帧;P帧,为前向预测帧,参考前面的I帧和P帧进行编码,采用运动补偿预测帧间误差;B帧编码依赖于前面的和后面的I或P帧。在传输中I帧和P帧数据出现错误,接收端视频流回显质量会受到严重影响。特别是I帧数据,通过实际项目的测试发现,I帧的丢失将使画面出现花屏,并且出现动画效果,画面不够流畅。同时,由于网络资源限制,我们又不能把所有视频数据同样对待,必须对其分类,使得关键数据能得到最大限度保障,而一些不重要的数据就不需要进行重传以减轻网络负担,但RTP机制并没提供对信息分类的功能。在我提出的模型中,利用多流的特点,为每个流设置重传时间,在重传时间内的数据进行重传,超过重传时间的数据进行丢弃,通过这种方法达到对不同优先权的数据进行分类处理。 b.RTP无法满足分片的需要。 由于视频数据帧通常很大,如果不进行分片的话,分片和重组将给路由器和目的主机增加了额外的负担。花费额外的精力去创建数据报分片和分片重组。由于这个原因,需要将分片保持为最小,这里通过将应用层的数据段限制在一个较小的范围内实现。由于所有IP支持的数据链路协议的MTU都被认为至少有576字节,所以可以使用548字节的MSS、8字节的UDP数据段头部和20字节的IP数据报报头的分片方法。 c.无法通过RTP/RTCP来提供拥塞控制和流量管理。 网络资源的公平共享提出了要终端提供拥塞控制以防止网络恶化。为了防止接收端被数据“淹没”,也需要发送端提供流量管理的功能,但标准RTP机制没有提供这种功能。 针对现有架构的不足,提出一种在RTP基础上进行扩展的体系:MSSR-RTP/UDP。利用在终端增加多流技术,分片/重组功能,增加CWND/RWND变量对现有的不足进行改进。2 体系架构 根据H.264/AVC和现有Internet的特点,我扩展了RTP/RTCP的功能,提出了MSSR-RTP(Multiple stream selective retransmission-Realtime transmission protocol)模型,其图如图1。 系统的研究对象是H.264/AVC,它为网络开发者提供的是I,P,B帧,我把每一帧作为一个发送对象,取名:ADU(Application Data Unit应用程序数据单元)。由于通常视频数据都很大,需要进行分片。分片后通过控制模块添加MSSR-RTP头信息,并把封装后的数据放入缓存,在发送方,无论数据属于哪个流,都放入同一个缓存中。最后由调度中心将数据调入传输层,然后发送到接收方,接收方通过重组分片,收集丢失数据,依据流的特性,将需要重传的数据通过MSSR-RTCP回馈到发送方,进行数据重传。如果一帧的每个分片都到达接收端,则重组为一帧数据上传给解码器。