⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2793.txt

📁 本程序为在linux下实现FTP传输文件的实现
💻 TXT
📖 第 1 页 / 共 2 页
字号:
组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:孟岩(dreamwords   dreamwords@sina.com)李超(licc_li@sina.com)
译文发布时间:2001-6-26
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。



Network Working Group                                       G. Hellstrom
Request for Comments: 2793                                    Omnitor AB
Category: Standards Track                                       May 2000


用于文本交谈的RTP负载
(RTP Payload for Text Conversation)


本备忘录的状态
本文档讲述了一种Internet社区的Internet标准跟踪协议,它需要进一步进行讨论和建
议以得到改进。请参考最新版的“Internet正式协议标准” (STD1)来获得本协议的标准化
程度和状态。本备忘录的发布不受任何限制。

版权声明
Copyright (C) The Internet Society (2001).

摘要
本文描述了在RTP包中传输文本交谈内容的方法,关于文本交谈会话内容在ITU-T建议
(T.140[1])中有详细说明。
文本交谈可以用来单独传输或与音视频等交谈工具一起构成多媒体交谈服务。
本RTP负载包含可选的已传输数据包的冗余文本来降低包丢失的风险。冗余码参照RFC 
2198。
									目录
1.简介	2
1.1 术语	3
2. RTP用法	3
2.1 RTP包头	3
2.2 附加头	4
2.3 T.140 文本结构	4
3. 推荐过程	4
3.1  基本推荐过程	5
3.2  补偿丢包的推荐过程	5
3.3  补偿乱序包的推荐过程	5
3.4  使用冗余时的“静音期”传输	5
4. 范例	6
5.安全性考虑	7
6.  MIME MEDIA TYPE REGISTRATIONS	7
6.1  Registration of MIME media type text/t140	7
鸣谢	8
作者地址	8
参考	8
版权说明	9
致谢	9
1.简介
本文定义了一种用于在RTP包中传输文本交谈会话内容的负载格式,文本交谈会话内容
在ITU-T建议(T.140[1])中有详细说明。文本交谈可单独传输或与音视频等交谈工具共同
构成多媒体交谈服务。文本交谈中的文本应尽快传输,或者经过一个小的缓冲延迟。
文本的输入通常是以键盘、手写识别、语音识别或是其它输入方法。字符的输入率通常
为每秒几个字符。这样,期望的字符传输率也较低。通常每个包中只有很少的新字符需要传
输。
在T.140中指定文本和其它T.140元素必须以经过UTF-8变换的ISO 10 646-1 码来传送。
这些有助于实现国际化应用,并且易于处理现代信息技术环境中的文本。本文RTP负载中
的文本编码严格遵守T.140,没有任何附加帧。通常是UTF-8编码的ISO 10646单字符。
	T.140要求字符按照原始顺序,没有重复的传输。文本交谈的使用者希望文本传输没有
或尽可能少丢失。当然,如果能标识出丢失的信息,则丢失的可接受程度会高些。
	因此,这里介绍了一个基于RTP的机制。它将按照原始顺序,无重复传输,并且提供
丢失检测和指示。它同时也提供一个可选方案,利用重复的冗余数据来降低丢失文本风险。
考虑到包开销通常远远大于T.140内容,传输通道中增加冗余数据造成的负担很小。
1.1 术语
本文中的关键字“必须”,“必须不”,“要求的”,“应该”,“不应该”,“会”,“不会”,
“建议”,“或许”,“可选的”在 RFC 2119 [4]中解释。
2. RTP用法
当RTP传输中需要传输T.140文本交谈,应该使用本文所述的负载。
这种负载格式的文本交谈RTP包的格式包括:一个RTP头(在RFC 1889 [2] 中有定义),
其后紧接着是一个T.140数据块(这里被定义为“T140block”)。该负载格式没有附加头。
T140块包括 [1] 中定义的一个或多个T.140码元素。大部分T.140码元素为ISO 10645 [5] 单
字符,但是也有一些是多字符序列。其中每个字符均为UTF-8编码[6]的一个或多个字节。
这说明不管单个字符中有几个字节,每一块必须包含UTF-8码的整数倍。这也说明任何组
合的字符序列(CCS)应该被放到同一块中。
T140块可能会根据RFC 2198 [3] 所定义的负载格式传输冗余数据。这样,RTP头后将
是一或多个冗余数据块头,个数与从携带的冗余T140块数相同,最后是此包的新T140块。
2.1 RTP包头
每个RTP包开始于一个固定的RTP头。下面列出了用于T.140文本流的几个RTP头字
段。
负载类型(PT):RTP负载类型的分配是使用该负载格式的RTP框架特定的。对于利用
动态负载类型号的协议子集,这种负载格式被命名为"T140"(参照第六节)。如果按照RFC 
2198使用冗余数据,负载类型中必须指定负载格式("RED")。
顺序号:顺序号必须严格按照每个新传送包以一递增。它用于包丢失和乱序检测,同时
也可以用于获取冗余文本,重组文本和标记丢失文本。
	时间戳:RTP时间戳记录了包中主文本块采样时间的近似值。必须使用1000赫兹的时
