ns无线网络仿真节点设置及说明_第1页
ns无线网络仿真节点设置及说明_第2页
ns无线网络仿真节点设置及说明_第3页
ns无线网络仿真节点设置及说明_第4页
ns无线网络仿真节点设置及说明_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ns无线网络仿真节点设置及说明要做一个4个节点的Ad hoc网络仿真,实验环境和要求是:采用的无线网拓扑结构,主机节点数共有4个;节点1到4的初始位置坐标分别为(0,1 000、(0,800、(0,600和(400,600,节点1和2在仿真中保持静止不动,节点3和4则以60m/s速度分别向坐标(0,0和 (400,0位置方向垂直移动。系统带宽为2Mbps,系统节点缺省无线传输半径约为500m。仿真使用的业务流量为FTP,每包发送512字节,发送速度10包/s。采用静态路由方式,节点1在1.5s发包给节点2,节点3在3.5s发包给节点4。仿真时间一共10s,选取节点2处的估计可用带宽进行分析。下

2、面是基本环境仿真的adhoc.tcl源码:#=# 定义模拟变量#=set val(chan Channel/WirelessChannel ;# channel typeset val(prop Propagation/TwoRayGround ;# radio-propagation modelset val(netifPhy/WirelessPhy ;# network interface typesetval(mac Mac/802_11;# MAC typeset val(ifq Queue/DropTail/PriQueue ;# interface queue typesetval

3、(ll LL;# link layer typesetval(ant Antenna/OmniAntenna ;# antenna modelsetval(x 1000;# X dimension of topologysetval(y 1000;# Y dimension of topologysetval(cp ""# node movement model filesetval(sc ""# traffic model fileset val(ifqlen50 ;# max packet in ifqsetval(nn 4;# number of

4、mobilenodesset val(seed 0.0setval(stop 10.0;# time of simulation endsetval(tr adhoc.tr;# trace file namesetval(rp DSDV;# routing protocolset AgentTrace ONset RouterTrace ONset MacTrace OFF#=# 建立相关档案#=# Initialize Global Variablesset ns_ newSimulator ;#产生ns simulator实例$ns_ color 1 Blue$ns_ color 2 Re

5、d# 设定trace file$ns_use-newtrace;#使用新的trace formatset namfd open adhoc.namw ;#产生nam trace file $ns_ namtrace-all-wireless $namfd $val(x $val(y ;#模拟时产生需要的结果文件set tracefd open $val(trw ;#产生trace file$ns_ trace-all$tracefd ;#模拟时产生需要的结果文件#建立topology对象,以记录mobilenodes在拓扑內移动的情况set topo new Topography# 拓扑的范围

6、为 1000m x 1000m$topo load_flatgrid $val(x $val(y# 建立channelset chan new $val(chan# 创建godset god_ create-god $val(nn#=# 无线节点配置#=# Create the specified number of mobile nodes $val(nn and "attach" them to# the channel. Four nodes are created : node(0, node(1, node(2 and node(3# 设定Mobile Node的

7、参数$ns_ node-config -adhocRouting $val(rp -llType $val(ll -macType $val(mac -ifqType $val(ifq -ifqLen $val(ifqlen -antType $val(ant -propType $val(prop -phyType $val(netif -channel $chan -topoInstance $topo -agentTrace ON -routerTrace OFF -macTrace OFF -movementTrace OFF#=# 新建Node#=for set i 0 $i <

8、; $val(nn incr i set node_($i $ns_ node$node_($i random-motion 0 ;# 使各节点非随机移动# Provide initial (X,Y, for now Z=0 co-ordinates for mobilenodes # 建立第0个Node,开始时,位置在(0.0, 1000.0$node_(0 set X_ 0.0$node_(0 set Y_ 1000.0$node_(0 set Z_ 0.0# 建立第1个Node,开始时,位置在(0.0, 800.0$node_(1 set X_ 0.0$node_(1 set Y_ 80

9、0.0$node_(1 set Z_ 0.0# 建立第2个Node,开始时,位置在(0.0, 600.0$node_(2 set X_ 0.0$node_(2 set Y_ 600.0$node_(2 set Z_ 0.0# 建立第3个Node,开始时,位置在(400.0, 600.0$node_(3 set X_ 400.0$node_(3 set Y_ 600.0$node_(3 set Z_ 0.0# Load the god object with shortest hop information# 在节点0和节点1之间最短的hop数为1$god_ set-dist 0 1 1# 在节

10、点1和节点2之间最短的hop数为1$god_ set-dist 1 2 1# 在节点0和节点2之间最短的hop数为2$god_ set-dist 0 2 2# 在节点2和节点3之间最短的hop数为1$god_ set-dist 2 3 1# 在节点0和节点3之间最短的hop数为1$god_ set-dist 0 3 1# 在节点1和节点3之间最短的hop数为1$god_ set-dist 1 3 1#=# 产生Movement#=# Now produce some simple node movements# Node_(2 and Node_(3 starts to move downwa

11、rdset god_ God instance#node移动不能到边界,否则会报错# 从0秒开始,节点2开始从位置(0,600移動到(0,0,速度為60.0 m/s $ns_ at 0.0 "$node_(2 setdest 0.1 0.1 60.0"# 从0秒开始,节点3开始从位置(400,600移動到(400,0,速度為60.0 m/s $ns_ at 0.0 "$node_(3 setdest 400.0 0.1 60.0"#=# 建立FTP业务,基于TCP来承载#=# 在节点0和节点1间设定第0个连线(FTP-TCP,且在时间为1.5秒开始发送s

12、et tcp0 new Agent/TCP/Newreno$tcp0 set fid_ 1set sink0 new Agent/TCPSink$ns_ attach-agent $node_(0 $tcp0$ns_ attach-agent $node_(1 $sink0$ns_ connect $tcp0 $sink0set ftp0 new Application/FTP$ftp0 attach-agent $tcp0$ns_ at 1.5 "$ftp0 start"$ns_ at 10.0 "$ftp0 stop"# 在节点2和节点3间设定第1个

13、连线(FTP-TCP,且在时间为3.5秒开始发送set tcp1 new Agent/TCP/Newreno$tcp1 set fid_ 2set sink1 new Agent/TCPSink$ns_ attach-agent $node_(2 $tcp1$ns_ attach-agent $node_(3 $sink1$ns_ connect $tcp1 $sink1set ftp1 new Application/FTP$ftp1 attach-agent $tcp1$ns_ at 3.5 "$ftp1 start"$ns_ at 10.0 "$ftp1 s

14、top"# 在nam中定义节点初始所在位置for set i 0 $i < $val(nn incr i # The function must be called after mobility model is defined.$ns_ initial_node_pos $node_($i 60# 告诉 MobileNode 模拟已结束 for set i 0 $i < $val(nn incr i $ns_ at $val(stop "$node_($i reset" #= # 结束模拟 #= # 结束 nam 与模拟器 $ns_ at $val(

15、stop "$ns_ nam-end-wireless $val(stop" $ns_ at $val(stop "stop" $ns_ at $val(stop "puts "NS EXITING." ; $ns_ halt" # 设定模拟器用的 stop function proc stop global ns_ tracefd namfd $ns_ flush-trace close $tracefd close $namfd exec nam adhoc.nam & exit 0 puts puts p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论