停止等待协议.doc
《停止等待协议.doc》由会员分享,可在线阅读,更多相关《停止等待协议.doc(8页珍藏版)》请在咨信网上搜索。
1、停止等待协议 停止等待(stopandwait)协议是最简单但也是最基本的数据链路层协议。很多有关协议的基本概念都可以从这个协议中学习到。我们先从最简单的情况讲起。一、不需要数据链路层协议的数据传输 当两个主机进行通信时,应用进程要将数据从应用层逐层往下传,经物理层到达通信线路。通信线路将数据传到远端主机的物理层后,再逐层向上传,最后由应用层交给远程的应用进程。但现在为了把主要精力放在数据链路层的协议上,可以采用一个简化的模型(见下图),即把数据链路层以上的各层用一个主机来代替,而物理层和通信线路则等效成一条简单的链路。数据链路层也可简称为链路层。在发方和收方的链路层分别有一个发送缓冲区和接收
2、缓冲区。若进行全双工通信,则在每一方都要同时设有发送缓冲区和接收缓冲区。缓冲区是必不可少的。这是因为在通信线路上数据是以比特流的形式串行传输的,但在计算机内部数据的传输则是以字节(或若干个字节)为单位并行传输的。因此,必须在计算机的内存中设置一定容量的缓冲区,以便解决数据传输速率不一致的矛盾。下图所示的简化模型对于一个计算机网络中任意一条链路上的数据传输情况都是适用的。在网络内部,各交换结点的数据链路层的上面只有一个网络层。对于这种交换结点,网络层就相当于简化模型中的主机。图4-10 两台计算机通过一条链路通信的简化模型 为了深入理解数据链路层的协议,我们先从一种假想的、完全理想化的数据传输过
3、程开始讨论。下面即可看出,对于这种完全理想化的数据传输,数据链路层协议是根本不需要的。 为了和后面的讨论相衔接,我们假定数据传输是以帧为单位。 假定1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。 假定2:不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。 第一个假定很容易理解。对第二个假定则需加以解释。 我们假设主机A连续不断地向主机B发送数据。在收方,主机B的链路层也就将收到的数据一帧接一帧地交给主机B。在理想情况下,收方链路层的缓冲区每存满一帧就向主机B交付一帧。如果没有专门的流量控制协议,则收方并没有办法控制发方的发送速率,而收方也很难做到和发方绝对精
4、确同步。当收方链路层向主机交付数据的速率略低于发方发送数据的速率时,缓冲区暂时存放的数据帧就会逐渐堆积起来,最后造成缓冲区溢出和数据帧丢失。因此,上述第二个假定就相当于认为:(1)接收缓冲区的容量为无限大而永远不会溢出;或(2)接收速率与发送速率绝对精确相等。 在这样理想化的条件下,数据链路层当然就不需要任何协议就可以保证数据传输的正确。二、具有最简单流量控制的数据链路层协议 去掉上述第二个假定,保留第一个假定,即主机A向主机B传输数据的信道仍然是无差错的理想信道。 为了使收方的接收缓冲区在任何情况下都不会溢出,在最简单的情况下,就是发方每发送一帧就暂时停下来。收方收到数据帧后就交付给主机,然
5、后发一信息给发方,表示接收的任务已经完成。这时,发方才再发送下一个数据帧。在这种情况下,收方的接收缓冲区的大小只要能够装得下一个数据帧即可。显然,用这样的方法收发双方能够同步得很好,发方发送数据的流量受收方的控制。由收方控制发方的数据流量,乃是计算机网络中流量控制(flow control)的一个基本方法。 具有最简单流量控制的数据键路层协议如下: 在发送结点: (1)从主机取一个数据帧; (2)将数据帧送到数据链路层的发送缓冲区; (3)将发送缓冲区中的数据帧发送出去; (4)等待; (5)若收到由接收结点发过来的信息(此信息的格式与内容可由双方事先商定好),则从主机取一个新的数据帧,然后转
6、到(2)。 在接收结点: (l)等待; (2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓冲区; (3)将接收缓冲区中的数据帧上交主机; (4)向发送结点发一信息,表示数据帧已经上交给主机; (5)转到(l)。 下图是前面所述的两种情况的对比。图(a)是不需要任何协议的理想化情况。主机A将数据帧(图中用DATA表示)连续发出,而不管发送速率有多快,收方总能够跟得上,收到一帧即交付给主机B。显然,这种完全理想化情况的传输效率是很高的。图(b)是由收方控制发方发送速率的情况。发方每发完一帧就必须停下来,等待收方的信息。由于假定了数据在传输过程中不会出差错,因此收方将数据帧交给主机B
7、后向发方主机A发送的信息,不需要有任何具体的内容,即不需要说明所收到的数据是否是正确无误的。这相当于只要发回一个不需要装入任何信件的空信封就能起到流量控制的作用。 图(a)不需要任何数据键路层协议的数据传输(b)具有最简单流量控制的数据键路层协议三、实用的停止等待协议 去掉前面的两个假定,讨论实用的数据链路层协议。这就是说,传输数据的信道不是可靠的(即不能保证所传的数据不产生差错),并且还需要对数据的发送端进行流量控制。 1 不出差错的情况 下图(a)是数据在传输过程中不出差错的情况。收方在收到一个正确的数据帧后,即交付给主机B,同时向主机A发送一个确认帧ACK( ACKnowledgment
8、 )。当主机A收到确认帧ACK后才能发送一个新的数据帧。这样就实现了收方对发方的流量控制。 2 数据帧出错 现在假定数据帧在传输过程中出现了差错。由于通常都在数据帧中加上了循环冗余校验CRC(Cyclic Redundancy Check),所以结点 B很容易检验出收到的数据帧是否有差错(一般用硬件检验)。当发现差错时,结点B就向主机A发送一个否认帧NAK ( Negative ACK ) ,以表示主机A应当重发出现差错的那个数据帧。下图(b)画出了主机A重发数据帧。如多次出现差错,就要多次重发数据帧,直到收到结点B发来的确认帧ACK为止。为此,在发送端必须暂时保存已发送过的数据帧的副本。当通
9、信线路质量太差时,则主机A在重发一定的次数后(如8次或16次,这要事先设定好),即不再进行重发,而是将此情况向上一层报告。 3 帧丢失有时链路上的干扰很严重,结点B收不到结点A发来的数据帧。这种情况称为帧丢失(图(c)。发生帧丢失时结点B当然不会向结点A发送任何应答帧。图4-12 数据帧在键路上传输的几种情况如果结点A要等收到结点B的应答信息后再发送下一个数据帧,那么就将永远等待下去。于是就出现了死锁现象。同理,若结点B发过来的应答帧丢失,也会同样出现这种死锁现象。 要解决死锁问题,可在结点A发送完一个数据帧时,就启动一个超时定时器。若到了超 时定时器所设立的重发时间tout。而仍收不到结点B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 停止 等待 协议
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。