钟频率。连续包不能使用相同的时间戳。由于包不按固定间隔发送,所以时间戳不能直接被
用于指示包丢失。
2.2 附加头
本负载格式没有定义专门的附加头。
当要按RFC 2198传输冗余数据时,RTP头后紧跟者一个或多个冗余数据块头,每个冗
余数据块都要有一个对应的冗余数据块头。这些头部均提供了时间戳位移和相应的数据块长
度,以及指示了这种负载格式("T140")的负载类型号。
2.3 T.140 文本结构
T.140文本是按T.140协议规定经过UTF-8编码的,没有额外组帧。当用该格式传输冗
余数据时,发送者会选择每个包中要传输的T140block数。数越高则将丢包保护性越好,但
同时也会增加数据传输率。
由于数据包并非按一定的时间间隔产生,如果不提供附加信息,时间戳在包丢失时就无
法标识出该包。冗余数据头并没有提供顺序号,所以必须遵循附加规则才能将丢失主数据所
对应的冗余数据正确的插入T140blocks主数据流中:
1.	每个冗余数据块必须与先前传输原始数据的T140块数据相同,并标识为相同的时
间戳位移。
2.	冗余数据必须按照时间顺序放置,最近的冗余T140块位于冗余区的最后。
3.	必须包括从最早的T140blocks到新数据块前的T140blocks所有的T140块,。
通过这些规则,冗余T140块的顺序号可以从当前RTP头的序号反向推算得到。结果就
是负载中的所有文本都是连续且顺序的。
3. 推荐过程
这部分描述了负载格式使用的推荐过程,根据接受包的信息,接收者可以:
1.	把错乱文本重新排序。
2.	标识丢失文本。
3.	用冗余数据补偿丢失包。
3.1  基本推荐过程
	只有合法的T.140格式的数据包才被传输, T.140数据的排序要使用顺序号。
	在接收端,将RTP顺序号与最后一次正确接收包的序号相比较,如果是连续的,就从
中取出T140block。
3.2  补偿丢包的推荐过程
	为了减少包丢失时的数据丢失,可以根据RFC2198在包中使用冗余数据。如果无法得
知网络条件,建议每一包中只使用一个冗余T140块。如果RTP序号出现空隙,且后续包中
的冗余T140块可用,则可以通过包中RTP头的序号逆向推算出冗余T140块的序号。如果
该冗余T140块的序号与丢失的相吻合,就用冗余T140块来替换丢失T140块。
	无论是否使用冗余数据,都应该在T140块的接收流中插入一个丢失文本标记来标志丢
失的数据,见ITU-T T.140附录。
3.3  补偿乱序包的推荐过程
	对于乱序包的检测,接收端应该采取下属程序。如果接收包序号有空隙,但没有可用的
冗余数据来填充那个空隙,则接收包将被存储在缓存中来等待丢失包的到达。建议等待时间
限于0.5秒。如果使用了冗余,并且冗余数乘以T.140缓冲时间比0.5秒长,则等待时间应
延长到该乘积。
	如果空隙数据包在限制时间内到达,则将它被插入到空隙中,这样从空隙前沿开始的
T140块就恢复连续了。任何没有在限制时间内到达的T140块将被视为丢失。
3.4  使用冗余时的“静音期”传输
	当使用冗余传输模式且T.140没有数据要传输时,最后传输的一个T140块有可能在作
冗余数据传送之前就失效。这样就不能对文本输入序列的末尾提供有效的丢包保护。为了要
避免这种情况,应该传送一个0长度的携带冗余数据的原始T140块。
	根据2.3节,为了能正确推算冗余T140块的序号,任何被当作原始数据为0长度的T140
块必须如同正常文本块一样在接下来的包中当作冗余传输。
	最后一个T140块的冗余不应该由重复传送同一个包(相同序号)来解决,因为这样会
造成RTCP报告的包丢失数量减少。
4. 范例

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -