×

停止等待协议

停止等待协议(什么是停止等待协议)

admin admin 发表于2023-12-04 07:39:24 浏览38 评论0

抢沙发发表评论

大家好,关于停止等待协议很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于什么是停止等待协议的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录

什么是停止等待协议

停止等待协议(stop-and-wait)是最简单但也是最基础的数据链路层协议。很多有关协议的基本概念都可以从这个协议中学习到。要点 只有收到序号正确的确认帧 ACKn 后,才更新发送状态变量 V(S)一次,并发送新的数据帧。 接收端接收到数据帧时,就要将发送序号 N(S) 与本地的接收状态变量 V(R) 相比较。 若二者相等就表明是新的数据帧,就收下,并发送确认。 否则为重复帧,就必须丢弃。但这时仍须向发送端发送确认帧 ACKn,而接收状态变量 V(R) 和确认序号 n 都不变。 连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同序号的确认帧,表明接收端收到了重复帧。 发送端在发送完数据帧时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经收到这个数据帧时,才可以清除这个副本。 实用的 CRC 检验器都是用硬件完成的。 CRC 检验器能够自动丢弃检测到的出错帧。因此所谓的“丢弃出错帧”,对上层软件或用户来说都是感觉不到的。 发送端对出错的数据帧进行重传是自动进行的,因而这种差错控制体制常简称为ARQ (Automatic Repeat reQuest),直译是自动重传请求,但意思是自动请求重传。定量分析 设 tf 是一个数据帧的发送时间,且数据帧的长度是固定不变的。显然,数据帧的发送时间 tf 是数据帧的长度 lf (bit)与数据的发送速率 C (bit/s)之比,即 tf = lf /C = lf /C (s) 发送时间 tf 也就是数据帧的发送时延。 数据帧沿链路传到结点B还要经历一个传播时延 tp。 结点 B 收到数据帧要花费时间进行处理,此时间称为处理时间 tpr,发送确认帧 ACK 的发送时间为 ta。停止等待协议的算法 这里不使用否认帧(实用的数据链路层协议大都是这样的),而且确认帧带有序号 n。 按照习惯的表示法,ACKn 表示“第 n – 1 号帧已经收到,现在期望接收第 n 号帧”。 ACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”; ACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号帧”。ARQ 的优缺点 优点:比较简单 。 缺点:通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。 为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选择重传 ARQ。具有最简单流量控制的数据链路层协议 假定 1: 链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。 假定 2: 不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。 这个假定就相当于认为:接收端向主机交付数据的速率永远不会低于发送端发送数据的速率。 现在去掉上述的第二个假定。但是,仍然保留第一个假定,即主机 A 向主机 B传输数据的信道仍然是无差错的理想信道。然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。由收方控制发方的数据流 乃是计算机网络中流量控制的一个基本方法。 简单解释:收方每接受到发方一帧后,回复确认帧,让发方继续发送下一帧,并且收方将数据帧交给上层软件识别,出现错误就将帧丢掉. 在接收结点: (1) 等待。 (2) 若收到由发送结点发过来的数据帧, 则将其放入数据链路层的接收缓存。 (3) 将接收缓存中的数据帧上交主机。 (4) 向发送结点发一信息,表示数据帧已 经上交给主机。 (5) 转到(1) 在发送结点: (1) 从主机取一个数据帧。 (2) 将数据帧送到数据链路层的发送缓存。 (3) 将发送缓存中的数据帧发送出去。 (4) 等待。 (5) 若收到由接收结点发过来的信息(此信息 的格式与内容可由双方事先商定好),则 从主机取一个新的数据帧,然后转到(2)。

为什么停止等待协议可以不需要nak否认分组

因为数据有误。1、停止等待协议是一种可靠传输协议,其基本思想是发送方发送数据后,等待接收方的确认,如果在一定时间内没有收到确认,则认为数据丢失,需要重新发送。2、在停止等待协议中,如果接收方收到了错误的数据,会直接丢弃该数据,而不是发送NAK否认分组。3、当接收方收到错误的数据时,可以选择不发送确认分组,这样发送方就会超时重传该数据。在超时重传后,发送方会重新发送该数据,直到接收方正确地接收到该数据并发送确认分组为止。4、因此,停止等待协议不需要NAK否认分组,只需要超时重传机制即可实现可靠传输。

