计算机网络试验指导-PARNEC.DOC

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络试验指导-PARNEC

共 NUMPAGES 3页 第 PAGE 2页 计算机网络实验指导 实验二 利用停止等待协议传输数据文件 实验目的 深入理解停止等待协议的主要特点; 深入理解停止等待协议的工作过程; 进一步掌握串行口编程的方法。 实验环境 运行平台:MSWindows 编程平台: VC/VB/Delphi中任意一种 编程语言:任何你熟悉的编程语言 实验概述 停止等待协议 发送数据包1 发送数据包1 接收正确认ACK 发送数据包2 重发数据包2 发送数据包3 接收负确认NAK 接收正确认ACK 接收正确认ACK 接收数据包1正确 发送正确认ACK 接收数据包2错误 发送负确认NAK 接收数据包2正确 发送正确认ACK 接收数据包3正确 发送正确认ACK 发送方 接收方 发送数据包0 接收正确认ACK1 发送数据包1 超时重传数据包1 超时重传数据包1 接收正确认ACK0 接收数据包0正确 发送正确认ACK1 接收数据包1正确 发送正确认ACK0 接收数据包1正确(抛弃) 发送正确认ACK0 发送方 接收方 发送数据包0 超时 超时 图1-1 停止等待协议的基本工作过程 图1-2 数据包的丢失和确认信息的丢失示意图 所谓停止等待就是在发送方发完数据报后,需要等待接收方应答信息的到来。如果发送方接收到正确认信息ACK,那么说明接收方已经正确接收到上一数据包,发送方就可以发送下一数据包;如果发送方接收到负责确认信息NAK,说明接收方收到的数据包是错误的,发送方应该重发,如图2-1所示。 为了保证数据传输的可靠性,实际的停等协议并不像上述的那么简单。在实际应用环境中,至少应该考虑以下两种情况。 数据包丢失 数据包在传输过程中丢失,接收方未收到任何数据,如图2-2所示。由于接收方不知道数据已经发送,因此它不可能给出正确认(ACK)信息或负确认信息(NAK)信息。为了解决这个问题,发送方需要在发送一个数据包后启动一个定时器。一旦在规定时间内没有收到接收方的任何信息,则认为数据包丢失,需要重发该数据包。如果重传一个数据包的次数达到一定值,则认为数据通信信道存在严重问题,数据传输失败。 确认信息丢失或出错 接收方正确接收到数据包,但确认信息在传输过程中丢失或出错,如图2-2所示。这时发送方也不能确定接收方是否收到了数据包。这个问题的解决也是采用定时器的方法,在定时器溢出后重发数据包。但是为了保证接收到的数据不重复,需要给数据包编号。当接收方再次收到同样编号的数据包时,将该包丢弃,并认为上次发送的确认信息丢失或出错,需要重传该确认信息。对于停等协议,至少需要两个编号(通常为0和1)。第一个包的编号为0,第二个包的编号为1,第三个包的编号再为0……如果接收方连续收到了相同编号的数据包,则发生了重复,需要将其丢弃。同时确认信息也需要进行编号,通常用ACK1表示收到编号为0的数据包,并准备接收编号为1的数据包。同样的,ACK0则表示下一个准备接收到的数据包的编号为0。 实验内容与步骤 简化的停止等待协议 实验在不影响停止等待协议基本思想的前提下进行简化,以简化编程过程。 两个文件,f1:要发送的串;f2:保存中间结果;f3:接受的串。编写两个计算机程序,第一个程序模拟发送方,首先从界面读取待发送字符(每次接受一个字符的输入),保存到文件一中,然后等待接受方应答;第二个程序模拟接受方,它从第一个文件中查找是否有新字符到来,然后模拟界面选择,1.Ack--接收该字符,2。NAK--〉丢弃,3。无反应--〉模拟超时,将结果纪录到文件三中,用户的选择纪录在文件2中;第一个文件读取文件2决定操作,如果是3,则重传该字符,否则继续接收用户输入。 思考与练习 在实验过程中请思考以下问题: 简化的停止等待协议使用奇偶校验码对传输的正文信息进行校验。奇偶校验实现简单但检错效率不高。请查阅参考资料,将本实验的奇偶校验改为循环荣誉校验,以提高检错效率。 停止等待协议的执行效率是衡量协议的重要因素之一,尽管在简化的停止等待协议中很难准确验证停止等待协议的效率,但还是可以通过改变传输速率、数据包的长度,以及模拟长线路等方法来定性的观察协议的效率。思考实验方法,观察停止等待协议的效率。

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档