版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验2:利用停止等待协议传输数据文件张建忠徐敬东南开大学计算机系停止等待协议停止等待协议:一种最简单的(但效率较低的)差错和流量控制协议基本原理:发送方发完一数据包后,需要等待接收方的应答信息发送方收到正确认信息ACK:接收方接收正确,发送方可发送下一数据包发送方收到负确认信息NAK:接收方接收错误,发送方应重发出错的数据包停止等待协议的基本工作过程数据包丢失数据包在传输过程中丢失,接收方未接收到任何数据发送方在发送数据包后启动定时器规定时间内没有收到确认信息,则认为数据包丢失,需重传该包重传次数达到一定的值,则数据传输失败确认信息丢失确认信息在传输过程中丢失发送方采用定时器,定时器溢出后重发数据包数据包编号接收方收到与前一数据包编号相同的数据包后需要将其抛弃停等机制至少需要两个编号(通常为0和1)确认信息需要指明收到数据包的编号。ACK1:准备接收编号为1的数据包;ACK0:准备接收编号为0的数据包停止等待协议的效率停止等待协议的效率传输速率V在某种传输介质中是固定的信道的长度L越长、数据速率v越高、发送的数据位数l越少,传输效率越低差错检测奇偶校验(paritycheck)校验和(checksum)循环冗余校验码(CRC,cyclicredundancycode)……奇偶校验停等协议中通常使用纵向的奇偶检验发送方在发送的数据块后扩展一个字节扩展字节中的第j位保证所有发送数据字节中第j位1的个数为奇数或偶数。偶校验码中第j位pj的计算公式奇校验码中第j位pj的计算公式循环冗余校验码循环环冗冗余余校校验验码码举举例例停止止等等待待协协议议BSCBSC::一一种种典典型型的的面面向向字字符符型型停停止止等等待待协协议议BSC::使使用用ASCII码码中中的的10个个控控制制字字符符完完成成通通信信控控制制功功能能BSC::规规定定了了数数据据报报文文、、控控制制报报文文的的格格式式BSC::规规定定了了协协议议的的操操作作过过程程特点点::规规程程简简单单、、容容易易实实现现,,比比较较适适宜宜于于在在中中低低速速网网络络中中使使用用控制制字字符符符号名称编码功能说明SOH序始01H数据报文中报头的开始STX文始02H数据报文中正文的开始ETX文终03H数据报文中正文的结束EOT送毕04H传输结束ENQ询问05H询问对方并请求对方予以响应ACK正确认06H接收方正确接收数据报文后的响应NAK负确认15H接收方接收数据报文错误的响应DLE转义10H修改紧随其后字符的语义SYN同步16H收发双方的字符同步ETB组终17H成组传输时的组结束标记报文文格格式式数据据报报文文常用用的的控控制制报报文文确认认:SYNSYN0/1ACK否认认:SYNSYNNAK询问问:SYNSYNENQ传输输结结束束:SYNSYNEOT透明明数数据据传传输输为什什么么提提出出透透明明数数据据传传输输?BSC中中的的数数据据以以字字符符为为单单位位数据据字字符符与与控控制制字字符符有有可可能能相相同同解决决方方法法::转义义字字符符DLE如果果数数据据字字符符与与控控制制字字符符相相同同,,则则在在数数据据字字符符前前增增加加DLEDLE也也是是控控制制字字符符,,正正文文中中出出现现DLE时时也也需需要要增增加加DLEBSC协协议议的的执执行行过过程程停止等待待协议编编程实验验在异步串串行口上上实现停停等协议议,实现现文件的的可靠传传输简化的停停止等待待协议目的:在在不影响响停等协协议基本本思想的的基础上上简化编编程和实实验过程程简化后使使用的控控制字符符:STX、ETX、、EOT、ENQ、ACK和和DLE简化后的的数据报报文格式式界面示意意图选择发送送和接收收文件explicitCFileDialog( BOOLbOpenFileDialog, LPCTSTRlpszDefExt=NULL, LPCTSTRlpszFileName=NULL, DWORDdwFlags=OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, LPCTSTRlpszFilter=NULL, CWnd*pParentWnd=NULL, DWORDdwSize=0);选择发送送和接收收文件示示例CStringFileName;CFileDialogGetFileName(TRUE, NULL, NULL, OFN_HIDEREADONLY, "文本文件(*.txt)|*.txt||", NULL, 0);if(GetFileName.DoModal()==IDOK) FileName=GetFileName.GetPathName();磁盘文件件操作virtualBOOLOpen( LPCTSTRlpszFileName, UINTnOpenFlags, CFileException*pError=NULL);virtualUINTRead( void*lpBuf, UINTnCount);
virtualvoidWrite( constvoid*lpBuf, UINTnCount);virtualvoidClose();磁盘文件件操作示示例CFile rwFile; //需要读取的文件char Buf[BUFFER_SIZE]; //读取和写入缓冲区int len,Len; if(!rwFile.Open(FileName, CFile::modeRead|CFile::modeWrite|CFile::typeBinary, NULL)) //打开文件{ …… //错误处理}……rwFile.Write(Buf,len); //将缓冲区Buf中len个字节写入文件……len=rwFile.Read(Buf,Len); //从文件中读取Len个字节的数据放入Buf中 //返回的len为实际读到的字节数RecvFile.Close(); //关闭文件,文件操作结束练习和思思考通过改变变传输速速率、数数据包长长度、模模拟长线线路等操操作定性性地观察察停止等等待协议议的效率率简化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有机化学第十二章羧酸
- 海盐制盐工岗前安全生产基础知识考核试卷含答案
- 水泥生料制备工安全技能测试评优考核试卷含答案
- 电气值班员风险评估与管理知识考核试卷含答案
- 工业废气治理工岗前技能安全考核试卷含答案
- 职业生涯规划师安全防护评优考核试卷含答案
- 炼焦备煤工岗前面试考核试卷含答案
- 硅油及乳液生产工技术综合水平考核试卷含答案
- 房地产经纪人岗前风险评估与管理考核试卷含答案
- 气体深冷分离工安全宣贯强化考核试卷含答案
- 2026年四川省高考思想政治试卷(含答案及解析)
- 综合管理竞聘测试题及答案
- 混凝土结构设计原理中国建筑工业出版社
- 化工企业常压储罐区检维修安全作业规范
- 电梯维修保养标准操作规程
- (正式版)T∕CCASC 0057.2-2025 离子膜法烧碱生产安全操作规程 第2部分:电解
- 煤矿掘进标准化培训课件
- 基于生成式AI的初中生物互动教学模式创新与实践教学研究课题报告
- 煤矿职业病危害培训课件
- 城市污水处理厂日常运行管理规范
- 超声科病例汇报
评论
0/150
提交评论