ZMODEM-内联应用之文件传送协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ZMODEM内联应用之文件传送协议(1988年版)原著:ChuckForsberg译者:洋文馆2012年5月10日目录1预定的读者12为什么要开发ZMODEM?23ZMODEM协议的设计规范43.1易用性.....................................................43.2传输速率...................................................43.3完整性和健壮性................................................53.4易于实现...................................................54ZMODEM的发展65罗塞塔石碑86ZMODEM的需求96.1文件类型...................................................96.1.1二进制文件..............................................96.1.2文本文件...............................................97基本的ZMODEM107.1数据包.....................................................107.2链路层的转义编码..............................................107.3帧头......................................................117.3.116bitCRC的二进制头........................................117.3.232bitCRC的二进制头........................................117.416进制头...................................................117.5二进制数据子包................................................127.6ASCII编码数据子包.............................................128协议事务的预览138.1会话启动...................................................138.2文件传送...................................................148.3会话清除...................................................148.4会话中止序列.................................................159流技术和错误恢复169.1带采样的完全流化..............................................169.1.1窗口管理...............................................169.2可逆向中断的完全流化............................................179.3窗口可变的完全流化.............................................179.4无错通道上的完全流化............................................179.5分段流化...................................................1710ATTENTION序列18i目录11帧类型1911.1ZRQINIT...................................................1911.2ZRINIT....................................................1911.3ZSINIT....................................................1911.4ZACK.....................................................1911.5ZFILE.....................................................1911.5.1ZF0:转换选项............................................2011.5.2ZF1:管理选项............................................2011.5.3ZF2:传送选项............................................2011.5.4ZF3:扩展选项............................................2111.6ZSKIP.....................................................2111.7ZNAK.....................................................2111.8ZABORT...................................................2111.9ZFIN......................................................2111.10ZRPOS....................................................2111.11ZDATA....................................................2111.12ZEOF.....................................................2111.13ZFERR....................................................2111.14ZCRC.....................................................2111.15ZCHALLENGE................................................2111.16ZCOMPL...................................................2211.17ZCAN.....................................................2211.18ZFREECNT.................................................2211.19ZCOMMAND.................................................2212会话事务的例子2312.1一次简单的文件传送.............................................2312.2加密和命令下载................................................2313ZFILE帧的文件信息2414性能2614.1兼容性.....................................................2614.2速率......................................................2614.3错误恢复...................................................2615包交换网络2716性能对照表2817将来的扩展3218版本演变3319其他信息3519.1TeleGodzillaBBS...............................................3519.2UnixUUCPAccess..............................................3520ZMODEM开发3620.1添加ZMODEM到DOS程序........................................3721YMODEM开发3822致谢3923相关文件40ii前言文件的重新发布不受限制,但请保证文档的完整性.请尽可能地传播该文档iii第1章预定的读者本文档适合于电讯项目经理,系统开发者和其他选择在拨号网络和对应环境下实现异步文件传送的人.1第2章为什么要开发ZMODEM?在开发ZMODEM的前五年,WardChristensen的MODEM协议已经广泛用于计算机系统的数据互换,它几乎是任何一个通讯程序必须支持的协议,现在叫做XMODEM.随着计算能力的提升,modem和网络在使用XMODEM协议时,已经远远超出了它微秒级的初始设定,而相关的一些应用也暴露出它的一些弱点:+繁琐的用户接口,只能适合于计算机爱好者,必须在键盘上输入多个命令,才能实现文件的传送.+由于程序中必须给出多个命令,而没有一个简单的可选菜单,这不合理.+当用于分时系统,包交换网络,卫星环路和缓冲式(带错误校正)modem时,必须忍受短的块长度所引发的传送.+8bit的checksum和无保护性的监控,将使得文件传送中包含未被发现的错误,或是错误文件.+每次命令只能发送一个文件,文件必须给出两次,首先是发送程序,之后是接受程序.+传送文件将会累积出127byte的无用字节.+修正数据和其他文件属性会丢失.+XMODEM需要8bit数据的明码,也就是一共为256个编码,因此它无法操作在使用ASCII流控制或是escape编码的网络中,因为在呼叫过程中,会设定网络的明码,这时网络将失去重要的控制功能.之后还开发了一些协议,但都不能满足要求:+一些私有协议缺少了使用文档和例子程序,如Relay,Blast,DART和其他与供应商利益挂钩的协议,这些协议无法从公共应用中得益.+链路层协议,例如X.25,X.PC和MNP,无法管理应用之间的文件传送.+链路层协议无法消除端到端的错误,在无错网络中的接口不一定是无错的,但是无错网络本身就是不存在的.+Kermit协议的文件传送环境,不利于XMODEM的使用,它可以适应限制其效率的传统主机环境,这是一种折中的实现方式,即使在完整透明的通道中,Kermit控制字符对二进制文件传送效率的影响在75%以上.1在多种Kermit程序中使用了一些子模式,其中包括了二进制文件传送的不同方法,因此如果用户无法正确指定对应的子模式,两种Kermit程序在互传时,将出现莫名其妙的错误.KermitSlidingWindows(”SuperKermit”)在日益复杂的网络中改进了传输速率,SuperKermit需要全双工的通讯,并有能力在输入队列中检查字符,但在一些操作系统中无法实现检查.SuperKermit状态转换可使用一种特殊语言(wart)进行编码,它可使用c编译器.SuperKermit可为每个96byte(只会包含少量的控制符)的数据包,发送一个ACK包,这会降低高速mo-dem的传输速率,在测试中每秒需要包含177-1350个不等的控制符.XMODEM协议也有一些扩展,对性能和(某些情况下的)用户接口进行了改进,但这些改进只对部分应

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功