停止等待协议实验报告

停止等待协议实验报告

ID:3671410

大小:349.69 KB

页数:16页

时间:2017-11-22

停止等待协议实验报告_第1页
停止等待协议实验报告_第2页
停止等待协议实验报告_第3页
停止等待协议实验报告_第4页
停止等待协议实验报告_第5页
资源描述:

《停止等待协议实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验停止等待协议分析与协议模拟实现一、实验目的和任务1.掌握停止等待协议的原理及分析过程包括使用状态转移图进行协议的分析。2.在计算机上编程模拟停止等待协议的工作过程并实现文件的端到端传输。3.能够在文件的传输过程中表现出协议运行所遇到的各种状况,如丢包,差错控制等二、分析与设计1.设计任务分析:停止等待协议是数据链路层的几个协议中最简单的协议,是具有最简单流量控制的数据链路层协议,是数据链路层各种协议的基础。实验是基于winsock编程,是visualC++6.0win32控制台运用程序实现的。它采用客户机/服务器

2、(C/S)模型,即发送数据的一端为客户端,接收数据的一端为服务器端。停止等待协议就是通过双方的收发数据而达到相互通信的目的。本实验通过编程模拟实现停止等待协议,随机的发送文件,通过服务器的的接受结果和客户端的接受结果显示理解停止等待协议的原理,掌握其应用。2. 协议分析假定1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。假定2:不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。这个假定就相当于认为:接收端向主机交付数据的速率永远不会低于发送端发送数据的速率。如果存在这样的传输信道,数

3、据链路层协议也是不需要的。信道不会出错,而且接收方缓存的容量为无限大而永远不会溢出;或接收速率与发送速率绝对精确相等。在上述两个假定的情况下,数据链路层当然就不需要任何协议就可以保证数据传输的正确。这就是说,传输数据的信道是不可靠的(即不能保证所传的数据不产生差错),并且还需要对数据的发送端进行流量控制。现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。由收方控制发方的数据流收方每接受到发方一帧后,回复确认帧,让发方继续发送下一帧,并且收方将数据帧交给上层软件识别,出现错误就将帧丢掉.在大多数协议

4、中,流量控制是一组过程,这组过程是用来告诉发送方在等待接收方的应答信号之前最多可以传送多少数据。流量控制有两个要点:(1)数据流不能使接收方过载。任何接收设备都有一个处理输入数据的速率限制,并且存储输入数据的存储器容量也是有限的。接收设备必须在达到这些限制之前通知发送设备并且请求发送设备发送较少的数据帧或是暂停一会儿。在使用输入数据之前,需要对数据进行校验和处理,因此,每个接收设备都有一块存储器,叫做缓冲区,用于存放未来得及处理的数据帧。如果缓冲区将满,接收方也必须能够通知发送方暂停传输,直到接收方又能接收数据。(2

5、)应答。随着数据帧的到来,接收方对他们进行应答,可以每收到一帧给一个应答,也可以一次对若干帧进行应答。如果一个帧到达时已经被破坏,接收方发送一个否定应答帧(NAK)。在数据链路层,差错控制主要指错误检测和重传方法。在一个帧中出现任何一个错误,接收方就返回一个否定应答帧,出错的帧就被发送方重新传送。这个过程被称作自动重复请求(ARQ)。数据被重传的情况有三种:帧破坏、帧丢失和应答帧丢失。流量控制和差错控制是结合在一起实现的,共有两种实现流量控制和差错控制的技术:停止等待协议和滑动窗口协议。可以用多种方法来表示一个有限状

6、态机,对协议进行描述,以下只描述一种。1)混合描述方法比较实用的办法是合并一些状态,即考虑一些次要的细节。例如,甲方的状态1和状态2,状态3和状态4都可以合并,乙的状态1和状态4,状态2和状态3也可进行合并。这样可以用3个字符XYZ表示整个系统的状态,其中X=0或1,对应于甲方准备发[0]或[1](包括发完后等待ACK的状态);Y=0或1,对应于乙方期望收到[0]或[1];Z=0、l、A或-,对应于信道上传送的是[0]、[1]、ACK或出现了差错(包括丢失)。这样,就可得出图3-24的有限状态机。在弧线(或直线)旁边

7、注明的数字为状态变迁的标号,其意义也注明在图3-24的右方。假设系统一开始处在(000)状态。这表示甲发完[0],乙期望收到[0],而信道上传送的也是[0]。在无差错的情况下,系统的状态仅在4个状态中循环:(000)→(01A)→(111)→(10A)→(000)→‥‥。从理论上讲,应当共有2×2×4=16种不同的状态。去掉没有意义的组合后,还剩下10种状态,而导致状态变迁的输人事件共有9种(标号0~8)。这种有限状态机可帮助我们检查协议是否正确。例如,检查一下乙方会不会连续将两个0号帧送交主机。这相当于检查一下会不

8、会出现这种情况,即在两次出现状态变迁1之间不出现状态变迁3。仔细检查图3-24就可发现这种情况是不会发生的。同样方法也可用来排除连续将两个1号帧送交主机的可能。再检查一下会不会发生甲方连续改变状态2次(如从0到1,再回到0)而乙方的状态未改变。这种情况相当于出现了未被发现的报文丢失。可以看出,这种情况也是不存在的。协议必须不出现死锁。死锁的出现

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。