停止等待協议.doc

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

停止等待协议 停止等待(stop-and-wait)协议是最简单但也是最基本的数据链路层协议。很多有关协议的基本概念都可以从这个协议中学习到。我们先从最简单的情况讲起。 一、不需要数据链路层协议的数据传输 当两个主机进行通信时,应用进程要将数据从应用层逐层往下传,经物理层到达通信线路。通信线路将数据传到远端主机的物理层后,再逐层向上传,最后由应用层交给远程的应用进程。但现在为了把主要精力放在数据链路层的协议上,可以采用一个简化的模型(见下图),即把数据链路层以上的各层用一个主机来代替,而物理层和通信线路则等效成一条简单的链路。数据链路层也可简称为链路层。在发方和收方的链路层分别有一个发送缓冲区和接收缓冲区。若进行全双工通信,则在每一方都要同时设有发送缓冲区和接收缓冲区。缓冲区是必不可少的。这是因为在通信线路上数据是以比特流的形式串行传输的,但在计算机内部数据的传输则是以字节(或若干个字节)为单位并行传输的。因此,必须在计算机的内存中设置一定容量的缓冲区,以便解决数据传输速率不一致的矛盾。 下图所示的简化模型对于一个计算机网络中任意一条链路上的数据传输情况都是适用的。在网络内部,各交换结点的数据链路层的上面只有一个网络层。对于这种交换结点,网络层就相当于简化模型中的主机。 图4-10 两台计算机通过一条链路通信的简化模型 为了深入理解数据链路层的协议,我们先从一种假想的、完全理想化的数据传输过程开始讨论。下面即可看出,对于这种完全理想化的数据传输,数据链路层协议是根本不需要的。 为了和后面的讨论相衔接,我们假定数据传输是以帧为单位。 假定1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。 假定2:不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。 第一个假定很容易理解。对第二个假定则需加以解释。 我们假设主机A连续不断地向主机B发送数据。在收方,主机B的链路层也就将收到的数据一帧接一帧地交给主机B。在理想情况下,收方链路层的缓冲区每存满一帧就向主机B交付一帧。如果没有专门的流量控制协议,则收方并没有办法控制发方的发送速率,而收方也很难做到和发方绝对精确同步。当收方链路层向主机交付数据的速率略低于发方发送数据的速率时,缓冲区暂时存放的数据帧就会逐渐堆积起来,最后造成缓冲区溢出和数据帧丢失。因此,上述第二个假定就相当于认为:(1)接收缓冲区的容量为无限大而永远不会溢出;或(2)接收速率与发送速率绝对精确相等。 在这样理想化的条件下,数据链路层当然就不需要任何协议就可以保证数据传输的正确。 二、具有最简单流量控制的数据链路层协议 去掉上述第二个假定,保留第一个假定,即主机A向主机B传输数据的信道仍然是无差错的理想信道。 为了使收方的接收缓冲区在任何情况下都不会溢出,在最简单的情况下,就是发方每发送一帧就暂时停下来。收方收到数据帧后就交付给主机,然后发一信息给发方,表示接收的任务已经完成。这时,发方才再发送下一个数据帧。在这种情况下,收方的接收缓冲区的大小只要能够装得下一个数据帧即可。显然,用这样的方法收发双方能够同步得很好,发方发送数据的流量受收方的控制。由收方控制发方的数据流量,乃是计算机网络中流量控制(flow control)的一个基本方法。 具有最简单流量控制的数据键路层协议如下: 在发送结点: (1)从主机取一个数据帧; (2)将数据帧送到数据链路层的发送缓冲区; (3)将发送缓冲区中的数据帧发送出去; (4)等待; (5)若收到由接收结点发过来的信息(此信息的格式与内容可由双方事先商定好),则从主机取一个新的数据帧,然后转到(2)。 在接收结点: (l)等待; (2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓冲区; (3)将接收缓冲区中的数据帧上交主机; (4)向发送结点发一信息,表示数据帧已经上交给主机; (5)转到(l)。 下图是前面所述的两种情况的对比。图(a)是不需要任何协议的理想化情况。主机A将数据帧(图中用DATA表示)连续发出,而不管发送速率有多快,收方总能够跟得上,收到一帧即交付给主机B。显然,这种完全理想化情况的传输效率是很高的。 图(b)是由收方控制发方发送速率的情况。发方每发完一帧就必须停下来,等待收方的信息。由于假定了数据在传输过程中不会出差错,因此收方将数据帧交给主机B后向发方主机A发送的信息,不需要有任何具体的内容,即不需要说明所收到的数据是否是正确无误的。这相当于只要发回一个不需要装入任何信件的空信封就能起到流量控制的作用。

文档评论(0)

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

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

1亿VIP精品文档

相关文档