无线 络技术教程第四版实验七
隐藏节点和暴露节点仿真实验
目录
- 无线 络技术教程第四版实验七
- 隐藏节点和暴露节点仿真实验
-
- 1 实验目的和要求
- 2 实验原理和背景
-
- 2.1 隐藏节点问题
- 2.2 暴露节点问题
- 3 实验环境和软件
- 4 实验过程和记录
-
-
- 4.1 隐藏节点问题仿真
- 4.2 暴露节点问题仿真
- 5 结果分析与讨论
-
1 实验目的和要求
掌握无线 络中隐藏和暴露节点问题
利用NS2分析隐藏和暴露节点问题
2 实验原理和背景
2.1 隐藏节点问题
隐藏节点处指处于接收节点的覆盖范围内而在发送节点的覆盖范围外的节点。由于监听不到发送节点的数据传输,隐藏节点不受限制的发送分组到相同的的接收节点,导致分组在接收节点处冲突。隐藏节点可以分为隐发送节点和隐接收节点。
节点A和C同时想发送数据给中间节点B,但A和C都不在彼此传输范围内。所以当A发送数据给B时,C并未检测到A正在传输,会认为目前 络中无数据传输,会将数据传输给B。即A和C同时将数据传输给B,使得数据在B处产生冲突,导致数据不可用。这种因传送距离而发生误判的问题称为隐藏节点问题。
为解决隐藏节点问题,可使用RTS/CTS控制信息来避免冲突。发送方发出数据前,先送出一个RTS包,告知在传输范围内的所有节点不要有任何发送操作。如果接收目前空闲,则相应一个CTS包,告诉发送方可开始发送数据,此CTS包也会告知所有在接收方信 传输范围内的其他节点不要进行任何传输操作。
2.2 暴露节点问题
暴露节点是指在发送节点覆盖范围内而在接收节点覆盖范围外的结点,暴露节点因监听到发送节点的发送而可能延迟发送。但它其实是在接收节点的通信范围之外,它的发送不会造成冲突,这种延迟发送并不必要。
暴露节点问题和隐藏节点问题不同,当一个节点要发送数据给另一节点时,因邻居节点也正在发送数据,影响了原来节点的数据传送。4个节点S1、S2、R1、R2,其中R1、R2均不在对方传输范围内,而S1、S2均在彼此传送范围内。因此,当S1正发送数据给R1时,S2却不能将数据发送给R2,因为S2会检测到S1正发送数据,如果其也发送数据的话,就会影响S1的数据发送。事实上,S2可以将数据发给R2的,因为R2并不在S1的传送距离内。
为缓解暴露节点问题,同样可采用RTS/CTS机制。当某个节点侦听到邻节点发送的RTS,但未监听到对应CTS时,S2可推测自己是暴露节点,则可同时发送数据。
3 实验环境和软件
搭建的实验平台,NS2.35。如果是官方的NS2版本,则还需要mUDP、mUdpSink模块,需要自己扩展安装。
4 实验过程和记录
第一次我是用自己的下载的NS2.35然后安装扩展模块做的,可能是因为虚拟机上也有NS3吧,版本的问题,导致没有成功,出现了以下的问题,有大佬懂的话可以解释下。
4.2 暴露节点问题仿真
第一步就跳过了,还是在那个文件夹里面
第二步输入“ns Exposed_Terminal.tcl”命令,运行本实验。这个截图也是运行到一半时间的,步长依旧是2ms
5 结果分析与讨论
隐藏节点和暴露节点问题对无线 络传输影响较大,极大降低了 络吞吐量,增加了传输时延,而CTS/RTS机制可较好的解决隐藏和暴露节点问题。
仿真结果可从两方面来分析,即仿真动画和仿真数据。在NS2中演示仿真动画采用NAM,将拓扑结构、数据包传输情况及队列丢包等以动画形式展现,仿真结束后,可通过分析产生的trace数据对仿真过程中的延迟、丢包、吞吐量等进行定量分析。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!