实验七 隐藏节点和暴露节点仿真实验

一.实验要求与目的

  1.1人独立完成

  2.学习无线网络中隐藏和暴露节点问题

  3.利用NS2分析隐藏和暴露节点问题

  4.了解OTcl脚本语言的基础知识

 

二.实验环境与资源

  树莓派套件、wnt-ns2仿真环境、实验代码。

三.实验步骤与演示

1 隐藏节点问题仿真实验
实验步骤
cd /home/wnt/WNTLab/experiments/exp7
# 进入实验七脚本目录
ns Hidden_Terminal.tcl
# 运行试验
ns Hidden_Terminal.tcl

在观看 NAM 动画时,运行的步长调整为 2ms 即可,不宜过大,以免无法观察到详细的仿真过程。(可根据情况适当调整)

仿真开始时(0~1s),节点间相互广播路由(DSDV)信息,建立路由表。

从 1.5s 开始,节点 0 开始向节点 1 发送数据,需要注意,此时节点 0 需要先发送 RTS 报文(实验中设置 802.11 的 RTSThreshold=0,满足数据包大于RTSThreshold,表示开启 RTS/CTS,解决隐藏终端问题;实现隐藏终端请设置TSThreshold=3000,满足数据包小于RTSThreshold,因为数据包不会大于 3000),以保证信道(0→1)的顺利占用。

在 2s 时,节点 2 也开始向节点 1 发送数据,同样,节点 2 也发送 RTS 报文,此时可得知节点 1 的信道不空闲,因此节点 2 开始退避,等待一段时间重新尝试发送。

仿真过程(2~15s)中,可看到节点 2 和节点 0 交替向节点 1 发送数据,而非同时传输。


仿真时间到达 15s 时,两条流传输同时结束,此后无数据传输,偶尔有链路保活报文。

在 17s 时,仿真实验结束。

2 暴露节点问题仿真

仿真开始时(0~1s),节点间相互广播路由(DSDV)信息,建立路由表。

 

从 1.5s 开始,节点 1 开始向节点 0 发送数据,需注意,此时节点 1 需要先发送 RTS(实验中设置 802.11 的 RTSThreshold=0,满足数据包大于 RTSThreshold,表示开启 RTS/CTS,解决暴露终端问题;实现暴露终端请设置 RTSThreshold=3000,满足数据包小于 RTSThreshold,因为数据包不会大于 3000),以保证信道(1→0)的顺利占用。

在 2s 时,节点 2 也开始向节点 3 发送数据,同样,节点 2 也发送 RTS 报文,以获得信道(2→3)的顺利占用,并正确传输数据。

仿真时间到达 15s 时,两条流传输同时结束,此后无数据传输,偶尔有链路保活报文。在 20s 时,仿真实验结束。


posted @ 2021-03-11 14:54  啦隆哆  阅读(466)  评论(0)    收藏  举报