本发明专利技术公开了一种跨平台的端到端RTP协议栈设计方法。它通过对RTP协议的标准进行修改和裁减,采用简洁的接口技术,降低程序运行复杂度;本RTP协议栈包括三个模块:一、数据包模块,二、控制信息包模块,三、成员模块;这三个模块由一个调度器来统一处理,使其协作执行使之适合于移动环境下流媒体的应用,为了适合在各种设备和网络环境下运行,尤其是为了适应嵌入式移动手持设备,本发明专利技术对RTP协议标准作了大量的改进,使之满足流媒体无线传输的实时性和可靠性。本发明专利技术在RTP应用的成员维护和RTP应用的安全方面有很大的优势,在无线传输的网络环境中,能很好的适应各种移动终端设备的流媒体应用。
【技术实现步骤摘要】
跨平台的端到端RTP协议栈设计方法
本专利技术涉及一种跨平台的端到端RTP协议栈设计方法。
技术介绍
随着多媒体处理技术的发展,基于流媒体传输的多媒体应用得到了迅速的发展。目前,许多实验性的高速宽带网络都把视频传输的技术和应用作为研究的重点课题。流媒体技术适用各种网络带宽环境(14.4Kbps-10Mbps),因此,流媒体在互联网上的应用十分广泛,如实时视频会议、多媒体新闻发布、在线直播、电子商务、视频点播、远程教育、道路监控等。在宽带环境下,流媒体不仅可以进行单向流式传输,还能够提供以互动技术为基础的网络交互服务,如互动游戏、互动培训、三维动画等等。目前,流媒体技术的应用正处于高速持续增长时期,而流媒体的实时传输技术也日益成为互联网技术研究的热点。RTP是用于Internet上针对多媒体数据流的一种传输协议。RTP是被定义为在一对一或一对多的传输情况下工作的,其目的是提供时间信息和实现流同步。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠控制协议(RTCP或者TCP)提供这些服务。通常RTP算法并不作为一个独立的网络层来实现,而是作为应用程序代码的一部分。RTP提供端对端网络传输功能,适合通过组播和点播传送实时数据,如视频、音频和仿真数据。TCP/IP网络传输结构是目前最成熟,最可靠,应用最广泛的传输方式。其重传机制和拥塞机制提供了高质量的可靠性,是目前使用最广泛的网络传输机制。TCP/IP传输模式存在很多不足。首先,TCP是面向连接的传输协议,连接本身就会造成一定的时延,这不能满足流媒体传输的实时要求。其次,TCP协议重传机制和拥塞控制不适合多媒体的实时传输。再次,TCP的传输层协议不提供组播功能。最后,TCP报文头不提供时间戳和编、解码信息,因而接受方应用程序可能会无法正确的同步数据。如果使用RTP/UDP作为传输协议栈时,当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。RTCP作为实时传输控制协议和RTP一起提供流量控制和拥塞控制服务。在RTP会话期间,各参与者周期性地传送-->RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。尤其是在UDP上利用RTP/RTCP协议对视频流进行封装、打包和同步,可以使数字视音频信号的网络传输延时达到最小。如果使用RTP/TCP模式,使用TCP协议负载RTP数据报文,流媒体的传输可靠性完全交给底层TCP协议来实现TCP协议采用基于窗口的端到端的算法提供可靠的拥塞控制机制,在各种特定的环境中有效的保证传输的可靠性。要实现跨平台RTP/UDP传输模式,必须解决以下问题:如何在接收端有序解包,而传输的发送端是无序发包的,原因是UDP是无连接的传输协议;如何解决网络的拥塞机制,使之能自适应不同的网络环境,原因是UDP协议不提供拥塞机制;如何得到有效的反馈、模块信息,原因是UDP没有提供控制模块信息;如何在Internet上传输庞大的流媒体数据而不引起很大的带宽竞争;为了适应嵌入式手持设备及无线传输,应尽量减少对各种网络、计算机资源的占用。
技术实现思路
本专利技术的目的在于提供一种跨平台的端到端RTP协议栈设计方法。本专利技术解决其技术问题所采用的技术方案如下:1)、采用简洁的接口技术,降低程序运行复杂度;本RTP协议栈包括三个模块:一、数据包模块,二、控制信息包模块,三、成员模块;这三个模块由一个调度器来统一处理,使其协作执行;2)、通过对RTP包头格式进行修改:用相对时间戳代替绝对时间戳来实现同步,对RTP包的包头进行压缩,减少网络开销;3)、适应无线网络传输环境,对RTCP协议进行裁减和扩展;(1)对RTCP包的SR包做了简化;(2)对RTCP包长更新算法提出改进,使之能更灵活准确反馈某时刻的网络环境;(3)为了适应无线传输环境,把大量的RTP应用的参数设置为默认值,降低算法的复杂度,减少网络开销;(4)对丢包率计算的算法提出改进:当组成员数小于N时,取所有成员中最高丢包率作为向应用层反馈的丢包率;当成员数大于N时,只考虑最近t时间内发送RTP包最多的m位成员的算术平均丢包率作为向应用层反馈的丢包率;4)、成员模块的设置;(1)对成员模块和同步源进行改进和结合,设置成员的五个不同的状态:初始化、查找检测、加入检测、激活、离开五个状态;(2)-->修改RTCP包的发送间隔计算,包长计算算法和丢保率算法的改进的重要原因和目的就是改进发送间隔时间的算法,并根据成员的增减和状态的变化,动态计算RTCP包的发送间隔;(3)删除同步源链表、建立基于分层的成员链表,使成员模块和同步源有机结合,从而对RTP的各个算法实现提供有效支持,保证传输的实时性和必要的可靠性;(4)利用成员模块链表,改进成员冲突检测,对本地成员链表无论是查找操作还是插入、删除操作都变得更加容易;(5)改进back-off机制,设置上溢阈值和下溢阈值来防止同时有很多成员加入和离开导致的网络抖动。本专利技术与
技术介绍
相比,具有的有益的效果是:本专利技术适应各种网络环境。通过对RTP包头格式进行修改,用相对时间戳代替绝对时间戳来实现同步,设置两个状态位来标志成员的状态;对RTCP协议进行裁减和扩展,对RTCP包的SR包做了简化,对RTCP包长算法、丢包率算法提出改进,使之能更灵活准确反馈某时刻的网络环境;对成员维护和同步源维护进行改进和结合,设置成员的五个不同的状态,删除同步源链表、建立基于分层的成员维护链表,使成员维护和同步源维护有机结合,对RTP的各个算法实现提供有效支持,保证传输的实时性和必要的可靠性,改进成员冲突检测,简化操作,改进back-off机制,防止抖动产生。使用本专利技术的跨平台RTP协议栈的设计方法,与TCP/IP协议和传统的RTP/UDP实现相比,在RTP应用的成员维护和RTP应用的安全方面有很大的优势,在无线传输的网络环境中,能很好的适应各种移动终端设备的流媒体应用。附图说明附图为具体的RTP协议栈示意图。具体实施方式通过对RTP包头格式进行修改,用相对时间戳代替绝对时间戳来实现同步,对RTCP协议进行裁减和扩展,对RTCP包的SR包做了简化,对RTCP包长算法、丢包率算法提出改进,使之能更灵活准确反馈某时刻的网络环境;对成员维护和同步源维护进行改进和结合,设置成员的五个不同的状态,删除同步源链表、建立基于分层的成员维护链表,使成员维护和同步源维护有机结合,对RTP的各个算法实现提供有效支持,保证传输的实时性和必要的可靠性,改进成员冲突检测,简化成员维护操作,改进back-off机制,防止网络抖动产生。本RTP协议栈处于用户接口之下,网络底层接口之上。RTP协议栈基于UDP协议之上,在多媒体的有效载荷之上封装RTP包,并在成员模块中提取有-->效的成员信息,从而传输数据包和控制信息包,如附图所示。RTP协议栈的具体实现如下:1、RTP协议栈包括个模块:一、数据包模块,二、控制信息包模块,三、成员模块。这三个模块由本文档来自技高网...
【技术保护点】
跨平台的端到端RTP协议栈设计方法,其特征在于:1)、采用简洁的接口技术,降低程序运行复杂度;本RTP协议栈包括三个模块:一、数据包模块,二、控制信息包模块,三、成员模块;这三个模块由一个调度器来统一处理,使其协作执行;2) 、通过对RTP包头格式进行修改:用相对时间戳代替绝对时间戳来实现同步,对RTP包的包头进行压缩,减少网络开销;3)、适应无线网络传输环境,对RTCP协议进行裁减和扩展;(1)对RTCP包的SR包做了简化;(2)对RTCP包长更新算法 提出改进,使之能更灵活准确反馈某时刻的网络环境;(3)为了适应无线传输环境,把大量的RTP应用的参数设置为默认值,降低算法的复杂度,减少网络开销;(4)对丢包率计算的算法提出改进:当组成员数小于N时,取所有成员中最高丢包率作为向应用层反馈的丢包率;当成员数大于N时,只考虑最近t时间内发送RTP包最多的m位成员的算术平均丢包率作为向应用层反馈的丢包率;4)、成员模块的设置;(1)对成员模块和同步源进行改进和结合,设置成员的五个不同的状态:初始化、查找检测、加入检测、激活 、离开五个状态;(2)修改RTCP包的发送间隔计算,包长计算算法和丢保率算法的改进的重要原因和目的就是改进发送间隔时间的算法,并根据成员的增减和状态的变化,动态计算RTCP包的发送间隔;(3)删除同步源链表、建立基于分层的成员链表,使成员模块和同步源有机结合,从而对RTP的各个算法实现提供有效支持,保证传输的实时性和必要的可靠性;(4)利用成员模块链表,改进成员冲突检测,对本地成员链表无论是查找操作还是插入、删除操作都变得更加容易;(5)改进back-off机制,设置上溢阈值和下溢阈值来防止同时有很多成员加入和离开导致的网络抖动。...
【技术特征摘要】
1、跨平台的端到端RTP协议栈设计方法,其特征在于:1)、采用简洁的接口技术,降低程序运行复杂度;本RTP协议栈包括三个模块:一、数据包模块,二、控制信息包模块,三、成员模块;这三个模块由一个调度器来统一处理,使其协作执行;2)、通过对RTP包头格式进行修改:用相对时间戳代替绝对时间戳来实现同步,对RTP包的包头进行压缩,减少网络开销;3)、适应无线网络传输环境,对RTCP协议进行裁减和扩展;(1)对RTCP包的SR包做了简化;(2)对RTCP包长更新算法提出改进,使之能更灵活准确反馈某时刻的网络环境;(3)为了适应无线传输环境,把大量的RTP应用的参数设置为默认值,降低算法的复杂度,减少网络开销;(4)对丢包率计算的算法提出改进:当组成员数小于N时,取所有成员中最高丢包率作为向应用层反馈的丢包率;当成员数大于N时,只考虑最...
【专利技术属性】
技术研发人员:卜佳俊,陈纯,黄笑鹏,谭永宝,
申请(专利权)人:浙江大学,
类型:发明
国别省市:86[中国|杭州]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。