什么是无噪音和有噪音的频道?

数据链路层协议根据传输通道是无噪声还是有噪声分为两类。

数据链路层协议如下图所示 -

无噪音通道

有两个无噪声通道如下 -

  • 单工通道

  • 停止等待频道

让我们考虑一个理想的通道,其中没有帧丢失、重复或损坏。我们为这种类型的通道引入了两种协议。这两个协议如下 -

  • 不使用流量控制的协议。

  • 使用流量控制的协议。

现在让我们考虑不使用流量控制的协议 -

最简单的协议

第 1 步- 没有流量或错误控制的最简单协议。

第 2 步- 这是一种单向协议,其中数据帧沿从发送方到接收方的一个方向传输。

第 3 步- 让我们假设接收器可以处理它接收到的任何帧,处理时间小到可以忽略不计,接收器的数据链路层立即从帧中删除标头并将数据包交给其网络层,它也可以立即接受数据包。

停止等待协议

第 1 步- 如果到达接收方的数据帧比它们可以处理的速度快,则必须存储这些帧直到它们使用。

第 2 步- 通常,接收器没有足够的存储空间,尤其是在接收来自多个来源的数据时。这可能导致丢弃帧或拒绝服务。

Step 3 - 为了防止接收方被帧淹没,发送方必须放慢速度。从接收方到发送方必须有 ACK。

第 4 步- 在此协议中,发送方发送一帧,停止直到收到接收方的确认,然后发送下一帧。

第 5 步- 我们仍然对数据帧进行单向通信,但辅助 ACK 帧从另一个方向传播。我们在之前的协议中添加了流量控制。

嘈杂的频道

嘈杂的通道有三种类型的请求,如下所示 -

  • 停止并等待自动重复请求。

  • Go-Back-N 自动重复请求。

  • 选择性重复自动重复请求。

无噪声通道通常是不存在的通道。我们可以忽略错误,或者我们需要在我们的协议中添加错误控制。

停止并等待自动重复请求

第 1 步- 在噪声信道中,如果帧在传输过程中损坏,接收器将借助校验和进行检测。

Step 2 - 如果接收到损坏的帧,它将被丢弃,并且发送器将在收到正确的确认后重新发送相同的帧。

Step 3 - 如果确认帧丢失并且“A”上的数据链路层最终超时。在没有收到 ACK 的情况下,它假定其数据帧丢失或损坏,并再次发送包含数据包 1 的帧。这个重复的帧也到达'B'上的数据链路层,因此部分文件将被复制并且协议被称为失败。

Step 4 - 要解决此问题,请在消息的标题中分配一个序列号。

第 5 步- 接收方检查序列号以确定消息是否重复,因为在任何时候都只传输消息。

第 6 步- 发送站和接收站只需要一个 1 位的“0”或“1”交替序列来维持发送的消息与其 ACK/NAK 的关系。

步骤 7 - 使用模 2 编号方案,其中帧交替标记为“0”或“1”,并且肯定确认的形式为 ACK 0 和 ACK 1。

停止和等待 ARQ 的正常操作如下 -

停止并等待丢失帧的 ARQ 如下 -

返回-N ARQ

为了提高传输效率,在发送方等待确认时,我们需要多于一帧来保持通道繁忙。

为实现这一目标开发了两种协议,它们如下 -

  • Go – Back – N – Automatic – 重复请求

  • 滑动窗口协议

返回-N ARQ

第 1 步- 在此协议中,我们可以在接收确认之前发送多个帧。

第 2 步- 我们保留这些帧的副本,直到确认到达。

步骤 3 - 来自发送站的帧按顺序编号。但是,我们需要在标头中包含每个帧的序列号;我们需要设定一个限制。

第 4 步- 如果帧的标头允许序列号为 m 位,则序列号的范围为 0 到 2 m -1。我们也可以重复序列号。

例子

对于m = 2,序号的范围是:0到3,即

0,1,2,3, 0,1,2,3,…

Go-Back-N ARQ 以图表格式显示如下 -

例子

下面给出了一个关于无噪声和有噪声通道的示例问题

问题- 考虑通过 4 KHZ 宽通道发送的二进制信号,找出信噪比为 20dB 的无噪声和有噪声通道的最大数据速率。

解决方案

Maximum Data Rate for noiseless = 2 * Bandwidth * log2(2)
=> 2 * 4khz * log2(2)
= 2*4000
= 8000 bps
Maximum Data Rate for noisy = Channel Capacity * log2(1 + SNR)
= 4000 * log2(1 + 20)
= 4000 * 4.39 = 17569.269 bps