前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ns模拟3

ns模拟3

作者头像
py3study
发布2020-01-10 17:30:36
8600
发布2020-01-10 17:30:36
举报
文章被收录于专栏:python3python3

# Define options 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(ifqlen)         50                         ;# max packet in ifq set val(nn)             8                          ;# number of mobilenodes set val(rp)             AODV                       ;# routing protocol set val(x)              1200                              ;# X dimension of topography set val(y)              1200                              ;# Y dimension of topography   set val(stop)            2                           ;# time of simulation end set ns                  [new Simulator] set tracefd       [open simple.tr w] set namtrace      [open simwrls.nam w]    $ns trace-all $tracefd $ns namtrace-all-wireless $namtrace $val(x) $val(y) #set different colors for data flows $ns color 0 Blue $ns color 1 Red # set up topography object set topo       [new Topography] $topo load_flatgrid $val(x) $val(y) set chan_1 [new $val(chan)] create-god $val(nn) # #  Create nn mobilenodes [$val(nn)] and attach them to the channel. # # configure the nodes         $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_1 \                          -topoInstance $topo \                          -agentTrace ON \                          -routerTrace ON \                          -macTrace ON \                          -movementTrace OFF set node_(0) [$ns node] $node_(0) color black set node_(1) [$ns node] $node_(1) color black $ns at 0.0 "$node_(0) color red" $ns at 0.0 "$node_(1) color red" $node_(0) set X_ 370.71 $node_(0) set Y_ 270.71 $node_(0) set Z_ 0.0 $node_(1) set X_ 529.29 $node_(1) set Y_ 429.29 $node_(1) set Z_ 0.0 Phy/WirelessPhy set Pt_ 7.214e-3 set chan_2 [new $val(chan)] $ns node-config \     -channel $chan_2 for {set i 2} {$i <= 8 } { incr i } { set node_($i) [$ns node]        } # Provide initial location of mobilenodes  for {set i 2} {$i <= 8 } { incr i } {     if {$i<=5} {         $node_($i) set X_ [expr 200.0+($i-1)*100.0]         $node_($i) set Y_ 200     } else {         $node_($i) set X_ 600         $node_($i) set Y_ [expr 200+($i-5)*100.0]     }         $node_($i) set Z_ 0.0  } # Generation of movements $ns at 110.0 "$node_(0) setdest 124.0 272.0 30.0" $ns at 110.0 "$node_(1) setdest 45.0 285.0 50.0" $ns at 110.0 "$node_(0) setdest 480.0 300.0 5.0" # Set a TCP connection between node_(0) and node_(1) set tcp [new Agent/TCP/Newreno] $tcp set class_ 2 set sink [new Agent/TCPSink] $ns attach-agent $node_(0) $tcp $ns attach-agent $node_(1) $sink $ns connect $tcp $sink set ftp [new Application/FTP] $ftp attach-agent $tcp $ftp set fid_ 1 $ns at 0.3 "$ftp start" # Define node initial position in nam for {set i 0} {$i <= $val(nn)} { incr i } { # 30 defines the node size for nam $ns initial_node_pos $node_($i) 30 } # Telling nodes when the simulation ends for {set i 0} {$i < $val(nn) } { incr i } {     $ns at $val(stop) "$node_($i) reset"; } # ending nam and the simulation $ns at $val(stop) "$ns nam-end-wireless $val(stop)" $ns at $val(stop) "stop" $ns at 2.01 "puts \"end simulation\" ; $ns halt" proc stop {} {     global ns tracefd namtrace     $ns flush-trace     close $tracefd     close $namtrace     exec nam simwrls.nam & } $ns run

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档