ns无线网络仿真节点设置及说明.docx

上传人:b****7 文档编号:9214934 上传时间:2023-02-03 格式:DOCX 页数:8 大小:16.69KB
下载 相关 举报
ns无线网络仿真节点设置及说明.docx_第1页
第1页 / 共8页
ns无线网络仿真节点设置及说明.docx_第2页
第2页 / 共8页
ns无线网络仿真节点设置及说明.docx_第3页
第3页 / 共8页
ns无线网络仿真节点设置及说明.docx_第4页
第4页 / 共8页
ns无线网络仿真节点设置及说明.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

ns无线网络仿真节点设置及说明.docx

《ns无线网络仿真节点设置及说明.docx》由会员分享,可在线阅读,更多相关《ns无线网络仿真节点设置及说明.docx(8页珍藏版)》请在冰豆网上搜索。

ns无线网络仿真节点设置及说明.docx

ns无线网络仿真节点设置及说明

ns无线网络仿真节点设置及说明

要做一个4个节点的Adhoc网络仿真,实验环境和要求是:

采用的无线网拓扑结构,主机节点数共有4个;节点1到4的初始位置坐标分别为(0,1000、(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处的估计可用带宽进行分析。

下面是基本环境仿真的adhoc.tcl源码:

#Thisscriptiscreatedbyemile.Y.SXiang

#===================================

#定义模拟变量

#===================================

setval(chanChannel/WirelessChannel;#channeltype

setval(propPropagation/TwoRayGround;#radio-propagationmodel

setval(netif

Phy/WirelessPhy;#networkinterfacetype

set

val(macMac/802_11

;#MACtype

setval(ifqQueue/DropTail/PriQueue;#interfacequeuetype

set

val(llLL

;#linklayertype

set

val(antAntenna/OmniAntenna;#antennamodel

set

val(x1000

;#Xdimensionoftopology

set

val(y1000

;#Ydimensionoftopology

set

val(cp""

;#nodemovementmodelfile

set

val(sc""

;#trafficmodelfile

setval(ifqlen

50;#maxpacketinifq

set

val(nn4

;#numberofmobilenodes

setval(seed0.0

set

val(stop10.0

;#timeofsimulationend

set

val(tradhoc.tr

;#tracefilename

set

val(rpDSDV

;#routingprotocol

setAgentTraceON

setRouterTraceON

setMacTraceOFF

#===================================

#建立相关档案

#===================================

#InitializeGlobalVariables

setns_[new

Simulator];#产生

nssimulator实例

$ns_color1Blue

$ns_color2Red

#设定tracefile

$ns_

use-newtrace

;#使用新的traceformat

setnamfd[openadhoc.nam

w];#产生namtracefile$ns_namtrace-all-wireless$namfd$val(x$val(y;#模拟时产生需要的结果文件

settracefd[open$val(tr

w];#产生tracefile

$ns_trace-all

$tracefd;#模拟时产生需要的结果文件

#建立topology对象,以记录mobilenodes在拓扑內移动的情况

settopo[newTopography]

#拓扑的范围为1000mx1000m

$topoload_flatgrid$val(x$val(y

#建立channel

setchan[new$val(chan]

#创建god

setgod_[create-god$val(nn]

#===================================

#无线节点配置

#===================================

#Createthespecifiednumberofmobilenodes[$val(nn]and"attach"themto

#thechannel.Fournodesarecreated:

node(0,node(1,node(2andnode(3

#设定MobileNode的参数

$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\

-agentTraceON\

-routerTraceOFF\

-macTraceOFF\

-movementTraceOFF

#===================================

#新建Node

#===================================

for{seti0}{$i<$val(nn}{incri}{

setnode_($i[$ns_node]

$node_($irandom-motion0;#使各节点非随机移动

}

#Provideinitial(X,Y,fornowZ=0co-ordinatesformobilenodes#建立第0个Node,开始时,位置在(0.0,1000.0

$node_(0setX_0.0

$node_(0setY_1000.0

$node_(0setZ_0.0

#建立第1个Node,开始时,位置在(0.0,800.0

$node_(1setX_0.0

$node_(1setY_800.0

$node_(1setZ_0.0

#建立第2个Node,开始时,位置在(0.0,600.0

$node_(2setX_0.0

$node_(2setY_600.0

$node_(2setZ_0.0

#建立第3个Node,开始时,位置在(400.0,600.0

$node_(3setX_400.0

$node_(3setY_600.0

$node_(3setZ_0.0

#Loadthegodobjectwithshortesthopinformation

#在节点0和节点1之间最短的hop数为1

$god_set-dist011

#在节点1和节点2之间最短的hop数为1

$god_set-dist121

#在节点0和节点2之间最短的hop数为2

$god_set-dist022

#在节点2和节点3之间最短的hop数为1

$god_set-dist231

#在节点0和节点3之间最短的hop数为1

$god_set-dist031

#在节点1和节点3之间最短的hop数为1

$god_set-dist131

#===================================

#产生Movement

#===================================

#Nowproducesomesimplenodemovements

#Node_(2andNode_(3startstomovedownward

setgod_[Godinstance]

#node移动不能到边界,否则会报错

#从0秒开始,节点2开始从位置(0,600移動到(0,0,速度為60.0m/s$ns_at0.0"$node_(2setdest0.10.160.0"

#从0秒开始,节点3开始从位置(400,600移動到(400,0,速度為60.0m/s$ns_at0.0"$node_(3setdest400.00.160.0"

#===================================

#建立FTP业务,基于TCP来承载

#===================================

#在节点0和节点1间设定第0个连线(FTP-TCP,且在时间为1.5秒开始发送settcp0[newAgent/TCP/Newreno]

$tcp0setfid_1

setsink0[newAgent/TCPSink]

$ns_attach-agent$node_(0$tcp0

$ns_attach-agent$node_(1$sink0

$ns_connect$tcp0$sink0

setftp0[newApplication/FTP]

$ftp0attach-agent$tcp0

$ns_at1.5"$ftp0start"

$ns_at10.0"$ftp0stop"

#在节点2和节点3间设定第1个连线(FTP-TCP,且在时间为3.5秒开始发送settcp1[newAgent/TCP/Newreno]

$tcp1setfid_2

setsink1[newAgent/TCPSink]

$ns_attach-agent$node_(2$tcp1

$ns_attach-agent$node_(3$sink1

$ns_connect$tcp1$sink1

setftp1[newApplication/FTP]

$ftp1attach-agent$tcp1

$ns_at3.5"$ftp1start"

$ns_at10.0"$ftp1stop"

#在nam中定义节点初始所在位置

for{seti0}{$i<$val(nn}{incri}{

#Thefunctionmustbecalledaftermobilitymodelisdefined.

$ns_initial_node_pos$node_($i60

}

#告诉MobileNode模拟已结束for{seti0}{$i<$val(nn}{incri}{$ns_at$val(stop"$node_($ireset";}#===================================#结束模拟#===================================#结束nam与模拟器$ns_at$val(stop"$ns_nam-end-wireless$val(stop"$ns_at$val(stop"stop"$ns_at$val(stop"puts\"NSEXITING...\";$ns_halt"#设定模拟器用的stopfunctionprocstop{}{globalns_tracefdnamfd$ns_flush-traceclose$tracefdclose$namfdexecnamadhoc.nam&exit0}putsputsputsputs$ns_$tracefd"M0.0nn$val(nnx$val(xy$val(yrp$val(rp"$tracefd"M0.0sc$val(sccp$val(cpseed$val(seed"$tracefd"M0.0prop$val(propant$val(ant""StartingSimulation..."run

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1