ns无线网络仿真节点设置及说明
更新时间:2023-12-10 02:44:01 阅读量: 教育文库 文档下载
- 无线网络仿真实验报告推荐度:
- 相关推荐
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处的估计可用带宽进行 分析。 下面是基本环境仿真的adhoc.tcl源码: # This script is created by emile.Y.S Xiang
#===================================
# 定义模拟变量 #===================================
set val(chan) Channel/WirelessChannel ;# channel type
set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(netif)
Phy/WirelessPhy ;# network interface type set
val(mac) Mac/802_11 ;# MAC type
set val(ifq) Queue/DropTail/PriQueue ;# interface queue type set
val(ll) LL ;# link layer type set
val(ant) Antenna/OmniAntenna ;# antenna model set
val(x) 1000 ;# X dimension of topology
set
val(y) 1000 ;# Y dimension of topology set
val(cp) \ ;# node movement model file set
val(sc) \ ;# traffic model file set val(ifqlen)
50 max packet in ifq set
val(nn) 4 ;# number of mobilenodes set val(seed) 0.0 set
val(stop) 10.0 ;# time of simulation end set
val(tr) adhoc.tr ;# trace file name set
val(rp) DSDV ;# routing protocol set AgentTrace ON set RouterTrace ON set MacTrace OFF
#===================================
# 建立相关档案 #=================================== # Initialize Global Variables set ns_ [new
Simulator] ns simulator实例 $ns_ color 1 Blue $ns_ color 2 Red
# 设定trace file $ns_
use-newtrace ;#使用新的trace format
;# 产生 ;# set namfd [open adhoc.nam
w] ;#产生nam trace file $ns_ namtrace-all-wireless $namfd $val(x) $val(y) ;#模拟时产生需要的结果文件
set tracefd [open $val(tr)
w] ;#产生trace file $ns_ trace-all
$tracefd ;#模拟时产生需要的结果文件
#建立topology对象,以记录mobilenodes在拓扑內移动的情况 set topo [new Topography] # 拓扑的范围为 1000m x 1000m
$topo load_flatgrid $val(x) $val(y) # 建立channel
set chan [new $val(chan)] # 创建god
set god_ [create-god $val(nn)]
#===================================
# 无线节点配置 #=================================== # Create the specified number of mobile nodes [$val(nn)] and \them to
# the channel. Four nodes are created : node(0), node(1), node(2) and node(3)
# 设定Mobile Node的参数
$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 < $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_ 800.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
# 在节点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 downward set god_ [God instance]
#node移动不能到边界,否则会报错
# 从0秒开始,节点2开始从位置(0,600)移動到(0,0),速度為60.0 m/s $ns_ at 0.0 \
# 从0秒开始,节点3开始从位置(400,600)移動到(400,0),速度為60.0 m/s $ns_ at 0.0 \
#===================================
# 建立FTP业务,基于TCP来承载 #===================================
# 在节点0和节点1间设定第0个连线(FTP-TCP),且在时间为1.5秒开始发送 set tcp0 [new Agent/TCP/Newreno] $tcp0 set fid_ 1
set sink0 [new Agent/TCPSink] $ns_ attach-agent $node_(0) $tcp0 $ns_ attach-agent $node_(1) $sink0 $ns_ connect $tcp0 $sink0
set ftp0 [new Application/FTP] $ftp0 attach-agent $tcp0 $ns_ at 1.5 \$ns_ at 10.0 \
# 在节点2和节点3间设定第1个连线(FTP-TCP),且在时间为3.5秒开始发送 set tcp1 [new Agent/TCP/Newreno] $tcp1 set fid_ 2
set sink1 [new Agent/TCPSink] $ns_ attach-agent $node_(2) $tcp1 $ns_ attach-agent $node_(3) $sink1 $ns_ connect $tcp1 $sink1
set ftp1 [new Application/FTP] $ftp1 attach-agent $tcp1 $ns_ at 3.5 \$ns_ at 10.0 \
# 在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) \}
#===================================
# 结束模拟 #=================================== # 结束nam与模拟器
$ns_ at $val(stop) \$ns_ at $val(stop) \
$ns_ at $val(stop) \# 设定模拟器用的stop function proc stop {} {
global ns_ tracefd namfd $ns_ flush-trace close $tracefd close $namfd
exec nam adhoc.nam & exit 0 }
puts $tracefd \puts $tracefd \puts $tracefd \puts \$ns_ run
正在阅读:
ns无线网络仿真节点设置及说明12-10
淘宝客服质检评分08-09
雨后校园作文400字07-04
金蝶K3成长版V12.1发版说明05-14
不同动物的英文名10-25
我喜欢雨作文600字06-18
关于开展年终述职的通知07-30
阳光计生02-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 节点
- 无线网络
- 仿真
- 设置
- 说明
- 牛羊病防治习题
- 人教版小学五年级数学下册《长方体和正方体的认识》教案
- 历年高考成语题汇编(1992-2012)教师版
- hcna(bigdata)-单选题
- 2020年新编UML建模类复习题要点名师精品资料 - 图文
- 2019高考物理二轮复习第一部分专题二能量与动量第二讲动量及其守恒定律课前自测诊断卷 doc
- 营造法式 - 小谈斗拱
- 医学和检验医学常用名词英文缩写
- 生物工程氨基酸工艺学考试试题
- 第二篇 生理学(附答案)
- 成都市2018届高三二诊英语试题
- 电力电子装置及系统复习题及答案
- 安装定额乘系数整理
- 铁路货车必知 - 图文
- 莫高窟教案
- 《高优指导》2017版高三生物苏教版一轮复习高考微题组三生物育种Word版含解析
- 班级社会功能
- 财务管理02-资金时间价值和投资风险价值
- 九年级物理全册 18.3测小灯泡的电功率导学案(无答案)(新版)新人教版
- 志愿者表彰大会新闻稿