📜  数据链路层的差错控制

📅  最后修改于: 2021-09-28 11:09:25             🧑  作者: Mango

数据链路层只是利用差错控制技术来保证和确认所有的数据帧或数据包,即数据的比特流,从发送者到接收者的传输或传输具有一定的准确性。在这个数据链路层使用或提供错误控制是一种优化,它从来不是必需的。差错控制基本上是在数据链路层检测或识别并重新传输在传输过程中可能丢失或损坏的数据帧的过程。

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

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

错误控制方式

  1. 错误检测:
    错误检测,顾名思义,就是检测或识别错误。在通信系统中,在从发射机到接收机的传输过程中,这些错误可能是由于噪声或任何其他损害而引起的。它是一种用于检测乱码(即不清晰和失真的数据或消息)的技术。

  2. 错误修正 :
    顾名思义,纠错只是指纠正或解决或修复错误。它只是意味着无错误的原始数据的重建和恢复。但纠错方法成本很高,难度很大。

各种错误控制技术:
下面给出了各种错误控制技术:

误差控制技术

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

  • 返回 N ARQ :

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

  • 选择性重复 ARQ :

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