首页 百科知识 数据帧重传技术

数据帧重传技术

时间:2022-10-01 百科知识 版权反馈
【摘要】:发送方在发送完一帧,仅当收到表示接收方已正确接收的ACK帧之后,才能认为该帧已正确发送完毕,否则需要重传,直至接收方正确收到为止。若将这些重复的帧都递交给网络层,则会造成数据错误。在有确认面向连接的服务中,数据链路层正是通过使用定时器和序号来保证每一帧最终都会且只会被正确地递交给目标网络层一次。

依据前述章节的介绍可知,检错码技术最终需要依靠重传来解决问题。目前常用的数据帧重传技术主要包括“反馈重传”和“自动重传”两种,其中:

◆ 反馈重传:在反馈重传的方法中,要求接收方接收到一帧之后,需要向发送方反馈一个接收是否正确的确认帧(ACK帧,Acknowledgment Frame),使得发送方可以据此做出是否需要重新发送的决定。发送方在发送完一帧,仅当收到表示接收方已正确接收的ACK帧之后,才能认为该帧已正确发送完毕,否则需要重传,直至接收方正确收到为止。

◆ 自动重传:由于物理信道的突发噪声或硬件故障可能使得整个数据帧或确认帧丢失,这将导致发送方永远收不到接收方发来的确认帧,从而使传输过程停滞。为了避免出现这种情况,在自动重传的方法中,通过引入计时器(Timer)来限定接收方发回ACK帧的时间间隔,如图3.3所示。发送方发送一帧的同时,也会启动计时器,若在计时器限定的时间间隔之内未能收到接收方发回的ACK帧,即计时器超时(Timeout),则发送方将认为发送的帧已出错或者已丢失,于是将自动重新发送该帧。

图3.3 重传计时器的工作过程

(a)在重传计时器规定的时间内接收到ACK报文;(b)在重传计时器规定的时间内没有接到ACK报文

此外,基于以上重传机制,由于同一帧数据可能会被重复发送多次,这样一来,也就可能使得接收方会多次收到同一帧。若将这些重复的帧都递交给网络层,则会造成数据错误。为了防止发生这种问题,数据链路层还采用了对发送的帧进行编号的方法,即赋予每帧一个序号,从而使得接收方能够依据该序号来区分到底是新发送来的帧还是重传来的帧,并以此来确定要不要将接收到的帧递交给网络层。在有确认面向连接的服务中,数据链路层正是通过使用定时器和序号来保证每一帧最终都会且只会被正确地递交给目标网络层一次。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