等停式ARQ、返回nAQR、选择重发式ARQ、并行等待式ARQ四种方法的链路利用率比较
时间: 2023-07-10 16:33:51 浏览: 307
等停式ARQ、返回nAQR、选择重发式ARQ、并行等待式ARQ是四种ARQ协议中比较常见的协议。
等停式ARQ是指发送方在发送完一个数据包后,等待接收方对该数据包进行确认,如果接收方未收到该数据包,则发送方会等待一段时间后进行重传。等停式ARQ的链路利用率较低,因为发送方需要等待接收方的确认,而在等待的过程中,信道资源被浪费了。
返回nAQR是指接收方在接收到一个错误的数据包后,发送一个nACK请求发送方进行重传,发送方根据nACK请求进行重传。返回nAQR的链路利用率较低,因为发送方需要等待接收方的nACK请求。
选择重发式ARQ是指接收方在接收到一个错误的数据包后,发送一个请求,请求发送方重传该数据包以及之后的数据包,发送方根据请求进行重传。选择重发式ARQ的链路利用率比等停式ARQ和返回nAQR要高一些,因为发送方可以一次性重传多个数据包。
并行等待式ARQ是指在发送方发送多个数据包时,接收方可以同时接收多个数据包,并在接收到一个错误的数据包时,只请求重传该数据包。并行等待式ARQ的链路利用率最高,因为可以同时发送多个数据包,而且只有错误的数据包需要重传。
综上所述,四种ARQ协议的链路利用率从低到高的顺序为:等停式ARQ、返回nAQR、选择重发式ARQ、并行等待式ARQ。
相关问题
返回式n-arq和停等式ARQ的原理
返回式n-arq和停等式ARQ都是数据传输时用于错误检测和纠错的方法,其原理如下:
返回式n-arq:在数据传输中,接收方会对收到的数据进行校验,如果有错误则会向发送方发送一个请求,要求发送方重新发送该数据包。发送方收到请求后会重传该包,直到接收方收到正确的数据包为止。 n表示接收方可以存储多个数据包的状态,以便在收到请求后做出响应。
停等式ARQ:发送方每次发送一个数据包,接收方会对数据包进行校验,如果没有错误则回复一个确认信号,表示已成功接收。如果有错误,则会要求发送方重新发送该数据包。发送方会等待接收到确认信号后再发送下一个数据包,以避免数据包重叠导致混乱。
需要注意的是,这两种方法虽然都能对数据进行校验和纠错,但是都存在一定的开销和延迟。因此在实际应用中,需要根据具体情况选择合适的方法。
链路传输速率为64kbps,单向传播时延为15ms。设数据 帧长为3200bit,确认人帧长度为 128bit, 在误帧率p=0.01情 况下,MATLAB编程画出返回n-ARQ和选择重发ARQ的链 路利用率与n的关系并附明及程序源代码
以下是一个简单的MATLAB编程程序,用于绘制返回n-ARQ和选择重发ARQ的链路利用率与n的关系:
```
% 设置参数
link_rate = 64000; % 链路传输速率为64kbps
prop_delay = 0.015; % 单向传播时延为15ms
frame_length = 3200; % 数据帧长为3200bit
ack_length = 128; % 确认人帧长度为128bit
error_rate = 0.01; % 误帧率p=0.01
% 计算传输时间和吞吐量
trans_time = (frame_length + ack_length) / link_rate + 2 * prop_delay; % 传输时间
error_prob = 1 - (1 - error_rate)^(frame_length / 8); % 误码率
% 返回n-ARQ
n = 1:10;
for i = 1:length(n)
p = (1 - (1 - error_prob)^n(i)) * (1 - error_prob)^(n(i) - 1); % 丢包率
eff_rate(i) = (1 - p) * frame_length / trans_time; % 有效传输速率
end
% 选择重发ARQ
for i = 1:length(n)
p = n(i) * error_prob * (1 - error_prob)^(n(i) - 1); % 丢包率
eff_rate2(i) = (1 - p) * frame_length / trans_time; % 有效传输速率
end
% 绘制图形
plot(n, eff_rate, 'b', n, eff_rate2, 'r');
xlabel('n');
ylabel('链路利用率');
legend('返回n-ARQ', '选择重发ARQ');
```
这个程序首先设置了链路的传输速率、单向传播时延、数据帧长、确认人帧长度和误帧率等参数。然后,它计算了数据帧和确认人帧的传输时间,并根据误帧率计算了丢包率和有效传输速率。接着,它使用循环计算了返回n-ARQ和选择重发ARQ的有效传输速率,并将结果分别存储在eff_rate和eff_rate2数组中。最后,它使用plot函数绘制了返回n-ARQ和选择重发ARQ的链路利用率与n的关系图形,并添加了图例。
注意:这个程序只是一个简单的示例,实际场景中可能需要更复杂的算法和模型来计算链路利用率和吞吐量。
阅读全文