没有合适的资源?快使用搜索试试~ 我知道了~
首页RTP中文版翻译:实时传输协议解析
RTP中文版翻译:实时传输协议解析
需积分: 9 5 下载量 89 浏览量
更新于2024-07-15
收藏 17.46MB PDF 举报
"RTP中文版 by 51TalkAM.pdf" 本文主要介绍RTP(实时传输协议),一种广泛用于互联网音频和视频传输的协议。RTP最初在RFC1889中有描述,但随着WebRTC在2012年后成为主流技术,RTP的重要性显著增加。然而,由于技术书籍更新的滞后,许多工程师需要通过阅读WebRTC源码来学习RTP,这种方式往往缺乏基础理论支持。51Talk人工智能与多媒体研发部为了提升团队对RTP协议的理解,翻译了这本经典书籍,以便读者能够更深入地学习实时音视频技术和流媒体传输。 RTP协议主要用于实时数据传输,如语音和视频,它通常与RTCP(实时传输控制协议)一起使用,提供时间同步、质量反馈和会话控制。RTP不保证数据包的可靠传输,而是依赖于底层传输协议如UDP来快速发送数据,适合对延迟敏感的实时通信。 本书分为几个部分,涵盖了RTP的基础知识,包括第一章和第二章的协议概述,第三章至第四章的RTP数据包格式和操作,第五章和第六章涉及多路复用和解复用,第七章探讨了会话管理和控制,第八章到第十章深入讨论了特定的RTP应用和扩展,最后的第十一章和第十二章可能涉及了错误恢复策略和QoS(服务质量)管理等高级主题。 参与翻译的51Talk团队成员在各自的专业领域做出了贡献,通过他们的努力,使得这本书的中文版本得以完成,便于国内技术人员学习和研究。通过阅读本书,读者可以更好地理解RTP协议,进而掌握WebRTC等相关技术,为进一步探索音视频处理和流媒体传输领域的RFC文档或专家博客奠定坚实基础。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/13139494/bg10.jpg)
第二章 包网络上的语音和视频通信.md
2020/2/26
3 / 19
会话层 会话层以对应用程序有意义的方式管理传输连接。示例包括用于检索Web页面的超文本传
输协议(HTTP)、电子邮件交换期间的简单邮件传输协议(SMTP)协商以及管理文件传输协议(FTP)
中的控制和数据通道。
表示层 表示层描述了较低层所传递的数据的格式。示例包括用于描述Web页面表示的HTML(超文
本标记语言)、描述电子邮件格式的MIME(多用途Internet邮件扩展)标准,以及更常见的问题,
如FTP中的文本传输和二进制传输之间的差异。
应用层 应用程序本身—例如web浏览器和电子邮件客户机—构成系统的顶层,即应用层。
在模型的每一层,在一个主机上的某层与另一个主机上的等效层之间存在逻辑通信。当一个系统上的
应用程序希望与另一个系统上的应用程序进行通信时,通信将向下通过源的各个层,通过物理连接的
传递,然后向上到达目的地的协议堆栈。
例如,一个Web浏览器应用程序呈现一个HTML展现,它使用HTTP会话、TCP传输连接、IP网络、以太网
数据链接、使用双绞线物理电缆来传递。每一步都可以看作是模型的特定层的实例化,向下通过协议
栈。其结果是将Web页面从应用程序(Web服务器)转移到应用程序(Web浏览器)。
这个过程并不总是那么简单:源和目标之间可能没有直接的物理连接,在这种情况下,在中间网关系
统,连接必须部分的上升协议栈。它需要上升多远?这取决于连接的是什么。以下是一些例子:
日益流行的IEEE 802.11b无线网络使用基站将一个物理层(通常是有线以太网)连接到另一个物理
层(数据链路层的无线链路)。
IP路由器提供了网关的一个示例,其中多个数据链路在网络级连接。在移动电话上查看Web页面
通常需要连接一直上升到网关中的表示层,该层将HTML转换为无线标记语言(WML),并将连接传
递到不同的低层。
如上所述,我们可以使用OSI参考模型来描述互联网。这种契合并不完美:互联网的架构是随着时
间的推移而演变的,在一定程度上早于OSI的模式,通常来讲,实际分层表现出的严格性比所描
述的要低得多。然而,考虑互联网协议套件与OSI模型之间的关系,特别是IP作为一个通用网络
层所扮演的角色,是很有意义的。
OSI参考模型的最低两层可以直接与Internet相关,Internet可以通过各种链接工作,如拨号调制解
调器、DSL、以太网、光纤、无线和卫星。每个链接都可以用OSI模型的数据链路/物理层分割来描
述。
在网络层,一个特定的协议将一组完全不同的私有网络转换为全球Internet。这是互联网协议(IP)。
IP向上层提供的服务很简单:尽最大努力将数据报包传递到指定的目的地。由于这项服务非常简单,
IP可以运行在广泛的链路层上,使得Internet能够快速传播。
简单性是有代价的:IP不能保证任何特定的传输时效性,或者数据报根本就不能传输。包含IP数据报
的数据包可能会丢失、重新排序、延迟或被低层损坏。IP不会试图纠正这些问题;相反,它将数据报
原封不动地传递到上层。不过,它确实提供下列服务:
分片,防止数据报大于底层链路层的最大传输单元。
一个“生存时间”字段,防止循环的包永远循环
一种服务类型标签,可用于为某些类型的包提供优先级
上层协议标识符,用于将数据包定向到正确的传输层
端点的寻址——包括多播来寻址一组接收端——并将数据报路由到正确的目的地
![](https://csdnimg.cn/release/download_crawler_static/13139494/bg11.jpg)
第二章 包网络上的语音和视频通信.md
2020/2/26
4 / 19
显示这些服务如何映射到包的IP报头的格式如图2.2所示。
Figure 2.2. Format of an IP Header.png
图2.2中的标头是IPv4标头,是当前Internet上的标准。但现在有往IPv6过渡的举动,它提供了本质
上相同的功能,但大幅增加了地址空间(128位地址,而不是32位)。如果发生这种转换——这是一种
长期的前景,因为它涉及连接到互联网的每个主机和路由器的变化——它将允许更多的机器连接,从
而促进网络的增长,但它不会在其他方面显著地改变服务。
Internet协议提供了单个网络的抽象,但这并不改变系统的基本性质。尽管它看起来是一个单一的网
络,但实际上互联网是由许多独立的网络组成的,这些网络由网关(现在更常被称为路由器)连接,并
由单一的IP服务和地址空间统一。图2.3显示了单个网络如何构成更大的Internet。不同的互联网服
务提供商选择如何运行全球网络下它们自己的那部分:一些拥有高容量的网络,几乎没有拥塞,高可
靠性;其他的没有。
![](https://csdnimg.cn/release/download_crawler_static/13139494/bg12.jpg)
第二章 包网络上的语音和视频通信.md
2020/2/26
5 / 19
Figure2.3. An IP Inter-network
在错综复杂的互联网络中,包含IP数据报的数据包被单独路由到各自的目的地。路由器不需要立即发
送数据包;如果在发送链路上正在传输另一个包,它们可以将其短暂地排队。它们还可能在拥塞时丢
弃数据包。如果底层网络发生变化(例如,由于链接失败),IP包所采取的路由可能会发生变化,这可
能导致上层协议可以观察到传输质量的变化。
在Internet体系结构中,位于IP之上的是两种常见的传输协议:传输控制协议(TCP)和用户数据报协议
(UDP)。TCP对原始IP服务进行调整,以便在每个主机上的服务端口之间提供可靠的、有序的传输,并
根据网络的特性改变传输速率。另一方面,UDP提供与原始IP服务类似的服务,只是增加了服务端
口。本章后面将更详细地讨论TCP和UDP。
在这些传输协议之上,是Internet世界中常见的会话协议,例如用于Web访问的HTTP和用于发送电子
邮件的SMTP。堆栈由各种表示层(HTML、MIME)和应用程序本身完成。
从这个讨论中应该清楚的是,IP在系统中扮演着关键的角色:它提供了一个抽象层,对应用程序隐藏
了底层网络链接和拓扑的细节,并将底层与应用程序的需求隔离开来。这种体系结构称为沙漏模型,
如图2.4所示。
![](https://csdnimg.cn/release/download_crawler_static/13139494/bg13.jpg)
第二章 包网络上的语音和视频通信.md
2020/2/26
6 / 19
Figure2.4. The Hourglass Model of the Internet Architecture
决定跨Internet通信系统性能的主要因素是IP层。较高层协议可以在一定程度上适应和补偿IP层的行
为,但若IP层性能较差会导致整个系统性能较差。接下来的两个部分将详细讨论IP层的性能,指出它
的独特特性以及它带来的潜在问题和好处。
IP
网络
的
性
能
特
征
从Internet体系结构的沙漏模型可以明显看出,应用程序通过抽象IP而隐藏了较低层的细节。这意味
着应用程序无法直接确定一个IP包所经过的网络类型——它可以是任何东西,从14.4千比特的蜂窝无
线电连接到一个千兆比特的光纤——或者该网络的拥塞程度。获取网络性能的唯一方法是观察和测
量。
那么我们需要测量什么,如何测量呢?幸运的是,IP层的设计意味着参数的数量是有限的,而且这个
数量通常可以根据应用程序的需要进一步加以限制。我们可以问的最重要的问题是:
数据包在网络中丢失的概率是多少?
![](https://csdnimg.cn/release/download_crawler_static/13139494/bg14.jpg)
第二章 包网络上的语音和视频通信.md
2020/2/26
7 / 19
数据包在网络中被破坏的概率是多少?
数据包通过网络需要多长时间?传输时间是常数还是变量?
可容纳多大的包?
我们发送信息包的最大速率是多少?
下一节将介绍上述列出的前四个参数的一些样例测量。最大速率与数据包在网络中丢失的概率密切相
关,如第10章拥塞控制中讨论的那样。
什么影响这样的测量?最明显的因素是测量站的位置。在局域网上两个系统之间进行的测量将清楚地
显示与跨大西洋连接不同的属性!但地理因素并不是唯一的因素;遍历链接的数量(通常称为跃点的数
量)、经过运营商的数量以及进行度量的时间都是因素。Internet是一个大型的、复杂的、动态的系
统,因此必须小心确保任何测量都能代表要使用应用程序的网络部分。
我们还必须考虑所使用的网络类型、其他流量以及其他流量的大小。到目前为止,绝大多数网络路径
是固定的、有线的(铜或光纤)连接,绝大多数流量(96%的字节,62%的流量,根据最近的估计)是基于
TCP的。这些流量模式的影响如下:
由于基础设施主要是有线和固定的,所以链路非常可靠,而损耗主要是由路由器的拥塞造成的。
TCP传输假定包丢失是一个信号,表明瓶颈带宽已经达到,拥塞正在发生,应该降低它的发送速
率。TCP流将增加它的发送速率,直到观察到丢失,然后返回,这是一种确定特定连接可以支持
最大速率的方法。当然,其结果是瓶颈链接临时超载,这可能会影响其他流量。
如果网络基础设施或流量的组成发生变化,其他丢包来源可能变得重要。例如,无线用户数量的大量
增加可能会增加丢包比例,这是由于包损坏和对无线链路的干扰而造成的。在另一个例子中,如果使
用TCP以外的传输的多媒体流量的比例增加了,而这些传输对丢失的反应与TCP不同,那么丢失模式可
能会因为拥塞控制动态的变化而改变。
当我们开发在IP上运行的新应用程序时,我们必须意识到我们给网络带来的变化,以确保我们不会给
其他用户带来问题。第10章,拥塞控制,更详细地讨论了这个问题。
测
量
IP
网络
性
能
本节概述有关IP网络性能的一些可用数据,包括平均包丢失的公布结果、丢失模式、包损坏和重复、
传输时间和多播影响的结果。
有几项研究测量了公共互联网上各种条件下的网络行为。例如,Paxson报告了9个国家35个站点之间
的20,000例转移行为;Handley和Bolot对多播会话行为的研究, Yajnik、Moon、Kurose和Towsley报告
了包丢失统计中的时间依赖性。其他数据来源包括CAIDA(互联网数据分析合作协会)、NLANR(应用网
络研究国家实验室)和ACM(计算机械协会)维护的流量档案。
平均丢包
各种包丢失度量能够被研究。例如,平均丢包率提供了对网络拥塞的一般度量,而丢包模式和相关性
提供了对网络动态的观察。
报告的平均丢包率测量显示了一系列情况。例如,由帕克森在1994年和1995年做的TCP / IP流量的测
量显示,根据路线和日期,30%到70%的流量显示没有包丢失,但那些显示有丢包的流量,平均丢包范围从
3%到17%(这些结果总结在表2.1)。来自Bolot的使用64 kb的pcm编码音频的数据,显示了类似的模
式,丢包率在4%到16%之间,这取决于一天的时间,尽管这些数据也可以追溯到1995年。Yajnik等人
在1997-1998年使用模拟音频流量的最新结果显示,丢包率较低,为1.38%至11.03%。Handley的结果
剩余202页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
骑着山猫的平头哥
- 粉丝: 38
- 资源: 11
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)