第三章 实时传输协议



第三章实时传输协议

2.1 RTP的基础设计哲学

2.2 RTP的标准元素

2.3 相关标准

2.4 未来标准的发展



RTP的基础设计哲学

 

    RTP设计者面临的挑战是在不可靠的传输层上为实时媒体传输构建一个健壮的传输机制。RTP设计者们是通过让他们的设计遵从一对设计原理来达到这一目标的,这一对设计原理是:应用级成帧原理和端到端原理。


应用级成帧


    应用级成帧背后所隐含的概念在1990年由Clark Tennenhouse首次阐明。他们的中心观点是,只有应用程序对要传输的数据有足够的了解,这种了解使得应用程序能够做出明智的决定:怎样传输这些数据。这意味着传输协议应该以对应用程序有意义的单元接受数据(ADU),并且暴露尽可能多的传输细节给应用程序,以便传输错误发生时应用程序能够做出适当的响应。应用程序和传输层一起合作实现可靠传输。


    应用级成帧来源于人们认识到应用程序可以有很多种方法从网络问题中恢复。正确的恢复方法依赖于应用程序自身及其使用场景。在某些情形下,需要重传丢失数据的精确副本,在其他情形下,可以使用低保真度的数据副本,或者其他数据替代,因此,替代数据和原始数据是不同的。作为一种选择,如果仅仅在短时间内关注数据,那么数据的丢失是可以忽略的。只有应用程序和传输层紧密的相互作用,才有可能实现这些选择。


    应用级成帧的目标和TCP设计有些不一致。TCP通过隐藏底层IP网络的丢包特性来实现可靠传输,但这么做损害了传输的实时性。然而,应用级成帧确实适合基于UDP的传输,适合实时媒体的特点。正如在第二章中所提到的,在包交换网络中进行的语音和视频通信,实时的音频和可视化媒体通常可以容忍数据丢包,但是对传输时延的范围有严格的要求。通过在基于UDP的传输上使用应用级成帧,我们可以在必要的场合接受(忽视)网络丢包,但是我们也有使用所有丢包恢复技术的灵活性,例如,在适当的场合使用重传和前向纠错。


   这些技术给应用程序以很大的灵活性,使其可以以适当的方式响应网络问题,而不是被单一的传输层的规定所束缚。


    根据应用级成帧原理设计的网络传输协议不应该特定于某个特殊的应用。更好的做法是它应该把通用传输层的限制暴露给应用程序,以便应用程序和网络合作实现可能的最好的传输。应用级成帧蕴含了OSI定义的严谨的分层协议的一个弱化版本。它是一个实用的方法,它承认分层的重要性,但是它也接受那些把底层的某些细节暴露给上层的需求。


    应用级成帧的设计哲学蕴含着智能,网络应用程序能够对问题做出反应。


端到端原理

 

    RTP采用的另一个设计哲学是端到端原理。通过网络进行可靠通信有两种设计方法,这个原理是其中之一。一种方法是,系统负责数据的正确传输,因此要确保每一节点的传输的可靠性。另一种方法是,终端负责数据的正确传输,确保数据传输的端到端的可靠性,即使系统中某些单独的节点的传输并不可靠。正是端到端的方法遍布整个因特网的设计,TCPRTP都遵从端到端的设计原理。

    端到端原理所产生的一个主要结果是,系统的智能性趋向于上移到协议栈的顶端。如果网络中的节点不必负责数据的正确传输,这些节点就不需要很强的健壮性,实现就比较简单。对于不能传输的数据,节点可以丢弃,因为不需要这些节点的帮助,终端就可以恢复这些数据。端到端原理意味着终端具有智能性,而网络没有。

    结果就是设计中包含智能的网络终端和不智能的网络。这样的设计非常适合因特网,或许是非常适合极其不智能的网络。但是应用程序设计者需要做大量的工作。这个设计也不像很多其他的网络设计,例如,传统的电话网络采用了智能网络和哑终端的模型,MPEG传输模型允许哑接收者和智能发送者。这个设计上的差异改变了应用程序的设计风格,把更多的重点放在了接收者的设计上,使得发送方和接收方在传输合作中的地位更加平等。

灵活性的实现

    RTP框架被设计为足可以应用在许多场景下,几乎不需要额外的协议支持。这个设计在很大程度上是基于视频会议的轻量级会话模型。在这种场景下,RTP控制协议提供所有必需的会话管理功能,加入会话所必需的是IP地址和媒体定义到RTP有效载荷类型ID的映射。这个模型在一对多的场景下也工作的很好,例如,因特网收音机,控制协议提供的反馈给发送方一个听众规模和接收质量的估计。

    对于单播语音电话,有人认为RTP提供了不必要的特点,对于高度压缩的语音帧来说,过于重量级和低效。在实践中,通过实用RTP头部压缩,这个理由并不强。RTP的特色使得多媒体和多方会话应用可以很轻松的实现扩展。还有其他的,例如数字电影协会,认为RTP规范没有包括他们的需求,应该包括更强的QOS和安全性支持,更详细的统计,等等。

    RTP的力量在于它为实时音视频传输提供了一个统一的框架,直接满足了绝大多数应用的需要,还为那些需要突破RTP限制的应用提供了可塑性。
















你可能感兴趣的:(网络,传输,internet,多媒体,RTP)