《无线网络技术》仿真实验报告实验二:隐藏节点仿真、暴露节点仿真专业班级: 6班**: ***学号: *************指导教师:评阅成绩:评阅意见:提交报告时间: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.在相应目录下输入ns Hidden_Terminal.tcl,得出结果。
4.如果想看NAM仿真动画,则先startxwin运行XWin,然后输入代码得出结果。
六、仿真现象描述与结果分析(包括实验截图)1.有RTS/CTS控制帧s 1.503128000 _0_ MAC --- 0 RTS 44 [242e 1 0 0]r 1.503480500 _1_ MAC --- 0 RTS 44 [242e 1 0 0]s 1.503490500 _1_ MAC --- 0 CTS 38 [22f4 0 0 0]r 1.503795000 _0_ MAC --- 0 CTS 38 [22f4 0 0 0]s 1.503805000 _0_ MAC --- 3 cbr 1078 [13a 1 0 800] ------- [0:0 1:0 32 1] [0] 0 0s 1.508000000 _0_ AGT --- 4 cbr 1000 [0 0 0 0] ------- [0:0 1:0 32 0] [1] 0 0r 1.512429500 _1_ MAC --- 3 cbr 1020 [13a 1 0 800] ------- [0:0 1:0 32 1] [0] 1 0s 1.512439500 _1_ MAC --- 0 ACK 38 [0 0 0 0]r 1.512454500 _1_ AGT --- 3 cbr 1020 [13a 1 0 800] ------- [0:0 1:0 32 1] [0] 1 0r 1.512744000 _0_ MAC --- 0 ACK 38 [0 0 0 0]节点0向节点1发送了一个RTS包。
节点1空闲,所以在收到节点0的RTS包后,向节点0发送了一个CTS包,告诉节点0可以开始传输数据,同时也告诉节点1范围内的其他节点不要有传输操作。
之后不断重复此过程,节点0向节点1发送数据包。
s 2.000000000 _2_ AGT --- 66 cbr 1000 [0 0 0 0] ------- [2:0 1:1 32 0] [0] 0 0s 2.004000000 _0_ AGT --- 67 cbr 1000 [0 0 0 0] ------- [0:0 1:0 32 0] [63] 0 0s 2.008000000 _2_ AGT --- 68 cbr 1000 [0 0 0 0] ------- [2:0 1:1 32 0] [1] 0 0D 2.008000000 _2_ IFQ ARP 66 cbr 1020 [0 0 2 800] ------- [2:0 1:1 32 1] [0] 0 0r 2.008609500 _1_ MAC --- 53 cbr 1020 [13a 1 0 800] ------- [0:0 1:0 32 1] [50] 1 0s 2.008619500 _1_ MAC --- 0 ACK 38 [0 0 0 0]r 2.008634500 _1_ AGT --- 53 cbr 1020 [13a 1 0 800] ------- [0:0 1:0 32 1] [50] 1 0r 2.008924000 _0_ MAC --- 0 ACK 38 [0 0 0 0]s 2.009094000 _2_ MAC --- 0 ARP 86 [0 ffffffff 2 806] ------- [REQUEST 2/2 0/1]s 2.009174000 _0_ MAC --- 0 RTS 44 [242e 1 0 0]D 2.009174500 _1_ MAC COL 0 RTS 44 [242e 1 0 0]D 2.009782500 _1_ MAC COL 0 ARP 86 [0 ffffffff 2 806] ------- [REQUEST 2/2 0/1]节点2试图与节点1进行通信,然而节点1正与节点0进行通信,无法响应节点2的通信请求,然后导致节点2不断的在丢包。
s 2.085867000 _2_ MAC --- 0 RTS 44 [242e 1 2 0]r 2.086219500 _1_ MAC --- 0 RTS 44 [242e 1 2 0]s 2.086229500 _1_ MAC --- 0 CTS 38 [22f4 2 0 0]r 2.086534000 _2_ MAC --- 0 CTS 38 [22f4 2 0 0]s 2.086544000 _2_ MAC --- 84 cbr 1078 [13a 1 2 800] ------- [2:0 1:1 32 1] [9] 0 0s 2.088000000 _2_ AGT --- 88 cbr 1000 [0 0 0 0] ------- [2:0 1:1 32 0] [11] 0 0s 2.092000000 _0_ AGT --- 89 cbr 1000 [0 0 0 0] ------- [0:0 1:0 32 0] [74] 0 0r 2.095168500 _1_ MAC --- 84 cbr 1020 [13a 1 2 800] ------- [2:0 1:1 32 1] [9] 1 0s 2.095178500 _1_ MAC --- 0 ACK 38 [0 2 0 0]r 2.095193500 _1_ AGT --- 84 cbr 1020 [13a 1 2 800] ------- [2:0 1:1 32 1] [9] 1 0之后节点2与节点1握手成功开始通信,节点2开始向节点1发送数据包,节点2丢包现象消失。
之后节点0想要和节点1通信,因为节点1正与节点2通信,所以通信失败,也开始丢包。
之后节点0与节点1通信过后,丢包现象缓解但依然存在,而节点2开始丢包。
整个网络中的丢包现象因为有RTS控制,不是特别严重。
1.没有RTS/CTS控制帧s 1.500415000 _0_ MAC --- 0 ARP 86 [0 ffffffff 0 806] ------- [REQUEST 0/0 0/1]r 1.501103500 _1_ MAC --- 0 ARP 28 [0 ffffffff 0 806] ------- [REQUEST 0/0 0/1]s 1.501318500 _1_ MAC --- 0 ARP 86 [13a 0 1 806] ------- [REPLY 1/1 0/0]r 1.502007000 _0_ MAC --- 0 ARP 28 [13a 0 1 806] ------- [REPLY 1/1 0/0]s 1.502017000 _0_ MAC --- 0 ACK 38 [0 1 0 0]r 1.502321500 _1_ MAC --- 0 ACK 38 [0 1 0 0]没有RTS/CTS控制帧时,节点0直接开始向节点1传输数据s 2.000000000 _2_ AGT --- 66 cbr 1000 [0 0 0 0] ------- [2:0 1:1 32 0] [0] 0 0s 2.000135000 _2_ MAC --- 0 ARP 86 [0 ffffffff 2 806] ------- [REQUEST 2/2 0/1]D 2.000135500 _1_ MAC COL 56 cbr 1078 [13a 1 0 800] ------- [0:0 1:0 32 1] [53] 0 0D 2.000823500 _1_ MAC COL 0 ARP 86 [0 ffffffff 2 806] ------- [REQUEST 2/2 0/1]s 2.001520000 _0_ MAC --- 56 cbr 1078 [13a 1 0 800] ------- [0:0 1:0 32 1] [53] 0 0s 2.004000000 _0_ AGT --- 67 cbr 1000 [0 0 0 0] ------- [0:0 1:0 32 0] [63] 0 0s 2.008000000 _2_ AGT --- 68 cbr 1000 [0 0 0 0] ------- [2:0 1:1 32 0] [1] 0 0D 2.008000000 _2_ IFQ ARP 66 cbr 1020 [0 0 2 800] ------- [2:0 1:1 32 1] [0] 0 0s 2.008115000 _2_ MAC --- 0 ARP 86 [0 ffffffff 2 806] ------- [REQUEST 2/2 0/1]D 2.008115500 _1_ MAC COL 0 ARP 86 [0 ffffffff 2 806] ------- [REQUEST 2/2 0/1]D 2.010144500 _1_ MAC COL 56 cbr 1078 [13a 1 0 800] ------- [0:0 1:0 32 1] [53] 0 0s 2.011252000 _0_ MAC --- 56 cbr 1078 [13a 1 0 800] ------- [0:0 1:0 32 1] [53] 0 0s 2.012000000 _0_ AGT --- 69 cbr 1000 [0 0 0 0] ------- [0:0 1:0 32 0] [64] 0 0s 2.016000000 _2_ AGT --- 70 cbr 1000 [0 0 0 0] ------- [2:0 1:1 32 0] [2] 0 0D 2.016000000 _2_ IFQ ARP 68 cbr 1020 [0 0 2 800] ------- [2:0 1:1 32 1] [1] 0 02s时节点2也开始向节点1发送数据,与此同时节点0也在发送,于是不断的发生丢包事件。