
Ymodem传输详解
发布日期:2021-05-18 03:20:30
浏览次数:17
分类:精选文章
本文共 902 字,大约阅读时间需要 3 分钟。
YModem协议简介
YModem协议是对XModem协议的一次演变,该协议以每包数据1024字节为单位传输,是一种高效的文件传输协议。YModem属于错误纠正技术,通过传输大块数据的调制解调方式来提高传输效率。使用YModem协议的传输设备以1024字节为单位发送数据,成功接收的数据块没有选择性确认,而因传输错误的数据块会受到NAK(无效包确认)信号后重发。与Xmodem-1K协议相比,YModem引入了批处理模式(Batch mode),允许通过单个命令发送多个文件。此外,该协议使用循环冗余码(CRC)作为数据校验机制。起始帧
传输过程始于起始帧。每个起始帧的长度为133字节,包含以下内容:- SOH(起始字符,Start of Heading)
- 2字节的数据首部(头部信息)
- 128字节的数据区域
- 2字节的CRC16校验码
起始帧的具体内容如下:
SOH 00 FF filename filezise NUL CRCH CRCL数据帧
数据帧的开头标识符为STX(Start of Text),后跟传输数据。如果传输的文件数据量满128字节及以上,数据帧的内容结构如下: STX 01 FE data[1024] CRCH CRCL当文件数据不足128字节但满1024字节时,数据块前需进行填充。具体来说,文件末尾的空数据部分应用0x1A进行填充。如果传输数据小于128字节,则数据帧的结构变为:
STX 01 FE data[ ] 1A … CRCH CRCL除此之外,若文件大小不足128字节时,数据帧的传输方式同上述格式,其中文件数据后直接跟填充字节。
尾帧
本次传输的最后一个帧同样使用SOH标识符,内容如下: SOH 00 FF filename filezise NUL CRCH CRCL技术细节
该协议通过循环冗余码为传输数据进行校验,确保传输完整性。在数据传输过程中,通信双方会按需发送数据块。如果传输错位的数据块未能正确接收,通信设备会通过NAK信号要求重新传输该数据块。YModem支持批量操作,该功能极大提升了传输效率,特别是在处理大量文件时显示出优越性。发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月15日 23时38分25秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Form窗体属性
2019-03-12
解决Eclipse加载图片或网页出现404错误
2019-03-12
vue 错误收集
2019-03-12
Java选择排序算法实现
2019-03-12
00010.02最基础客户信息管理软件(意义类的小项目,练习基础,不涉及数据库)
2019-03-12
00013.05 字符串比较
2019-03-12
Effective Java 读书笔记
2019-03-12
SpringBoot使用@Email报错误
2019-03-13
Rabbitmq的内存磁盘监控
2019-03-13
访问servlet时弹出文件下载框解决方法
2019-03-13
IDEA-@Slf4j和log标签&@Data(Lombok)无效
2019-03-13
Thymeleaf 生成下标,索引,使用Stat变量
2019-03-13
全局变量初始化顺序的不确定性引发的bug
2019-03-13
ValueError: Unexpected end of file.
2019-03-13
六、登录(二)
2019-03-13
初始微服务---Springcloud发展【第一期】
2019-03-13
RAFT 拜占庭将军 共识算法
2019-03-13
UE4 错误列表 error码(只记录我遇到的情况,持续添加,未完成)
2019-03-13