📜  数据链路层中的错误控制

📅  最后修改于: 2021-08-24 16:48:37             🧑  作者: Mango

数据链路层使用错误控制技术只是为了确保并确认所有数据帧或数据包(即数据的比特流)已以一定的精度从发送方传输到接收方或从接收方传输到接收方。在此数据链路层使用或提供错误控制是一种优化,这从来都不是必需的。错误控制基本上是在数据链路层中检测或识别并重新传输在传输过程中可能丢失或损坏的数据帧的过程。

在这两种情况下,接收方或目标方均未接收到正确的数据帧,而发送方或源方甚至都不知道有关数据帧的任何此类损失。因此,在这种类型的情况下,发送方和接收方都提供了一些基本协议,这些协议需要检测或识别此类错误,例如数据帧丢失。

数据链路层采用了称为帧重传的技术,以检测或识别传输错误,并采取减少或消除此类错误所需的必要措施。每次在传输过程中检测到工作量时,都会重新传输特定的数据帧,此过程称为ARQ(自动重复请求)。错误控制方式:
基本上有两种错误控制方法,如下所示:

错误控制方式

  1. 错误检测:
    顾名思义,错误检测只是意味着检测或识别错误。在通信系统中,从发射机到接收机的传输过程中,这些错误可能是由于噪声或任何其他损害引起的。这是用于检测乱码(即不清楚或失真的数据或消息)的技术。
  2. 纠错 :
    顾名思义,纠错只是意味着纠正或解决或修复错误。它只是意味着无错误地重建和恢复原始数据。但是纠错方法非常昂贵并且非常困难。

各种错误控制技术:
有多种错误控制技术,如下所示:

错误控制技术

1.停止等待ARQ:
停止等待ARQ也称为交替比特协议。它是最简单的流和错误控制技术或机制之一。在电信中通常需要此机制以在两个连接的设备之间传输数据或信息。接收器只是表明它准备接收每个帧的数据。在这些中,发送方将信息或数据包发送给接收方。然后,发送方停止并等待接收方的ACK(确认)。此外,如果ACK在给定的时间段内(即超时)未到达,则发送方然后再次重新发送帧并等待ACK。但是,如果发送方收到ACK,则它将下一个数据包传输到接收方,然后再次等待接收方的ACK。停止并等待的过程将继续进行,直到发送方没有要发送的数据帧或数据包为止。 2.滑动窗口ARQ:
此技术通常用于连续传输错误控制。进一步分为两类,如下所示:

  • Go-Back-N ARQ:

    Go-Back-N ARQ是ARQ协议的一种形式,其中,即使没有从接收器接收到ACK(确认)数据包,传输过程也会继续发送或发送由窗口大小指定的帧总数。它使用滑动窗口流控制协议。如果没有错误发生,则操作与滑动窗口相同。

  • 选择性重复ARQ:

    选择性重复ARQ也是ARQ协议的一种形式,其中仅重发可疑或损坏或丢失的数据帧。该技术类似于Go-Back-N ARQ技术,但是由于其减少了重传次数,因此其效率比Go-Back-N ARQ技术高得多。在这种情况下,发送方仅重发接收到NAK的帧。但是,由于发送方和接收方的复杂性较高,因此使用的技术较少,必须单独确认每个帧。