停止-等待协议是哪一层的?
停止-等待协议是数据链路层的协议。
停止-等待协议(Stop-and-Wait)是数据通信中的一个基本协议,它属于OSI模型中的第二层,即数据链路层。这种协议的主要特点是简单但效率较低,因为它要求发送方在发送完每个数据分组后都必须停下来等待接收方的确认信息。一旦收到确认,发送方才能继续发送下一个分组。如果传输中出现错误或丢失,发送方会重发相同的分组,直到收到确认为止。
先前网络质量不好,链路层因此需要使用停止等待协议,保证数据的可靠性
现在网络质量的提升,使用链路层负责差错的控制,保证数据传输速度更快,差错更小,而传输层则负责可靠传输
诞生原因&前提&应用情况
停等协议-无差错情况
0 1只是编号而已,并不是说编号一样对应的帧也一样
ACK 0:对0号帧的确认帧
编号
停止等待协议中,帧的编号范围通常是0和1。
停止-等待协议是一种数据链路层的基本协议,它使用帧编号来区分不同的数据帧,并确保数据的有序传输。在这个协议中,帧的编号通常只需要1比特,这意味着编号的范围是0和1。这样的设计足以满足停止-等待协议的基本需求,因为协议的核心在于确认机制,而不是在于能够处理大量的帧编号。
停等协议-有差错情况
数据帧丢失或检测到帧出错
超时计时器在结束前还没有收到确认帧那么这个发送方在计时器器结束后就会重复发送一次(自动重传)
RTT:往返传播时延(发送到接收到确认的时间)
超时计时器设置的重传时间当比帧传输的平均RTT更长原因:保证不至于确认帧都快到发送方又重传了
保留副本(对帧的复制)是为了方便重传
直到收到确认帧,才可以把刚刚发送的帧的副本扔掉
- 编号:解决帧的丢失重复问题
- 帧丢失:当发送方发送了一个帧后,会等待接收方的确认。如果确认丢失,发送方会在超时后重新发送相同的帧。由于每个帧都有一个编号,接收方可以识别出重复的帧,并丢弃它,同时发送一个新的确认,告知发送方之前的数据已经收到。
- 帧重复:如果确认信息迟到,发送方可能会错误地认为之前的帧没有成功发送,从而再次发送相同的帧。此时,接收方会根据帧编号识别出这是一个重复的帧,并且丢弃它,同时再次发送确认信息。
帧出错:接收方发现错误后丢弃并不返回确认帧
ACK丢失
丢弃重复的一帧是第二次发来的
ACK迟到
丢弃重复的一帧是第二次发来的
如果此时迟到的确认0帧在发送一帧后达到发送方,此时发送方已经收到过确认0帧了,并当前要接收的是确认1帧,所以此时会丢弃该迟到的确认0帧
如果迟到的确认0帧在发送方超时重传后到达,那么此时意味着0帧完成,发送方会开始发送1帧,那么当接收方再次接受到重传的0帧时会重传确认0帧,那么当发送方发送1帧后再接受到确认0帧时由于已经接受到确认0帧了,那么会将其丢弃
停等协议性能分析
确认帧:只包含控制信息,不包含数据,相对数据帧其更短
T0:即发送方将第一个比特放到链路上和将最后一个比特放到链路上的时延(发送时间)
数据放到链路后,接下来就是在链路上传输的时间了
发送周期:发送第一个比特位开始到发送方接受确认帧最后一个比特位结束