分享
 
 
 

XMODEM协议

王朝百科·作者佚名  2009-12-20
窄屏简体版  字體: |||超大  

XMODEM协议 XMODEM Protocol ↑

XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个认可字节。然而,这种对每个块都进行认可的策略将导致低性能,特别是具有很长传播延迟的卫星连接的情况时,问题更加严重。

使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。ZMODEM是最有效的一个XMODEM版本,它不需要对每个块都进行认可。事实上,它只是简单地要求对损坏的块进行重发。ZMODEM对按块收费的分组交换网络是非常有用的。不需要认可回送分组在很大程度上减少了通信量。

YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。

Xmodem 协议 [ 2006-3-4 16:32:37 | Author: job ]

/*

XMODEM transfer protocol

-----------------------------------------

author: christensen

2004-3-25 10:08

noted: Job Nelson

*/

1。 帧格式

__________________________________________________

| | | | | |

| SOH | 信息包序号 | 信息包序号的补码 | 数据区段 | 算术校验和 |

|_____|________ _|________________|________|__________|

说明:

SOH 帧的开头字节,代表信息包中的第一个字节

信息包序号: 对 256 取模所得到当前包号,第一个信息包的序号为 1

而信息包序号范围 0~255

信息包序号的补码: 当前信息包号的补码

数据区段: 数据区段的长度固定为 128 字节,其内容没有任何限制,可以是

文本数据或二进制数据

算术校验和: 1字节的算术校验和,只对数据区段计算后对 256 取模而得

2。 传输逻辑

1> 收发双方拨号连通后,发送方等待接收方传来 NAK 信号。当第一个 NAK 到达,

发送方解释为 开始发送第一个包

2> 发送方一旦收到第一个 NAK ,启动了传输,发送方就将数据以每次 128 字节

打包成帧格式传送,再等待接收方的确认信号

3> 发送方收到接收方传来的 ACK 信号,解释为信息包被正确接收,并有发送下一

个包的含义

4> 发送方收到接收方传来的 NAK 信号,解释为请求重发同一数据包

5> 发送方收到接收方传来的 CAN 信号,解释为请求无条件停止传输过程

6> 发送方正常传输完全部数据,需要正常结束,发送 EOT 信号通知接收方。接收

方用 ACK 进行确认

7> 接收方发送 CAN 无条件停止传输过程,发送方收到 CAN 后,不发送 EOT 确认

8> 虽然信息包是以 SOH 来标志一个信息包的起始的,但在 SOH 位置上出现的 EOT

则表示数据传输结束,再也没有数据传过来

9> 接收方首先应确认信息包序号的完整性,通过对信息包序号取补,然后和信息包

序号的补码异或,结果为 0 表示正确,结果不为 0 则发送 NAK 请求重传

10> 接收方确认信息包序号正确后,然后检查是否期望的序号。如果不是期望得到的

信息包序号,说明发生严重错误,应该发送一个 CAN 来中止传输

11> 对于10>情况的唯一例外,是收到的包的信息包序号与前一个信息包序号相同,

此中情况,接收方简单忽略这个重复的包,向发送方发出 ACK ,准备接收下一个包

12> 接收方确认了信息包序号的完整性和是正确期望的后,只对 512 字节的数据区段

进行算术和校验,结果与帧中最后一个字节(算术校验和)比较,相同 发送 ACK,

不同发送 NAK

3。 超时处理

1> 接收方等待一个信息包的到来所具有的超时时限为 10 秒,每个超时后发送 NAK

2> 当收到包时,接收过程中每个字符的超时间隔为 1 秒

3> 为保持“接收方驱动”,发送方在等待一个启动字节时不应该采用超时处理

4> 一旦传输开始,发送方采用单独的 1 分钟超时时限,给接收方充足的时间做发送

ACK ,NAK ,CAN 之前的必须处理

5> 所有的超时及错误事件至少重试 10 次

4。 控制字符

控制字符符合 ASICII 标准定义,长度均为 1 字节

SOH 0x01

EOT 0x04

ACK 0x06

NAK 0x15

CAN 0x18

这是 Xmodem 协议的最基本的一个版本,在其上还有 Xmode-1K 这样的扩展,加大了传输封包的大小(1K),用来提高传输速率;增加了 CRC 校验,用来提高传输的可靠性;区别在于:当启用 Xmodem 时,接收方发送 C 字符。发送方收到 C 字符判定为采用 Xmodem-1K 扩展;否则,当超时后,按照基本的版本传输。

扩展大致如此,有这个基础的版本就足够了

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有