计算机学院网络工程实习报告
图4.2 无RTS/CTS丢包率
从图上可以看出,1.5s-11.5s之间,节点0_1的丢包率维持在45%左右,11.5s-21.5s之间,进入了冲突段,两个节点的丢包率都很大,居高不下,在90%左右,此消彼长。在21.5s-31.5s之间,由于节点0不发送数据,2_1丢包率下降很大,与初始段节点0_1大致相同。
图4.3 有RTS/CTS丢包率
从图上可以看出,红线表示节点0_1的丢包率,绿线表示节点2_1的丢包率。在1.5s开始一直到11.5s之前,这一段0_1的丢包率保持在55%左右,到了节点2开始发送数据时,即11.5s开始后,明显节点0_1的丢包率骤升到90%以上,而节点2_1的也维持高的丢包率,在11.5s到21.5之间,0_1,2_1的丢包率由于RTS/CTS的影响,在某一时间段内,某一节点不能发数据,另一个节点就可以发送数据,冲突减少。相比于图4.2,中间丢包率浮动较大。但彼此刚好相反,即一个丢包率大的时候,另一个丢包率刚好小。一直到节点0发送数据停止,节点2_1的丢包率才下降和节点0_1的初始丢包率大致相同。
综合上述两种情况如图4.4所示:其中图中的左上角清楚地标明线条的所指代的情况。由图可以清晰的看出来整个模拟仿真过程中丢包率的变化情况,有无
34
计算机学院网络工程实习报告
RTS/CTS两种情况的曲线走势在1.5s-11.5s和21.5s-31.5s相同,区别在于当处在数据冲突的11.5s-21.5s之间的10s的时间段内,有RTS/CTS的变化波动大,相应的没有的话,变化波动小。且对应的两条曲线是相对的,即此消彼长,一条曲线高,而一条曲线低。符合常理。
图4.4 有无RTS/CTS情况下丢包率的影响曲线
4.4.3 暴露节点
暴露节点丢包率的计算思想和隐藏节点一样,只是核心代码中修改一下节点的发送,接收即可。
利用Gnuplot画出的走势图如图4.4,4.5,4.6所示:
35
计算机学院网络工程实习报告
图4.4 无RTS/CTS丢包率
从图中可以看出,1.5s-11.5s之间,节点0_1的丢包率保持在45%左右小范围波动,但是在11.5s开始,即节点2开始给节点3发数据,这是由于1节点处于节点0和节点2的范围内,产生数据冲突,节点0_1的丢包率骤升至100%,即由于冲突,节点1根本收不到节点0发送的数据包,但节点3没有受到影响,丢包率保持在45%左右,当到了21.5s时,节点0发送数据结束,此时2_3的丢包率依然不变。
图4.5 有RTS/CTS丢包率
从图中可以看出,1.5s到11.5s之间,0_1的丢包率保持在55%左右,相比于图4.4,这一时间丢包率较高,到了11.5s后,0_1的丢包率由于冲突急速上升至98%左右,
36
计算机学院网络工程实习报告
小范围波动,而不是100%,即虽然有冲突,但是由于存在握手机制,还是存在节点1能成功接收到0的数据包的情况。此时节点3不受任何影响,丢包率维持在57%左右小范围波动。到了21.5s之后,节点0不发数据,2_3的丢包率不发生变化。
图4.6 两种情况下丢包率的对比
为了便于直观的看出有RTS/CTS的优势,我们将两张图合成如图4.6,便于观察分析,上述分析的过程已经在图4.4,4.5中进行解释。
4.5 吞吐率计算
4.5.1 隐藏节点
隐藏节点的吞吐量分为0_1,2_1的吞吐量,核心代码如图4.7所示:
37