在停止等待协议中如果不使用编号是否可行为什么

不行,因为在现实的数据传输中,很难保证数据的传输既不丢失也不出现差错,所以在停止等待协议中应当使用序号。

停止等待协议用于通信系统中,两个相连的设备相互发送信息时使用,以确保信息不因丢包或包乱序而丢失,是最简单的自动重传请求方法。

只有收到序号正确的确认帧 ACKn 后,才更新发送状态变量 V(S)一次,并发送新的数据帧。接收端接收到数据帧时,就要将发送序号 N(S) 与本地的接收状态变量 V(R) 相比较。

扩展资料

在停止等待协议中,仅当数据帧和确认帧在传输的过程中既不会丢失也不会有差错的情况下,确认帧才可以不使用序号(其实,如果在传输的过程中既不丢失也无差错时,根本就不用确认了)。

任何一个编号系统的序号所占用的比特数是有限的。因此,经过一段时间,发送序号就会重复。序号占用的比特数越少,数据传输的额外开销就越少。对于停等协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了,也就是说序号轮流使用0和1。

停止等待协议如何保证无差错传输

发送方传输一个帧之后,必须等待对方的确认才能发送下一帧。如果数据传输过程不出差错,接收方收到一个正确的数据帧后,向发送方发送一个确认帧ACK,当发送方收到ACK后才能发送一个新的数据帧,这是停止等待协议的工作原理。

停止等待协议不能解决的事

停止等待协议(Stop-and-Wait Protocol)是一种用于在两个通信设备之间传输数据的协议。它可以解决传输数据时可能出现的错误,并且能够恢复传输中断的情况。但是,停止等待协议有一些局限性,它不能解决以下问题: 数据传输效率较低:停止等待协议在传输一个数据包之后,必须等待确认信息,才能传输下一个数据包,这样会使数据传输的效率较低。 带宽利用率较低:停止等待协议的带宽利用率也较低,因为它必须等待确认信息,才能传输下一个数据包。 无法应对高速网络:停止等待协议无法应对高速网络的需求,因为它无法有效地利用高速网络的带宽。 无法应对多路径传输:停止等待协议无法应对多路径传输的情况,因为它只能在两个设备之间单向传输数据。

简述停止-等待协议(ARQ)的工作原理

说的很非常正确与全面。就是发送方发送完一个分组后就停下来等待接收方的确认,只有等到接收方接收确认才会发送下一个分组,如果收不到确认就会等到一定时间后重新发送,直到收到对方的确认

停止-等待协议(ARQ)的工作原理是什么

全双工通信的双方既是发送方也是接收方。为了讨论方便,仅考虑A发送数据而B接收数据并发送确认。A叫发送方,B 叫接收方。“停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。\x0d\x0a1、无差错情况\x0d\x0aA发送分组M1,发送完后就暂停发送,等待B的确认。B 收到M1后就向A 发送确认。A 在收到对M1的确认后,就继续发送下一个分组M2。同样,在收到B 对M2的确认后,再继续发送下一个分组。\x0d\x0a2、出现差错\x0d\x0aA 只要超过一段时间后仍没有收到确认,就认为刚发送的分组丢失,因而重传前面发送过的分组。实现这个功能应该保证:\x0d\x0a一、A 在发送完一个分组后,必须暂时保留已发送的分组的副本。只有在收到相应的确认后才能清除暂时保留的分组副本。\x0d\x0a二、分组和确认分组都 必须进行编号。\x0d\x0a三、超时计时器设置的重传时间应当比数据在分组传输的平均往返时间更长一些。\x0d\x0a3、确认丢失和确认迟到\x0d\x0a假设当B发送的对M2确认丢失后,A 在设定的超时重传时间内没有收到M2的确认,但并不知道是自己发送的分组出错、丢失,或者B发送的确认丢失。因此 A 在超时计时器到期后就要重传分组M2。B在收到M2后应采取的两个动作:\x0d\x0a一、丢弃这个重复的分组M2。\x0d\x0a二、向A 发送确认。\x0d\x0a这种可靠传输协议称为自动重传请求ARQ(Automatic Repeat reQuest),可以在不可靠的传输网络上实现可靠的通信。

什么是停止等待协议的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于什么是停止等待协议、什么是停止等待协议的信息别忘了在本站进行查找哦。