一.相关内容介绍
“隐藏节点”(hidden terminal)和“暴露节点”(exposed terminal)是无线网络冲突避免中的经典问题。本实验用NS2网络模拟器对暴露节点问题进行测试和分析。
暴露结点问题
1.暴露结点
暴露节点因监听到发送节点的发送而延迟自己的发送操作。但它在接收节点的通信范围之外,它的发送不会造成冲突,这就引入了不必要的延迟。如图 1所示,节点B向A发送数据实际并不影响C同时向D发送数据,D可以正确接收。
图 1 暴露节点问题
2.解决方案
为了解决暴露节点问题,也采用RTS/CTS机制。当一个节点侦听到邻近节点发来的RTS,但却没有听到相应的CTS时,可判定自身是一个暴露节点,自己可以发送数据。但RTS/CTS无法保证暴露节点能接收到所发送数据的ACK分组,因为发送RTS的邻近节点的发送操作也会被暴露节点接收到!因此,使用RTS/CTS并不能完全解决暴露节点问题。
二.实验步骤
仿真所需模块的安装过程如下:
下载地址:https://pan.baidu.com/s/1c52MuXnIY7SmycgauCuFoQ
提取码:7777
解释仿真代码(Exposed_Terminal.tcl),描述仿真设置
ns Hidden_Terminal.tcl
运行后显示结果如下:
问题解决:
若运行过程中遇到问题,请参考文章:ns2无线局域网传输仿真--隐藏节点