1 Star 10 Fork 3

totravel/rfc-zh

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
README.md
RFC1.txt
RFC10.txt
RFC101.txt
RFC102.txt
RFC103.txt
RFC104.txt
RFC105.txt
RFC1050.txt
RFC1055.txt
RFC1057.txt
RFC106.txt
RFC107.txt
RFC1073.txt
RFC1075.txt
RFC108.txt
RFC1088.txt
RFC1090.txt
RFC1091.txt
RFC1094.txt
RFC1096.txt
RFC1097.txt
RFC1112.txt
RFC1113.txt
RFC1131.txt
RFC1132.txt
RFC1134.txt
RFC1142.txt
RFC1144.txt
RFC1155.txt
RFC1166.txt
RFC1180.txt
RFC1191.txt
RFC1215.txt
RFC1239.txt
RFC124.txt
RFC1242.txt
RFC1258.txt
RFC1287.txt
RFC1288.txt
RFC1298.txt
RFC13.txt.htm
RFC132.txt
RFC1321.txt
RFC1332.txt
RFC1333.txt
RFC1355.txt
RFC1365.txt
RFC1370.txt
RFC1387.txt
RFC1388.txt
RFC1393.txt
RFC1397.txt
RFC1408.txt
RFC1413.txt
RFC1418.txt
RFC1420.txt
RFC1426.txt
RFC1428.txt
RFC1433.txt
RFC1445.txt
RFC1454.txt
RFC1461.txt
RFC1469.txt
RFC148.txt
RFC1483.txt
RFC149.txt
RFC154.txt
RFC1558.txt
RFC156.txt
RFC1571.txt
RFC1590.txt
RFC1591.txt
RFC1597.txt
RFC16.txt
RFC1605.txt
RFC1606.txt
RFC1611.txt
RFC1612.txt
RFC1618.txt
RFC1628.txt
RFC1633.txt
RFC1635.txt
RFC1636.txt
RFC1643.txt
RFC1658.txt
RFC1661.txt
RFC1671.txt
RFC1690.txt
RFC1691.txt
RFC1696.txt
RFC1713.txt
RFC1715.txt
RFC1723.txt
RFC1724.txt
RFC1738.txt
RFC1752.txt
RFC1769.txt
RFC1771.txt
RFC1776.txt
RFC1777.txt
RFC1787.txt
RFC179.txt
RFC1796.txt
RFC1797.txt
RFC18.txt
RFC1810.txt
RFC1818.txt
RFC1822.txt
RFC1823.txt
RFC1827.txt
RFC1828.txt
RFC185.txt
RFC1860.txt
RFC1867.txt
RFC1869.txt
RFC1878.txt
RFC188.txt
RFC1883.txt
RFC19.txt
RFC1901.txt
RFC1904.txt
RFC1918.txt
RFC1928.txt
RFC1930.txt
RFC1939.txt
RFC1942.txt
RFC1945.txt
RFC1957.txt
RFC1962.txt
RFC1977.txt
RFC1979.txt
RFC198.txt
RFC1981.txt
RFC1982.txt
RFC1988.txt
RFC1993.txt
RFC1994.txt
RFC1997.txt
RFC1998.txt
RFC2.txt
RFC20.txt
RFC2002.txt
RFC2003.txt
RFC2004.txt
RFC2005.txt
RFC2011.txt
RFC2012.txt
RFC2013.txt
RFC2015.txt
RFC2021.txt
RFC2025.txt
RFC204.txt
RFC2040.txt
RFC2042.txt
RFC2046.txt
RFC2053.txt
RFC2078.txt
RFC2079.txt
RFC2085.txt
RFC2088.txt
RFC2095.txt
RFC2096.txt
RFC21.txt
RFC2101.txt
RFC2104.txt
RFC2105.txt
RFC2113.txt
RFC2118.txt
RFC2119.txt
RFC2128.txt
RFC2144.txt
RFC2147.txt
RFC218.txt
RFC2198.txt
RFC22.txt.htm
RFC2208.txt
RFC2212.txt
RFC2217.txt
RFC2221.txt
RFC2228.txt
RFC2234.txt
RFC2236.txt.htm
RFC2241.txt
RFC2245.txt
RFC2260.txt
RFC2279.txt
RFC228.txt
RFC2281.txt
RFC2283.txt
RFC2284.txt
RFC2289.txt
RFC2296.txt.htm
RFC23.txt
RFC2313.txt
RFC232.txt
RFC2330.txt
RFC2343.txt
RFC2344.txt
RFC2367.txt
RFC2372.txt
RFC2373.txt
RFC2374.txt
RFC2379.txt
RFC2384.txt
RFC2393.txt
RFC2394.txt
RFC24.txt
RFC2401.txt
RFC2403.txt
RFC2404.txt
RFC2406.txt
RFC2407.txt
RFC2408.txt
RFC2409.txt
RFC2410.txt
RFC2411.txt
RFC2412.txt
RFC2435.txt
RFC2449.txt
RFC245.txt
RFC2451.txt
RFC2459.txt
RFC246.txt
RFC2460.txt.htm
RFC2463.txt
RFC2466.txt
RFC2471.txt
RFC2474.txt
RFC2475.txt
RFC2492.txt
RFC2495.txt
RFC25.txt
RFC2508.txt
RFC2511.txt
RFC2516.txt
RFC2526.txt
RFC2541.txt
RFC2547.txt
RFC2554.txt
RFC256.txt
RFC2560.txt
RFC2570.txt
RFC2577.txt
RFC2581.txt
RFC2582.txt
RFC2585.txt
RFC2597.txt
RFC2598.txt
RFC2618.txt
RFC2629.txt
RFC2633.txt
RFC2644.txt
RFC2669.txt
RFC2670.txt
RFC2685.txt
RFC27.txt
RFC2702.txt
RFC2706.txt
RFC2713.txt
RFC2714.txt
RFC2731.txt
RFC2732.txt
RFC2733.txt
RFC2736.txt
RFC2754.txt
RFC2756.txt
RFC276.txt
RFC2764.txt
RFC2773.txt
RFC2774.txt
RFC2781.txt
RFC2784.txt
RFC2788.txt
RFC2793.txt
RFC2796.txt
RFC28.txt
RFC2809.txt
RFC2810.txt
RFC2811.txt
RFC2813.txt
RFC2817.txt
RFC2818.txt
RFC2824.txt
RFC2825.txt
RFC2829.txt
RFC2830.txt
RFC2833.txt
RFC285.txt
RFC2854.txt
RFC2855.txt
RFC2861.txt
RFC2862.txt
RFC2866.txt
RFC2867.txt
RFC2868.txt
RFC2869.txt
RFC2871.txt
RFC2873.txt
RFC2874.txt
RFC2882.txt
RFC2887.txt
RFC2889.txt
RFC2890.txt
RFC2893.txt
RFC2898.txt
RFC29.txt
RFC2906.txt
RFC2914.txt
RFC2917.txt
RFC2918.txt
RFC2920.txt
RFC2923.txt
RFC2932.txt
RFC2935.txt
RFC2945.txt
RFC2946.txt
RFC2959.txt
RFC2964.txt
RFC2971.txt
RFC2976.txt
RFC2983.txt
RFC2987.txt
RFC2988.txt
RFC2991.txt
RFC2992.txt
RFC2994.txt
RFC3.txt
RFC30.txt
RFC3001.txt
RFC3003.txt
RFC3005.txt
RFC3007.txt
RFC3009.txt
RFC3014.txt
RFC3016.txt
RFC3018.txt
RFC3019.txt
RFC3021.txt
RFC3022.txt
RFC3028.txt
RFC3029.txt
RFC3032.txt
RFC3033.txt
RFC3034.txt
RFC3035.txt
RFC3037.txt
RFC3038.txt
RFC3040.txt
RFC3042.txt
RFC3043.txt
RFC3044.txt
RFC3046.txt
RFC3048.txt
RFC3051.txt
RFC3055.txt
RFC3058.txt
RFC3059.txt
RFC3061.txt
RFC3062.txt
RFC3066.txt
RFC3067.txt
RFC3069.txt
RFC3070.txt
RFC3072.txt
RFC3074.txt
RFC3078.txt
RFC3081.txt
RFC3082.txt
RFC3083.txt
RFC3085.txt
RFC3090.txt
RFC3091.txt
RFC3093.txt
RFC32.txt
RFC324.txt
RFC335.txt
RFC34.txt
RFC348.txt
RFC35.txt
RFC36.txt
RFC37.txt
RFC38.txt
RFC4.txt
RFC40.txt.htm
RFC404.txt
RFC405.txt
RFC41.txt
RFC42.txt
RFC43.txt
RFC45.txt
RFC456.txt
RFC457.txt
RFC496.txt
RFC516.txt
RFC53.txt
RFC58.txt
RFC591.txt
RFC6.txt
RFC60.txt
RFC621.txt
RFC628.txt
RFC63.txt
RFC634.txt
RFC637.txt
RFC66.txt
RFC677.txt
RFC69.txt
RFC692.txt
RFC697.txt
RFC698.txt
RFC71.txt.htm
RFC72.txt.htm
RFC73.txt.htm
RFC75.txt.htm
RFC763.txt
RFC775.txt
RFC779.txt
RFC78.txt.htm
RFC79.txt.htm
RFC792.txt
RFC797.txt
RFC81.txt
RFC821.txt
RFC826.txt
RFC827.txt
RFC84.txt.htm
RFC85.txt.htm
RFC854.txt
RFC855.txt
RFC856.txt
RFC857.txt
RFC858.txt
RFC859.txt
RFC860.txt
RFC861.txt
RFC862.txt
RFC863.txt
RFC864.txt
RFC865.txt
RFC866.txt
RFC867.txt
RFC868.txt
RFC872.txt
RFC877.txt
RFC888.txt
RFC890.txt
RFC894.txt
RFC895.txt
RFC896.txt
RFC90.txt
RFC903.txt
RFC911.txt
RFC917.txt
RFC918.txt
RFC925.txt
RFC930.txt
RFC932.txt
RFC937.txt
RFC948.txt
RFC949.txt
RFC951.txt
RFC955.txt
RFC959.txt
RFC962.txt
RFC968.txt
RFC974.txt
RFC975.txt
RFC976.txt
RFC985.txt
RFC988.txt
RFC99.txt
index_RFC中文文档目录.htm
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
RFC3081.txt 8.29 KB
一键复制 编辑 原始数据 按行查看 历史
totravel 提交于 4年前 . backup
组织:中国互动出版网(http://www.china-pub.com)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:wind_like(wind_like wind_feng2000@163.com )
译文发布时间:2001-5-8
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必
须保留本文档的翻译及版权信息。
Network Working Group M. Rose
Request for Comments: 3081 Invisible Worlds, Inc.
Category: Standards Track March 2001
将区块扩展交换协议(BEEP)核心映射到传输控制协议(TCP)
(RFC 3081 Mapping the BEEP Core onto TCP)
本备忘录的状态
本文档讲述了一种Internet社区的Internet标准跟踪协议,它需要进一步进行讨论和
建议以得到改进。请参考最新版的“Internet正式协议标准” (STD1)来获得本协议的标准
化程度和状态。本备忘录的发布不受任何限制。
版权声明
Copyright (C) The Internet Society (2001)。保留所有权利。
摘要
本备忘录讲述了如何将一个BEEP(区块扩展交换协议)会话映射到单个TCP(传输控制
协议)连接上。
目录
1. 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2. 会话管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. 报文交换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1 流量控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.1 信道建立 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.2 发送报文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.3 处理SEQ帧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.4 使用流量控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. 安全性考虑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
作者地址 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
A. 致谢 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
完整版权声明 . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
1. 引言
本备忘录讲述了如何将一个BEEP[1]会话映射到单个TCP[2]连接上。关于映射要求的解
释见参考文献[1]的2.5节。
2. 会话管理
BEEP会话管理到TCP业务的映射是直接进行的。
当建立起一个TCP连接时就在两个BEEP对等体之间建立一个BEEP会话。
O 发起一个被动TCP OPEN呼叫道BEEP对等体称为接收者。
O 发起一个主动TCP OPEN呼叫道BEEP对等体称为发起者。
同时发起的TCP OPEN会导致两个BEEP对等体都认为它们是发起者,而使得两者都不能
建立起通道。因此,基于BEEP的业务应该不允许两个TCP OPENs同时出现。
如果两个对等体都同意释放一个BEEP会话(c.f.,参考文献[1]2.4节),发送“ok”
回答的对等体立即发起TCP CLOSE呼叫。另一个对等体收到回答后也立即发起TCP CLOSE
呼叫。
任意一个对等体发起TCP ABORT呼叫时BEEP会话就被终止,TCP连接随后也终止。
3. 报文交换
BEEP报文交换到TCP业务上的映射不像这样直接。
报文使用TCP的SEND和RECEIVE呼叫进行可靠发送和接收。(这也提供了在同一信道上
报文的顺序传送。)
尽管TCP对每个连接进行流量控制,但是如果在一个BEEP会话中同时使用多个信道,
BEEP应该提供一种避免资源匮乏和死锁的机制。为此,BEEP重新引入了一种TCP使用的机
制:基于窗口的流量控制——每个信道有一个滑动窗口,指明对等体在收到进一步的发送许
可之前可以发送的有效载荷八位组数。
3. 1流量控制
参考文献[1]第2.2.1.2节讲过,在一个信道的两个方向上传输的每个负载八位组都有
一个相关联的顺序号。数据帧中的负载八位组是这样编号的:第一个八位组编最小号,后面
的八位组依次连续编号。尽管顺序号空间很大,从0到4294967295 (2**32 - 1),但还是
有限的。因此,所有对顺序号的算术运算是按模2**32进行的。这种无符号算法保持了顺序
号之间的关联,因为它们从2**32 - 1到0循环。有关顺序号算法属性的讨论可参见参考文
献[3]的第2节到第5节。
3.1.1 信道建立
信道建立时,与第一个数据帧的第一个八位组相关联的顺序号是0,并且这个信道最初
的窗口大小是4096个八位组。信道建立后,BEEP对等体可以发送一个SEQ帧来改变窗口大
小(3.1.3节)。
如果BEEP对等体被要求建立一个信道而又不能分配最少4096个八位组的话,那么它应
该如参考文献[1]第2.3.1.2节所指出的,拒绝建立信道。类似地,在BEEP会话建立过程中,
如果处在监听状态的BEEP对等体不能为0信道分配至少4096个八位组,那么它应该如参考
文献[1]第2.4节所指出的,返回一个拒绝回答,而不是同意。
3.1.2 发送报文
发送报文之前,发送端BEEP对等体应该保证待发送的负载大小在接收端BEEP对等体通
告的窗口大小之内。如果不是,那么有三种选择:
? 如果窗口允许发送至少一个八位组,BEEP对等体可以分割报文并发送一个较小
的数据帧(大小可为窗口剩余的八位组数);
? BEEP对等体延迟发送报文,直到窗口变大;或者,
? BEEP对等体给其应用程序发信号说明其不能发送报文,并允许应用程序过一段
时间重试(或者在窗口变大时给应用程序发信号)。
这种选择与实现方式有关,尽管人们推荐给使用BEEP的应用程序增加一个机制来影响
其选择。
3.1.3 处理SEQ帧
应用程序决定接收数据帧时,其对等体应该发送SEQ帧来通告一个新窗口。
SEQ帧的ABNF[4]是:
seq = "SEQ" SP 信道 SP 确认序号 SP 窗口 CR LF
ackno = 顺序号
window = 窗口大小
;信道,顺序号和窗口大小在参考文献[1]第2.2.1节中定义。
SEQ帧有三个参数:
? 信道号
? 确认序号,指明发送者在这个信道上准备接收的下一个顺序号。
? 窗口大小,指明以确认序号开始的负载八位组数,这个确认序号是发送者在这
个信道上准备接收的下一个顺序号。
每个分量之间用一个空格字符(十进制码32,“ ”)隔开。SEQ帧以一个CRPF对结束。
收到一个SEQ帧时,如果信道号、确认序号或窗口大小中的任何一个参数无法确定和不
合法,则终止BEEP会话而并不产生响应,因此建议加入一个诊断入口。
3.1.4 流量控制的使用
在BEEP中成功使用流量控制的关键是在性能和公平性之间平衡:
? 大报文应分割为不大于TCP规定的最大分段的三分之二的帧;
? 等待发送数据的各不同信道中的帧应以循环方式发送;
? 每次收到一个帧时,只要待发送到窗口至少有对这个信道可用的缓存空间的一
半就必须发送一个SEQ帧。
? 如果传输业务同时给BEEP对等体发送多个帧,则可以发送单个合并对SEQ帧。
为了避免与传输业务产生病态的交互,很重要的一点是,BEEP对等体应根据可用的缓
存空间来通告窗口大小,只要一有可用空间就允许从传输业务中读取数据。并且,信道的
SEQ帧应该有比报文更高的优先级。
实现可能希望为使用BEEP的应用程序提供队列管理工具,例如:信道优先级,(相关的)
缓存分配,等等。特别地,实现应不允许一个给定的信道独占传输窗口。
另外,可能的话,实现应支持传输层传送拥塞信息的应用程序接口(APIs)。这些APIs
允许实现决定其可用带宽的共享,同时将估测通道带宽的变化通知给实现。注意,BEEP会
话有多个信道同时交换大报文时,如果实现不能获得这些信息,则在网络拥塞时可能会产生
不确定的公平性和影响其继续进行的问题。
最后,实现应依循RFC1122[5]中相关章节给出的规定,该文档讨论了流量控制(记住,
一些问题如重传在本备忘录中不能使用,而在TCP中它们是和流量控制相互作用的)。例如,
RFC1122[5]第4.2.2.16节指出,接收者不应当缩小窗口,如将窗口的右边界向左移,并讨
论了这条规则对未确认数据的影响。在与映射BEEP到单个TCP连接相关的内容中,只有关
于流量控制的部分应予实现。
4.安全考虑
安全问题的讨论参考文献[1]的第九节。
参考文献
[1] Rose, M., "The Blocks Extensible Exchange Protocol Core", RFC 3080, March
2001.
[2] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, September
1981.
[3] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982, August 1996.
[4] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF",
RFC 2234, November 1997.
[5] Braden, R., "Requirements for Internet Hosts -- Communication Layers", STD
3, RFC 1122, October 1989.
作者地址
Marshall T. Rose
Invisible Worlds, Inc.
1179 North McDowell Boulevard
Petaluma, CA 94954-6559
US
Phone: +1 707 789 3700
EMail: mrose@invisible.net
URI: http://invisible.net/
附录A 致谢
作者非常感谢以下人的帮助:Dave Crocker,Steve Harris,Eliot Lear,Keith
McCloghrie,Craig Partridge,Vernon Schryver和Joe Touch.。特别地,Dave Crocker
对映射中的流量控制的特性提出了有意的建议。
完整版权声明
Copyright (C) The Internet Society (2001)。所有权利保留。
本文档及其译文可以复制并对外提供。可以部分或全部编著、复制、出版、分发与其有
关的评议、解释和有助于实施的派生著作,没有任何限制,但要求在复制文件和派生著作中
包括上述版权警告及本节版权声明内容。但是,本文档的内容不允许做任何形式的修改,诸
如删除版权警告或者关于因特网协会或者其他因特网组织的介绍,除非为了开发Internet
标准或翻译成英语以外的其他语言的需要,即使在这种情况下,也仍然必须遵循Internet
标准过程中确定的版权程序。
上述许可是永久性的,不会由因特网协会或者它的继承者或转让者予以废除。
本文档及其提供的信息以“现状”为基础,因特网协会与IETF(因特网工程任务小组)
否认所有的保证明示或暗示,包含但并不限于任何保证。所含信息的使用将不会侵犯具有特
殊目的的商用性或者适用性的任何权利或隐含的保证。
致谢
RFC编辑基金由因特网协会提供。
RFC 3081 Mapping the BEEP Core onto TCP将区块扩展交换协议(BEEP)核心映射到传输控制协议(TCP)
1
RFC文档中文翻译计划
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/totravel/rfc-zh.git
git@gitee.com:totravel/rfc-zh.git
totravel
rfc-zh
rfc-zh
master

搜索帮助