停止等待协议实验指导

停止等待协议实验指导

ID:38693041

大小:41.50 KB

页数:10页

时间:2019-06-17

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

《停止等待协议实验指导》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、停止等待协议1.实验目的12.协议介绍12.1 停止等待协议的简单介绍(STOP AND WAIT):12.2 帧的结构:12.3 停等协议中相关事件的介绍23.实验内容和步骤33.1步骤:33.2基本内容:43.3扩展内容:44.实验要求45.程序说明55.1主要的数据结构介绍:55.2 主要函数介绍:65.3 重点和难点介绍:76.参考资料9 1.实验目的了解winsock编程的基本流程u掌握停止等待协议的基本原理uu理解数据链路层的主要功能(数据出错控制,数据重复控制,数据丢失控制等等)分析简单的协议数据单元u掌握停止等待协议的运行机制uu了解停止等待协

2、议的定量分析2.协议介绍2.1 停止等待协议的简单介绍(stop and wait): 停止等待协议是数据链路层的几个协议中最简单的协议,是数据链路层各种协议的基础。此实验是基于winsock编程,是在VC++6.0的MFC界面下和控制台下实现的。它采用客户机/服务器(C/S)模型,即发送数据的一端为客户端,接收数据的一端为服务器端。停止等待协议就是通过双方的收发数据而达到相互通信的目的。当收方收到一个正确的数据帧后,便会向发方发送一个确认帧ACK,表示发送的数据正确接收。当发方收到确认帧后才能发送一个新的数据帧,这样就实现了接收方对发送方的流量控制。由于通信

3、线路质量各方面的影响,数据帧从发送方到接收方传输的过程中可能会出现差错。为了保证数据的正确性和完整性,接收方在收到数据后,会用一定的方法对接收到的数据进行差错检验,所以接收方很容易检测出收到的数据帧是否出现差错。当接收方发现收到的数据出现差错时,就会向发送方发送一个否认帧NAK,表示对方发送的数据错误。发送方会根据接收方发来的信息做出相应的操作。采用这样的有效的检错机制,数据链路层可以对上面的网络层提供了可靠的传输的服务。2.2 帧的结构:       帧的类型帧的序号帧的确认号数据信息(可变)校验位帧的结构帧的类型(frame_kind):l分为数据帧(da

4、ta_frame),确认帧(ack_frame)和否认帧(nak_frame)三种。发送方向接收方发送数据,是以帧为单位的,就称为数据帧。它的数据信息是可变的,但最佳的帧长为1500个字节。接收方接收数据后,会对收到的数据帧进行差错校验,当数据正确时,就会向发送方发送一个确认帧,以表示发送方发送的数据正确接收了,反之,就会向发送方发送一个否认帧,并把这个出错的数据帧丢弃。帧的序号(seq):l由于采用的是单工通信,帧的结构中用的控制域也很少,这个域会随着帧类型的不同而不同:对数据帧来说:序号(seq)表示的是发送端发送的帧的序号。对确认帧来说:序号(seq)表

5、示的是接收方希望接收到的帧的序号,它表示seq以前的各帧都已经正确接收,希望收到序号为seq的帧。对否认帧来说:序号(seq)也是表示接收方希望收到的数据帧的序号,表示接收方已经收到序号为seq的帧,但是这个帧出现错误,希望发送方重新发送该数据帧。停止等待协议采用的是单工通信,接收端向发送端发送的确认帧和否认帧中没有数据信息,它们的数据域为空。由于是单工通信,发送方只发送数据,所以发送方帧的“帧的确认号”中并没有包含任何的确认信息。2.3 停等协议中相关事件的介绍帧丢失:l有时,链路上的干扰很严重,或者由于其他的一些原因,接收方收不到发送方发送过来的数据帧,这

6、种情况称为数据帧丢失。发生数据帧丢失时,接收方自然不会向发送方发送任何应答帧。如果发送方要等收到收方的应答信息后再发送下一个数据帧,那么双方将永远等下去,这样就出现了死锁现象。为了解决这个问题,可在发送方发送完一个数据帧后,就启动一个超时定时器。若到了超时定时器所设置的重发时间tout仍收不到收方的任何应答帧,发送方的计时器发生超时,则发送方就重传前面所发送的这一数据帧。如果在重传时间tout内收到确认信息,则将超时定时器清零并停止计时。tout一般的时间设置为略大于“从发完数据帧到收到确认帧所需的平均时间”。帧重复:若丢失的是应答帧,则超时重发将会使接收方收

7、到两个同样的数据帧。由于接收方无法识别重复的数据帧,因而在接收方收到的数据中出现了一种接收序号差错,称为重复帧。要解决这个问题,必须使每一个数据帧带上不同的发送序号。若接收方收到序号相同的数据帧,就表明出现了重复帧。这时接收方应当丢弃这个重复帧。应该注意到,虽然接收方收到了重复的帧,但它还必须向发送方发送一个确认帧,因为接收方这时已经知道发送方还没有收到上一次接收方向发送方发过去的确认帧。大家都知道,任何一个编号系统的序号所占用的比特数是有限的。因此,经过一段时间,发送序号就会重复。序号占用的比特数越少,数据传输的额外开销就越少。对于停等协议,由于每发送一个数

8、据帧就停止等待,因此用一个比特来编号就

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

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

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