《无线网络技术》仿真实验报告实验二:隐藏节点仿真、暴露节点仿真专业班级:6班姓名:张柯岩学号:2012141463115指导教师:评阅成绩:评阅意见:提交报告时间:2015年5月25日目录1、实验目的……………………………………………………………………2、实验内容………………………………………….………………………3、实验环境………………………………………………………………….4、实验步骤……….…………………………………………………………5、仿真现象描述与结果分析……………………………………………6、实验遇到的问题……………………………………………………………7、实验总结……………………………………………………………….………实验1隐藏节点仿真一、实验目的1.掌握无线网络中隐藏节点问题的本质2.利用NS2仿真隐藏节点问题二、实验内容利用NS2仿真隐藏节点问题,分析比较在有RTS/CTS控制帧和无RTS/CTS控制帧的情况下的仿真结果,并分析隐藏终端问题如何得到解决。四、实验环境Cygwin+ns-allinone-2.35,且已安装相应的模块;XWin五、实验步骤1.在ns-allinone-2.35中安装mUDP模块2.将Hidden_Terminal.tcl复制到脚本目录WNT/3.5.1下3.在相应目录下输入nsHidden_Terminal.tcl,得出结果。4.如果想看NAM仿真动画,则先startxwin运行XWin,然后输入代码得出结果。六、仿真现象描述与结果分析(包括实验截图)1.有RTS/CTS控制帧s1.503128000_0_MAC---0RTS44[242e100]r1.503480500_1_MAC---0RTS44[242e100]s1.503490500_1_MAC---0CTS38[22f4000]r1.503795000_0_MAC---0CTS38[22f4000]s1.503805000_0_MAC---3cbr1078[13a10800]-------[0:01:0321][0]00s1.508000000_0_AGT---4cbr1000[0000]-------[0:01:0320][1]00r1.512429500_1_MAC---3cbr1020[13a10800]-------[0:01:0321][0]10s1.512439500_1_MAC---0ACK38[0000]r1.512454500_1_AGT---3cbr1020[13a10800]-------[0:01:0321][0]10r1.512744000_0_MAC---0ACK38[0000]节点0向节点1发送了一个RTS包。节点1空闲,所以在收到节点0的RTS包后,向节点0发送了一个CTS包,告诉节点0可以开始传输数据,同时也告诉节点1范围内的其他节点不要有传输操作。之后不断重复此过程,节点0向节点1发送数据包。s2.000000000_2_AGT---66cbr1000[0000]-------[2:01:1320][0]00s2.004000000_0_AGT---67cbr1000[0000]-------[0:01:0320][63]00s2.008000000_2_AGT---68cbr1000[0000]-------[2:01:1320][1]00D2.008000000_2_IFQARP66cbr1020[002800]-------[2:01:1321][0]00r2.008609500_1_MAC---53cbr1020[13a10800]-------[0:01:0321][50]10s2.008619500_1_MAC---0ACK38[0000]r2.008634500_1_AGT---53cbr1020[13a10800]-------[0:01:0321][50]10r2.008924000_0_MAC---0ACK38[0000]s2.009094000_2_MAC---0ARP86[0ffffffff2806]-------[REQUEST2/20/1]s2.009174000_0_MAC---0RTS44[242e100]D2.009174500_1_MACCOL0RTS44[242e100]D2.009782500_1_MACCOL0ARP86[0ffffffff2806]-------[REQUEST2/20/1]节点2试图与节点1进行通信,然而节点1正与节点0进行通信,无法响应节点2的通信请求,然后导致节点2不断的在丢包。s2.085867000_2_MAC---0RTS44[242e120]r2.086219500_1_MAC---0RTS44[242e120]s2.086229500_1_MAC---0CTS38[22f4200]r2.086534000_2_MAC---0CTS38[22f4200]s2.086544000_2_MAC---84cbr1078[13a12800]-------[2:01:1321][9]00s2.088000000_2_AGT---88cbr1000[0000]-------[2:01:1320][11]00s2.092000000_0_AGT---89cbr1000[0000]-------[0:01:0320][74]00r2.095168500_1_MAC---84cbr1020[13a12800]-------[2:01:1321][9]10s2.095178500_1_MAC---0ACK38[0200]r2.095193500_1_AGT---84cbr1020[13a12800]-------[2:01:1321][9]10之后节点2与节点1握手成功开始通信,节点2开始向节点1发送数据包,节点2丢包现象消失。之后节点0想要和节点1通信,因为节点1正与节点2通信,所以通信失败,也开始丢包。之后节点0与节点1通信过后,丢包现象缓解但依然存在,而节点2开始丢包。整个网络中的丢包现象因为有RTS控制,不是特别严重。1.没有RTS/CTS控制帧s1.500415000_0_MAC---0ARP86[0ffffffff0806]-------[REQUEST0/00/1]r1.501103500_1_MAC---0ARP28[0ffffffff0806]-------[REQUEST0/00/1]s1.501318500_1_MAC---0ARP86[13a01806]-------[REPLY1/10/0]r1.502007000_0_MAC---0ARP28[13a01806]-------[REPLY1/10/0]s1.502017000_0_MAC---0ACK38[0100]r1.502321500_1_MAC---0ACK38[0100]没有RTS/CTS控制帧时,节点0直接开始向节点1传输数据s2.000000000_2_AGT---66cbr1000[0000]-------[2:01:1320][0]00s2.000135000_2_MAC---0ARP86[0ffffffff2806]-------[REQUEST2/20/1]D2.000135500_1_MACCOL56cbr1078[13a10800]-------[0:01:0321][53]00D2.000823500_1_MACCOL0ARP86[0ffffffff2806]-------[REQUEST2/20/1]s2.001520000_0_MAC---56cbr1078[13a10800]-------[0:01:0321][53]00s2.004000000_0_AGT---67cbr1000[0000]-------[0:01:0320][63]00s2.008000000_2_AGT---68cbr1000[0000]-------[2:01:1320][1]00D2.008000000_2_IFQARP66cbr1020[002800]-------[2:01:1321][0]00s2.008115000_2_MAC---0ARP86[0ffffffff2806]-------[REQUEST2/20/1]D2.008115500_1_MACCOL0ARP86[0ffffffff2806]-------[REQUEST2/20/1]D2.010144500_1_MACCOL56cbr1078[13a10800]-------[0:01:0321][53]00s2.011252000_0_MAC---56cbr1078[13a10800]-------[0:01:0321][53]00s2.012000000_0_AGT---69cbr1000[0000]-------[0:01:0320][64]00s2.016000000_2_AGT---70cbr1000[0000]-------[2:01:1320][2]00D2.016000000_2_IFQARP68cbr1020[002800]-------[2:01:1321][1]002s时节点2也开始向节点1发送数据,与此同时节点0也在发送,于是不断的发生丢包事件。最后随着网络负担变重,两个节点都开始疯狂丢包,网络环境变得极差。七、实验遇到的问题开始观察Trace代码时无法很好的理解RTS/CTS的代码意义和作用,以及它们的实现方式。在观察完NAM动画仿真后,结合Trace代码,理解了RTS/CTS的意义,并明白了隐藏节点的解决办法。八、实验总结有无RTS/CTS控制帧的具体分析见上。可以清晰的通过过程的比较得到,在有RTS/CTS控制帧的网络环境中,如果存在隐藏节点问题,可以较好的进行解决和优化,减轻网络负担和压力,优化网络环境。而没有使用RTS/CTS控制帧的网络环境中,因为隐藏节点的存在,不断的产生数据冲突,不仅加重了网络的负担,还使得很多冲突数据不可用,是一个很严重的问题。隐藏终端的问题,通过RTS/CTS控制帧解决,通过通知传送范围内的其他节点不要有动作,来避免发送冲突。实验2暴露节点仿真一、实验目的1.掌握暴露节点问题的本质2.利用NS2仿真实现暴露节点问题二、实验内容利用NS2仿真暴露节点问题,分析比较在有RTS/CTS控制帧和无RTS/CTS控制帧的情况下的仿真结果。四、实验环境Cygwin+ns-allinone-2.35,且已安装相应的模块;XWin五、实验步骤1.在ns-allinone-2.35中安装mUDP模块2.将Exposed_Terminal.tcl复制到脚本目录WNT/3.5.2下3.在相应目录下输入nsExposed_Terminal.tcl,得出结果。4.如果想看NAM仿真动画,则先startxwin运行XWin,然后输入代码得出结果。六、仿真现象描述与结果分析(包括实验截图)1.有RTS/CTS控制帧s1.503087333_1_MAC---0RTS44[242e010]r1.503439667_0_MAC---0RTS44[242e010]s1.503449667_0_MAC---0CTS38[22f4100]r1.503754000_1_MAC---0CTS38[22f4100]s1.503764000_1_MAC---4cbr1078[13a01800]-------[1:00:0320][0]00s1.508000000_1_AGT---5cbr1000[0000]-------[1:00:0320][1]00r1.512388333_0_MAC---4cbr1020[13a01800]-------[1:00:0320][0]10s1.512398333_0_MAC---0ACK38[0100]r1.512413333_0_AGT---4cbr1020[13a01800]-------[1:00:0320][0