概述
3-26
以太网上只有两个站,它们同时发送数据,产生了碰撞。于是按截断二进制指数退避算法进行重传。重传次数记为i, i= 1,2,3, …试计算第1次重传失败的概率、第2次重传失败的概率、第3次重传失败的概率,以及一个站成功发送数据之前的平均重传次数 I 。
-
在截断二进制指数退避算法中,由于基本退避时间取的是一个争用期,所以只要两个站取不同的 r 值,预定的重发时间就相隔至少2τ,先重发的站就可以赶在另一个站重发之前把数据送到,避免再次碰撞。
-
换言之,如果再次碰撞了,说明两个站取的 r 值是一样的。于是有:
-
第一次重传失败,两个站在{0,1}中都取了0或者都取了1,概率1/2.
第二次重传失败,两个站在{0,1,2,3}中选了一样的,概率为1/4.
第三次重传失败,两个站在{0,1,…,7}中选了一样的,概率为1/8.
…
第十次碰撞,两个站在{0,1,…,1023}中选了一样的,概率为1/1024.
从第十一次开始,一直到第十六次,两个站在{0,1,…,1023}中选了一样的,概率为1/1024. -
假设这个站前m次发送失败,在第m+1次发送成功。即这个站成功发送数据之前的重传m次失败的概率为:
-
平均重传次数=重传成功的1次+前面重传失败次数的平均值(这里的计算我是用matlab算的,具体的代码我放在文章最后):
matlab计算平均重传失败次数的代码
%计算失败的平均重传次数
avg=0; %初始化为0
for m=1:15 %失败的重传次数,从1到15都有可能,既然是发送成功前的重传次数,第16次总得成功吧
P_failed_m=1; %重传失败的概率,初始化为1
if (m<10)
for i=1:m %m<10,按次数来计算概率
P_failed_m=P_failed_m/2^i; %第m次失败的概率
end
P_success=1-1/(2^(m+1)); %第m+1次成功的概率
else %m>=10,概率和10是一样的
for j=1:m
if (i<10)
P_failed_m=P_failed_m/2^j;
else
P_failed_m=P_failed_m/2^10; %第10次及10次以后失败的概率
end
end
P_success=1-1/(2^10);
end
avg = avg + m*P_success*P_failed_m; %加上第i次重传失败的概率加权
end
avg
运行结果
最后
以上就是温暖泥猴桃为你收集整理的计算机网络(第7版)——谢希仁 课后习题3-26的全部内容,希望文章能够帮你解决计算机网络(第7版)——谢希仁 课后习题3-26所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复