什么是无噪声信道和有噪声信道?


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

数据链路层协议的示意图如下所示:

无噪声信道

有两种无噪声信道,如下所示:

  • 单工信道
  • 停等信道

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

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

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

最简单的协议

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

步骤 2 - 这是一种单向协议,数据帧在一个方向上传输,即从发送方到接收方。

步骤 3 - 让我们假设接收方可以处理它接收的任何帧,其处理时间足够小以至于可以忽略不计,接收方的数据链路层会立即从帧中删除报头并将数据包传递给其网络层,网络层也可以立即接受该数据包。

停等协议

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

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

步骤 3 - 为防止接收方被帧淹没,发送方必须减慢速度。接收方必须向发送方发送ACK。

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

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

有噪声信道

有噪声信道有三种类型的请求,如下所示:

  • 停等自动重传请求。
  • 回退N自动重传请求。
  • 选择重传自动重传请求。

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

停等自动重传请求

步骤 1 - 在有噪声信道中,如果帧在传输过程中损坏,接收方将在校验和的帮助下检测到。

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

步骤 3 - 如果确认帧丢失并且“A”上的数据链路层最终超时。由于没有收到 ACK,它假设其数据帧丢失或损坏,并再次发送包含数据包 1 的帧。此重复帧也到达“B”上的数据链路层,因此部分文件将被复制,并且协议被认为是失败的。

步骤 4 - 要解决此问题,请在消息的报头中分配序列号。

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

步骤 6 - 发送和接收站只需要 1 位交替的“0”或“1”序列来维护传输消息及其 ACK/NAK 的关系。

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

停等 ARQ 的正常操作如下所示:

带有丢失帧的停等 ARQ 如下所示:

回退N ARQ

为了提高传输效率,我们需要多个帧处于未完成状态以保持信道繁忙,同时发送方等待确认。

为了实现此目标,开发了两种协议,它们如下所示:

  • 回退N自动重传请求
  • 滑动窗口协议

回退N ARQ

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

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

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

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

示例

对于 m = 2,序列号范围为:0 到 3,即

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

回退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

更新于: 2023-10-21

30K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告